Trait arr_rs::math::operations::arithmetic::ArrayArithmetic
source · pub trait ArrayArithmetic<N: Numeric>where
Self: Sized + Clone,{
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>
Computes reciprocal of array elements
Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., 2., 4., 10.]);
assert_eq!(Array::flat(vec![1., 0.5, 0.25, 0.1]), arr.reciprocal());
sourcefn positive(&self) -> Result<Array<N>, ArrayError>
fn positive(&self) -> Result<Array<N>, ArrayError>
Computes numerical positive of array elements
Equivalent to self.clone()
Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., -1.]);
assert_eq!(Array::flat(vec![1., -1.]), arr.positive());
sourcefn negative(&self) -> Result<Array<N>, ArrayError>
fn negative(&self) -> Result<Array<N>, ArrayError>
Computes numerical negative of array elements
Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., -1.]);
assert_eq!(Array::flat(vec![-1., 1.]), arr.negative());
sourcefn true_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn true_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
sourcefn floor_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn floor_divide(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
sourcefn float_power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn float_power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
sourcefn modf(&self) -> Result<(Array<N>, Array<N>), ArrayError>
fn modf(&self) -> Result<(Array<N>, Array<N>), ArrayError>
Computes fractional and integral parts of an array, element-wise
Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1.5, 2., 3.5]);
assert_eq!(Ok((Array::flat(vec![0.5, 0., 0.5]).unwrap(), Array::flat(vec![1., 2., 3.]).unwrap())), arr.modf());
sourcefn divmod(&self) -> Result<(Array<N>, Array<N>), ArrayError>
fn divmod(&self) -> Result<(Array<N>, Array<N>), ArrayError>
Computes integral and fractional parts of an array, element-wise
Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1.5, 2., 3.5]);
assert_eq!(Ok((Array::flat(vec![1., 2., 3.]).unwrap(), Array::flat(vec![0.5, 0., 0.5]).unwrap())), arr.divmod());