pub trait ArrayMathMisc<N: Numeric>where
    Self: Sized + Clone,{
    // Required methods
    fn sqrt(&self) -> Result<Array<N>, ArrayError>;
    fn log(&self) -> Result<Array<N>, ArrayError>;
    fn log2(&self) -> Result<Array<N>, ArrayError>;
    fn log10(&self) -> Result<Array<N>, ArrayError>;
    fn logn(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
    fn power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
    fn abs(&self) -> Result<Array<N>, ArrayError>;
}
Expand description

ArrayTrait - Array Math functions

Required Methods§

source

fn sqrt(&self) -> Result<Array<N>, ArrayError>

Computes sqrt of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1, 4, 9, 16]).unwrap();
assert_eq!(Array::flat(vec![1, 2, 3, 4]).unwrap(), arr.sqrt().unwrap());
source

fn log(&self) -> Result<Array<N>, ArrayError>

Computes natural logarithm of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1., 4., 8., 16.]).unwrap();
assert_eq!(Array::flat(vec![0., 1.3862943611198906, 2.0794415416798357, 2.772588722239781]).unwrap(), arr.log().unwrap());
source

fn log2(&self) -> Result<Array<N>, ArrayError>

Computes logarithm base 2 of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1., 4., 8., 16.]).unwrap();
assert_eq!(Array::flat(vec![0., 2., 3., 4.]).unwrap(), arr.log2().unwrap());
source

fn log10(&self) -> Result<Array<N>, ArrayError>

Computes logarithm base 10 of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1., 10., 100.]).unwrap();
assert_eq!(Array::flat(vec![0., 1., 2.]).unwrap(), arr.log10().unwrap());
source

fn logn(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>

Computes logarithm base n of array elements

Arguments
  • value - log array to perform the operation with
Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![2., 4., 8., 20.]).unwrap();
assert_eq!(Array::flat(vec![1., 2., 3., 1.301029995663981]).unwrap(), arr.logn(&Array::flat(vec![2., 2., 2., 10.]).unwrap()).unwrap());
source

fn power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>

Computes power of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1,2,3,4]).unwrap();
assert_eq!(Array::flat(vec![1, 4, 9, 16]).unwrap(), arr.power(&Array::single(2).unwrap()).unwrap());
source

fn abs(&self) -> Result<Array<N>, ArrayError>

Computes absolute value of array elements

Examples
use arr_rs::prelude::*;

let arr = Array::flat(vec![1, -2, 3, -4]);
assert_eq!(Array::flat(vec![1, 2, 3, 4]), arr.abs());

Implementations on Foreign Types§

source§

impl<N: Numeric> ArrayMathMisc<N> for Result<Array<N>, ArrayError>

source§

fn sqrt(&self) -> Result<Array<N>, ArrayError>

source§

fn log(&self) -> Result<Array<N>, ArrayError>

source§

fn log2(&self) -> Result<Array<N>, ArrayError>

source§

fn log10(&self) -> Result<Array<N>, ArrayError>

source§

fn logn(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>

source§

fn power(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>

source§

fn abs(&self) -> Result<Array<N>, ArrayError>

Implementors§