[package]
name = "diffusionx"
authors = ["Xiangong Tang <tangxiangong@gmail.com>"]
edition = "2024"
version = "0.6.0"
description = "A multi-threaded crate for random number generation and stochastic process simulation."
license = "MIT OR Apache-2.0"
repository = "https://github.com/tangxiangong/diffusionx"
readme = "README.md"
categories = ["science", "mathematics"]
keywords = ["stochastic-process", "simulation", "Monte-Carlo"]
rust-version = "1.87"
exclude = ["kernels", "src/gpu"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "./docs-header.html"]
[lib]
name = "diffusionx"
doctest = false
[features]
default = []
visualize = [
"dep:plotters",
"dep:derive_builder",
"dep:plotters-backend",
"dep:either",
]
io = ["dep:csv"]
[dependencies]
csv = { version = "1.4", optional = true }
derive_builder = { version = "0.20", optional = true }
either = { version = "1", optional = true }
gauss-quad = "0.2.4"
num-complex = "0.4"
num-traits = "0.2"
plotters = { version = "0.3", optional = true }
plotters-backend = { version = "0.3", optional = true }
rand = "0.9"
rand_distr = "0.5"
rayon = "1.11"
realfft = "3.5"
thiserror = "2"
[dev-dependencies]
criterion = "0.7"
[[example]]
name = "CIR"
doc-scrape-examples = false
[[example]]
name = "bm"
doc-scrape-examples = false
[[example]]
name = "bridge"
doc-scrape-examples = false
[[example]]
name = "ctrw"
doc-scrape-examples = false
[[example]]
name = "excursion"
doc-scrape-examples = false
[[example]]
name = "levy"
doc-scrape-examples = false
[[example]]
name = "levy_walk"
doc-scrape-examples = false
[[example]]
name = "macros"
doc-scrape-examples = false
[[example]]
name = "ou"
doc-scrape-examples = false
[[example]]
name = "randoms"
doc-scrape-examples = false
[[example]]
name = "langevin-bench"
path = "examples/timeit/langevin.rs"
doc-scrape-examples = false
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
[[bench]]
name = "simulation"
harness = false