Trait ArrayMeta

Source
pub trait ArrayMeta<T: Clone>
where Self: Sized + Clone,
{ // Required methods fn get_elements(&self) -> Result<Vec<T>, ArrayError>; fn get_shape(&self) -> Result<Vec<usize>, ArrayError>; fn ndim(&self) -> Result<usize, ArrayError>; fn len(&self) -> Result<usize, ArrayError>; fn is_empty(&self) -> Result<bool, ArrayError>; }
Expand description

ArrayTrait - Array Metadata functions

Required Methods§

Source

fn get_elements(&self) -> Result<Vec<T>, ArrayError>

Obtain the vector containing array elements

§Examples
use arr_rs::prelude::*;

let arr = Array::new(vec![1,2,3,4], vec![4]).unwrap();
assert_eq!(vec![1, 2, 3, 4], arr.get_elements().unwrap());
§Errors

may returns ArrayError

Source

fn get_shape(&self) -> Result<Vec<usize>, ArrayError>

Obtain the vector containing array shape

§Examples
use arr_rs::prelude::*;

let arr = Array::new(vec![1,2,3,4], vec![4]).unwrap();
assert_eq!(vec![4], arr.get_shape().unwrap());
§Errors

may returns ArrayError

Source

fn ndim(&self) -> Result<usize, ArrayError>

Count of array dimensions

§Examples
use arr_rs::prelude::*;

let arr_1 = Array::new(vec![1,2,3,4], vec![4]).unwrap();
let ndim_1 = arr_1.ndim().unwrap();
assert_eq!(1, ndim_1);

let arr_2 = Array::new(vec![1,2,3,4], vec![2, 2]).unwrap();
let ndim_2 = arr_2.ndim().unwrap();
assert_eq!(2, ndim_2);
§Errors

may returns ArrayError

Source

fn len(&self) -> Result<usize, ArrayError>

Count of array elements

§Examples
use arr_rs::prelude::*;

let arr = Array::new(vec![1,2,3,4], vec![4]).unwrap();
let len = arr.len().unwrap();
assert_eq!(4, len);
§Errors

may returns ArrayError

Source

fn is_empty(&self) -> Result<bool, ArrayError>

Check if array element count equals zero

§Examples
use arr_rs::prelude::*;

let arr_1 = Array::new(vec![1,2,3,4], vec![4]).unwrap();
let empty_1 = arr_1.is_empty().unwrap();
assert_eq!(false, empty_1);

let arr_2: Array<f64> = Array::empty().unwrap();
let empty_2 = arr_2.is_empty().unwrap();
assert_eq!(true, empty_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.

Implementations on Foreign Types§

Source§

impl<T: ArrayElement> ArrayMeta<T> for Result<Array<T>, ArrayError>

Implementors§