[package]
edition = "2024"
name = "arael"
version = "0.5.0"
authors = ["Indrek Mandre <indrek@mare.ee>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Nonlinear optimization framework with compile-time symbolic differentiation"
readme = "README.md"
keywords = [
"optimization",
"nonlinear",
"least-squares",
"symbolic-math",
"slam",
]
categories = [
"science::robotics",
"mathematics",
"algorithms",
]
license = "MIT"
repository = "https://github.com/harakas/arael"
[features]
cholmod = ["eigen"]
eigen = ["dep:cc"]
lapack = ["dep:lapack-sys"]
[lib]
name = "arael"
path = "src/lib.rs"
[[example]]
name = "bench_band"
path = "examples/bench_band.rs"
[[example]]
name = "bench_investigate"
path = "examples/bench_investigate.rs"
[[example]]
name = "bench_sparse"
path = "examples/bench_sparse.rs"
[[example]]
name = "calc_demo"
path = "examples/calc_demo.rs"
[[example]]
name = "jacobian_demo"
path = "examples/jacobian_demo.rs"
[[example]]
name = "linear_demo"
path = "examples/linear_demo.rs"
[[example]]
name = "loc_demo"
path = "examples/loc_demo.rs"
[[example]]
name = "loc_global_demo"
path = "examples/loc_global_demo.rs"
[[example]]
name = "model_demo"
path = "examples/model_demo.rs"
[[example]]
name = "refs_demo"
path = "examples/refs_demo.rs"
[[example]]
name = "runtime_fit_demo"
path = "examples/runtime_fit_demo.rs"
[[example]]
name = "single_root_demo"
path = "examples/single_root_demo.rs"
[[example]]
name = "slam_demo"
path = "examples/slam_demo.rs"
[[example]]
name = "sym_demo"
path = "examples/sym_demo.rs"
[[example]]
name = "user_function_demo"
path = "examples/user_function_demo.rs"
[[test]]
name = "constraint_attr_errors"
path = "tests/constraint_attr_errors.rs"
[[test]]
name = "convergence"
path = "tests/convergence.rs"
[[test]]
name = "jacobian"
path = "tests/jacobian.rs"
[[test]]
name = "multi_crossblock"
path = "tests/multi_crossblock.rs"
[[test]]
name = "root_params_constraint"
path = "tests/root_params_constraint.rs"
[[test]]
name = "root_params_nested"
path = "tests/root_params_nested.rs"
[[test]]
name = "root_params_nested_vec"
path = "tests/root_params_nested_vec.rs"
[[test]]
name = "root_triplet_self"
path = "tests/root_triplet_self.rs"
[[test]]
name = "single_root"
path = "tests/single_root.rs"
[[test]]
name = "sym_tests"
path = "tests/sym_tests.rs"
[[test]]
name = "triplet_guard"
path = "tests/triplet_guard.rs"
[[test]]
name = "user_function_cross_ref_runtime"
path = "tests/user_function_cross_ref_runtime.rs"
[[test]]
name = "user_function_errors"
path = "tests/user_function_errors.rs"
[[test]]
name = "user_function_extern"
path = "tests/user_function_extern.rs"
[[test]]
name = "user_function_symbolic"
path = "tests/user_function_symbolic.rs"
[[bench]]
name = "benchmarks"
path = "benches/benchmarks.rs"
harness = false
[dependencies.arael-macros]
version = "0.5.0"
[dependencies.arael-sym]
version = "0.5.0"
[dependencies.faer]
version = "0.24"
features = [
"std",
"sparse-linalg",
]
default-features = false
[dependencies.inventory]
version = "0.3"
[dependencies.lapack-sys]
version = "0.15"
optional = true
[dependencies.nalgebra]
version = "0.33"
[dependencies.num]
version = "0.4"
[dependencies.rand]
version = "0.9"
[dependencies.rand_distr]
version = "0.5"
[dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.dirs]
version = "5"
[dev-dependencies.image]
version = "0.25"
[dev-dependencies.rustyline]
version = "15"
[dev-dependencies.trybuild]
version = "1"
[build-dependencies.cc]
version = "1"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.web-time]
version = "1"