Trait arr_rs::core::operations::create::ArrayCreate
source · pub trait ArrayCreate<T: ArrayElement>where
Self: Sized + Clone,{
// Required methods
fn new(elements: Vec<T>, shape: Vec<usize>) -> Result<Self, ArrayError>;
fn create(
elements: Vec<T>,
shape: Vec<usize>,
ndmin: Option<usize>
) -> Result<Self, ArrayError>;
fn single(element: T) -> Result<Self, ArrayError>;
fn flat(elements: Vec<T>) -> Result<Self, ArrayError>;
fn empty() -> Result<Self, ArrayError>;
}
Expand description
ArrayTrait - Array Create functions
Required Methods§
sourcefn new(elements: Vec<T>, shape: Vec<usize>) -> Result<Self, ArrayError>
fn new(elements: Vec<T>, shape: Vec<usize>) -> Result<Self, ArrayError>
Creates new array
Arguments
elements
- vector representing array elementsshape
- vector representing array elements
Examples
use arr_rs::prelude::*;
let arr = Array::new(vec![1, 2, 3, 4], vec![4]).unwrap();
assert_eq!("[1, 2, 3, 4]", format!("{arr}"));
let arr = Array::new(vec![1, 2, 3, 4], vec![2, 2]).unwrap();
assert_eq!("[[1, 2], [3, 4]]", format!("{arr}"));
assert_eq!("[[1, 2],\n [3, 4]]", format!("{arr:#}"));
sourcefn create(
elements: Vec<T>,
shape: Vec<usize>,
ndmin: Option<usize>
) -> Result<Self, ArrayError>
fn create( elements: Vec<T>, shape: Vec<usize>, ndmin: Option<usize> ) -> Result<Self, ArrayError>
Creates new array
Arguments
elements
- vector representing array elementsshape
- vector representing array elements
Examples
use arr_rs::prelude::*;
let arr = Array::create(vec![1, 2, 3, 4], vec![4], None).unwrap();
assert_eq!("[1, 2, 3, 4]", format!("{arr}"));
let arr = Array::create(vec![1, 2, 3, 4], vec![2, 2], Some(1)).unwrap();
assert_eq!("[[1, 2], [3, 4]]", format!("{arr}"));
assert_eq!("[[1, 2],\n [3, 4]]", format!("{arr:#}"));
let arr = Array::create(vec![1, 2, 3, 4], vec![2, 2], Some(3)).unwrap();
assert_eq!("[[[1, 2], [3, 4]]]", format!("{arr}"));
assert_eq!("[[[1, 2],\n [3, 4]]]", format!("{arr:#}"));
sourcefn single(element: T) -> Result<Self, ArrayError>
fn single(element: T) -> Result<Self, ArrayError>
sourcefn flat(elements: Vec<T>) -> Result<Self, ArrayError>
fn flat(elements: Vec<T>) -> Result<Self, ArrayError>
sourcefn empty() -> Result<Self, ArrayError>
fn empty() -> Result<Self, ArrayError>
Creates new empty array
Examples
use arr_rs::prelude::*;
assert!(Array::<i32>::empty().is_empty().unwrap());