nalgebra 0.30.1

General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.
Documentation
[package]

name    = "nalgebra"

version = "0.30.1"

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", "simba/cuda" ]



# Conversion

convert-mint = [ "mint" ]

convert-bytemuck = [ "bytemuck" ]

convert-glam013 = [ "glam013" ]

convert-glam014 = [ "glam014" ]

convert-glam015 = [ "glam015" ]

convert-glam016 = [ "glam016" ]

convert-glam017 = [ "glam017" ]

convert-glam018 = [ "glam018" ]

convert-glam019 = [ "glam019" ]

convert-glam020 = [ "glam020" ]



# 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" ]

abomonation-serialize  = [ "abomonation" ]

rkyv-serialize-no-std  = [ "rkyv" ]

rkyv-serialize         = [ "rkyv-serialize-no-std", "rkyv/std" ]



# 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       = []



[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 }

abomonation    = { version = "0.7", optional = true }

rkyv           = { version = "~0.6.4", default-features = false, features = ["const_generics"], 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"] }

glam013        = { package = "glam", version = "0.13", optional = true }

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 }



[target.'cfg(not(target_os = "cuda"))'.dependencies]

cust           = { version = "0.2", 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 certain features when building docs for docs.rs

features = [ "proptest-support", "compare", "macros", "rand" ]