[package]
name = "interpn"
version = "0.11.2"
edition = "2024"
rust-version = "1.87"
authors = ["James Logan <jlogan03@gmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jlogan03/interpn/"
homepage = "https://github.com/jlogan03/interpn/"
description = "N-dimensional interpolation/extrapolation methods, no-std and no-alloc compatible."
readme = "README.md"
[lib]
name = "interpn"
crate-type = ["cdylib", "rlib"]
[dependencies]
num-traits = { version = "^0.2.19", default-features = false, features = ["libm"] }
crunchy = { version = "^0.2.4", default-features = false }
rayon = { version = "^1.12.0", optional = true }
num_cpus = { version = "^1.17.0", optional = true }
pyo3 = { version = "0.29.0", features = ["extension-module", "abi3-py310", "generate-import-lib"], optional = true }
numpy = { version = "0.29.0", optional = true }
itertools = { version = "0.15.0", optional = true }
[dev-dependencies]
rand = "0.10.1"
criterion = "0.8.2"
ndarray = "0.17.2"
[features]
default = ["std", "crunchy/limit_64", "par"]
python = ["numpy", "pyo3", "std"]
std = ["itertools"]
deep-unroll = ["crunchy/limit_256"]
fma = []
par = ["std", "rayon", "num_cpus"]
[profile.release]
opt-level = 3
codegen-units = 4
lto = true
strip = true
overflow-checks = true
[profile.dev]
opt-level = 2
codegen-units = 16
lto = false
[[bench]]
name = "bench"
harness = false
[lints.rust]
unsafe_code = "forbid"