concision-params 0.3.1

this crate implements the core modules for the concision framework
Documentation
[package]
build = "build.rs"
description = "this crate implements the core modules for the concision framework"
name = "concision-params"

authors.workspace = true
categories.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

[package.metadata.docs.rs]
all-features = false
features = ["default"]
rustc-args = ["--cfg", "docsrs"]

[package.metadata.release]
no-dev-version = true
tag-name = "v{{version}}"

[lib]
bench = false

[dependencies]
concision-init = { optional = true, workspace = true }
concision-traits = { workspace = true }
# custom
rspace-traits = { workspace = true }
variants = { workspace = true }
# concurrency & parallelism
rayon = { optional = true, workspace = true }
# data & serialization
serde = { features = ["derive"], optional = true, workspace = true }
serde_derive = { optional = true, workspace = true }
serde_json = { optional = true, workspace = true }
# error-handling
anyhow = { workspace = true }
thiserror = { workspace = true }
# mathematics
approx = { optional = true, workspace = true }
ndarray = { workspace = true }
num-complex = { optional = true, workspace = true }
num-traits = { workspace = true }
# WebAssembly (wasm)
wasm-bindgen = { optional = true, workspace = true }

[features]
default = ["std"]

full = [
  "default",
  "approx",
  "complex",
  "rand",
  "json",
  "serde",
]

# ********* [FF] Features *********
autodiff = [
  "nightly",
  "concision-traits/autodiff"
]

json = [
  "alloc",
  "serde",
  "serde_json",
]

nightly = [
  "concision-init?/nightly",
  "concision-traits/nightly",
]

# ********* [FF] Environments *********

std = [
  "alloc",
  "anyhow/std",
  "concision-init?/std",
  "concision-traits/std",
  "ndarray/std",
  "num-complex?/std",
  "num-traits/std",
  "rspace-traits/std",
  "serde?/std",
  "thiserror/std",
  "variants/std",
]

wasi = [
  "concision-init?/wasi",
  "concision-traits/wasi",
  "rspace-traits/wasi",
]

wasm = [
  "wasm_bindgen",
  "concision-init?/wasm",
  "concision-traits/wasm",
  "rayon?/web_spin_lock",
  "rspace-traits/wasm",
]

# ********* [FF] Dependencies *********

alloc = [
  "concision-init?/alloc",
  "concision-traits/alloc",
  "rspace-traits/alloc",
  "serde?/alloc",
  "serde_json?/alloc",
  "variants/alloc",
]

approx = [
  "dep:approx",
  "concision-init?/approx",
  "ndarray/approx",
]

blas = [
  "concision-init?/blas",
  "ndarray/blas",
]

complex = [
  "dep:num-complex",
  "concision-init?/complex",
  "concision-traits/complex",
  "rspace-traits/complex",
]

rand = [  
  "dep:concision-init",
  "concision-traits/rand",
  "num-complex?/rand",
  "rspace-traits/rand",
]

rayon = [
  "dep:rayon",
  "ndarray/rayon",
  "concision-init?/rayon",
  "rspace-traits/rayon",
]

serde = [
  "dep:serde",
  "dep:serde_derive",
  "concision-init?/serde",
  "concision-traits/serde",
  "ndarray/serde",
  "num-complex?/serde",
  "rspace-traits/serde",
]

serde_json = ["dep:serde_json"]

wasm_bindgen = [
  "dep:wasm-bindgen",
  "concision-init?/wasm_bindgen",
  "concision-traits/wasm_bindgen",
  "rspace-traits/wasm_bindgen",
]