[package] name = "std-dev" description = "Your Swiss Army knife for swiftly processing any amount of data. Implemented for industrial and educational purposes alike." # strip=true in profile below, # 1.56 for edition 2021 rust-version = "1.59" version = "0.1.0" edition = "2021" license = "LGPL-3.0-or-later" homepage = "https://github.com/Icelk/std-dev" repository = "https://github.com/Icelk/std-dev" exclude = ["data-samples"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "std-dev" path = "src/bin/main.rs" required-features = ["bin"] [dependencies] rand = { version = "0.8", optional = true } num-traits = { version = "0.2", default-features = false, features = ["std"], optional = true } nalgebra = { version = "0.32", optional = true } simba = { version = "0.8", optional = true, default-features = false } approx = { version = "0.5", optional = true, default-features = false } rug = { version = "1.15", optional = true } colored = { version = "2.0", optional = true } atty = { version = "0.2.14", optional = true } clap = { version = "4.0", optional = true, features = ["cargo"] } clap_autocomplete = { version = "0.4", optional = true } poloto = { version = "18", optional = true, default-features = false } hypermelon = "0.5.0" rand_xorshift = { version = "0.3.0", optional = true } [features] default = ["bin", "pretty", "completion", "regression", "ols", "percentile-rand", "generic-impls", "binary_search_rng", "random_subset_regression"] # Very commonly used features base = ["percentile-rand", "binary_search_rng", "generic-impls"] ## # Library features (also applies to binary) ## regression = [] # Enables the random support of the binary search estimator (recommended) binary_search_rng = ["rand", "rand_xorshift"] # Enables speedier regression by only considering random subsets of data random_subset_regression = ["rand"] # Enables the Ordinary Least Squares estimator. # # This also allows Theil-Sen polynomial estimator with degrees > 2 # and polynomial regression in the `best_fit` functions. ols = ["nalgebra", "regression"] # Arbitrary precision for regression. # # Increases max degree of polynomial (with good results). # Without this feature, it's basically limited to 10 degrees. arbitrary-precision = ["rug", "simba", "regression", "num-traits", "num-traits/std", "approx"] # Enables the recommended pivot_fn for `percentile::*` functions. percentile-rand = ["rand"] # Allows for generic implementation of traits from this crate. generic-impls = ["num-traits"] ## # Binary features ## bin = ["clap", "poloto", "regression", "binary_search_rng", "ols"] # Prettier bin output pretty = ["bin", "atty", "colored"] # Shell completion output completion = ["clap_autocomplete"] [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] getrandom = { version = "0.2", features = ["js"] } # Build with `--profile production` [profile.production] inherits = "release" lto = true strip = true opt-level = "s" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]