diffsl 0.6.5

A compiler for a domain-specific language for ordinary differential equations (ODE).
Documentation
[[bench]]
harness = false
name = "evaluation"
path = "benches/evaluation.rs"

[build-dependencies.bindgen]
optional = true
version = "0.72"

[build-dependencies.cmake]
optional = true
version = "0.1.54"

[dependencies.aliasable]
version = "0.1.3"

[dependencies.anyhow]
version = "1.0"

[dependencies.approx]
version = "0.5"

[dependencies.cranelift]
optional = true
version = "0.125"

[dependencies.cranelift-jit]
optional = true
version = "0.125"

[dependencies.cranelift-module]
optional = true
version = "0.125"

[dependencies.cranelift-native]
optional = true
version = "0.125"

[dependencies.cranelift-object]
optional = true
version = "0.125"

[dependencies.inkwell-150]
features = ["llvm15-0"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-160]
features = ["llvm16-0"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-170]
features = ["llvm17-0"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-181]
features = ["llvm18-1"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-191]
features = ["llvm19-1"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-201]
features = ["llvm20-1"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell-211]
features = ["llvm21-1"]
optional = true
package = "inkwell"
version = "0.7.1"

[dependencies.inkwell_internals]
optional = true
version = "0.11.0"

[dependencies.itertools]
version = "0.14.0"

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.libc]
version = "0.2"

[dependencies.llvm-sys-150]
optional = true
package = "llvm-sys"
version = "150.2.1"

[dependencies.llvm-sys-160]
optional = true
package = "llvm-sys"
version = "160.2.1"

[dependencies.llvm-sys-170]
optional = true
package = "llvm-sys"
version = "170.4.0"

[dependencies.llvm-sys-181]
optional = true
package = "llvm-sys"
version = "181.3.0"

[dependencies.llvm-sys-191]
optional = true
package = "llvm-sys"
version = "191.1.0"

[dependencies.llvm-sys-201]
optional = true
package = "llvm-sys"
version = "201.0.0"

[dependencies.llvm-sys-211]
optional = true
package = "llvm-sys"
version = "211.0.0"

[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]
optional = true
version = "1.10.0"

[dependencies.serde]
version = "1.0"

[dependencies.target-lexicon]
version = "0.13"

[dependencies.uid]
version = "0.1.8"

[dev-dependencies.paste]
version = "1.0.15"

[features]
cranelift = ["dep:cranelift", "dep:cranelift-module", "dep:cranelift-object", "dep:cranelift-jit", "dep:cranelift-native"]
default = []
enzyme = ["bindgen", "cmake"]
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"

[package]
authors = ["Martin Robinson <martinjrobins@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
description = "A compiler for a domain-specific language for ordinary differential equations (ODE)."
edition = "2021"
exclude = ["Enzyme/enzyme/benchmarks"]
license = "MIT"
name = "diffsl"
readme = false
repository = "https://github.com/martinjrobins/diffsl"
version = "0.6.5"

[package.metadata.docs.rs]
features = ["llvm15-0"]

[profile.dev]
debug = 2
opt-level = 0

[profile.release]
debug = 0
opt-level = 3

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.mmap-rs]
version = "0.7"

[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(windows)".dependencies.windows-sys]
features = ["Win32_System_LibraryLoader"]
version = "0.61"