matio_rs/
mat_array.rs

1
2/// Matlab N-dimension array
3pub struct MatArray<'a, T> {
4    pub(crate) data: &'a [T],
5    pub(crate) dims: Vec<u64>,
6}
7
8impl<'a, T> MatArray<'a, T> {
9    /// Creates a new Matlab N-dimension array
10    /// 
11    /// The data is aligned according to and in the order of the dimension vector `dims`
12    pub fn new(data: &'a [T], dims: Vec<u64>) -> Self {
13        let n: u64 = dims.iter().product();
14        assert_eq!(
15            n,
16            data.len() as u64,
17            "expect {} elements, found {}",
18            n,
19            data.len() as u64
20        );
21        Self { data, dims }
22    }
23}