# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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
