[package]
edition = "2021"
name = "diffsl"
version = "0.11.7"
authors = ["Martin Robinson <martinjrobins@gmail.com>"]
build = "build.rs"
exclude = ["Enzyme/enzyme/benchmarks"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A compiler for a domain-specific language for ordinary differential equations (ODE)."
readme = false
license = "MIT"
repository = "https://github.com/martinjrobins/diffsl"
[package.metadata.docs.rs]
features = ["llvm15-0"]
[features]
cranelift = [
"dep:cranelift",
"dep:cranelift-module",
"dep:cranelift-object",
"dep:cranelift-jit",
"dep:cranelift-native",
]
default = ["external_dynamic"]
enzyme = [
"bindgen",
"cmake",
]
external = []
external_dynamic = []
external_f32 = ["external"]
external_f64 = ["external"]
llvm = []
llvm15-0 = [
"inkwell-150",
"llvm-sys-150",
"llvm",
"enzyme",
]
llvm16-0 = [
"inkwell-160",
"llvm-sys-160",
"llvm",
"enzyme",
]
llvm17-0 = [
"inkwell-170",
"llvm-sys-170",
"llvm",
"enzyme",
]
llvm18-1 = [
"inkwell-181",
"llvm-sys-181",
"llvm",
"enzyme",
]
llvm19-1 = [
"inkwell-191",
"llvm-sys-191",
"llvm",
"enzyme",
]
llvm20-1 = [
"inkwell-201",
"llvm-sys-201",
"llvm",
"enzyme",
]
llvm21-1 = [
"inkwell-211",
"llvm-sys-211",
"llvm",
"enzyme",
]
rayon = ["dep:rayon"]
test_compile = []
[lib]
name = "diffsl"
path = "src/lib.rs"
[[test]]
name = "external_dynamic_f32"
path = "tests/external_dynamic_f32.rs"
[[test]]
name = "external_dynamic_f64"
path = "tests/external_dynamic_f64.rs"
[[test]]
name = "external_dynamic_missing_symbol"
path = "tests/external_dynamic_missing_symbol.rs"
[[test]]
name = "external_f32"
path = "tests/external_f32.rs"
[[test]]
name = "external_f64"
path = "tests/external_f64.rs"
[[test]]
name = "pybamm_dfn"
path = "tests/pybamm_dfn.rs"
[[test]]
name = "roundtrips"
path = "tests/roundtrips.rs"
[[bench]]
name = "evaluation"
path = "benches/evaluation.rs"
harness = false
[[bench]]
name = "pybamm_dfn"
path = "benches/pybamm_dfn.rs"
harness = false
[dependencies.aliasable]
version = "0.1.3"
[dependencies.anyhow]
version = "1.0"
[dependencies.approx]
version = "0.5"
[dependencies.cranelift]
version = "0.125"
optional = true
[dependencies.cranelift-jit]
version = "0.125"
optional = true
[dependencies.cranelift-module]
version = "0.125"
optional = true
[dependencies.cranelift-native]
version = "0.125"
optional = true
[dependencies.cranelift-object]
version = "0.125"
optional = true
[dependencies.inkwell-150]
version = "0.7.1"
features = ["llvm15-0"]
optional = true
package = "inkwell"
[dependencies.inkwell-160]
version = "0.7.1"
features = ["llvm16-0"]
optional = true
package = "inkwell"
[dependencies.inkwell-170]
version = "0.7.1"
features = ["llvm17-0"]
optional = true
package = "inkwell"
[dependencies.inkwell-181]
version = "0.7.1"
features = ["llvm18-1"]
optional = true
package = "inkwell"
[dependencies.inkwell-191]
version = "0.7.1"
features = ["llvm19-1"]
optional = true
package = "inkwell"
[dependencies.inkwell-201]
version = "0.7.1"
features = ["llvm20-1"]
optional = true
package = "inkwell"
[dependencies.inkwell-211]
version = "0.7.1"
features = ["llvm21-1"]
optional = true
package = "inkwell"
[dependencies.inkwell_internals]
version = "0.11.0"
optional = true
[dependencies.itertools]
version = "0.14.0"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.libc]
version = "0.2"
[dependencies.llvm-sys-150]
version = "150.2.1"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-160]
version = "160.2.1"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-170]
version = "170.4.0"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-181]
version = "181.3.0"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-191]
version = "191.1.0"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-201]
version = "201.0.0"
optional = true
package = "llvm-sys"
[dependencies.llvm-sys-211]
version = "211.0.0"
optional = true
package = "llvm-sys"
[dependencies.log]
version = "0.4.29"
[dependencies.ndarray]
version = "=0.17"
[dependencies.num-traits]
version = "0.2"
[dependencies.object]
version = "0.37"
[dependencies.pest]
version = "2.8"
[dependencies.pest_derive]
version = "2.8"
[dependencies.rayon]
version = "1.10.0"
optional = true
[dependencies.serde]
version = "1.0"
[dependencies.target-lexicon]
version = "0.13"
[dependencies.uid]
version = "0.1.8"
[dev-dependencies.paste]
version = "1.0.15"
[build-dependencies.bindgen]
version = "0.72"
optional = true
[build-dependencies.cmake]
version = "0.1.54"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.mmap-rs]
version = "0.7"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.colog]
version = "1.4.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.divan]
version = "0.1.21"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.env_logger]
version = "0.11.8"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.faer]
version = "0.24.0"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Win32_Foundation",
"Win32_System_LibraryLoader",
]