pub struct RowWiseExpand<E: Numeric> {
pub vals: <Array<E> as CubeType>::ExpandType,
pub num_rows: usize,
}Fields§
§vals: <Array<E> as CubeType>::ExpandType§num_rows: usizeImplementations§
Source§impl<E: Numeric> RowWiseExpand<E>
impl<E: Numeric> RowWiseExpand<E>
pub fn __expand_fill_method( &mut self, scope: &Scope, val: <E as CubeType>::ExpandType, )
pub fn __expand_init_zero_method(&mut self, scope: &Scope)
pub fn __expand_copy_from_method( &mut self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_add_method( &self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_add_inplace_method( &mut self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_mul_method( &self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_mul_inplace_method( &mut self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_max_inplace_method( &mut self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_replace_at_method( &mut self, scope: &Scope, i: <usize as CubeType>::ExpandType, new_val: <E as CubeType>::ExpandType, )
pub fn __expand_new_filled( scope: &Scope, num_rows: usize, val: <E as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_fill( scope: &Scope, this: &mut Self, val: <E as CubeType>::ExpandType, )
pub fn __expand_init_zero(scope: &Scope, this: &mut Self)
pub fn __expand_new_min_value( scope: &Scope, num_rows: usize, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_new_zero( scope: &Scope, num_rows: usize, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_copy_from( scope: &Scope, this: &mut Self, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_add( scope: &Scope, this: &Self, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_add_inplace( scope: &Scope, this: &mut Self, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_mul( scope: &Scope, this: &Self, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_mul_inplace( scope: &Scope, this: &mut Self, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_max_inplace( scope: &Scope, this: &mut Self, other: &<RowWise<E> as CubeType>::ExpandType, )
pub fn __expand_replace_at( scope: &Scope, this: &mut Self, i: <usize as CubeType>::ExpandType, new_val: <E as CubeType>::ExpandType, )
pub fn __expand_cast_from<E2: Float>( scope: &Scope, row_wise: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E2> as CubeType>::ExpandType
Source§impl<E: Float> RowWiseExpand<E>
impl<E: Float> RowWiseExpand<E>
Sourcepub fn __expand_exp_diff_method(
&self,
scope: &Scope,
other: &<RowWise<E> as CubeType>::ExpandType,
) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_exp_diff_method( &self, scope: &Scope, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
Per-row e^(self - other).
Sourcepub fn __expand_recip_inplace_method(&mut self, scope: &Scope)
pub fn __expand_recip_inplace_method(&mut self, scope: &Scope)
v -> 1/v per row, with v == 0 (fully-masked row) staying zero.
Sourcepub fn __expand_exp_diff(
scope: &Scope,
this: &Self,
other: &<RowWise<E> as CubeType>::ExpandType,
) -> <RowWise<E> as CubeType>::ExpandType
pub fn __expand_exp_diff( scope: &Scope, this: &Self, other: &<RowWise<E> as CubeType>::ExpandType, ) -> <RowWise<E> as CubeType>::ExpandType
Per-row e^(self - other).
Sourcepub fn __expand_recip_inplace(scope: &Scope, this: &mut Self)
pub fn __expand_recip_inplace(scope: &Scope, this: &mut Self)
v -> 1/v per row, with v == 0 (fully-masked row) staying zero.
Trait Implementations§
Source§impl<E: Numeric> AsMutExpand for RowWiseExpand<E>
impl<E: Numeric> AsMutExpand for RowWiseExpand<E>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<E: Numeric> AsRefExpand for RowWiseExpand<E>
impl<E: Numeric> AsRefExpand for RowWiseExpand<E>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<E: Numeric> CubeDebug for RowWiseExpand<E>
impl<E: Numeric> CubeDebug for RowWiseExpand<E>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl<E: Numeric> ExpandTypeClone for RowWiseExpand<E>
impl<E: Numeric> ExpandTypeClone for RowWiseExpand<E>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<E: Numeric> IntoExpand for RowWiseExpand<E>
impl<E: Numeric> IntoExpand for RowWiseExpand<E>
type Expand = RowWiseExpand<E>
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl<E> Freeze for RowWiseExpand<E>
impl<E> RefUnwindSafe for RowWiseExpand<E>where
E: RefUnwindSafe,
impl<E> Send for RowWiseExpand<E>
impl<E> Sync for RowWiseExpand<E>
impl<E> Unpin for RowWiseExpand<E>where
E: Unpin,
impl<E> UnsafeUnpin for RowWiseExpand<E>
impl<E> UnwindSafe for RowWiseExpand<E>where
E: UnwindSafe,
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> 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