[package]
name = "ccalc-engine"
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "Core computation engine for ccalc: tokenizer, parser, AST evaluator, and memory cells"
readme = "README.md"
keywords = ["calculator", "matlab", "octave", "repl", "math"]
categories = ["mathematics", "parser-implementations", "embedded"]
[features]
default = []
blas = ["dep:blas-src", "ndarray/blas"]
blas-static = ["blas", "dep:openblas-src"]
json = ["dep:serde_json"]
mat = ["dep:matrw"]
[dependencies]
dirs = "5"
indexmap = "2"
ndarray = "0.16"
rand = { version = "0.8", features = ["small_rng"] }
libm = "0.2"
blas-src = { version = "0.10", optional = true, default-features = false, features = ["openblas"] }
openblas-src = { version = "0.10", optional = true, features = ["static"] }
serde_json = { version = "1", optional = true }
matrw = { version = "=0.1.4", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tempfile = "3"
[[bench]]
name = "engine"
harness = false