pub trait ArrayCreate<T: ArrayElement>{
// 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:#}"));
§Errors
may returns ArrayError
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:#}"));
§Errors
may returns ArrayError
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>
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.