forked from M-Labs/nalgebra
f9ea2b4471
This introduces functionality for creating strategies for matrices and vectors, as well as an implementation of Arbitrary. Strategies for the geometric types (Point3, Quaternion etc.) are not currently part of this contribution. The current strategy implementation for matrices has some limitations that lead to suboptimal shrinking behavior. This is documented in the module-level docs, with some additional comments in the code.
91 lines
3.2 KiB
TOML
91 lines
3.2 KiB
TOML
[package]
|
|
name = "nalgebra"
|
|
version = "0.24.0"
|
|
authors = [ "Sébastien Crozet <developer@crozet.re>" ]
|
|
|
|
description = "Linear algebra library with transformations and statically-sized or dynamically-sized matrices."
|
|
documentation = "https://nalgebra.org/rustdoc/nalgebra/index.html"
|
|
homepage = "https://nalgebra.org"
|
|
repository = "https://github.com/rustsim/nalgebra"
|
|
readme = "README.md"
|
|
categories = [ "science" ]
|
|
keywords = [ "linear", "algebra", "matrix", "vector", "math" ]
|
|
license = "Apache-2.0"
|
|
edition = "2018"
|
|
|
|
exclude = ["/ci/*", "/.travis.yml", "/Makefile"]
|
|
|
|
[lib]
|
|
name = "nalgebra"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = [ "std" ]
|
|
std = [ "matrixmultiply", "rand/std", "rand_distr", "simba/std" ]
|
|
stdweb = [ "rand/stdweb" ]
|
|
arbitrary = [ "quickcheck" ]
|
|
serde-serialize = [ "serde", "num-complex/serde" ]
|
|
abomonation-serialize = [ "abomonation" ]
|
|
sparse = [ ]
|
|
debug = [ "approx/num-complex", "rand/std" ]
|
|
alloc = [ ]
|
|
io = [ "pest", "pest_derive" ]
|
|
compare = [ "matrixcompare-core" ]
|
|
libm = [ "simba/libm" ]
|
|
libm-force = [ "simba/libm_force" ]
|
|
|
|
|
|
[dependencies]
|
|
typenum = "1.12"
|
|
generic-array = "0.14"
|
|
rand = { version = "0.7", default-features = false }
|
|
num-traits = { version = "0.2", default-features = false }
|
|
num-complex = { version = "0.3", default-features = false }
|
|
num-rational = { version = "0.3", default-features = false }
|
|
approx = { version = "0.4", default-features = false }
|
|
simba = { version = "0.3", default-features = false }
|
|
alga = { version = "0.9", default-features = false, optional = true }
|
|
rand_distr = { version = "0.3", optional = true }
|
|
matrixmultiply = { version = "0.2", optional = true }
|
|
serde = { version = "1.0", default-features = false, features = [ "derive" ], optional = true }
|
|
abomonation = { version = "0.7", optional = true }
|
|
mint = { version = "0.5", optional = true }
|
|
quickcheck = { version = "0.9", optional = true }
|
|
pest = { version = "2", optional = true }
|
|
pest_derive = { version = "2", optional = true }
|
|
matrixcompare-core = { version = "0.1", optional = true }
|
|
proptest = { version = "0.10", optional = true, default-features = false, features = ["std"] }
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0"
|
|
rand_xorshift = "0.2"
|
|
rand_isaac = "0.2"
|
|
### Uncomment this line before running benchmarks.
|
|
### We can't just let this uncommented because that would break
|
|
### compilation for #[no-std] because of the terrible Cargo bug
|
|
### https://github.com/rust-lang/cargo/issues/4866
|
|
#criterion = "0.2.10"
|
|
|
|
# For matrix comparison macro
|
|
matrixcompare = "0.1.3"
|
|
|
|
# Make sure that we use a specific version of proptest for tests. The reason is that we use a deterministic
|
|
# RNG for certain tests. However, different versions of proptest may give different sequences of numbers,
|
|
# which may cause more brittle tests (although ideally they should take enough samples for it not to matter).
|
|
proptest = { version = "=0.10.1" }
|
|
|
|
[workspace]
|
|
members = [ "nalgebra-lapack", "nalgebra-glm" ]
|
|
|
|
[[bench]]
|
|
name = "nalgebra_bench"
|
|
harness = false
|
|
path = "benches/lib.rs"
|
|
|
|
[profile.bench]
|
|
lto = true
|
|
|
|
[package.metadata.docs.rs]
|
|
# Enable certain features when building docs for docs.rs
|
|
features = [ "proptest" ]
|