Trait 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§

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:#}"));
§Errors

may returns ArrayError

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:#}"));
§Errors

may returns ArrayError

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());
§Errors

may returns ArrayError

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]));
§Errors

may returns ArrayError

Source

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

Creates new empty array

§Examples
use arr_rs::prelude::*;

assert!(Array::<i32>::empty().is_empty().unwrap());
§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.

Implementors§