[package]
edition = "2024"
rust-version = "1.87.0"
name = "nalgebra"
version = "0.34.2"
authors = ["Sébastien Crozet <developer@crozet.re>"]
build = false
exclude = [
"/ci/*",
"/.travis.yml",
"/Makefile",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices."
homepage = "https://nalgebra.rs"
documentation = "https://www.nalgebra.rs/docs"
readme = "README.md"
keywords = [
"linear",
"algebra",
"matrix",
"vector",
"math",
]
categories = [
"science",
"mathematics",
"wasm",
"no-std",
]
license = "Apache-2.0"
repository = "https://github.com/dimforge/nalgebra"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[features]
alloc = []
arbitrary = ["quickcheck"]
compare = ["matrixcompare-core"]
convert-bytemuck = [
"bytemuck",
"num-complex/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"]
convert-glam025 = ["glam025"]
convert-glam027 = ["glam027"]
convert-glam028 = ["glam028"]
convert-glam029 = ["glam029"]
convert-glam030 = ["glam030"]
convert-glam031 = ["glam031"]
convert-glam032 = ["glam032"]
convert-mint = ["mint"]
debug = [
"approx/num-complex",
"rand",
]
default = [
"std",
"macros",
]
io = [
"pest",
"pest_derive",
]
libm = [
"simba/libm",
"glam014?/libm",
"glam015?/libm",
"glam016?/libm",
"glam017?/libm",
"glam018?/libm",
"glam019?/libm",
"glam020?/libm",
"glam021?/libm",
"glam022?/libm",
"glam023?/libm",
"glam024?/libm",
"glam025?/libm",
"glam027?/libm",
"glam028?/libm",
"glam029?/libm",
"glam030?/libm",
"glam031?/libm",
"glam032?/libm",
]
libm-force = ["simba/libm_force"]
macros = ["nalgebra-macros"]
proptest-support = ["proptest"]
rand = [
"rand-no-std",
"rand-package/std",
"rand-package/std_rng",
"rand-package/thread_rng",
"rand_distr",
]
rand-no-std = ["rand-package"]
rkyv-safe-deser = [
"rkyv-serialize",
"rkyv/validation",
]
rkyv-serialize = [
"rkyv-serialize-no-std",
"rkyv/std",
"rkyv/validation",
]
rkyv-serialize-no-std = ["rkyv/size_32"]
serde-serialize = [
"serde-serialize-no-std",
"serde/std",
]
serde-serialize-no-std = [
"serde",
"num-complex/serde",
]
slow-tests = []
sparse = []
std = [
"matrixmultiply",
"num-traits/std",
"num-complex/std",
"num-rational/std",
"approx/std",
"simba/std",
"glam014?/std",
"glam015?/std",
"glam016?/std",
"glam017?/std",
"glam018?/std",
"glam019?/std",
"glam020?/std",
"glam021?/std",
"glam022?/std",
"glam023?/std",
"glam024?/std",
"glam025?/std",
"glam027?/std",
"glam028?/std",
"glam029?/std",
"glam030?/std",
"glam031?/std",
"glam032?/std",
]
[lib]
name = "nalgebra"
path = "src/lib.rs"
[[example]]
name = "dimensional_genericity"
path = "examples/dimensional_genericity.rs"
[[example]]
name = "homogeneous_coordinates"
path = "examples/homogeneous_coordinates.rs"
[[example]]
name = "linear_system_resolution"
path = "examples/linear_system_resolution.rs"
[[example]]
name = "matrix_construction"
path = "examples/matrix_construction.rs"
[[example]]
name = "matrixcompare"
path = "examples/matrixcompare.rs"
required-features = ["compare"]
[[example]]
name = "mvp"
path = "examples/mvp.rs"
[[example]]
name = "point_construction"
path = "examples/point_construction.rs"
[[example]]
name = "raw_pointer"
path = "examples/raw_pointer.rs"
[[example]]
name = "reshaping"
path = "examples/reshaping.rs"
[[example]]
name = "scalar_genericity"
path = "examples/scalar_genericity.rs"
[[example]]
name = "screen_to_view_coords"
path = "examples/screen_to_view_coords.rs"
[[example]]
name = "transform_conversion"
path = "examples/transform_conversion.rs"
[[example]]
name = "transform_matrix4"
path = "examples/transform_matrix4.rs"
[[example]]
name = "transform_vector_point"
path = "examples/transform_vector_point.rs"
[[example]]
name = "transform_vector_point3"
path = "examples/transform_vector_point3.rs"
[[example]]
name = "transformation_pointer"
path = "examples/transformation_pointer.rs"
[[example]]
name = "unit_wrapper"
path = "examples/unit_wrapper.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[bench]]
name = "nalgebra_bench"
path = "benches/lib.rs"
harness = false
required-features = ["rand"]
[dependencies.alga]
version = "0.9"
optional = true
default-features = false
[dependencies.approx]
version = "0.5"
default-features = false
[dependencies.bytemuck]
version = "1.5"
optional = true
[dependencies.defmt]
version = "1.0.1"
optional = true
[dependencies.encase]
version = "0.12"
optional = true
[dependencies.glam014]
version = "0.14"
optional = true
default-features = false
package = "glam"
[dependencies.glam015]
version = "0.15"
optional = true
default-features = false
package = "glam"
[dependencies.glam016]
version = "0.16"
optional = true
default-features = false
package = "glam"
[dependencies.glam017]
version = "0.17"
optional = true
default-features = false
package = "glam"
[dependencies.glam018]
version = "0.18"
optional = true
default-features = false
package = "glam"
[dependencies.glam019]
version = "0.19"
optional = true
default-features = false
package = "glam"
[dependencies.glam020]
version = "0.20"
optional = true
default-features = false
package = "glam"
[dependencies.glam021]
version = "0.21"
optional = true
default-features = false
package = "glam"
[dependencies.glam022]
version = "0.22"
optional = true
default-features = false
package = "glam"
[dependencies.glam023]
version = "0.23"
optional = true
default-features = false
package = "glam"
[dependencies.glam024]
version = "0.24"
optional = true
default-features = false
package = "glam"
[dependencies.glam025]
version = "0.25"
optional = true
default-features = false
package = "glam"
[dependencies.glam027]
version = "0.27"
optional = true
default-features = false
package = "glam"
[dependencies.glam028]
version = "0.28"
optional = true
default-features = false
package = "glam"
[dependencies.glam029]
version = "0.29"
optional = true
default-features = false
package = "glam"
[dependencies.glam030]
version = "0.30"
optional = true
default-features = false
package = "glam"
[dependencies.glam031]
version = "0.31"
optional = true
default-features = false
package = "glam"
[dependencies.glam032]
version = "0.32"
optional = true
default-features = false
package = "glam"
[dependencies.matrixcompare-core]
version = "0.1"
optional = true
[dependencies.matrixmultiply]
version = "0.3"
optional = true
[dependencies.mint]
version = "0.5"
optional = true
[dependencies.nalgebra-macros]
version = "0.3.0"
optional = true
[dependencies.num-complex]
version = "0.4"
default-features = false
[dependencies.num-rational]
version = "0.4"
default-features = false
[dependencies.num-traits]
version = "0.2"
default-features = false
[dependencies.pest]
version = "2"
optional = true
[dependencies.pest_derive]
version = "2"
optional = true
[dependencies.proptest]
version = "1"
features = ["std"]
optional = true
default-features = false
[dependencies.quickcheck]
version = "1"
optional = true
[dependencies.rand-package]
version = "0.9"
optional = true
default-features = false
package = "rand"
[dependencies.rand_distr]
version = "0.5"
optional = true
default-features = false
[dependencies.rayon]
version = "1.6"
optional = true
[dependencies.rkyv]
version = "0.7.41"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.simba]
version = "0.9"
default-features = false
[dependencies.typenum]
version = "1.12"
[dev-dependencies.cool_asserts]
version = "2.0.3"
[dev-dependencies.criterion]
version = "0.7"
features = ["html_reports"]
[dev-dependencies.itertools]
version = "0.13"
[dev-dependencies.matrixcompare]
version = "0.3.0"
[dev-dependencies.rand_isaac]
version = "0.4"
[dev-dependencies.rand_xorshift]
version = "0.4"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.trybuild]
version = "1.0.90"
[profile.bench]
lto = true
codegen-units = 1