[package]
edition = "2024"
rust-version = "1.85"
name = "mathlex-eval"
version = "0.1.1"
authors = ["Christian C. Berclaz"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Numerical evaluator for mathlex ASTs with broadcasting support"
homepage = "https://github.com/ChrisGVE/mathlex-eval"
documentation = "https://docs.rs/mathlex-eval"
readme = "README.md"
keywords = [
"math",
"evaluator",
"ast",
"broadcasting",
"numerical",
]
categories = [
"mathematics",
"science",
]
license = "MIT"
repository = "https://github.com/ChrisGVE/mathlex-eval"
[features]
default = ["serde"]
ffi = [
"swift-bridge",
"swift-bridge-build",
"serde",
]
parallel = ["rayon"]
serde = [
"dep:serde",
"dep:serde_json",
]
[lib]
name = "mathlex_eval"
crate-type = [
"staticlib",
"cdylib",
"lib",
]
path = "src/lib.rs"
[[example]]
name = "basic_eval"
path = "examples/basic_eval.rs"
[[example]]
name = "broadcasting"
path = "examples/broadcasting.rs"
[[example]]
name = "complex_numbers"
path = "examples/complex_numbers.rs"
[[example]]
name = "iterator_input"
path = "examples/iterator_input.rs"
[[test]]
name = "broadcast_tests"
path = "tests/broadcast_tests.rs"
[[test]]
name = "compile_error_tests"
path = "tests/compile_error_tests.rs"
[[test]]
name = "compile_tests"
path = "tests/compile_tests.rs"
[[test]]
name = "complex_tests"
path = "tests/complex_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "eval_tests"
path = "tests/eval_tests.rs"
[[test]]
name = "proptest_tests"
path = "tests/proptest_tests.rs"
[[bench]]
name = "benchmarks"
path = "benches/benchmarks.rs"
harness = false
[dependencies.mathlex]
version = "0.3"
features = ["serde"]
[dependencies.ndarray]
version = "0.16"
[dependencies.num-complex]
version = "0.4"
features = ["serde"]
[dependencies.ordered-float]
version = "4"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.swift-bridge]
version = "0.1"
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1.5"
[build-dependencies.swift-bridge-build]
version = "0.1"
optional = true
[profile.release]
opt-level = 3
lto = true
codegen-units = 1