nalgebra 0.31.4

General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.
Documentation
[package]
name    = "nalgebra"
version = "0.31.4"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]

description = "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices."
documentation = "https://www.nalgebra.org/docs"
homepage = "https://nalgebra.org"
repository = "https://github.com/dimforge/nalgebra"
readme = "README.md"
categories = [ "science", "mathematics", "wasm", "no-std" ]
keywords = [ "linear", "algebra", "matrix", "vector", "math" ]
license = "BSD-3-Clause"
edition = "2018"
exclude = ["/ci/*", "/.travis.yml", "/Makefile"]

[badges]
maintenance = { status = "actively-developed" }

[lib]
name = "nalgebra"
path = "src/lib.rs"

[features]
default = [ "std", "macros" ]
std     = [ "matrixmultiply", "simba/std" ]
sparse  = [ ]
debug   = [ "approx/num-complex", "rand" ]
alloc   = [ ]
io      = [ "pest", "pest_derive" ]
compare = [ "matrixcompare-core" ]
libm    = [ "simba/libm" ]
libm-force = [ "simba/libm_force" ]
macros = [ "nalgebra-macros" ]
cuda   = [ "cust_core", "simba/cuda" ]

# Conversion
convert-mint = [ "mint" ]
convert-bytemuck = [ "bytemuck" ]
convert-glam014 = [ "glam014" ]
convert-glam015 = [ "glam015" ]
convert-glam016 = [ "glam016" ]
convert-glam017 = [ "glam017" ]
convert-glam018 = [ "glam018" ]
convert-glam019 = [ "glam019" ]
convert-glam020 = [ "glam020" ]
convert-glam021 = [ "glam021" ]
convert-glam022 = [ "glam022" ]

# Serialization
## To use serde in a #[no-std] environment, enable the
## `serde-serialize-no-std` feature instead of `serde-serialize`.
## Serialization of dynamically-sized matrices/vectors require
## `serde-serialize`.
serde-serialize-no-std = [ "serde", "num-complex/serde" ]
serde-serialize        = [ "serde-serialize-no-std", "serde/std" ]
rkyv-serialize-no-std  = [ "rkyv" ]
rkyv-serialize         = [ "rkyv-serialize-no-std", "rkyv/std", "bytecheck" ]

# Randomness
## To use rand in a #[no-std] environment, enable the
## `rand-no-std` feature instead of `rand`.
rand-no-std = [ "rand-package" ]
rand        = [ "rand-no-std", "rand-package/std", "rand-package/std_rng", "rand_distr" ]

# Tests
arbitrary        = [ "quickcheck" ]
proptest-support = [ "proptest" ]
slow-tests       = []
rkyv-safe-deser  = [ "rkyv-serialize", "rkyv/validation" ]

[dependencies]
nalgebra-macros = { version = "0.1", path = "nalgebra-macros", optional = true }
typenum        = "1.12"
rand-package   = { package = "rand", version = "0.8", optional = true, default-features = false }
num-traits     = { version = "0.2", default-features = false }
num-complex    = { version = "0.4", default-features = false }
num-rational   = { version = "0.4", default-features = false }
approx         = { version = "0.5", default-features = false }
simba          = { version = "0.7", default-features = false }
alga           = { version = "0.9", default-features = false, optional = true }
rand_distr     = { version = "0.4", default-features = false, optional = true }
matrixmultiply = { version = "0.3", optional = true }
serde          = { version = "1.0", default-features = false, features = [ "derive" ], optional = true }
rkyv           = { version = "~0.7.1", optional = true }
bytecheck      = { version = "~0.6.1", optional = true }
mint           = { version = "0.5", optional = true }
quickcheck     = { version = "1", optional = true }
pest           = { version = "2", optional = true }
pest_derive    = { version = "2", optional = true }
bytemuck       = { version = "1.5", optional = true }
matrixcompare-core = { version = "0.1", optional = true }
proptest       = { version = "1", optional = true, default-features = false, features = ["std"] }
glam014        = { package = "glam", version = "0.14", optional = true }
glam015        = { package = "glam", version = "0.15", optional = true }
glam016        = { package = "glam", version = "0.16", optional = true }
glam017        = { package = "glam", version = "0.17", optional = true }
glam018        = { package = "glam", version = "0.18", optional = true }
glam019        = { package = "glam", version = "0.19", optional = true }
glam020        = { package = "glam", version = "0.20", optional = true }
glam021        = { package = "glam", version = "0.21", optional = true }
glam022        = { package = "glam", version = "0.22", optional = true }
cust_core      = { version = "0.1", optional = true }


[dev-dependencies]
serde_json = "1.0"
rand_xorshift = "0.3"
rand_isaac = "0.3"
criterion = { version = "0.3", features = ["html_reports"] }

# For matrix comparison macro
matrixcompare = "0.3.0"
itertools = "0.10"

[workspace]
members = [ "nalgebra-lapack", "nalgebra-glm", "nalgebra-sparse", "nalgebra-macros" ]
resolver = "2"

[[example]]
name = "matrixcompare"
required-features = ["compare"]

[[bench]]
name = "nalgebra_bench"
harness = false
path = "benches/lib.rs"
required-features = ["rand"]

#[profile.bench]
#opt-level = 0
#lto = false

[profile.bench]
lto = true

[package.metadata.docs.rs]
# Enable all the features when building the docs on docs.rs
all-features = true