[[bench]]
harness = false
name = "cranelift_vs_rust"
path = "benches/cranelift_vs_rust.rs"
[[bench]]
harness = false
name = "expression_optimization"
path = "benches/expression_optimization.rs"
[[bench]]
harness = false
name = "simple_optimization"
path = "benches/simple_optimization.rs"
[dependencies.ad_trait]
optional = true
version = "0.1"
[dependencies.cranelift]
optional = true
version = "0.120.0"
[dependencies.cranelift-codegen]
optional = true
version = "0.120.0"
[dependencies.cranelift-frontend]
optional = true
version = "0.120.0"
[dependencies.cranelift-jit]
optional = true
version = "0.120.0"
[dependencies.cranelift-module]
optional = true
version = "0.120.0"
[dependencies.egglog]
optional = true
version = "0.4"
[dependencies.libloading]
version = "0.8"
[dependencies.num-traits]
version = "0.2"
[dependencies.ordered-float]
version = "5.0.0"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"
[dependencies.target-lexicon]
optional = true
version = "0.13.2"
[dependencies.thiserror]
version = "2.0.12"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.6.0"
[dev-dependencies.divan]
version = "0.1"
[dev-dependencies.proptest]
version = "1.5"
[[example]]
name = "anf_demo"
path = "examples/anf_demo.rs"
[[example]]
name = "autodiff_demo"
path = "examples/autodiff_demo.rs"
[[example]]
name = "autodiff_rust_codegen_demo"
path = "examples/autodiff_rust_codegen_demo.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "debug_egglog"
path = "examples/debug_egglog.rs"
[[example]]
name = "egglog_optimization_demo"
path = "examples/egglog_optimization_demo.rs"
[[example]]
name = "ergonomic_api_demo"
path = "examples/ergonomic_api_demo.rs"
[[example]]
name = "generic_operator_demo"
path = "examples/generic_operator_demo.rs"
[[example]]
name = "gradient_demo"
path = "examples/gradient_demo.rs"
[[example]]
name = "interval_domain_demo"
path = "examples/interval_domain_demo.rs"
[[example]]
name = "jit_demo"
path = "examples/jit_demo.rs"
[[example]]
name = "operator_overloading"
path = "examples/operator_overloading.rs"
[[example]]
name = "polynomial_demo"
path = "examples/polynomial_demo.rs"
[[example]]
name = "power_operations_demo"
path = "examples/power_operations_demo.rs"
[[example]]
name = "readme"
path = "examples/readme.rs"
[[example]]
name = "real_ad_performance"
path = "examples/real_ad_performance.rs"
[[example]]
name = "summation_demo"
path = "examples/summation_demo.rs"
[[example]]
name = "symbolic_ad_demo"
path = "examples/symbolic_ad_demo.rs"
[[example]]
name = "symbolic_optimization_demo"
path = "examples/symbolic_optimization_demo.rs"
[[example]]
name = "transcendental_demo"
path = "examples/transcendental_demo.rs"
[[example]]
name = "variable_efficiency_demo"
path = "examples/variable_efficiency_demo.rs"
[features]
ad_trait = ["dep:ad_trait"]
all = ["optimization", "cranelift", "ad_trait"]
cranelift = ["dep:cranelift", "dep:cranelift-jit", "dep:cranelift-module", "dep:cranelift-codegen", "dep:cranelift-frontend", "dep:target-lexicon"]
default = ["optimization"]
jit = ["cranelift"]
optimization = ["dep:egglog"]
symbolic = ["optimization"]
[lib]
name = "mathcompile"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["mathematics", "science", "compilers"]
description = "High-performance symbolic mathematics with final tagless design, egglog optimization, and Rust hot-loading compilation"
edition = "2024"
keywords = ["symbolic", "mathematics", "rust-codegen", "final-tagless", "optimization"]
license = "Apache-2.0"
name = "mathcompile"
readme = "README.md"
repository = "https://github.com/chad-measures/measures"
version = "0.1.2"
[[test]]
name = "proptest_robustness"
path = "tests/proptest_robustness.rs"
[[test]]
name = "readme_examples"
path = "tests/readme_examples.rs"
[[test]]
name = "test_autodiff_integration"
path = "tests/test_autodiff_integration.rs"
[[test]]
name = "test_egglog_integration"
path = "tests/test_egglog_integration.rs"
[[test]]
name = "test_rust_compilation"
path = "tests/test_rust_compilation.rs"