[package]
build = "build.rs"
name = "concision-utils"
authors.workspace = true
categories.workspace = true
description.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
readme.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
bench = false
doc = true
doctest = true
test = true
[dependencies]
variants = { workspace = true }
rayon = { optional = true, workspace = true }
serde = { optional = true, workspace = true }
serde_derive = { optional = true, workspace = true }
serde_json = { optional = true, workspace = true }
anyhow = { optional = true, workspace = true }
thiserror = { workspace = true }
tracing = { optional = true, workspace = true }
paste = { workspace = true }
smart-default = { workspace = true }
strum = { workspace = true }
approx = { optional = true, workspace = true }
ndarray = { workspace = true }
num = { workspace = true }
num-complex = { optional = true, workspace = true }
num-traits = { workspace = true }
rustfft = { optional = true, workspace = true }
getrandom = { default-features = false, optional = true, workspace = true }
rand = { optional = true, workspace = true }
rand_distr = { optional = true, workspace = true }
[dev-dependencies]
anyhow = { features = ["std"], workspace = true }
lazy_static = { workspace = true }
[features]
default = [
"std",
]
full = [
"approx",
"complex",
"default",
"json",
"rand",
"serde",
"tracing",
]
nightly = []
signal =[
"complex",
"rustfft",
]
std = [
"alloc",
"ndarray/std",
"num/std",
"num-complex?/std",
"num-traits/std",
"rand?/std",
"rand?/std_rng",
"serde/std",
"strum/std",
"thiserror/std",
"tracing?/std",
"variants/std",
]
wasi = []
wasm = [
"getrandom?/wasm_js",
]
alloc = [
"num/alloc",
"serde?/alloc",
"serde_json?/alloc",
"variants/alloc",
]
approx = ["dep:approx", "ndarray/approx"]
blas = ["ndarray/blas"]
complex = ["dep:num-complex"]
json = [
"alloc",
"serde",
"serde_json",
]
rand = [
"dep:rand",
"dep:rand_distr",
"num/rand",
"num-complex?/rand",
"rng",
]
rayon = ["dep:rayon", "ndarray/rayon"]
rng = [
"dep:getrandom",
"rand?/small_rng",
"rand?/thread_rng",
]
rustfft = ["dep:rustfft"]
serde = [
"dep:serde",
"dep:serde_derive",
"ndarray/serde",
"num/serde",
"num-complex?/serde",
"rand?/serde",
"rand_distr?/serde",
]
serde_json = ["dep:serde_json"]
tracing = ["dep:tracing"]
[[test]]
name = "default"
[[test]]
name = "fft"
required-features = ["approx", "signal", "std"]
[[test]]
name = "tensor"
required-features = ["approx", "std", "complex"]
[[test]]
name = "traits"
required-features = ["approx", "std", "complex"]
[package.metadata.docs.rs]
all-features = false
features = ["full"]
rustc-args = ["--cfg", "docsrs"]
version = "v{{version}}"
[package.metadata.release]
no-dev-version = true
tag-name = "{{version}}"