# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "sublinear"
version = "0.3.0"
authors = ["rUv <github.com/ruvnet>"]
build = false
include = [
    "src/**/*.rs",
    "benches/*.rs",
    "Cargo.toml",
    "README.md",
    "LICENSE",
    "CHANGELOG.md",
    "BENCHMARK.md",
    "docs/adr/*.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance sublinear-time solver for asymmetric diagonally dominant systems"
readme = "README.md"
keywords = [
    "linear-algebra",
    "sparse-matrix",
    "solver",
    "sublinear",
    "wasm",
]
categories = [
    "mathematics",
    "science",
    "wasm",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/sublinear-time-solver"

[features]
cli = [
    "clap",
    "tokio",
    "axum",
    "serde_json",
    "uuid",
    "colored",
]
dashboard = [
    "chrono",
    "csv",
    "bincode",
    "base64",
    "serde_yaml",
    "rmp-serde",
    "hostname",
    "num_cpus",
    "tokio",
    "serde_json",
]
default = [
    "std",
    "serde",
]
parallel = [
    "rayon",
    "std",
]
serde = ["dep:serde"]
simd = ["wide"]
std = [
    "env_logger",
    "lazy_static",
]
wasm = [
    "wasm-bindgen",
    "web-sys",
    "js-sys",
    "serde-wasm-bindgen",
    "console_error_panic_hook",
    "getrandom/js",
    "fastrand",
    "rand/getrandom",
]
wee_alloc = ["dep:wee_alloc"]

[lib]
name = "sublinear_solver"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[bin]]
name = "prove_consciousness"
path = "src/bin/prove_consciousness.rs"

[[bench]]
name = "solver_benchmarks"
path = "benches/solver_benchmarks.rs"
harness = false

[dependencies.approx]
version = "0.5.1"
features = ["std"]

[dependencies.axum]
version = "0.7"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.bincode]
version = "1.3"
optional = true

[dependencies.bit-set]
version = "0.5"

[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true

[dependencies.clap]
version = "4.0"
features = ["derive"]
optional = true

[dependencies.colored]
version = "2.0"
optional = true

[dependencies.console_error_panic_hook]
version = "0.1"
optional = true

[dependencies.csv]
version = "1.3"
optional = true

[dependencies.env_logger]
version = "0.10"
optional = true

[dependencies.fastrand]
version = "2.0"
optional = true

[dependencies.fnv]
version = "1.0"

[dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true

[dependencies.hostname]
version = "0.3"
optional = true

[dependencies.js-sys]
version = "0.3"
optional = true

[dependencies.lazy_static]
version = "1.4"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.nalgebra]
version = "0.32"
features = ["serde-serialize"]
default-features = false

[dependencies.nanosecond-scheduler]
version = "0.1.1"

[dependencies.num-complex]
version = "0.4"

[dependencies.num-traits]
version = "0.2"

[dependencies.num_cpus]
version = "1.16"
optional = true

[dependencies.rand]
version = "0.8"
features = [
    "small_rng",
    "std_rng",
    "std",
]
default-features = false

[dependencies.rayon]
version = "1.7"
optional = true

[dependencies.rmp-serde]
version = "1.1"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.serde_yaml]
version = "0.9"
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = ["full"]
optional = true

[dependencies.uuid]
version = "1.6"
features = ["v4"]
optional = true

[dependencies.wasm-bindgen]
version = "0.2"
features = ["serde-serialize"]
optional = true

[dependencies.web-sys]
version = "0.3"
features = [
    "console",
    "Window",
    "Performance",
    "PerformanceEntry",
]
optional = true

[dependencies.wee_alloc]
version = "0.4"
optional = true

[dependencies.wide]
version = "0.7"
optional = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.proptest]
version = "1.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]

[profile.bench]
debug = 2
inherits = "release"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"

[profile.release-wasm]
opt-level = "s"
lto = "fat"
inherits = "release"
