Trait arr_rs::base::base_array::ArrayBase
source · pub trait ArrayBasewhere
Self: Sized + Clone,{
// Required methods
fn new<I, A>(elements: I, shape: Vec<usize>) -> Self
where A: NumCast,
I: IntoIterator<Item = A> + Clone;
fn empty() -> Self;
fn zeros(shape: Vec<usize>) -> Self;
fn ones(shape: Vec<usize>) -> Self;
fn product<F: NumCast>(&self) -> F;
fn sum<F: NumCast>(&self) -> F;
fn ndim(&self) -> usize;
fn len(&self) -> usize;
fn is_empty(&self) -> bool;
}Expand description
Base Array structure
Required Methods§
sourcefn new<I, A>(elements: I, shape: Vec<usize>) -> Selfwhere
A: NumCast,
I: IntoIterator<Item = A> + Clone,
fn new<I, A>(elements: I, shape: Vec<usize>) -> Selfwhere A: NumCast, I: IntoIterator<Item = A> + Clone,
sourcefn product<F: NumCast>(&self) -> F
fn product<F: NumCast>(&self) -> F
Multiplication of array elements
Examples
use arr_rs::prelude::*;
let arr = Array::new(vec![1,2,3,4], vec![4]);
let multiplied = arr.product();
assert_eq!(24, multiplied);sourcefn sum<F: NumCast>(&self) -> F
fn sum<F: NumCast>(&self) -> F
Sum of array elements
Examples
use arr_rs::prelude::*;
let arr = Array::new(vec![1,2,3,4], vec![4]);
let sum = arr.sum();
assert_eq!(10, sum);sourcefn ndim(&self) -> usize
fn ndim(&self) -> usize
Count of array dimensions
Examples
use arr_rs::prelude::*;
let arr_1 = Array::new(vec![1,2,3,4], vec![4]);
let ndim_1 = arr_1.ndim();
assert_eq!(1, ndim_1);
let arr_2 = Array::new(vec![1,2,3,4], vec![2, 2]);
let ndim_2 = arr_2.ndim();
assert_eq!(2, ndim_2);sourcefn len(&self) -> usize
fn len(&self) -> usize
Count of array elements
Examples
use arr_rs::prelude::*;
let arr = Array::new(vec![1,2,3,4], vec![4]);
let len = arr.len();
assert_eq!(4, len);sourcefn is_empty(&self) -> bool
fn is_empty(&self) -> bool
Check if array element count equals zero
Examples
use arr_rs::prelude::*;
let arr_1 = Array::new(vec![1,2,3,4], vec![4]);
let empty_1 = arr_1.is_empty();
assert_eq!(false, empty_1);
let arr_2 = Array::empty();
let empty_2 = arr_2.is_empty();
assert_eq!(true, empty_2);