Skip to main content

WrapTo

Trait WrapTo 

Source
pub trait WrapTo {
    type Wrapped: Unwrap<Unwrapped = Self>;
}
Expand description

The wider (vector) form of a scalar request struct - the inverse of [Unwrap] for these structs. Unwrap only maps vector -> scalar (type Unwrapped), and Rust cannot invert an associated type, so this names the forward (scalar -> vector) direction. It is what lets the Scalar* math-trait layer take a scalar request (CarlsonRf<f64>), wrap it into a width-1 vector request (CarlsonRf<Vector<f64>>), evaluate on the (vector-only) backend, then unwrap the scalar result - without implementing the backend twice. Implemented only for scalar-element request structs.

Required Associated Types§

Source

type Wrapped: Unwrap<Unwrapped = Self>

The vector request struct whose Unwrapped is Self.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<E> WrapTo for CarlsonRc<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for CarlsonRd<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for CarlsonRf<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for CarlsonRg<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for CarlsonRj<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintD<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintDInc<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintE<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintEInc<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintF<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintK<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintPi<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for EllintPiInc<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for HeumanLambda<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Source§

impl<E> WrapTo for JacobiZeta<E>
where E: FloatElement + FloatRegister<Storage = E>, Vector<E>: Unwrap<Unwrapped = E>,

Last built: 2026-09-08 21:35:55 UTC