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§

source

fn new(elements: Vec<T>, shape: Vec<usize>) -> Result<Self, ArrayError>

Creates new array

Arguments
  • elements - vector representing array elements
  • shape - 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:#}"));
source

fn create( elements: Vec<T>, shape: Vec<usize>, ndmin: Option<usize> ) -> Result<Self, ArrayError>

Creates new array

Arguments
  • elements - vector representing array elements
  • shape - 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:#}"));
source

fn single(element: T) -> Result<Self, ArrayError>

Creates new array with single element

Arguments
  • element - array element
Examples
use arr_rs::prelude::*;

let arr = Array::<i32>::single(1);
assert_eq!(vec![1], arr.get_elements().unwrap());
assert_eq!(vec![1], arr.get_shape().unwrap());
source

fn flat(elements: Vec<T>) -> Result<Self, ArrayError>

Creates new flat array

Arguments
  • elements - vector representing array elements
Examples
use arr_rs::prelude::*;

assert_eq!(array!(i32, [1, 2, 3, 4]), Array::<i32>::flat(vec![1, 2, 3, 4]));
source

fn empty() -> Result<Self, ArrayError>

Creates new empty array

Examples
use arr_rs::prelude::*;

assert!(Array::<i32>::empty().is_empty().unwrap());

Implementors§