forked from M-Labs/nalgebra
147 lines
5.4 KiB
TOML
147 lines
5.4 KiB
TOML
[package]
|
|
name = "nalgebra"
|
|
version = "0.32.3"
|
|
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 = "Apache-2.0"
|
|
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", "num-traits/std", "num-complex/std", "num-rational/std", "approx/std", "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" ]
|
|
convert-glam023 = [ "glam023" ]
|
|
convert-glam024 = [ "glam024" ]
|
|
|
|
# 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/size_32" ]
|
|
rkyv-serialize = [ "rkyv-serialize-no-std", "rkyv/std", "rkyv/validation" ]
|
|
|
|
# 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.2.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.8", 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.41", default-features = false, 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 }
|
|
glam023 = { package = "glam", version = "0.23", optional = true }
|
|
glam024 = { package = "glam", version = "0.24", optional = true }
|
|
cust_core = { version = "0.1", optional = true }
|
|
rayon = { version = "1.6", optional = true }
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0"
|
|
rand_xorshift = "0.3"
|
|
rand_isaac = "0.3"
|
|
criterion = { version = "0.4", features = ["html_reports"] }
|
|
nalgebra = { path = ".", features = ["debug", "compare", "rand", "macros"]}
|
|
|
|
# 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
|
|
# define the configuration attribute `docsrs`
|
|
rustdoc-args = ["--cfg", "docsrs"]
|