pub struct ArrayExt<T: HasAfEnum>(_);
Expand description
A wrapper around af::Array
which defines common operations.
Implementations§
source§impl<T: HasAfEnum + Default> ArrayExt<T>
impl<T: HasAfEnum + Default> ArrayExt<T>
sourcepub fn constant(value: T, length: usize) -> Selfwhere
T: ConstGenerator<OutType = T>,
pub fn constant(value: T, length: usize) -> Selfwhere
T: ConstGenerator<OutType = T>,
Construct a new ArrayExt
with the given value and length.
sourcepub fn concatenate(left: &Self, right: &Self) -> Self
pub fn concatenate(left: &Self, right: &Self) -> Self
Concatenate two instances of ArrayExt<T>
.
sourcepub fn exp(&self) -> ArrayExt<T::UnaryOutType>
pub fn exp(&self) -> ArrayExt<T::UnaryOutType>
Raise e
to the power of self
.
sourcepub fn type_cast<D: HasAfEnum>(&self) -> ArrayExt<D>
pub fn type_cast<D: HasAfEnum>(&self) -> ArrayExt<D>
Cast the values of this ArrayExt
into a destination type D
.
sourcepub fn get(&self, index: Indexer<'_>) -> Self
pub fn get(&self, index: Indexer<'_>) -> Self
Get the values specified by the given af::Indexer
.
sourcepub fn into_inner(self) -> Array<T>
pub fn into_inner(self) -> Array<T>
Deconstruct this ArrayExt<T>
into its underlying af::Array
.
sourcepub fn slice(&self, start: usize, end: usize) -> Self
pub fn slice(&self, start: usize, end: usize) -> Self
Return a slice of this ArrayExt
.
Panics: if end
is out of bounds
sourcepub fn split(&self, at: usize) -> (Self, Self)
pub fn split(&self, at: usize) -> (Self, Self)
Split this ArrayExt<T>
into two new instances at the given pivot.
source§impl<T: HasAfEnum + RealNumber + Clone + Default> ArrayExt<T>
impl<T: HasAfEnum + RealNumber + Clone + Default> ArrayExt<T>
source§impl<T: HasAfEnum + FloatingPoint + Default> ArrayExt<T>
impl<T: HasAfEnum + FloatingPoint + Default> ArrayExt<T>
sourcepub fn random_normal(length: usize) -> Self
pub fn random_normal(length: usize) -> Self
Construct a new ArrayExt
with a random normal distribution.
sourcepub fn random_uniform(length: usize) -> Self
pub fn random_uniform(length: usize) -> Self
Construct a new ArrayExt
with a uniform random distribution.
Methods from Deref<Target = Array<T>>§
sourcepub fn get_backend(&self) -> Backend
pub fn get_backend(&self) -> Backend
Returns the backend of the Array
Return Values
Returns an value of type Backend
which indicates which backend
was active when Array was created.
sourcepub fn get_device_id(&self) -> i32
pub fn get_device_id(&self) -> i32
Returns the device identifier(integer) on which the Array was created
Return Values
Return the device id on which Array was created.
sourcepub fn host<O>(&self, data: &mut [O])where
O: HasAfEnum,
pub fn host<O>(&self, data: &mut [O])where
O: HasAfEnum,
Copies the data from the Array to the mutable slice data
Examples
Basic case
let a:Vec<u8> = vec![0,1,2,3,4,5,6,7,8];
let b = Array::<u8>::new(&a,Dim4::new(&[3,3,1,1]));
let mut c = vec!(u8::default();b.elements());
b.host(&mut c);
assert_eq!(c,a);
Generic case
fn to_vec<T:HasAfEnum+Default+Clone>(array:&Array<T>) -> Vec<T> {
let mut vec = vec!(T::default();array.elements());
array.host(&mut vec);
return vec;
}
let a = Array::<u8>::new(&[0,1,2,3,4,5,6,7,8],Dim4::new(&[3,3,1,1]));
let b:Vec<u8> = vec![0,1,2,3,4,5,6,7,8];
assert_eq!(to_vec(&a),b);
sourcepub fn eval(&self)
pub fn eval(&self)
Evaluates any pending lazy expressions that represent the data in the Array object
sourcepub fn copy(&self) -> Array<T>
pub fn copy(&self) -> Array<T>
Makes an copy of the Array
This does a deep copy of the data into a new Array
sourcepub fn is_complex(&self) -> bool
pub fn is_complex(&self) -> bool
Check if Array is of complex type
sourcepub fn is_integer(&self) -> bool
pub fn is_integer(&self) -> bool
Check if Array is of integral type
sourcepub fn is_realfloating(&self) -> bool
pub fn is_realfloating(&self) -> bool
Check if Array is floating point real(not complex) data type
sourcepub fn is_floating(&self) -> bool
pub fn is_floating(&self) -> bool
Check if Array is floating point type, either real or complex data
sourcepub fn is_linear(&self) -> bool
pub fn is_linear(&self) -> bool
Check if Array’s memory layout is continuous and one dimensional
sourcepub fn is_owner(&self) -> bool
pub fn is_owner(&self) -> bool
Check if Array’s memory is owned by it and not a view of another Array
sourcepub fn lock(&self)
pub fn lock(&self)
Lock the device buffer in the memory manager
Locked buffers are not freed by memory manager until unlock is called.
sourcepub fn unlock(&self)
pub fn unlock(&self)
Unlock the device buffer in the memory manager
This function will give back the control over the device pointer to the memory manager.
sourcepub unsafe fn device_ptr(&self) -> *mut c_void
pub unsafe fn device_ptr(&self) -> *mut c_void
Get the device pointer and lock the buffer in memory manager
The device pointer is not freed by memory manager until unlock is called.
sourcepub fn get_allocated_bytes(&self) -> usize
pub fn get_allocated_bytes(&self) -> usize
Get the size of physical allocated bytes.
This function will return the size of the parent/owner if the current Array object is an indexed Array.
Trait Implementations§
source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
+
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Add<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
+
operator.source§impl<T: HasAfEnum> ArrayInstance for ArrayExt<T>
impl<T: HasAfEnum> ArrayInstance for ArrayExt<T>
type DType = T
source§fn get(&self, index: Indexer<'_>) -> Array<Self::DType>
fn get(&self, index: Indexer<'_>) -> Array<Self::DType>
af::Indexer
.source§fn set<T: ArrayInstance<DType = Self::DType>>(
&mut self,
index: &Indexer<'_>,
other: &T
)
fn set<T: ArrayInstance<DType = Self::DType>>(
&mut self,
index: &Indexer<'_>,
other: &T
)
af::Indexer
to the corresponding values in T
.source§impl ArrayInstanceAbs for ArrayExt<f32>
impl ArrayInstanceAbs for ArrayExt<f32>
source§impl ArrayInstanceAbs for ArrayExt<f64>
impl ArrayInstanceAbs for ArrayExt<f64>
source§impl ArrayInstanceAbs for ArrayExt<i16>
impl ArrayInstanceAbs for ArrayExt<i16>
source§impl ArrayInstanceAbs for ArrayExt<i32>
impl ArrayInstanceAbs for ArrayExt<i32>
source§impl ArrayInstanceAbs for ArrayExt<i64>
impl ArrayInstanceAbs for ArrayExt<i64>
source§impl ArrayInstanceAnyAll for ArrayExt<bool>
impl ArrayInstanceAnyAll for ArrayExt<bool>
source§impl ArrayInstanceAnyAll for ArrayExt<f32>
impl ArrayInstanceAnyAll for ArrayExt<f32>
source§impl ArrayInstanceAnyAll for ArrayExt<f64>
impl ArrayInstanceAnyAll for ArrayExt<f64>
source§impl ArrayInstanceAnyAll for ArrayExt<i16>
impl ArrayInstanceAnyAll for ArrayExt<i16>
source§impl ArrayInstanceAnyAll for ArrayExt<i32>
impl ArrayInstanceAnyAll for ArrayExt<i32>
source§impl ArrayInstanceAnyAll for ArrayExt<i64>
impl ArrayInstanceAnyAll for ArrayExt<i64>
source§impl ArrayInstanceAnyAll for ArrayExt<u16>
impl ArrayInstanceAnyAll for ArrayExt<u16>
source§impl ArrayInstanceAnyAll for ArrayExt<u32>
impl ArrayInstanceAnyAll for ArrayExt<u32>
source§impl ArrayInstanceAnyAll for ArrayExt<u64>
impl ArrayInstanceAnyAll for ArrayExt<u64>
source§impl ArrayInstanceAnyAll for ArrayExt<u8>
impl ArrayInstanceAnyAll for ArrayExt<u8>
source§impl<T, U> ArrayInstanceCompare<U> for ArrayExt<T>where
T: Clone + HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
impl<T, U> ArrayInstanceCompare<U> for ArrayExt<T>where
T: Clone + HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
source§impl<T, U> ArrayInstanceLog<T, U> for ArrayExt<T>where
T: HasAfEnum,
U: HasAfEnum,
Self: ArrayInstanceNaturalLog<T>,
ArrayExt<U>: ArrayInstanceNaturalLog<U>,
ArrayExt<T::UnaryOutType>: Div<ArrayExt<U::UnaryOutType>>,
impl<T, U> ArrayInstanceLog<T, U> for ArrayExt<T>where
T: HasAfEnum,
U: HasAfEnum,
Self: ArrayInstanceNaturalLog<T>,
ArrayExt<U>: ArrayInstanceNaturalLog<U>,
ArrayExt<T::UnaryOutType>: Div<ArrayExt<U::UnaryOutType>>,
source§fn log(
&self,
base: &ArrayExt<U>
) -> <ArrayExt<T::UnaryOutType> as Div<ArrayExt<U::UnaryOutType>>>::Output
fn log(
&self,
base: &ArrayExt<U>
) -> <ArrayExt<T::UnaryOutType> as Div<ArrayExt<U::UnaryOutType>>>::Output
source§impl<T> ArrayInstanceNaturalLog<T> for ArrayExt<T>where
T: HasAfEnum,
impl<T> ArrayInstanceNaturalLog<T> for ArrayExt<T>where
T: HasAfEnum,
source§fn ln(&self) -> ArrayExt<T::UnaryOutType>
fn ln(&self) -> ArrayExt<T::UnaryOutType>
source§impl<T, U> ArrayInstancePow<U> for ArrayExt<T>where
T: HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<T> + ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output: HasAfEnum,
impl<T, U> ArrayInstancePow<U> for ArrayExt<T>where
T: HasAfEnum + Convertable<OutType = T>,
U: Convertable<OutType = T>,
<T as Convertable>::OutType: ImplicitPromote<T> + ImplicitPromote<<U as Convertable>::OutType>,
<U as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output: HasAfEnum,
type Pow = <<T as Convertable>::OutType as ImplicitPromote<<U as Convertable>::OutType>>::Output
source§impl ArrayInstanceProduct<bool> for ArrayExt<bool>
impl ArrayInstanceProduct<bool> for ArrayExt<bool>
type Product = <bool as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<f32> for ArrayExt<f32>
impl ArrayInstanceProduct<f32> for ArrayExt<f32>
type Product = <f32 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<f64> for ArrayExt<f64>
impl ArrayInstanceProduct<f64> for ArrayExt<f64>
type Product = <f64 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<i16> for ArrayExt<i16>
impl ArrayInstanceProduct<i16> for ArrayExt<i16>
type Product = <i16 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<i32> for ArrayExt<i32>
impl ArrayInstanceProduct<i32> for ArrayExt<i32>
type Product = <i32 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<i64> for ArrayExt<i64>
impl ArrayInstanceProduct<i64> for ArrayExt<i64>
type Product = <i64 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<u16> for ArrayExt<u16>
impl ArrayInstanceProduct<u16> for ArrayExt<u16>
type Product = <u16 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<u32> for ArrayExt<u32>
impl ArrayInstanceProduct<u32> for ArrayExt<u32>
type Product = <u32 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<u64> for ArrayExt<u64>
impl ArrayInstanceProduct<u64> for ArrayExt<u64>
type Product = <u64 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl ArrayInstanceProduct<u8> for ArrayExt<u8>
impl ArrayInstanceProduct<u8> for ArrayExt<u8>
type Product = <u8 as HasAfEnum>::ProductOutType
source§fn product_dtype() -> NumberType
fn product_dtype() -> NumberType
NumberType
of the product of this array.source§impl<T: HasAfEnum> ArrayInstanceRound for ArrayExt<T>
impl<T: HasAfEnum> ArrayInstanceRound for ArrayExt<T>
source§impl<T: HasAfEnum + Default> ArrayInstanceTrig<T> for ArrayExt<T>
impl<T: HasAfEnum + Default> ArrayInstanceTrig<T> for ArrayExt<T>
fn sin(&self) -> ArrayExt<T::UnaryOutType>
fn asin(&self) -> ArrayExt<T::UnaryOutType>
fn sinh(&self) -> ArrayExt<T::UnaryOutType>
fn asinh(&self) -> ArrayExt<T::UnaryOutType>
fn cos(&self) -> ArrayExt<T::UnaryOutType>
fn acos(&self) -> ArrayExt<T::UnaryOutType>
fn cosh(&self) -> ArrayExt<T::UnaryOutType>
fn acosh(&self) -> ArrayExt<T::UnaryOutType>
fn tan(&self) -> ArrayExt<T::UnaryOutType>
fn atan(&self) -> ArrayExt<T::UnaryOutType>
fn tanh(&self) -> ArrayExt<T::UnaryOutType>
fn atanh(&self) -> ArrayExt<T::UnaryOutType>
source§impl<T: HasAfEnum + ImplicitPromote<T>> ArrayInstanceUnreal for ArrayExt<T>
impl<T: HasAfEnum + ImplicitPromote<T>> ArrayInstanceUnreal for ArrayExt<T>
source§impl AsType<ArrayExt<Complex<f32>>> for Array
impl AsType<ArrayExt<Complex<f32>>> for Array
source§impl AsType<ArrayExt<Complex<f64>>> for Array
impl AsType<ArrayExt<Complex<f64>>> for Array
source§impl AsType<ArrayExt<bool>> for Array
impl AsType<ArrayExt<bool>> for Array
source§impl AsType<ArrayExt<f32>> for Array
impl AsType<ArrayExt<f32>> for Array
source§impl AsType<ArrayExt<f64>> for Array
impl AsType<ArrayExt<f64>> for Array
source§impl AsType<ArrayExt<i16>> for Array
impl AsType<ArrayExt<i16>> for Array
source§impl AsType<ArrayExt<i32>> for Array
impl AsType<ArrayExt<i32>> for Array
source§impl AsType<ArrayExt<i64>> for Array
impl AsType<ArrayExt<i64>> for Array
source§impl AsType<ArrayExt<u16>> for Array
impl AsType<ArrayExt<u16>> for Array
source§impl AsType<ArrayExt<u32>> for Array
impl AsType<ArrayExt<u32>> for Array
source§impl AsType<ArrayExt<u64>> for Array
impl AsType<ArrayExt<u64>> for Array
source§impl AsType<ArrayExt<u8>> for Array
impl AsType<ArrayExt<u8>> for Array
source§impl<'de, T: HasAfEnum + Deserialize<'de> + 'de> Deserialize<'de> for ArrayExt<T>where
ArrayExt<T>: From<Vec<T>>,
impl<'de, T: HasAfEnum + Deserialize<'de> + 'de> Deserialize<'de> for ArrayExt<T>where
ArrayExt<T>: From<Vec<T>>,
source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
/
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Div<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
/
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> DivAssign<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> DivAssign<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/=
operation. Read moresource§impl<T: HasAfEnum> FromIterator<T> for ArrayExt<T>
impl<T: HasAfEnum> FromIterator<T> for ArrayExt<T>
source§fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
source§impl FromStream for ArrayExt<bool>
impl FromStream for ArrayExt<bool>
source§impl FromStream for ArrayExt<f32>
impl FromStream for ArrayExt<f32>
source§impl FromStream for ArrayExt<f64>
impl FromStream for ArrayExt<f64>
source§impl FromStream for ArrayExt<i16>
impl FromStream for ArrayExt<i16>
source§impl FromStream for ArrayExt<i32>
impl FromStream for ArrayExt<i32>
source§impl FromStream for ArrayExt<i64>
impl FromStream for ArrayExt<i64>
source§impl FromStream for ArrayExt<u16>
impl FromStream for ArrayExt<u16>
source§impl FromStream for ArrayExt<u32>
impl FromStream for ArrayExt<u32>
source§impl FromStream for ArrayExt<u64>
impl FromStream for ArrayExt<u64>
source§impl FromStream for ArrayExt<u8>
impl FromStream for ArrayExt<u8>
source§impl<'en> IntoStream<'en> for ArrayExt<bool>
impl<'en> IntoStream<'en> for ArrayExt<bool>
source§impl<'en> IntoStream<'en> for ArrayExt<f32>
impl<'en> IntoStream<'en> for ArrayExt<f32>
source§impl<'en> IntoStream<'en> for ArrayExt<f64>
impl<'en> IntoStream<'en> for ArrayExt<f64>
source§impl<'en> IntoStream<'en> for ArrayExt<i16>
impl<'en> IntoStream<'en> for ArrayExt<i16>
source§impl<'en> IntoStream<'en> for ArrayExt<i32>
impl<'en> IntoStream<'en> for ArrayExt<i32>
source§impl<'en> IntoStream<'en> for ArrayExt<i64>
impl<'en> IntoStream<'en> for ArrayExt<i64>
source§impl<'en> IntoStream<'en> for ArrayExt<u16>
impl<'en> IntoStream<'en> for ArrayExt<u16>
source§impl<'en> IntoStream<'en> for ArrayExt<u32>
impl<'en> IntoStream<'en> for ArrayExt<u32>
source§impl<'en> IntoStream<'en> for ArrayExt<u64>
impl<'en> IntoStream<'en> for ArrayExt<u64>
source§impl<'en> IntoStream<'en> for ArrayExt<u8>
impl<'en> IntoStream<'en> for ArrayExt<u8>
source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
*
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Mul<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
*
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
%
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Rem<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
%
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<&ArrayExt<T>> for &ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
-
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> Sub<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
§type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
type Output = ArrayExt<<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output>
-
operator.source§impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> SubAssign<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
impl<T: HasAfEnum + ImplicitPromote<T> + Convertable<OutType = T>> SubAssign<ArrayExt<T>> for ArrayExt<T>where
<T as ImplicitPromote<T>>::Output: HasAfEnum + Default,
<T as Convertable>::OutType: ImplicitPromote<<T as Convertable>::OutType>,
<<T as Convertable>::OutType as ImplicitPromote<<T as Convertable>::OutType>>::Output: HasAfEnum,
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read moreAuto Trait Implementations§
impl<T> RefUnwindSafe for ArrayExt<T>where
T: RefUnwindSafe,
impl<T> Send for ArrayExt<T>
impl<T> Sync for ArrayExt<T>
impl<T> Unpin for ArrayExt<T>where
T: Unpin,
impl<T> UnwindSafe for ArrayExt<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<F> Match for F
impl<F> Match for F
source§fn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
fn matches<T>(&self) -> boolwhere
T: TryCastFrom<Self>,
true
if self
can be cast into the target type T
.source§impl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
impl<F, T> TryCastFrom<F> for Twhere
T: CastFrom<F>,
source§fn can_cast_from(_: &F) -> bool
fn can_cast_from(_: &F) -> bool
value
can be cast into Self
.source§fn opt_cast_from(f: F) -> Option<T>
fn opt_cast_from(f: F) -> Option<T>
Some(Self)
if the source value can be cast into Self
, otherwise None
.source§impl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
impl<F, T> TryCastInto<T> for Fwhere
T: TryCastFrom<F>,
source§fn can_cast_into(&self) -> bool
fn can_cast_into(&self) -> bool
self
can be cast into T
.source§fn opt_cast_into(self) -> Option<T>
fn opt_cast_into(self) -> Option<T>
Some(T)
if self
can be cast into T
, otherwise None
.