pub trait ArrayExpLog<N: Numeric>{
// Required methods
fn exp(&self) -> Result<Array<N>, ArrayError>;
fn exp2(&self) -> Result<Array<N>, ArrayError>;
fn exp_m1(&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 log_1p(&self) -> Result<Array<N>, ArrayError>;
fn logn(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn log_add_exp(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
fn log_add_exp2(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>;
}
Expand description
ArrayTrait
- Array ExpLog
functions
Required Methods§
Sourcefn exp(&self) -> Result<Array<N>, ArrayError>
fn exp(&self) -> Result<Array<N>, ArrayError>
Sourcefn exp2(&self) -> Result<Array<N>, ArrayError>
fn exp2(&self) -> Result<Array<N>, ArrayError>
Sourcefn exp_m1(&self) -> Result<Array<N>, ArrayError>
fn exp_m1(&self) -> Result<Array<N>, ArrayError>
Sourcefn log(&self) -> Result<Array<N>, ArrayError>
fn log(&self) -> Result<Array<N>, ArrayError>
Sourcefn log2(&self) -> Result<Array<N>, ArrayError>
fn log2(&self) -> Result<Array<N>, ArrayError>
Sourcefn log10(&self) -> Result<Array<N>, ArrayError>
fn log10(&self) -> Result<Array<N>, ArrayError>
Sourcefn log_1p(&self) -> Result<Array<N>, ArrayError>
fn log_1p(&self) -> Result<Array<N>, ArrayError>
Sourcefn logn(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
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.]);
assert_eq!(Array::flat(vec![1., 2., 3., 1.301029995663981]), arr.logn(&Array::flat(vec![2., 2., 2., 10.]).unwrap()));
§Errors
may returns ArrayError
Sourcefn log_add_exp(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn log_add_exp(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Computes log(exp(x1) + exp(x2)) of array elements
§Arguments
value
- log array to perform the operation with
§Examples
use arr_rs::prelude::*;
let arr_1 = Array::flat(vec![2., 4., 8., 20.]);
let arr_2 = Array::flat(vec![2., 2., 2., 10.]).unwrap();
assert_eq!(Array::flat(vec![2.6931471805599454, 4.126928011042972, 8.00247568513773, 20.000045398899218]), arr_1.log_add_exp(&arr_2));
§Errors
may returns ArrayError
Sourcefn log_add_exp2(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
fn log_add_exp2(&self, value: &Array<N>) -> Result<Array<N>, ArrayError>
Computes log2(2x1 + 2x2) of array elements
§Arguments
value
- log array to perform the operation with
§Examples
use arr_rs::prelude::*;
let arr_1 = Array::flat(vec![2., 4., 8., 20.]);
let arr_2 = Array::flat(vec![2., 2., 2., 10.]).unwrap();
assert_eq!(Array::flat(vec![3., 4.321928094887363, 6.087462841250339, 8.965784284662087]), arr_1.log_add_exp2(&arr_2));
§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.