pub struct Df64FromF64;Expand description
Widen a preset f64 tensor into the externally defined scalar.
The widening is exact, so the result’s low component is zero. A conversion is a
separate operation from the factorization, which is what lets a connected program
start from ordinary f64 values.
§Examples
use tenferro_df64_proof::extension::Df64FromF64;
use tenferro_ad::extension::ExtensionOp;
assert_eq!(<Df64FromF64 as ExtensionOp>::input_count(&Df64FromF64), 1);Trait Implementations§
Source§impl Clone for Df64FromF64
impl Clone for Df64FromF64
Source§fn clone(&self) -> Df64FromF64
fn clone(&self) -> Df64FromF64
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Df64FromF64
Source§impl Debug for Df64FromF64
impl Debug for Df64FromF64
Source§impl Default for Df64FromF64
impl Default for Df64FromF64
Source§fn default() -> Df64FromF64
fn default() -> Df64FromF64
Returns the “default value” for a type. Read more
Source§impl ExtensionOp for Df64FromF64
impl ExtensionOp for Df64FromF64
Source§fn payload_hash(&self, _hasher: &mut dyn Hasher)
fn payload_hash(&self, _hasher: &mut dyn Hasher)
Hash the payload (everything except
family_id). Read moreSource§fn payload_eq(&self, other: &dyn ExtensionOp) -> bool
fn payload_eq(&self, other: &dyn ExtensionOp) -> bool
Structural equality against another extension value. Read more
Source§fn input_count(&self) -> usize
fn input_count(&self) -> usize
Number of primal inputs. MUST be constant for any given
Arc<dyn ExtensionOp> value.Source§fn output_count(&self) -> usize
fn output_count(&self) -> usize
Number of outputs. MUST match the length of the vector returned by a
successful
Self::infer_output_meta call.Source§fn semantic_effects(&self) -> ExtensionEffectDeclaration<'_>
fn semantic_effects(&self) -> ExtensionEffectDeclaration<'_>
Declare observable semantic effects for this extension payload. Read more
Source§fn semantic_aliases(&self) -> ExtensionAliasDeclaration<'_>
fn semantic_aliases(&self) -> ExtensionAliasDeclaration<'_>
Declare semantic output aliasing for this extension payload. Read more
Source§fn scalar_identity(&self) -> Option<&'static str>
fn scalar_identity(&self) -> Option<&'static str>
Canonical identity of an externally defined scalar this operation carries. Read more
Source§fn infer_output_meta(
&self,
ctx: &mut ExtensionShapeContext<'_>,
) -> Result<Vec<(DType, Vec<SymDim>)>>
fn infer_output_meta( &self, ctx: &mut ExtensionShapeContext<'_>, ) -> Result<Vec<(DType, Vec<SymDim>)>>
Infer output dtypes and shapes for each output slot. Read more
Source§fn lower_to_standard_ops(
&self,
_builder: &mut GraphBuilder<StdTensorOp>,
_inputs: &[ValueRef<StdTensorOp>],
_input_dtypes: &[DType],
_input_shapes: &[&[SymDim]],
) -> Result<ExtensionStandardLowering, ExtensionLoweringError>
fn lower_to_standard_ops( &self, _builder: &mut GraphBuilder<StdTensorOp>, _inputs: &[ValueRef<StdTensorOp>], _input_dtypes: &[DType], _input_shapes: &[&[SymDim]], ) -> Result<ExtensionStandardLowering, ExtensionLoweringError>
Try to expand this extension into standard tensor graph operations. Read more
Source§fn prune_outputs(&self, _live_outputs: &[bool]) -> Option<Arc<dyn ExtensionOp>>
fn prune_outputs(&self, _live_outputs: &[bool]) -> Option<Arc<dyn ExtensionOp>>
Optionally return an equivalent op that produces only live outputs. Read more
Auto Trait Implementations§
impl Freeze for Df64FromF64
impl RefUnwindSafe for Df64FromF64
impl Send for Df64FromF64
impl Sync for Df64FromF64
impl Unpin for Df64FromF64
impl UnsafeUnpin for Df64FromF64
impl UnwindSafe for Df64FromF64
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more