pub enum Keep {
Exact,
F32,
F16,
Bf16,
Int8Rows,
Int8RowsRotated,
}Expand description
How a chip keeps the values it stores between steps — a cache’s rows, a recurrent memory: as the meaning computes
them, rounded to the nearest of a narrower float, or a row at a time as int8 codes under one binary16 scale
(max / 127), the row first turned by a Walsh–Hadamard transform where it is Int8RowsRotated.
Variants§
Implementations§
Source§impl Keep
impl Keep
Sourcepub fn bound(self) -> Bound
pub fn bound(self) -> Bound
The bound a value kept this way keeps. A float: half an ulp of its significand of the value, and its smallest normal where a chip flushes what lies below it. A row of int8 codes: half a level of the row’s scale, the scale rounded to binary16 (a relative 2⁻¹¹, which can push a code past ±127 to be clamped), and a scale that underflows binary16; its block is the row as stored — turned, for a rotated row, whose error the inverse turn averages.
Trait Implementations§
impl Copy for Keep
impl Eq for Keep
impl StructuralPartialEq for Keep
Auto Trait Implementations§
impl Freeze for Keep
impl RefUnwindSafe for Keep
impl Send for Keep
impl Sync for Keep
impl Unpin for Keep
impl UnsafeUnpin for Keep
impl UnwindSafe for Keep
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.