Trait ndarray::ScalarOperand
[−]
[src]
pub trait ScalarOperand: 'static + Clone { }
Elements that can be used as direct operands in arithmetic with arrays.
For example, f64 is a ScalarOperand which means that for an array a,
arithmetic like a + 1.0, and, a * 2., and a += 3. are allowed.
In the description below, let A be an array or array view,
let B be an array with owned data,
and let C be an array with mutable data.
ScalarOperand determines for which scalars K operations &A @ K, and B @ K,
and C @= K are defined, as right hand side operands, for applicable
arithmetic operators (denoted @).
Left hand side scalar operands are not related to this trait
(they need one impl per concrete scalar type); but they are still
implemented for the same types, allowing operations
K @ &A, and K @ B for primitive numeric types K.
This trait does not limit which elements can be stored in an array in general.
Non-ScalarOperand types can still participate in arithmetic as array elements in
in array-array operations.
Implementors
impl ScalarOperand for boolimpl ScalarOperand for i8impl ScalarOperand for u8impl ScalarOperand for i16impl ScalarOperand for u16impl ScalarOperand for i32impl ScalarOperand for u32impl ScalarOperand for i64impl ScalarOperand for u64impl ScalarOperand for isizeimpl ScalarOperand for usizeimpl ScalarOperand for f32impl ScalarOperand for f64impl ScalarOperand for Complex<f32>impl ScalarOperand for Complex<f64>