pub struct NativeExpand<T: ?Sized> {
pub expand: Value,
/* private fields */
}Expand description
Expand type of a native GPU type, i.e. scalar primitives, arrays, shared memory.
Fields§
§expand: ValueImplementations§
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_1d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Tiled>>, destination: &mut SliceExpand<C2>, x: NativeExpand<i32>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_2d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Tiled>>, destination: &mut SliceExpand<C2>, y: NativeExpand<i32>, x: NativeExpand<i32>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_3d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Tiled>>, destination: &mut SliceExpand<C2>, z: NativeExpand<i32>, y: NativeExpand<i32>, x: NativeExpand<i32>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_4d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Tiled>>, destination: &mut SliceExpand<C2>, w: NativeExpand<i32>, z: NativeExpand<i32>, y: NativeExpand<i32>, x: NativeExpand<i32>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_5d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Tiled>>, destination: &mut SliceExpand<C2>, v: NativeExpand<i32>, w: NativeExpand<i32>, z: NativeExpand<i32>, y: NativeExpand<i32>, x: NativeExpand<i32>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_im2col_3d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Im2col>>, destination: &mut SliceExpand<C2>, n: NativeExpand<i32>, w: NativeExpand<i32>, c: NativeExpand<i32>, w_offset: NativeExpand<u16>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_im2col_4d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Im2col>>, destination: &mut SliceExpand<C2>, n: NativeExpand<i32>, h: NativeExpand<i32>, w: NativeExpand<i32>, c: NativeExpand<i32>, h_offset: NativeExpand<u16>, w_offset: NativeExpand<u16>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
pub fn __expand_tma_load_im2col_5d_method<C1: CubePrimitive, C2: CubePrimitive<Scalar = C1::Scalar>>( &self, scope: &Scope, source: &NativeExpand<TensorMap<C1, Im2col>>, destination: &mut SliceExpand<C2>, n: NativeExpand<i32>, d: NativeExpand<i32>, h: NativeExpand<i32>, w: NativeExpand<i32>, c: NativeExpand<i32>, d_offset: NativeExpand<u16>, h_offset: NativeExpand<u16>, w_offset: NativeExpand<u16>, )
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
Sourcepub fn __expand_init_manual_method(
&self,
scope: &Scope,
arrival_count: <u32 as CubeType>::ExpandType,
)
pub fn __expand_init_manual_method( &self, scope: &Scope, arrival_count: <u32 as CubeType>::ExpandType, )
Initializes a barrier with a given arrival_count. This is the number of
times arrive or one of its variants needs to be called before the barrier advances.
If all units in the cube arrive on the barrier, use CUBE_DIM as the arrival count. For
other purposes, only a subset may need to arrive.
§Note
No synchronization or election is performed, this is raw initialization. For shared barriers
ensure only one unit performs the initialization, and synchronize the cube afterwards. There
may also be additional synchronization requirements for bulk copy operations, like
sync_async_proxy_shared().
Sourcepub fn __expand_local(scope: &Scope) -> Self
pub fn __expand_local(scope: &Scope) -> Self
Create a local barrier object for the current unit. Automatically initialized with an
arrival count of 1.
Create a shared memory barrier that can be accesses by all units in the cube. Initialized
by the is_elected unit with an arrival count of arrival_count. This is the number of
times arrive or one of its variants needs to be called before the barrier advances.
If all units in the cube arrive on the barrier, use CUBE_DIM as the arrival count. For
other purposes, only a subset may need to arrive.
Create a shared memory barrier that can be accesses by all units in the cube. Only declared, but not initialized.
Sourcepub fn __expand_init_manual(
scope: &Scope,
this: &Self,
arrival_count: <u32 as CubeType>::ExpandType,
)
pub fn __expand_init_manual( scope: &Scope, this: &Self, arrival_count: <u32 as CubeType>::ExpandType, )
Initializes a barrier with a given arrival_count. This is the number of
times arrive or one of its variants needs to be called before the barrier advances.
If all units in the cube arrive on the barrier, use CUBE_DIM as the arrival count. For
other purposes, only a subset may need to arrive.
§Note
No synchronization or election is performed, this is raw initialization. For shared barriers
ensure only one unit performs the initialization, and synchronize the cube afterwards. There
may also be additional synchronization requirements for bulk copy operations, like
sync_async_proxy_shared().
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
Sourcepub fn __expand_memcpy_async_method<C: CubePrimitive>(
&self,
scope: &Scope,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async_method<C: CubePrimitive>( &self, scope: &Scope, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Sourcepub fn __expand_memcpy_async_cooperative_method<C: CubePrimitive>(
&self,
scope: &Scope,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async_cooperative_method<C: CubePrimitive>( &self, scope: &Scope, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Sourcepub fn __expand_memcpy_async_tx_method<C: CubePrimitive>(
&self,
scope: &Scope,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async_tx_method<C: CubePrimitive>( &self, scope: &Scope, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination. Uses transaction count like TMA, so use with
expect_tx or arrive_and_expect_tx.
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Sourcepub fn __expand_memcpy_async<C: CubePrimitive>(
scope: &Scope,
this: &Self,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async<C: CubePrimitive>( scope: &Scope, this: &Self, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Sourcepub fn __expand_memcpy_async_cooperative<C: CubePrimitive>(
scope: &Scope,
this: &Self,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async_cooperative<C: CubePrimitive>( scope: &Scope, this: &Self, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Sourcepub fn __expand_memcpy_async_tx<C: CubePrimitive>(
scope: &Scope,
this: &Self,
source: &<[C] as CubeType>::ExpandType,
destination: &mut <[C] as CubeType>::ExpandType,
)
pub fn __expand_memcpy_async_tx<C: CubePrimitive>( scope: &Scope, this: &Self, source: &<[C] as CubeType>::ExpandType, destination: &mut <[C] as CubeType>::ExpandType, )
Copy the source slice to destination. Uses transaction count like TMA, so use with
expect_tx or arrive_and_expect_tx.
§Safety
This will try to copy the whole source slice, so make sure source length <= destination length
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
Sourcepub fn __expand_arrive_method(
&self,
scope: &Scope,
) -> <BarrierToken as CubeType>::ExpandType
pub fn __expand_arrive_method( &self, scope: &Scope, ) -> <BarrierToken as CubeType>::ExpandType
Arrive at the barrier, decrementing arrival count
Sourcepub fn __expand_arrive_and_expect_tx_method(
&self,
scope: &Scope,
arrival_count: <u32 as CubeType>::ExpandType,
transaction_count: <u32 as CubeType>::ExpandType,
) -> <BarrierToken as CubeType>::ExpandType
pub fn __expand_arrive_and_expect_tx_method( &self, scope: &Scope, arrival_count: <u32 as CubeType>::ExpandType, transaction_count: <u32 as CubeType>::ExpandType, ) -> <BarrierToken as CubeType>::ExpandType
Arrive at the barrier, decrementing arrival count. Additionally increments expected count.
Sourcepub fn __expand_expect_tx_method(
&self,
scope: &Scope,
expected_count: <u32 as CubeType>::ExpandType,
)
pub fn __expand_expect_tx_method( &self, scope: &Scope, expected_count: <u32 as CubeType>::ExpandType, )
Increments the expected count of the barrier.
Sourcepub fn __expand_arrive_and_wait_method(&self, scope: &Scope)
pub fn __expand_arrive_and_wait_method(&self, scope: &Scope)
Wait until all data is loaded
Sourcepub fn __expand_wait_method(
&self,
scope: &Scope,
token: <BarrierToken as CubeType>::ExpandType,
)
pub fn __expand_wait_method( &self, scope: &Scope, token: <BarrierToken as CubeType>::ExpandType, )
Wait at the barrier until all arrivals are done
Sourcepub fn __expand_wait_parity_method(
&self,
scope: &Scope,
phase: <u32 as CubeType>::ExpandType,
)
pub fn __expand_wait_parity_method( &self, scope: &Scope, phase: <u32 as CubeType>::ExpandType, )
Wait at the barrier until the phase is completed. Doesn’t require a token, but needs phase
to be managed manually.
Sourcepub fn __expand_arrive(
scope: &Scope,
this: &Self,
) -> <BarrierToken as CubeType>::ExpandType
pub fn __expand_arrive( scope: &Scope, this: &Self, ) -> <BarrierToken as CubeType>::ExpandType
Arrive at the barrier, decrementing arrival count
Sourcepub fn __expand_arrive_and_expect_tx(
scope: &Scope,
this: &Self,
arrival_count: <u32 as CubeType>::ExpandType,
transaction_count: <u32 as CubeType>::ExpandType,
) -> <BarrierToken as CubeType>::ExpandType
pub fn __expand_arrive_and_expect_tx( scope: &Scope, this: &Self, arrival_count: <u32 as CubeType>::ExpandType, transaction_count: <u32 as CubeType>::ExpandType, ) -> <BarrierToken as CubeType>::ExpandType
Arrive at the barrier, decrementing arrival count. Additionally increments expected count.
Sourcepub fn __expand_expect_tx(
scope: &Scope,
this: &Self,
expected_count: <u32 as CubeType>::ExpandType,
)
pub fn __expand_expect_tx( scope: &Scope, this: &Self, expected_count: <u32 as CubeType>::ExpandType, )
Increments the expected count of the barrier.
Sourcepub fn __expand_arrive_and_wait(scope: &Scope, this: &Self)
pub fn __expand_arrive_and_wait(scope: &Scope, this: &Self)
Wait until all data is loaded
Sourcepub fn __expand_wait(
scope: &Scope,
this: &Self,
token: <BarrierToken as CubeType>::ExpandType,
)
pub fn __expand_wait( scope: &Scope, this: &Self, token: <BarrierToken as CubeType>::ExpandType, )
Wait at the barrier until all arrivals are done
Sourcepub fn __expand_wait_parity(
scope: &Scope,
this: &Self,
phase: <u32 as CubeType>::ExpandType,
)
pub fn __expand_wait_parity( scope: &Scope, this: &Self, phase: <u32 as CubeType>::ExpandType, )
Wait at the barrier until the phase is completed. Doesn’t require a token, but needs phase
to be managed manually.
Source§impl NativeExpand<Barrier>
impl NativeExpand<Barrier>
Sourcepub fn __expand_commit_copy_async_method(&self, scope: &Scope)
pub fn __expand_commit_copy_async_method(&self, scope: &Scope)
Makes all previous copy_async operations visible on the barrier.
Should be called once after all copies have been dispatched, before reading from the shared
memory.
Does not count as an arrive in terms of the barrier arrival count. So arrive or
arrive_and_wait should still be called afterwards.
Sourcepub fn __expand_commit_copy_async(scope: &Scope, this: &Self)
pub fn __expand_commit_copy_async(scope: &Scope, this: &Self)
Makes all previous copy_async operations visible on the barrier.
Should be called once after all copies have been dispatched, before reading from the shared
memory.
Does not count as an arrive in terms of the barrier arrival count. So arrive or
arrive_and_wait should still be called afterwards.
Source§impl<E: CubePrimitive> NativeExpand<Array<E>>
impl<E: CubePrimitive> NativeExpand<Array<E>>
Sourcepub fn __expand_len_method(&self, scope: &Scope) -> usize
pub fn __expand_len_method(&self, scope: &Scope) -> usize
Obtain the array length
Sourcepub fn __expand_len(scope: &Scope, this: &Self) -> usize
pub fn __expand_len(scope: &Scope, this: &Self) -> usize
Obtain the array length
pub fn __expand_len_method( &self, scope: &Scope, ) -> <usize as CubeType>::ExpandType
Sourcepub fn __expand_new_slice(scope: &Scope, len: usize) -> Self
pub fn __expand_new_slice(scope: &Scope, len: usize) -> Self
Create a new shared slice.
§Safety
Shared memory is always uninitialized by default. Reading uninitialized shared values is undefined behavior.
Sourcepub fn __expand_new_aligned_slice(
scope: &Scope,
len: usize,
alignment: usize,
) -> Self
pub fn __expand_new_aligned_slice( scope: &Scope, len: usize, alignment: usize, ) -> Self
Create a new shared slice with a specified minimum alignment.
§Safety
Shared memory is always uninitialized by default. Reading uninitialized shared values is undefined behavior.
pub fn __expand_len( scope: &Scope, this: &Self, ) -> <usize as CubeType>::ExpandType
pub fn __expand_map_method<U: NativeCubeType + ?Sized>( self, scope: &Scope, map: impl for<'a> FnOnce(&Scope, &'a NativeExpand<T>) -> &'a NativeExpand<U>, ) -> SharedExpand<U>
pub fn __expand_inner_ref_method<'infer, 'scope>( &'infer self, scope: &'scope Scope, ) -> &'infer <T as CubeType>::ExpandType
pub fn __expand_inner_mut_method<'infer, 'scope>( &'infer mut self, scope: &'scope Scope, ) -> &'infer mut <T as CubeType>::ExpandType
pub fn __expand_inner_ref<'infer, 'scope>( scope: &'scope Scope, this: &'infer Self, ) -> &'infer <T as CubeType>::ExpandType
pub fn __expand_inner_mut<'infer, 'scope>( scope: &'scope Scope, this: &'infer mut Self, ) -> &'infer mut <T as CubeType>::ExpandType
Sourcepub fn __expand_free_method(&self, scope: &Scope)
pub fn __expand_free_method(&self, scope: &Scope)
Frees the shared memory for reuse, if possible on the target runtime.
§Safety
Must be used in uniform control flow Must not have any dangling references to this shared memory
Sourcepub fn __expand_free(scope: &Scope, this: &Self)
pub fn __expand_free(scope: &Scope, this: &Self)
Frees the shared memory for reuse, if possible on the target runtime.
§Safety
Must be used in uniform control flow Must not have any dangling references to this shared memory
Source§impl<E: CubePrimitive> NativeExpand<[E]>
impl<E: CubePrimitive> NativeExpand<[E]>
pub fn __extract_list(&self, scope: &Scope) -> Value
pub fn __extract_offset(&self, scope: &Scope) -> NativeExpand<usize>
pub fn __extract_length(&self, scope: &Scope) -> NativeExpand<usize>
Source§impl<E: Scalar, N: Size> NativeExpand<[Vector<E, N>]>
impl<E: Scalar, N: Size> NativeExpand<[Vector<E, N>]>
pub fn __expand_with_vector_size_method<'infer, N2: Size>( &'infer self, scope: &Scope, ) -> &'infer SliceExpand<Vector<E, N2>>
pub fn __expand_with_vector_size_mut_method<'infer, N2: Size>( &'infer mut self, scope: &Scope, ) -> &'infer mut SliceExpand<Vector<E, N2>>
Source§impl<E: CubePrimitive> NativeExpand<[E]>
impl<E: CubePrimitive> NativeExpand<[E]>
pub fn __expand_as_vectorized_method( &self, _: &Scope, ) -> &SliceExpand<Vector<E::Scalar, E::Size>>
pub fn __expand_as_vectorized_mut_method( &mut self, _: &Scope, ) -> &mut SliceExpand<Vector<E::Scalar, E::Size>>
pub fn __expand_downcast_method<T: CubePrimitive>( &self, scope: &Scope, ) -> &SliceExpand<T>
pub fn __expand_downcast_mut_method<T: CubePrimitive>( &mut self, scope: &Scope, ) -> &mut SliceExpand<T>
pub fn __expand_as_ptr_method(&self, scope: &Scope) -> *const NativeExpand<E>
pub fn __expand_as_mut_ptr_method( &mut self, scope: &Scope, ) -> *mut NativeExpand<E>
pub fn __expand_as_mut_unchecked_method( &self, scope: &Scope, ) -> &mut SliceExpand<E>
Source§impl<E: CubePrimitive> NativeExpand<[E]>
impl<E: CubePrimitive> NativeExpand<[E]>
Sourcepub fn __expand_len_method(&self, scope: &Scope) -> NativeExpand<usize>
pub fn __expand_len_method(&self, scope: &Scope) -> NativeExpand<usize>
Get the length of the slice.
Sourcepub fn is_empty(&self, scope: &Scope) -> NativeExpand<bool>
pub fn is_empty(&self, scope: &Scope) -> NativeExpand<bool>
Returns true if the slice is empty.
Source§impl<E: CubePrimitive> NativeExpand<Array<E>>
impl<E: CubePrimitive> NativeExpand<Array<E>>
pub fn __expand_as_slice_method<'infer, 'scope>( &'infer self, scope: &'scope Scope, ) -> &'infer <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_mut_slice_method<'infer, 'scope>( &'infer mut self, scope: &'scope Scope, ) -> &'infer mut <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice<'infer, 'scope>( scope: &'scope Scope, this: &'infer Self, ) -> &'infer <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_mut_slice<'infer, 'scope>( scope: &'scope Scope, this: &'infer mut Self, ) -> &'infer mut <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice_method<'infer, 'scope>( &'infer self, scope: &'scope Scope, ) -> &'infer <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_mut_slice_method<'infer, 'scope>( &'infer mut self, scope: &'scope Scope, ) -> &'infer mut <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice<'infer, 'scope>( scope: &'scope Scope, this: &'infer Self, ) -> &'infer <[E] as CubeType>::ExpandType ⓘ
pub fn __expand_as_mut_slice<'infer, 'scope>( scope: &'scope Scope, this: &'infer mut Self, ) -> &'infer mut <[E] as CubeType>::ExpandType ⓘ
Source§impl<E: CubePrimitive> NativeExpand<[E]>
impl<E: CubePrimitive> NativeExpand<[E]>
pub fn __expand_copy_from_slice_method( &mut self, scope: &Scope, source: &SliceExpand<E>, )
Source§impl<T: CubePrimitive, K: TensorMapKind> NativeExpand<TensorMap<T, K>>
impl<T: CubePrimitive, K: TensorMapKind> NativeExpand<TensorMap<T, K>>
pub fn __expand_stride_method( self, scope: &Scope, dim: NativeExpand<usize>, ) -> NativeExpand<usize>
pub fn __expand_shape_method( self, scope: &Scope, dim: NativeExpand<usize>, ) -> NativeExpand<usize>
pub fn __expand_coordinate_method( self, scope: &Scope, index: NativeExpand<usize>, dim: NativeExpand<usize>, ) -> NativeExpand<usize>
pub fn __expand_len_method(self, _scope: &Scope) -> NativeExpand<usize>
pub fn __expand_buffer_len_method(self, scope: &Scope) -> NativeExpand<usize>
pub fn __expand_rank_method(self, _scope: &Scope) -> NativeExpand<usize>
Sourcepub fn __expand_downcast_method<E: CubePrimitive>(
self,
scope: &Scope,
) -> NativeExpand<TensorMap<E, K>>
pub fn __expand_downcast_method<E: CubePrimitive>( self, scope: &Scope, ) -> NativeExpand<TensorMap<E, K>>
Expand method of TensorMap::downcast.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
pub fn __expand_extract_method( self, scope: &Scope, index: <usize as CubeType>::ExpandType, ) -> <P as CubeType>::ExpandType
pub fn __expand_insert_method( &mut self, scope: &Scope, index: <usize as CubeType>::ExpandType, value: <P as CubeType>::ExpandType, )
pub fn __expand_extract( scope: &Scope, this: Self, index: <usize as CubeType>::ExpandType, ) -> <P as CubeType>::ExpandType
pub fn __expand_insert( scope: &Scope, this: &mut Self, index: <usize as CubeType>::ExpandType, value: <P as CubeType>::ExpandType, )
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_fill_method(
self,
scope: &Scope,
value: <P as CubeType>::ExpandType,
) -> Self
pub fn __expand_fill_method( self, scope: &Scope, value: <P as CubeType>::ExpandType, ) -> Self
Fill the vector with the given value.
If you want to fill the vector with different values, consider using the index API instead.
let mut vector = Vector::<u32>::empty(2);
vector[0] = 1;
vector[1] = 2;Sourcepub fn __expand_fill(
scope: &Scope,
this: Self,
value: <P as CubeType>::ExpandType,
) -> Self
pub fn __expand_fill( scope: &Scope, this: Self, value: <P as CubeType>::ExpandType, ) -> Self
Fill the vector with the given value.
If you want to fill the vector with different values, consider using the index API instead.
let mut vector = Vector::<u32>::empty(2);
vector[0] = 1;
vector[1] = 2;Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn size(&self) -> VectorSize
pub fn size(&self) -> VectorSize
Comptime version of size.
Sourcepub fn __expand_size_method(&self, _scope: &Scope) -> VectorSize
pub fn __expand_size_method(&self, _scope: &Scope) -> VectorSize
Expand method of size.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_equal_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_equal_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being equal to the second vector.
Sourcepub fn __expand_equal(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_equal( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being equal to the second vector.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_not_equal_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_not_equal_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being not equal to the second vector.
Sourcepub fn __expand_not_equal(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_not_equal( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being not equal to the second vector.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_less_than_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_less_than_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being less than the second vector.
Sourcepub fn __expand_less_than(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_less_than( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being less than the second vector.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_greater_than_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_greater_than_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being greater than the second vector.
Sourcepub fn __expand_greater_than(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_greater_than( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being greater than the second vector.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_less_equal_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_less_equal_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being less than or equal to the second vector.
Sourcepub fn __expand_less_equal(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_less_equal( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being less than or equal to the second vector.
Source§impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: Scalar, N: Size> NativeExpand<Vector<P, N>>
Sourcepub fn __expand_greater_equal_method(
&self,
scope: &Scope,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_greater_equal_method( &self, scope: &Scope, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being greater than or equal to the second vector.
Sourcepub fn __expand_greater_equal(
scope: &Scope,
this: &Self,
other: &Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_greater_equal( scope: &Scope, this: &Self, other: &Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise comparison of the first vector being greater than or equal to the second vector.
Source§impl<N: Size> NativeExpand<Vector<bool, N>>
impl<N: Size> NativeExpand<Vector<bool, N>>
Sourcepub fn __expand_vec_and_method(
self,
scope: &Scope,
other: Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_vec_and_method( self, scope: &Scope, other: Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise and of the vectors
Sourcepub fn __expand_vec_and(
scope: &Scope,
this: Self,
other: Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_vec_and( scope: &Scope, this: Self, other: Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise and of the vectors
Source§impl<N: Size> NativeExpand<Vector<bool, N>>
impl<N: Size> NativeExpand<Vector<bool, N>>
Sourcepub fn __expand_or_method(
self,
scope: &Scope,
other: Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_or_method( self, scope: &Scope, other: Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise and of the vectors
Sourcepub fn __expand_or(
scope: &Scope,
this: Self,
other: Self,
) -> <Vector<bool, N> as CubeType>::ExpandType
pub fn __expand_or( scope: &Scope, this: Self, other: Self, ) -> <Vector<bool, N> as CubeType>::ExpandType
Return a new vector with the element-wise and of the vectors
Source§impl<P: CountOnes + Scalar, N: Size> NativeExpand<Vector<P, N>>
impl<P: CountOnes + Scalar, N: Size> NativeExpand<Vector<P, N>>
pub fn __expand_count_ones_method( self, scope: &Scope, ) -> <Vector<u32, N> as CubeType>::ExpandType
pub fn __expand_count_ones( scope: &Scope, this: Self, ) -> <Vector<u32, N> as CubeType>::ExpandType
Source§impl<Inner: CubePrimitive<Scalar: Numeric>> NativeExpand<Atomic<Inner>>
impl<Inner: CubePrimitive<Scalar: Numeric>> NativeExpand<Atomic<Inner>>
Sourcepub fn __expand_load_method(
&self,
scope: &Scope,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_load_method( &self, scope: &Scope, ) -> <Inner as CubeType>::ExpandType
Load the value of the atomic.
Sourcepub fn __expand_store_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
)
pub fn __expand_store_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, )
Store the value of the atomic.
Sourcepub fn __expand_swap_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_swap_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically stores the value into the atomic and returns the old value.
Sourcepub fn __expand_fetch_add_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_add_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically add a number to the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_sub_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_sub_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically subtracts a number from the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_max_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_max_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically sets the value of the atomic variable to max(current_value, value). Returns
the old value.
Sourcepub fn __expand_fetch_min_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_min_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically sets the value of the atomic variable to min(current_value, value). Returns the
old value.
Sourcepub fn __expand_load(
scope: &Scope,
this: &Self,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_load( scope: &Scope, this: &Self, ) -> <Inner as CubeType>::ExpandType
Load the value of the atomic.
Sourcepub fn __expand_store(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
)
pub fn __expand_store( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, )
Store the value of the atomic.
Sourcepub fn __expand_swap(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_swap( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically stores the value into the atomic and returns the old value.
Sourcepub fn __expand_fetch_add(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_add( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically add a number to the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_sub(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_sub( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically subtracts a number from the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_max(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_max( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically sets the value of the atomic variable to max(current_value, value). Returns
the old value.
Sourcepub fn __expand_fetch_min(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_min( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Atomically sets the value of the atomic variable to min(current_value, value). Returns the
old value.
Source§impl<Inner: CubePrimitive<Scalar: Int>> NativeExpand<Atomic<Inner>>
impl<Inner: CubePrimitive<Scalar: Int>> NativeExpand<Atomic<Inner>>
Sourcepub fn __expand_compare_exchange_weak_method(
&self,
scope: &Scope,
cmp: <Inner as CubeType>::ExpandType,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_compare_exchange_weak_method( &self, scope: &Scope, cmp: <Inner as CubeType>::ExpandType, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Compare the value at pointer to cmp and set it to value only if they are the same.
Returns the old value of the pointer before the store.
§Tip
Compare the returned value to cmp to determine whether the store was successful.
Sourcepub fn __expand_fetch_and_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_and_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise and operation on the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_or_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_or_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise or operation on the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_xor_method(
&self,
scope: &Scope,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_xor_method( &self, scope: &Scope, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise xor operation on the atomic variable. Returns the old value.
Sourcepub fn __expand_compare_exchange_weak(
scope: &Scope,
this: &Self,
cmp: <Inner as CubeType>::ExpandType,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_compare_exchange_weak( scope: &Scope, this: &Self, cmp: <Inner as CubeType>::ExpandType, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Compare the value at pointer to cmp and set it to value only if they are the same.
Returns the old value of the pointer before the store.
§Tip
Compare the returned value to cmp to determine whether the store was successful.
Sourcepub fn __expand_fetch_and(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_and( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise and operation on the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_or(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_or( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise or operation on the atomic variable. Returns the old value.
Sourcepub fn __expand_fetch_xor(
scope: &Scope,
this: &Self,
value: <Inner as CubeType>::ExpandType,
) -> <Inner as CubeType>::ExpandType
pub fn __expand_fetch_xor( scope: &Scope, this: &Self, value: <Inner as CubeType>::ExpandType, ) -> <Inner as CubeType>::ExpandType
Executes an atomic bitwise xor operation on the atomic variable. Returns the old value.
Source§impl<T: ?Sized> NativeExpand<T>
impl<T: ?Sized> NativeExpand<T>
Source§impl<T: ?Sized> NativeExpand<T>
impl<T: ?Sized> NativeExpand<T>
Sourcepub unsafe fn as_type_ref_unchecked<E: ?Sized>(&self) -> &NativeExpand<E>
pub unsafe fn as_type_ref_unchecked<E: ?Sized>(&self) -> &NativeExpand<E>
Casts a reference of this expand element to a different type.
§Safety
There’s no guarantee the new type is valid for the Value
Sourcepub unsafe fn as_type_mut_unchecked<E: ?Sized>(
&mut self,
) -> &mut NativeExpand<E>
pub unsafe fn as_type_mut_unchecked<E: ?Sized>( &mut self, ) -> &mut NativeExpand<E>
Casts a mutable reference of this expand element to a different type.
§Safety
There’s no guarantee the new type is valid for the Value
Source§impl<T> NativeExpand<T>
impl<T> NativeExpand<T>
Sourcepub fn vector_size(&self) -> VectorSize
pub fn vector_size(&self) -> VectorSize
Comptime version of crate::frontend::Array::vector_size.
pub fn __expand_vector_size_method(&self, _scope: &Scope) -> VectorSize
pub fn into_variable(self) -> Value
Source§impl<T: Scalar + Into<ConstantValue>> NativeExpand<T>
impl<T: Scalar + Into<ConstantValue>> NativeExpand<T>
Sourcepub fn from_lit(scope: &Scope, lit: T) -> Self
pub fn from_lit(scope: &Scope, lit: T) -> Self
Create an NativeExpand from a value that is normally a literal.
Sourcepub fn constant(&self) -> Option<ConstantValue>
pub fn constant(&self) -> Option<ConstantValue>
Get the ConstantValue from the variable.
pub fn __expand_into_lit_unchecked_method(self, _scope: &Scope) -> T
Source§impl<E: Int> NativeExpand<E>
impl<E: Int> NativeExpand<E>
pub fn __expand_is_multiple_of_method( self, scope: &Scope, factor: NativeExpand<E>, ) -> NativeExpand<bool>
Trait Implementations§
Source§impl<T: Abs + CubePrimitive> AbsExpand for NativeExpand<T>
impl<T: Abs + CubePrimitive> AbsExpand for NativeExpand<T>
fn __expand_abs_method(self, scope: &Scope) -> Self
Source§impl<T: AddAssign + CubePrimitive> AddAssignExpand for NativeExpand<T>
impl<T: AddAssign + CubePrimitive> AddAssignExpand for NativeExpand<T>
fn __expand_add_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Add<Output = T> + CubePrimitive> AddExpand for NativeExpand<T>
impl<T: Add<Output = T> + CubePrimitive> AddExpand for NativeExpand<T>
fn __expand_add_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: CubeAnd + CubePrimitive> AndExpand for NativeExpand<T>
impl<T: CubeAnd + CubePrimitive> AndExpand for NativeExpand<T>
fn __expand_and_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: ArcCos + CubePrimitive> ArcCosExpand for NativeExpand<T>
impl<T: ArcCos + CubePrimitive> ArcCosExpand for NativeExpand<T>
fn __expand_acos_method(self, scope: &Scope) -> Self
Source§impl<T: ArcCosh + CubePrimitive> ArcCoshExpand for NativeExpand<T>
impl<T: ArcCosh + CubePrimitive> ArcCoshExpand for NativeExpand<T>
fn __expand_acosh_method(self, scope: &Scope) -> Self
Source§impl<T: ArcSin + CubePrimitive> ArcSinExpand for NativeExpand<T>
impl<T: ArcSin + CubePrimitive> ArcSinExpand for NativeExpand<T>
fn __expand_asin_method(self, scope: &Scope) -> Self
Source§impl<T: ArcSinh + CubePrimitive> ArcSinhExpand for NativeExpand<T>
impl<T: ArcSinh + CubePrimitive> ArcSinhExpand for NativeExpand<T>
fn __expand_asinh_method(self, scope: &Scope) -> Self
Source§impl<T: CubePrimitive + ArcTan2> ArcTan2Expand for NativeExpand<T>
impl<T: CubePrimitive + ArcTan2> ArcTan2Expand for NativeExpand<T>
fn __expand_atan2_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: ArcTan + CubePrimitive> ArcTanExpand for NativeExpand<T>
impl<T: ArcTan + CubePrimitive> ArcTanExpand for NativeExpand<T>
fn __expand_atan_method(self, scope: &Scope) -> Self
Source§impl<T: ArcTanh + CubePrimitive> ArcTanhExpand for NativeExpand<T>
impl<T: ArcTanh + CubePrimitive> ArcTanhExpand for NativeExpand<T>
fn __expand_atanh_method(self, scope: &Scope) -> Self
Source§impl AsMutExpand for NativeExpand<BarrierToken>
impl AsMutExpand for NativeExpand<BarrierToken>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<E> AsMutExpand for NativeExpand<Array<E>>
impl<E> AsMutExpand for NativeExpand<Array<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: CubePrimitive> AsMutExpand for NativeExpand<Box<[E]>>
impl<E: CubePrimitive> AsMutExpand for NativeExpand<Box<[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: CubePrimitive, K: TensorMapKind> AsMutExpand for NativeExpand<TensorMap<E, K>>
impl<E: CubePrimitive, K: TensorMapKind> AsMutExpand for NativeExpand<TensorMap<E, K>>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<T: CubePrimitive> AsMutExpand for NativeExpand<T>
impl<T: CubePrimitive> AsMutExpand for NativeExpand<T>
fn __expand_ref_mut_method(&mut self, _scope: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<T: ?Sized> AsRefExpand for NativeExpand<T>
impl<T: ?Sized> AsRefExpand for NativeExpand<T>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<C: CubePrimitive> Assign for NativeExpand<Array<C>>
impl<C: CubePrimitive> Assign for NativeExpand<Array<C>>
Source§fn __expand_assign_method(&mut self, scope: &Scope, value: Self)
fn __expand_assign_method(&mut self, scope: &Scope, value: Self)
value to self in scope.Source§impl<T: NativeAssign> Assign for NativeExpand<T>
impl<T: NativeAssign> Assign for NativeExpand<T>
Source§fn __expand_assign_method(&mut self, scope: &Scope, value: Self)
fn __expand_assign_method(&mut self, scope: &Scope, value: Self)
value to self in scope.Source§fn __expand_assign_method(&mut self, scope: &Scope, value: NativeExpand<T>)
fn __expand_assign_method(&mut self, scope: &Scope, value: NativeExpand<T>)
value to self in scope.Source§impl<T: BitAndAssign + CubePrimitive> BitAndAssignExpand for NativeExpand<T>
impl<T: BitAndAssign + CubePrimitive> BitAndAssignExpand for NativeExpand<T>
fn __expand_bitand_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: BitAnd<Output = T> + CubePrimitive> BitAndExpand for NativeExpand<T>
impl<T: BitAnd<Output = T> + CubePrimitive> BitAndExpand for NativeExpand<T>
fn __expand_bitand_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: BitOrAssign + CubePrimitive> BitOrAssignExpand for NativeExpand<T>
impl<T: BitOrAssign + CubePrimitive> BitOrAssignExpand for NativeExpand<T>
fn __expand_bitor_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: BitOr<Output = T> + CubePrimitive> BitOrExpand for NativeExpand<T>
impl<T: BitOr<Output = T> + CubePrimitive> BitOrExpand for NativeExpand<T>
fn __expand_bitor_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: BitXorAssign + CubePrimitive> BitXorAssignExpand for NativeExpand<T>
impl<T: BitXorAssign + CubePrimitive> BitXorAssignExpand for NativeExpand<T>
fn __expand_bitxor_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: BitXor<Output = T> + CubePrimitive> BitXorExpand for NativeExpand<T>
impl<T: BitXor<Output = T> + CubePrimitive> BitXorExpand for NativeExpand<T>
fn __expand_bitxor_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Ceil + CubePrimitive> CeilExpand for NativeExpand<T>
impl<T: Ceil + CubePrimitive> CeilExpand for NativeExpand<T>
fn __expand_ceil_method(self, scope: &Scope) -> Self
Source§impl<T: Clone + ?Sized> Clone for NativeExpand<T>
impl<T: Clone + ?Sized> Clone for NativeExpand<T>
Source§fn clone(&self) -> NativeExpand<T>
fn clone(&self) -> NativeExpand<T>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<T: Copy + ?Sized> Copy for NativeExpand<T>
Source§impl<T: Cos + CubePrimitive> CosExpand for NativeExpand<T>
impl<T: Cos + CubePrimitive> CosExpand for NativeExpand<T>
fn __expand_cos_method(self, scope: &Scope) -> Self
Source§impl<T: Cosh + CubePrimitive> CoshExpand for NativeExpand<T>
impl<T: Cosh + CubePrimitive> CoshExpand for NativeExpand<T>
fn __expand_cosh_method(self, scope: &Scope) -> Self
Source§impl<T: CountOnes + CubePrimitive> CountOnesExpand for NativeExpand<T>
impl<T: CountOnes + CubePrimitive> CountOnesExpand for NativeExpand<T>
fn __expand_count_ones_method(self, scope: &Scope) -> Self::WithScalar<u32>
Source§impl<T: ?Sized> CubeDebug for NativeExpand<T>
impl<T: ?Sized> CubeDebug for NativeExpand<T>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Source§impl<T: CubePrimitive> CubePrimitiveExpand for NativeExpand<T>
impl<T: CubePrimitive> CubePrimitiveExpand for NativeExpand<T>
type Scalar = NativeExpand<<T as CubePrimitive>::Scalar>
type WithScalar<S: Scalar> = NativeExpand<<T as CubePrimitive>::WithScalar<S>>
Source§impl<T: Degrees + CubePrimitive> DegreesExpand for NativeExpand<T>
impl<T: Degrees + CubePrimitive> DegreesExpand for NativeExpand<T>
fn __expand_to_degrees_method(self, scope: &Scope) -> Self
Source§impl<T: CubePrimitive> Deref for NativeExpand<Array<T>>
impl<T: CubePrimitive> Deref for NativeExpand<Array<T>>
Source§impl<T: CubePrimitive> DerefExpand for NativeExpand<T>
impl<T: CubePrimitive> DerefExpand for NativeExpand<T>
type Target = NativeExpand<T>
fn __expand_deref_method(&self, scope: &Scope) -> NativeExpand<T>
Source§impl<T: CubePrimitive> DerefMut for NativeExpand<Array<T>>
impl<T: CubePrimitive> DerefMut for NativeExpand<Array<T>>
Source§impl<T: DivAssign + CubePrimitive> DivAssignExpand for NativeExpand<T>
impl<T: DivAssign + CubePrimitive> DivAssignExpand for NativeExpand<T>
fn __expand_div_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<E: DivCeil> DivCeilExpand<E> for NativeExpand<E>
impl<E: DivCeil> DivCeilExpand<E> for NativeExpand<E>
fn __expand_div_ceil_method( self, scope: &Scope, divisor: NativeExpand<E>, ) -> NativeExpand<E>
Source§impl<T: Div<Output = T> + CubePrimitive> DivExpand for NativeExpand<T>
impl<T: Div<Output = T> + CubePrimitive> DivExpand for NativeExpand<T>
fn __expand_div_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: CubePrimitive + Dot> DotExpand for NativeExpand<T>
impl<T: CubePrimitive + Dot> DotExpand for NativeExpand<T>
fn __expand_dot_method(self, scope: &Scope, rhs: Self) -> Self::Scalar
Source§impl<T: Erf + CubePrimitive> ErfExpand for NativeExpand<T>
impl<T: Erf + CubePrimitive> ErfExpand for NativeExpand<T>
fn __expand_erf_method(self, scope: &Scope) -> Self
Source§impl<T: Exp + CubePrimitive> ExpExpand for NativeExpand<T>
impl<T: Exp + CubePrimitive> ExpExpand for NativeExpand<T>
fn __expand_exp_method(self, scope: &Scope) -> Self
Source§impl<T: ?Sized> ExpandTypeClone for NativeExpand<T>
impl<T: ?Sized> ExpandTypeClone for NativeExpand<T>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
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<T: Expm1 + CubePrimitive> Expm1Expand for NativeExpand<T>
impl<T: Expm1 + CubePrimitive> Expm1Expand for NativeExpand<T>
fn __expand_exp_m1_method(self, scope: &Scope) -> Self
Source§impl<T: FindFirstSet + CubePrimitive> FindFirstSetExpand for NativeExpand<T>
impl<T: FindFirstSet + CubePrimitive> FindFirstSetExpand for NativeExpand<T>
fn __expand_find_first_set_method(self, scope: &Scope) -> Self::WithScalar<u32>
Source§impl<F: FloatBits> FloatBitsExpand for NativeExpand<F>
impl<F: FloatBits> FloatBitsExpand for NativeExpand<F>
Source§impl<T: FloatOps + CubePrimitive> FloatOpsExpand for NativeExpand<T>
impl<T: FloatOps + CubePrimitive> FloatOpsExpand for NativeExpand<T>
fn __expand_min_method(self, scope: &Scope, other: Self) -> Self
fn __expand_max_method(self, scope: &Scope, other: Self) -> Self
fn __expand_clamp_method(self, scope: &Scope, min: Self, max: Self) -> Self
Source§impl<T: Floor + CubePrimitive> FloorExpand for NativeExpand<T>
impl<T: Floor + CubePrimitive> FloorExpand for NativeExpand<T>
fn __expand_floor_method(self, scope: &Scope) -> Self
Source§impl<'a, E: CubePrimitive> From<&'a NativeExpand<Box<[E]>>> for &'a NativeExpand<[E]>
impl<'a, E: CubePrimitive> From<&'a NativeExpand<Box<[E]>>> for &'a NativeExpand<[E]>
Source§fn from(value: &'a SharedExpand<T>) -> Self
fn from(value: &'a SharedExpand<T>) -> Self
Source§impl<'a, E: CubePrimitive> From<&'a mut NativeExpand<Box<[E]>>> for &'a mut NativeExpand<[E]>
impl<'a, E: CubePrimitive> From<&'a mut NativeExpand<Box<[E]>>> for &'a mut NativeExpand<[E]>
Source§fn from(value: &'a mut SharedExpand<T>) -> Self
fn from(value: &'a mut SharedExpand<T>) -> Self
Source§impl<Marker: 'static> From<DynamicScalar<Marker>> for NativeExpand<DynamicScalar<Marker>>
impl<Marker: 'static> From<DynamicScalar<Marker>> for NativeExpand<DynamicScalar<Marker>>
Source§fn from(value: DynamicScalar<Marker>) -> Self
fn from(value: DynamicScalar<Marker>) -> Self
Source§fn from(value: SharedExpand<Barrier>) -> Self
fn from(value: SharedExpand<Barrier>) -> Self
Source§impl<T: ?Sized> From<NativeExpand<T>> for Value
impl<T: ?Sized> From<NativeExpand<T>> for Value
Source§fn from(value: NativeExpand<T>) -> Self
fn from(value: NativeExpand<T>) -> Self
Source§impl<T: CubePrimitive + Hypot> HypotExpand for NativeExpand<T>
impl<T: CubePrimitive + Hypot> HypotExpand for NativeExpand<T>
fn __expand_hypot_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: CubeType> IndexExpand<NativeExpand<usize>> for SequenceExpand<T>
impl<T: CubeType> IndexExpand<NativeExpand<usize>> for SequenceExpand<T>
type Output = <T as CubeType>::ExpandType
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for SliceExpand<E>
impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for SliceExpand<E>
type Output = <E as CubeType>::ExpandType
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<E>
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for TensorExpand<E>
impl<E: CubePrimitive> IndexExpand<NativeExpand<usize>> for TensorExpand<E>
type Output = NativeExpand<E>
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<E>
fn __expand_index_method( &self, scope: &Scope, index: NativeExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeFromExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeFromExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeFromExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeFromExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeFullExpand> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeFullExpand> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeFullExpand, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeFullExpand, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeToExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeToExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeToExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeToExpand<usize>, ) -> &Self::Output
Source§impl<E: CubePrimitive> IndexExpand<RangeToInclusiveExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexExpand<RangeToInclusiveExpand<usize>> for NativeExpand<Array<E>>
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeToInclusiveExpand<usize>, ) -> &Self::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeToInclusiveExpand<usize>, ) -> &Self::Output
Source§impl<T: CubeType> IndexMutExpand<NativeExpand<usize>> for SequenceExpand<T>
impl<T: CubeType> IndexMutExpand<NativeExpand<usize>> for SequenceExpand<T>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut T::ExpandType
Source§impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for SliceExpand<E>
impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for SliceExpand<E>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut Self::Output
Source§impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut E::ExpandType
Source§impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for TensorExpand<E>
impl<E: CubePrimitive> IndexMutExpand<NativeExpand<usize>> for TensorExpand<E>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut E::ExpandType
fn __expand_index_mut_method( &mut self, scope: &Scope, index: NativeExpand<usize>, ) -> &mut E::ExpandType
Source§impl<E: CubePrimitive> IndexMutExpand<RangeExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeExpand<usize>, ) -> &mut <Self as IndexExpand<RangeExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeExpand<usize>, ) -> &mut <Self as IndexExpand<RangeExpand<usize>>>::Output
Source§impl<E: CubePrimitive> IndexMutExpand<RangeFromExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeFromExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeFromExpand<usize>, ) -> &mut <Self as IndexExpand<RangeFromExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeFromExpand<usize>, ) -> &mut <Self as IndexExpand<RangeFromExpand<usize>>>::Output
Source§impl<E: CubePrimitive> IndexMutExpand<RangeFullExpand> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeFullExpand> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeFullExpand, ) -> &mut <Self as IndexExpand<RangeFullExpand>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeFullExpand, ) -> &mut <Self as IndexExpand<RangeFullExpand>>::Output
Source§impl<E: CubePrimitive> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <Self as IndexExpand<RangeInclusiveExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <Self as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E: CubePrimitive> IndexMutExpand<RangeToExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeToExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeToExpand<usize>, ) -> &mut <Self as IndexExpand<RangeToExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeToExpand<usize>, ) -> &mut <Self as IndexExpand<RangeToExpand<usize>>>::Output
Source§impl<E: CubePrimitive> IndexMutExpand<RangeToInclusiveExpand<usize>> for NativeExpand<Array<E>>
impl<E: CubePrimitive> IndexMutExpand<RangeToInclusiveExpand<usize>> for NativeExpand<Array<E>>
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeToInclusiveExpand<usize>, ) -> &mut <Self as IndexExpand<RangeToInclusiveExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeToInclusiveExpand<usize>, ) -> &mut <Self as IndexExpand<RangeToInclusiveExpand<usize>>>::Output
Source§impl<P: Scalar + Into<NativeExpand<P>>, N: Size> Into<NativeExpand<Vector<P, N>>> for Vector<P, N>
impl<P: Scalar + Into<NativeExpand<P>>, N: Size> Into<NativeExpand<Vector<P, N>>> for Vector<P, N>
Source§fn into(self) -> NativeExpand<Self>
fn into(self) -> NativeExpand<Self>
Source§impl<T: ?Sized> IntoExpand for NativeExpand<T>
impl<T: ?Sized> IntoExpand for NativeExpand<T>
type Expand = NativeExpand<T>
fn into_expand(self, _: &Scope) -> Self::Expand
Source§impl<E: CubePrimitive> IntoMut for NativeExpand<Box<[E]>>
impl<E: CubePrimitive> IntoMut for NativeExpand<Box<[E]>>
Source§impl<E: CubePrimitive, K: TensorMapKind> IntoMut for NativeExpand<TensorMap<E, K>>
impl<E: CubePrimitive, K: TensorMapKind> IntoMut for NativeExpand<TensorMap<E, K>>
Source§impl<T: NativeAssign> IntoMut for NativeExpand<T>
impl<T: NativeAssign> IntoMut for NativeExpand<T>
Source§impl<T: InverseSqrt + CubePrimitive> InverseSqrtExpand for NativeExpand<T>
impl<T: InverseSqrt + CubePrimitive> InverseSqrtExpand for NativeExpand<T>
fn __expand_inverse_sqrt_method(self, scope: &Scope) -> Self
Source§impl<T: IsInf + CubePrimitive> IsInfExpand for NativeExpand<T>
impl<T: IsInf + CubePrimitive> IsInfExpand for NativeExpand<T>
fn __expand_is_inf_method(self, scope: &Scope) -> Self::WithScalar<bool>
Source§impl<T: IsNan + CubePrimitive> IsNanExpand for NativeExpand<T>
impl<T: IsNan + CubePrimitive> IsNanExpand for NativeExpand<T>
fn __expand_is_nan_method(self, scope: &Scope) -> Self::WithScalar<bool>
Source§impl<T: CubeIndex<usize> + SizedContainer<usize> + CubeType<ExpandType = NativeExpand<T>>> Iterable for NativeExpand<T>where
<T::Output as CubeType>::ExpandType: DerefExpand<Target = <T::Output as CubeType>::ExpandType>,
impl<T: CubeIndex<usize> + SizedContainer<usize> + CubeType<ExpandType = NativeExpand<T>>> Iterable for NativeExpand<T>where
<T::Output as CubeType>::ExpandType: DerefExpand<Target = <T::Output as CubeType>::ExpandType>,
type Item = <<T as Index<usize>>::Output as CubeType>::ExpandType
Source§fn expand(self, scope: &Scope, body: impl FnMut(&Scope, Self::Item))
fn expand(self, scope: &Scope, body: impl FnMut(&Scope, Self::Item))
Source§impl<T: LeadingZeros + CubePrimitive> LeadingZerosExpand for NativeExpand<T>
impl<T: LeadingZeros + CubePrimitive> LeadingZerosExpand for NativeExpand<T>
fn __expand_leading_zeros_method(self, scope: &Scope) -> Self::WithScalar<u32>
Source§impl<T: CubePrimitive> ListExpand<T> for NativeExpand<Array<T>>
impl<T: CubePrimitive> ListExpand<T> for NativeExpand<Array<T>>
fn __expand_len_method(&self, scope: &Scope) -> NativeExpand<usize>
fn __expand_len_method(&self, scope: &Scope) -> NativeExpand<usize>
Source§impl<T: Log1p + CubePrimitive> Log1pExpand for NativeExpand<T>
impl<T: Log1p + CubePrimitive> Log1pExpand for NativeExpand<T>
fn __expand_log1p_method(self, scope: &Scope) -> Self
Source§impl<T: Log + CubePrimitive> LogExpand for NativeExpand<T>
impl<T: Log + CubePrimitive> LogExpand for NativeExpand<T>
fn __expand_ln_method(self, scope: &Scope) -> Self
Source§impl<T: Magnitude + CubePrimitive> MagnitudeExpand for NativeExpand<T>
impl<T: Magnitude + CubePrimitive> MagnitudeExpand for NativeExpand<T>
fn __expand_magnitude_method(self, scope: &Scope) -> Self::Scalar
Source§impl<T: CubePrimitive + ModFloor> ModFloorExpand for NativeExpand<T>
impl<T: CubePrimitive + ModFloor> ModFloorExpand for NativeExpand<T>
fn __expand_mod_floor_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: MulAssign + CubePrimitive> MulAssignExpand for NativeExpand<T>
impl<T: MulAssign + CubePrimitive> MulAssignExpand for NativeExpand<T>
fn __expand_mul_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Mul<Output = T> + CubePrimitive> MulExpand for NativeExpand<T>
impl<T: Mul<Output = T> + CubePrimitive> MulExpand for NativeExpand<T>
fn __expand_mul_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: CubePrimitive + MulHi> MulHiExpand for NativeExpand<T>
impl<T: CubePrimitive + MulHi> MulHiExpand for NativeExpand<T>
fn __expand_mul_hi_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Neg<Output = T> + CubePrimitive> NegExpand for NativeExpand<T>
impl<T: Neg<Output = T> + CubePrimitive> NegExpand for NativeExpand<T>
fn __expand_neg_method(self, scope: &Scope) -> Self
Source§impl<T: Normalize + CubePrimitive> NormalizeExpand for NativeExpand<T>
impl<T: Normalize + CubePrimitive> NormalizeExpand for NativeExpand<T>
fn __expand_normalize_method(self, scope: &Scope) -> Self
Source§impl<T: CubeNot + CubePrimitive> NotExpand for NativeExpand<T>
impl<T: CubeNot + CubePrimitive> NotExpand for NativeExpand<T>
fn __expand_not_method(self, scope: &Scope) -> Self
Source§impl<T: CubeOr + CubePrimitive> OrExpand for NativeExpand<T>
impl<T: CubeOr + CubePrimitive> OrExpand for NativeExpand<T>
fn __expand_or_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Ord + CubePrimitive> OrdExpand for NativeExpand<T>
impl<T: Ord + CubePrimitive> OrdExpand for NativeExpand<T>
fn __expand_cmp_method(&self, scope: &Scope, rhs: &Self) -> OrderingExpand
fn __expand_min_method(self, scope: &Scope, rhs: Self) -> Self
fn __expand_max_method(self, scope: &Scope, rhs: Self) -> Self
fn __expand_clamp_method(self, scope: &Scope, min: Self, max: Self) -> Self
Source§impl<T: PartialEq + CubePrimitive> PartialEqExpand for NativeExpand<T>
impl<T: PartialEq + CubePrimitive> PartialEqExpand for NativeExpand<T>
fn __expand_eq_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
fn __expand_ne_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
Source§impl<T: PartialOrd + CubePrimitive> PartialOrdExpand for NativeExpand<T>
impl<T: PartialOrd + CubePrimitive> PartialOrdExpand for NativeExpand<T>
fn __expand_partial_cmp_method( &self, scope: &Scope, rhs: &Self, ) -> OptionExpand<Ordering>
fn __expand_lt_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
fn __expand_le_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
fn __expand_gt_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
fn __expand_ge_method(&self, scope: &Scope, rhs: &Self) -> NativeExpand<bool>
Source§impl<T: CubePrimitive + Powf> PowfExpand for NativeExpand<T>
impl<T: CubePrimitive + Powf> PowfExpand for NativeExpand<T>
fn __expand_powf_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<Rhs: CubePrimitive, T: CubePrimitive + Powi<Rhs>> PowiExpand<Rhs> for NativeExpand<T>
impl<Rhs: CubePrimitive, T: CubePrimitive + Powi<Rhs>> PowiExpand<Rhs> for NativeExpand<T>
fn __expand_powi_method(self, scope: &Scope, rhs: NativeExpand<Rhs>) -> Self
Source§impl<T: Radians + CubePrimitive> RadiansExpand for NativeExpand<T>
impl<T: Radians + CubePrimitive> RadiansExpand for NativeExpand<T>
fn __expand_to_radians_method(self, scope: &Scope) -> Self
Source§impl<T: Recip + CubePrimitive> RecipExpand for NativeExpand<T>
impl<T: Recip + CubePrimitive> RecipExpand for NativeExpand<T>
fn __expand_recip_method(self, scope: &Scope) -> Self
Source§impl<T: RemAssign + CubePrimitive> RemAssignExpand for NativeExpand<T>
impl<T: RemAssign + CubePrimitive> RemAssignExpand for NativeExpand<T>
fn __expand_rem_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Rem<Output = T> + CubePrimitive> RemExpand for NativeExpand<T>
impl<T: Rem<Output = T> + CubePrimitive> RemExpand for NativeExpand<T>
fn __expand_rem_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: ReverseBits + CubePrimitive> ReverseBitsExpand for NativeExpand<T>
impl<T: ReverseBits + CubePrimitive> ReverseBitsExpand for NativeExpand<T>
fn __expand_reverse_bits_method(self, scope: &Scope) -> Self
Source§impl<T: CubePrimitive + Rhypot> RhypotExpand for NativeExpand<T>
impl<T: CubePrimitive + Rhypot> RhypotExpand for NativeExpand<T>
fn __expand_rhypot_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Round + CubePrimitive> RoundExpand for NativeExpand<T>
impl<T: Round + CubePrimitive> RoundExpand for NativeExpand<T>
fn __expand_round_method(self, scope: &Scope) -> Self
Source§impl<C: CubePrimitive> RuntimeAssign for NativeExpand<Array<C>>
impl<C: CubePrimitive> RuntimeAssign for NativeExpand<Array<C>>
Source§impl<T: NativeAssign> RuntimeAssign for NativeExpand<T>
impl<T: NativeAssign> RuntimeAssign for NativeExpand<T>
Source§impl<T: CubePrimitive + SaturatingAdd> SaturatingAddExpand for NativeExpand<T>
impl<T: CubePrimitive + SaturatingAdd> SaturatingAddExpand for NativeExpand<T>
fn __expand_saturating_add_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: CubePrimitive + SaturatingSub> SaturatingSubExpand for NativeExpand<T>
impl<T: CubePrimitive + SaturatingSub> SaturatingSubExpand for NativeExpand<T>
fn __expand_saturating_sub_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: ShlAssign + CubePrimitive> ShlAssignExpand for NativeExpand<T>
impl<T: ShlAssign + CubePrimitive> ShlAssignExpand for NativeExpand<T>
fn __expand_shl_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Shl<Output = T> + CubePrimitive> ShlExpand for NativeExpand<T>
impl<T: Shl<Output = T> + CubePrimitive> ShlExpand for NativeExpand<T>
fn __expand_shl_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: ShrAssign + CubePrimitive> ShrAssignExpand for NativeExpand<T>
impl<T: ShrAssign + CubePrimitive> ShrAssignExpand for NativeExpand<T>
fn __expand_shr_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Shr<Output = T> + CubePrimitive> ShrExpand for NativeExpand<T>
impl<T: Shr<Output = T> + CubePrimitive> ShrExpand for NativeExpand<T>
fn __expand_shr_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Sin + CubePrimitive> SinExpand for NativeExpand<T>
impl<T: Sin + CubePrimitive> SinExpand for NativeExpand<T>
fn __expand_sin_method(self, scope: &Scope) -> Self
Source§impl<T: Sinh + CubePrimitive> SinhExpand for NativeExpand<T>
impl<T: Sinh + CubePrimitive> SinhExpand for NativeExpand<T>
fn __expand_sinh_method(self, scope: &Scope) -> Self
Source§impl<T: CubePrimitive> SizedContainerExpand<usize> for NativeExpand<Array<T>>
impl<T: CubePrimitive> SizedContainerExpand<usize> for NativeExpand<Array<T>>
fn __expand_len_method(&self, scope: &Scope) -> NativeExpand<usize>
Source§impl<T: Sqrt + CubePrimitive> SqrtExpand for NativeExpand<T>
impl<T: Sqrt + CubePrimitive> SqrtExpand for NativeExpand<T>
fn __expand_sqrt_method(self, scope: &Scope) -> Self
Source§impl<T: SubAssign + CubePrimitive> SubAssignExpand for NativeExpand<T>
impl<T: SubAssign + CubePrimitive> SubAssignExpand for NativeExpand<T>
fn __expand_sub_assign_method(&mut self, scope: &Scope, rhs: Self)
Source§impl<T: Sub<Output = T> + CubePrimitive> SubExpand for NativeExpand<T>
impl<T: Sub<Output = T> + CubePrimitive> SubExpand for NativeExpand<T>
fn __expand_sub_method(self, scope: &Scope, rhs: Self) -> Self
Source§impl<T: Tan + CubePrimitive> TanExpand for NativeExpand<T>
impl<T: Tan + CubePrimitive> TanExpand for NativeExpand<T>
fn __expand_tan_method(self, scope: &Scope) -> Self
Source§impl<T: Tanh + CubePrimitive> TanhExpand for NativeExpand<T>
impl<T: Tanh + CubePrimitive> TanhExpand for NativeExpand<T>
fn __expand_tanh_method(self, scope: &Scope) -> Self
Source§impl<T: TrailingZeros + CubePrimitive> TrailingZerosExpand for NativeExpand<T>
impl<T: TrailingZeros + CubePrimitive> TrailingZerosExpand for NativeExpand<T>
fn __expand_trailing_zeros_method(self, scope: &Scope) -> Self::WithScalar<u32>
Source§impl<T: Trunc + CubePrimitive> TruncExpand for NativeExpand<T>
impl<T: Trunc + CubePrimitive> TruncExpand for NativeExpand<T>
fn __expand_trunc_method(self, scope: &Scope) -> Self
Source§impl<T: VectorSum + CubePrimitive> VectorSumExpand for NativeExpand<T>
impl<T: VectorSum + CubePrimitive> VectorSumExpand for NativeExpand<T>
fn __expand_vector_sum_method(self, scope: &Scope) -> Self::Scalar
Source§impl<T: CubePrimitive> VectorizedExpand for NativeExpand<Array<T>>
impl<T: CubePrimitive> VectorizedExpand for NativeExpand<Array<T>>
fn vector_size(&self) -> VectorSize
fn __expand_vector_size_method(&self, _scope: &Scope) -> VectorSize
fn vector_size(&self) -> VectorSize
fn __expand_vector_size_method(&self, _scope: &Scope) -> VectorSize
Source§impl<E: CubePrimitive> VectorizedExpand for NativeExpand<Box<[E]>>
impl<E: CubePrimitive> VectorizedExpand for NativeExpand<Box<[E]>>
fn vector_size(&self) -> VectorSize
fn __expand_vector_size_method(&self, _scope: &Scope) -> VectorSize
Source§impl<E: CubePrimitive, K: TensorMapKind> VectorizedExpand for NativeExpand<TensorMap<E, K>>
impl<E: CubePrimitive, K: TensorMapKind> VectorizedExpand for NativeExpand<TensorMap<E, K>>
fn vector_size(&self) -> VectorSize
fn __expand_vector_size_method(&self, _scope: &Scope) -> VectorSize
Auto Trait Implementations§
impl<T> Freeze for NativeExpand<T>where
T: ?Sized,
impl<T> RefUnwindSafe for NativeExpand<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Send for NativeExpand<T>
impl<T> Sync for NativeExpand<T>
impl<T> Unpin for NativeExpand<T>
impl<T> UnsafeUnpin for NativeExpand<T>where
T: ?Sized,
impl<T> UnwindSafe for NativeExpand<T>where
T: UnwindSafe + ?Sized,
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
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,
impl<R> CryptoRng for R
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>
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>
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 moreimpl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<R> RngCore for Rwhere
R: Rng,
Source§impl<R> RngExt for R
impl<R> RngExt for R
Source§fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
StandardUniform distribution. Read moreSource§fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
Source§fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Source§fn random_bool(&mut self, p: f64) -> bool
fn random_bool(&mut self, p: f64) -> bool
p of being true. Read moreSource§fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
numerator/denominator of being
true. Read more