Cargo Features
[dependencies]
nalgebra = { version = "0.35.0", default-features = false, features = ["std", "alloc", "sparse", "debug", "io", "compare", "libm", "libm-force", "macros", "convert-mint", "convert-bytemuck", "convert-glam030", "convert-glam031", "convert-glam032", "convert-glam033", "serde-serialize-no-std", "serde-serialize", "rkyv-serialize-no-std", "rkyv-serialize", "rand-no-std", "rand", "arbitrary", "proptest-support", "rkyv-safe-deser", "slow-tests", "alga", "rayon", "defmt", "encase"] }
- default = macros, std
-
These default features are set whenever
nalgebrais added withoutsomewhere in the dependency tree.default-features = false - std default = matrixmultiply
-
Enables std of approx, optional glam ^0.30, optional glam ^0.31, optional glam ^0.32, optional glam, num-complex, num-rational, num-traits, and simba
Affects
alias::DMatrix,alias::MatrixXx1,alias::MatrixXx2,alias::MatrixXx3,alias::MatrixXx4,alias::MatrixXx5,alias::MatrixXx6,alias::DVector,alias::RowDVector… - alloc
-
Affects
alias::DMatrix,alias::MatrixXx1,alias::MatrixXx2,alias::MatrixXx3,alias::MatrixXx4,alias::MatrixXx5,alias::MatrixXx6,alias::DVector,alias::RowDVector… - sparse
-
Affects
nalgebra::sparse… - debug = rand
-
Enables num-complex of approx
Affects
nalgebra::debug… - io = pest, pest_derive
-
Affects
nalgebra::io… - compare = matrixcompare-core
- libm
-
Enables libm of optional glam ^0.30, optional glam ^0.31, optional glam ^0.32, optional glam, and simba
- libm-force
-
Enables libm_force of simba
- macros default = nalgebra-macros
- convert-mint = mint
-
Conversion
- convert-bytemuck = bytemuck
-
Enables bytemuck of num-complex
- convert-glam030 = glam030
- convert-glam031 = glam031
- convert-glam032 = glam032
- convert-glam033 = glam033
- serde-serialize-no-std serde-serialize? = serde
-
Serialization To use serde in a #[no-std] environment, enable the
serde-serialize-no-stdfeature instead ofserde-serialize. Serialization of dynamically-sized matrices/vectors requireserde-serialize.Enables serde of num-complex
- serde-serialize = serde-serialize-no-std
-
serde:
Provide impls for common standard library types like Vec<T> and HashMap<K, V>.
Requires a dependency on the Rust standard library. - rkyv-serialize-no-std rkyv-serialize?
-
Enables size_32 of rkyv ^0.7.41
TODO: once rkyv is updated to 0.8, we could consider removing the
allow(unsafe_op_in_unsafe_fn). - rkyv-serialize rkyv-safe-deser? = rkyv-serialize-no-std
-
Enables std and validation of rkyv ^0.7.41
- rand-no-std rand? = rand-package
-
Randomness To use rand in a #[no-std] environment, enable the
rand-no-stdfeature instead ofrand.Affects
helper::reject_rand… - rand debug? = rand-no-std, rand_distr
-
Enables std, std_rng and thread_rng of rand
- arbitrary = quickcheck
-
Tests
Affects
helper::reject… - proptest-support = proptest
-
Affects
nalgebra::proptest… - rkyv-safe-deser = rkyv-serialize
-
Enables validation of rkyv ^0.7.41
- slow-tests
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- nalgebra-macros macros
- rand-package rand? rand-no-std?
-
Enables rand
- alga implicit feature
-
Enables alga
alga:
Abstract algebra for Rust
- rand_distr rand?
- matrixmultiply std
- serde serde-serialize? serde-serialize-no-std?
- rkyv rkyv-safe-deser? rkyv-serialize? rkyv-serialize-no-std?
-
Enables rkyv ^0.7.41
- mint convert-mint?
- quickcheck arbitrary?
- pest io?
- pest_derive io?
- bytemuck convert-bytemuck?
- matrixcompare-core compare?
- glam030 convert-glam030?
-
Enables glam ^0.30
- glam031 convert-glam031?
-
Enables glam ^0.31
- glam032 convert-glam032?
-
Enables glam ^0.32
- glam033 convert-glam033?
-
Enables glam
- rayon implicit feature
-
Enables rayon
rayon:
Simple work-stealing parallelism for Rust
Affects
base::par_iter… - defmt implicit feature
- encase implicit feature
- proptest proptest-support?