-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
104 lines (85 loc) · 2.38 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
[package]
name = "factrs"
version = "0.2.0"
edition = "2021"
license = "MIT"
description = "Factor graph optimization for robotics"
readme = "README.md"
authors = ["Easton Potokar", "Taylor Pool"]
repository = "https://github.com/rpl-cmu/factrs"
keywords = ["nonlinear", "optimization", "robotics", "estimation", "SLAM"]
categories = ["science::robotics", "mathematics"]
rust-version = "1.83"
exclude = ["examples/data/*"]
[workspace]
members = ["factrs-bench", "factrs-proc"]
exclude = ["factrs-typetag"]
[package.metadata.docs.rs]
features = ["serde", "rerun"]
rustdoc-args = [
"--cfg",
"docsrs",
"--html-in-header",
"assets/katex-header.html",
]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
[dependencies]
foldhash = "0.1.4"
paste = "1.0.15"
downcast-rs = "2.0.1"
log = "0.4.22"
pad-adapter = "0.1.1"
dyn-clone = "1.0.17"
factrs-proc = { version = "0.2.0", path = "./factrs-proc" }
# numerical
faer = { version = "0.20.2", default-features = false, features = [
"perf-warn",
"std",
"linalg",
] }
faer-ext = { version = "0.4.1", features = ["nalgebra"] }
nalgebra = { version = "0.33.2", features = ["compare"] }
simba = { version = "0.9.0", default-features = false }
num-dual = "0.11.0"
matrixcompare = { version = "0.3.0" }
# serialization
serde = { version = "1.0.217", optional = true }
factrs-typetag = { version = "0.2.0", optional = true, path = "./factrs-typetag" }
# rerun support
rerun = { version = "0.21.0", optional = true, default-features = false, features = [
"sdk",
] }
[features]
# Run everything with f32 instead of the default f64
f32 = []
# Use left instead of right for lie group updates
left = []
# use SO(n) x R instead of SE(n) for exponential map
fake_exp = []
# Add multithreaded support (may run slower on smaller problems)
rayon = ["faer/rayon"]
# Add support for serialization
serde = [
"dep:serde",
"dep:factrs-typetag",
"factrs-proc/serde",
"nalgebra/serde-serialize",
]
# Support for conversion to rerun variable types
rerun = ["dep:rerun"]
[dev-dependencies]
matrixcompare = "0.3.0"
pretty_env_logger = "0.5.0"
nalgebra = { version = "0.33.2", features = ["compare"] }
serde_json = { version = "1.0.135" }
[profile.bench]
lto = true
[profile.profile]
inherits = "bench"
debug = true
[profile.dev.package.faer]
opt-level = 3
[[example]]
name = "serde"
required-features = ["serde"]
doc-scrape-examples = true