[package]
name = "alg_tools"
version = "0.4.1-dev"
edition = "2021"
rust-version = "1.85"
authors = ["Tuomo Valkonen <tuomov@iki.fi>"]
description = "Utility routines for iterative numerical algorithms"
homepage = "https://tuomov.iki.fi/software/alg_tools/"
repository = "https://tuomov.iki.fi/repos/alg_tools/"
license-file = "LICENSE"
keywords = [
    "iterative",
    "optimization",
    "bisection",
    "branch-and-bound",
    "numerical",
]
categories = ["mathematics", "data-structures"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
csv = "~1.3.1"
nalgebra = "~0.34.0"
num-traits = { version = "~0.2.14", features = ["std"] }
colored = "~2.1.0"
num = "~0.4.0"
itertools = "~0.13.0"
numeric_literals = "~0.2.0"
cpu-time = "~1.0.0"
serde_json = { version = "~1.0.85", features = ["std"] }
rayon = "1.5.3"
simba = "0.9.0"
anyhow = "1.0.95"
pyo3 = { version = "~0.27.0", optional = true }

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "katex-header.html"]

[profile.release]
debug = true

[features]
default = []
use_custom_thread_pool = []
# The nightly feature enables some additional features.
# Nightly-based optimisations are decided automatically by build.rs.
nightly = []
pyo3 = ["dep:pyo3"]

[build-dependencies]
rustc_version = "0.4"
