Crate mdarray[][src]

Expand description

Multidimensional array for Rust

Overview

The mdarray crate provides a multidimensional array for Rust. Its main target is for numeric types, however generic types are supported as well. The purpose is to provide a generic container type that is simple and flexible to use, with interworking to other crates for e.g. BLAS/LAPACK functionality.

Here are the main features of mdarray:

  • Dense array type, where the rank and element order is known at compile time.
  • Static array type, where the rank, shape and element order is known at compile time.
  • Column-major and row-major element order.
  • Subarrays (views) can be created with arbitrary shapes and strides.
  • Standard Rust mechanisms are used for e.g. slices, indexing and iteration.

The design is inspired from the Rust ndarray and nalgebra crates, the proposed C++ mdspan/mdarray types and multidimensional arrays in Julia and Matlab.

Note that this crate requires nightly Rust toolchain.

Structs

Column-major order, for indexing and iteration over array elements.

Shape for static 1-dimensional array.

Shape for static 2-dimensional array.

Multidimensional array with static rank and element order.

Row-major order, for indexing and iteration over array elements.

Multidimensional array view with static rank and element order.

Traits

Order for indexing and iteration over array elements.

Type Definitions

Dense multidimensional array with row-major element order.

Dense multidimensional array view with row-major element order.

Dense multidimensional array with static rank and element order, and dynamic shape.

Dense multidimensional array view with static rank and element order, and dynamic shape.

Dense multidimensional array with column-major element order.

Static 1-dimensional array with row-major element order.

Static 2-dimensional array with row-major element order.

Static 1-dimensional array with column-major element order.

Static 2-dimensional array with column-major element order.

Dense multidimensional array with static rank, shape and element order.

Strided multidimensional array view with static rank and element order, and dynamic shape.

Dense multidimensional array view with column-major element order.