pub struct LowerFp4Cast { /* private fields */ }Expand description
Lowers every cast from or to e2m1x2 onto the software codec, for a backend that has no
native fp4 conversion.
The decode goes through f16 pairs ([e2m1_words_to_f16]) where the backend has f16, and
through f32 ([e2m1_bits_to_float]) where it does not: the pairs decode two codes for what
the f32 path spends on one and need no select, and the backend is what knows whether f16
exists. A cast whose bytes fill whole words decodes a word at a time, codes four apart
sharing a pair. The encode is [float_to_e2m1_bits] either way.
Implementations§
Source§impl LowerFp4Cast
impl LowerFp4Cast
Sourcepub fn new(half: bool, container: Fp8Container) -> Self
pub fn new(half: bool, container: Fp8Container) -> Self
Constructs a new LowerFp4Cast.
Trait Implementations§
Source§impl Clone for LowerFp4Cast
impl Clone for LowerFp4Cast
impl Copy for LowerFp4Cast
Source§impl Debug for LowerFp4Cast
impl Debug for LowerFp4Cast
Source§impl Default for LowerFp4Cast
impl Default for LowerFp4Cast
Source§impl MatchRewrite for LowerFp4Cast
impl MatchRewrite for LowerFp4Cast
Source§impl NamedRewrite for LowerFp4Cast
impl NamedRewrite for LowerFp4Cast
Auto Trait Implementations§
impl Freeze for LowerFp4Cast
impl RefUnwindSafe for LowerFp4Cast
impl Send for LowerFp4Cast
impl Sync for LowerFp4Cast
impl Unpin for LowerFp4Cast
impl UnsafeUnpin for LowerFp4Cast
impl UnwindSafe for LowerFp4Cast
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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