pub struct ArrayExt<T: HasAfEnum>(/* private fields */);
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
.
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 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 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§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 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 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§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>
impl<'de, T: HasAfEnum + Deserialize<'de> + 'de> Deserialize<'de> for ArrayExt<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 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 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§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 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 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§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 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 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 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 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§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 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 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§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 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 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§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 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 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§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 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 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§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 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 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§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 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 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> Freeze for ArrayExt<T>
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<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
.Source§fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>where
OnErr: FnOnce(&Self) -> Err,
Ok(T)
if self
can be cast into T
, otherwise calls on_err
.