pub trait FormLift: Form {
// Required method
fn jet_flat_array<π: Cat, S: Field, const N: usize>(
value: &<Self as Tensor>::Array<Jet<π, S, N>>,
) -> <Dual<Self> as Tensor>::Array<Jet<π, S, N>>
where Jet<π, S, N>: Field;
// Provided method
fn jet_flat<π: Cat, S: Field, const N: usize>(
value: &JetVector<π, Self, N, S>,
) -> Dual<JetVector<π, Self, N, S>>
where Jet<π, S, N>: Field,
JetVector<π, Self, N, S>: Tensor<F = Jet<π, S, N>> { ... }
}Expand description
Extends a lowering map through arbitrary jet scalar presentations.
Implementors provide the array-level operation, which avoids assuming that
distinct tensor wrappers share a nominal array type. FormLift::jet_flat
supplies the public tensor-valued wrapper. For a semilinear form the
implementation must preserve the formβs conjugation convention coefficient
by coefficient.
Required MethodsΒ§
Provided MethodsΒ§
Dyn CompatibilityΒ§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".