# 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 = "2024"
rust-version = "1.92"
name = "tsetlin-rs"
version = "0.3.2"
authors = ["RAprogramm <andrey.rozanov.vl@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A professional Rust implementation of the Tsetlin Machine algorithm"
readme = "README.md"
keywords = [
    "machine-learning",
    "tsetlin-machine",
    "classification",
    "interpretable-ml",
]
categories = [
    "science",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/RAprogramm/tsetlin-rs"

[features]
default = ["std"]
full = [
    "simd",
    "parallel",
    "serde",
]
parallel = [
    "std",
    "rayon",
    "crossbeam-utils",
]
serde = [
    "dep:serde",
    "smallvec/serde",
]
simd = ["std"]
std = []

[lib]
name = "tsetlin_rs"
path = "src/lib.rs"

[[example]]
name = "benchmark_advanced"
path = "examples/benchmark_advanced.rs"

[[example]]
name = "iris"
path = "examples/iris.rs"

[[example]]
name = "test_weighted"
path = "examples/test_weighted.rs"

[[example]]
name = "xor"
path = "examples/xor.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "proptest"
path = "tests/proptest.rs"

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

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

[dependencies.crossbeam-utils]
version = "0.8"
optional = true

[dependencies.rand]
version = "0.9"
features = [
    "small_rng",
    "thread_rng",
]
default-features = false

[dependencies.rand_xoshiro]
version = "0.7"

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

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

[dependencies.smallvec]
version = "1.15"

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

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