Linear algebra library for Rust.
Go to file
Nathan Kent 4a6022d9bf Add methods for in-place reshaping of matrices
There are two major additions in this commit. The first is a new storage
trait, `ReshapableStorage`, that can be implemented for storage types
that can be reshaped in-place. I have implemented this for both the
`ArrayStorage` and `VecStorage` types, as they are the most common and
they are just interpretations of a flat list.

The second is a `Matrix::reshape_generic` method that allows matrices to
be in-place reshaped provided that the underlying storage can handle it.
In practice, this means that the standard matrix types (`MatrixMN` and
`DMatrix`) can be resized to any size that has the same element count.
Resizing between array and vector storage is not implemented due to
`Storage` only being implemented for `VecStorage` variants where at
least one dimension is `Dynamic`.

Additionally, only the generic reshape function is added as it can be a
basis for other reshaping functions (see the resizing functions) and I
am not particularly in the mood to implement a variety of reshaping
methods.
2020-10-25 15:37:18 +01:00
.circleci CI: don't eanble --all-features when running the tests. 2020-08-25 21:04:37 +02:00
.github Switch license to Apache v2.0 + update sponsor link. 2020-08-19 19:48:16 +02:00
benches Run cargo fmt. 2020-04-05 18:49:48 +02:00
ci ci: link to system BLAS as intended 2020-03-02 12:45:38 +01:00
examples Add methods for in-place reshaping of matrices 2020-10-25 15:37:18 +01:00
nalgebra-glm Bump dependencies for nalgebra-glm and nalgebra-lapack. 2020-10-25 15:13:56 +01:00
nalgebra-lapack Revert dependencies bump for nalgebra-lapack because lapack needs to be updated first. 2020-10-25 15:25:13 +01:00
src Add methods for in-place reshaping of matrices 2020-10-25 15:37:18 +01:00
tests Merge pull request #631 from Andlon/matrixcompare 2020-07-17 01:10:04 -07:00
.gitignore Add .idea folder to gitignore. 2018-09-13 09:23:08 +02:00
.travis.yml Fix CI (#634) 2019-08-27 22:05:28 +02:00
Cargo.toml Bump dependencies. 2020-10-25 15:05:20 +01:00
CHANGELOG.md Add missing slerp implementations. 2020-10-25 14:00:47 +01:00
LICENSE Switch license to Apache v2.0 + update sponsor link. 2020-08-19 19:48:16 +02:00
Makefile Add compare feature to tests run by Makefile 2020-06-29 19:07:44 +02:00
README.md Switch license to Apache v2.0 + update sponsor link. 2020-08-19 19:48:16 +02:00
rustfmt.toml Add empty rustfmt.toml. 2020-06-23 09:49:01 -07:00

crates.io

Build status crates.io

Users guide | Documentation | Forum


Linear algebra library for the Rust programming language.