pub trait ArrayMathMisc<N: Numeric>{
// Required methods
fn convolve(
&self,
other: &Array<N>,
mode: Option<impl ConvolveModeType>,
) -> Result<Array<N>, ArrayError>;
fn clip(
&self,
a_min: Option<Array<N>>,
a_max: Option<Array<N>>,
) -> Result<Array<N>, ArrayError>;
fn sqrt(&self) -> Result<Array<N>, ArrayError>;
fn cbrt(&self) -> Result<Array<N>, ArrayError>;
fn square(&self) -> Result<Array<N>, ArrayError>;
fn absolute(&self) -> Result<Array<N>, ArrayError>;
fn abs(&self) -> Result<Array<N>, ArrayError>;
fn fabs(&self) -> Result<Array<N>, ArrayError>;
fn sign(&self) -> Result<Array<isize>, ArrayError>;
fn heaviside(&self, other: &Array<N>) -> Result<Array<N>, ArrayError>;
fn nan_to_num(&self) -> Result<Array<N>, ArrayError>;
}
Expand description
ArrayTrait
- Array Math Misc functions
Required Methods§
Sourcefn convolve(
&self,
other: &Array<N>,
mode: Option<impl ConvolveModeType>,
) -> Result<Array<N>, ArrayError>
fn convolve( &self, other: &Array<N>, mode: Option<impl ConvolveModeType>, ) -> Result<Array<N>, ArrayError>
Returns the discrete, linear convolution of two one-dimensional sequences arrays are flattened for computation
§Arguments
other
- array to perform the operation withmode
- {full
,valid
,same
}, optional. defaults tofull
§Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., 2., 3.]);
let other = Array::flat(vec![0., 1., 0.5]);
assert_eq!(Array::flat(vec![0., 1., 2.5, 4., 1.5]), arr.convolve(&other.unwrap(), Some("full")));
§Errors
may returns ArrayError
Sourcefn clip(
&self,
a_min: Option<Array<N>>,
a_max: Option<Array<N>>,
) -> Result<Array<N>, ArrayError>
fn clip( &self, a_min: Option<Array<N>>, a_max: Option<Array<N>>, ) -> Result<Array<N>, ArrayError>
Clip (limit) the values in an array
§Arguments
a_min
- minimum array valuea_max
- maximum array value
§Examples
use arr_rs::prelude::*;
let arr = Array::flat(vec![1., 2., 3., 4.]);
let a_min = Array::single(2.).unwrap();
let a_max = Array::single(3.).unwrap();
assert_eq!(Array::flat(vec![2., 2., 3., 3.]), arr.clip(Some(a_min), Some(a_max)));
§Errors
may returns ArrayError
Sourcefn sqrt(&self) -> Result<Array<N>, ArrayError>
fn sqrt(&self) -> Result<Array<N>, ArrayError>
Sourcefn cbrt(&self) -> Result<Array<N>, ArrayError>
fn cbrt(&self) -> Result<Array<N>, ArrayError>
Sourcefn square(&self) -> Result<Array<N>, ArrayError>
fn square(&self) -> Result<Array<N>, ArrayError>
Sourcefn absolute(&self) -> Result<Array<N>, ArrayError>
fn absolute(&self) -> Result<Array<N>, ArrayError>
Sourcefn abs(&self) -> Result<Array<N>, ArrayError>
fn abs(&self) -> Result<Array<N>, ArrayError>
Sourcefn fabs(&self) -> Result<Array<N>, ArrayError>
fn fabs(&self) -> Result<Array<N>, ArrayError>
Sourcefn nan_to_num(&self) -> Result<Array<N>, ArrayError>
fn nan_to_num(&self) -> Result<Array<N>, 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.