pub trait ArrayArithmetic<N: Numeric>{
Show 16 methods
// Required methods
fn add(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn reciprocal(&self) -> Result<Array<N>, ArrayError>;
fn positive(&self) -> Result<Array<N>, ArrayError>;
fn negative(&self) -> Result<Array<N>, ArrayError>;
fn multiply(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn true_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn floor_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn float_power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn subtract(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn mod(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn fmod(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn modf(&self) -> Result<(Array<N>, Array<N>), ArrayError>;
fn remainder(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn divmod(&self) -> Result<(Array<N>, Array<N>), ArrayError>;
}
Expand description
ArrayTrait
- Array Arithmetic functions
Required Methods§
Sourcefn reciprocal(&self) -> Result<Array<N>, ArrayError>
fn reciprocal(&self) -> Result<Array<N>, ArrayError>
Sourcefn positive(&self) -> Result<Array<N>, ArrayError>
fn positive(&self) -> Result<Array<N>, ArrayError>
Sourcefn negative(&self) -> Result<Array<N>, ArrayError>
fn negative(&self) -> Result<Array<N>, ArrayError>
Sourcefn true_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn true_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Divide arguments element-wise
alias on divide
§Arguments
value
- other array to perform operations on
§Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., 2., 3., 4.]);
assert_eq!(Array::flat(vec![0.5, 1., 1.5, 2.]), arr.true_divide(&Array::single(2.).unwrap()));
§Errors
may returns ArrayError
Sourcefn floor_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn floor_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Divide arguments element-wise, returning floor value
§Arguments
value
- other array to perform operations on
§Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., 2., 3., 4.]);
assert_eq!(Array::flat(vec![0., 1., 1., 2.]), arr.floor_divide(&Array::single(2.).unwrap()));
§Errors
may returns ArrayError
Sourcefn float_power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn float_power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Sourcefn mod(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn mod(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Computes remainder of division element-wise
alias on remainder
§Arguments
value
- other array to perform operations on
§Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1, 2, 3, 4]);
assert_eq!(Array::flat(vec![1, 0, 1, 0]), arr.r#mod(&Array::single(2).unwrap()));
§Errors
may returns ArrayError
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.