Trait ndarray::ScalarOperand
[−]
[src]
pub trait ScalarOperand: Any + 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 bool
impl ScalarOperand for i8
impl ScalarOperand for u8
impl ScalarOperand for i16
impl ScalarOperand for u16
impl ScalarOperand for i32
impl ScalarOperand for u32
impl ScalarOperand for i64
impl ScalarOperand for u64
impl ScalarOperand for f32
impl ScalarOperand for f64
impl ScalarOperand for Complex<f32>
impl ScalarOperand for Complex<f64>