[package] name = "rand" version = "0.9.0-alpha.0" authors = ["The Rand Project Developers", "The Rust Project Developers"] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/rust-random/rand" documentation = "https://docs.rs/rand" homepage = "https://rust-random.github.io/book" description = """ Random number generators and other randomness functionality. """ keywords = ["random", "rng"] categories = ["algorithms", "no-std"] autobenches = true edition = "2021" rust-version = "1.60" include = ["src/", "LICENSE-*", "README.md", "CHANGELOG.md", "COPYRIGHT"] [package.metadata.docs.rs] # To build locally: # RUSTDOCFLAGS="--cfg doc_cfg -Zunstable-options --generate-link-to-definition" cargo +nightly doc --all --all-features --no-deps --open all-features = true rustdoc-args = ["--cfg", "doc_cfg", "--generate-link-to-definition"] [package.metadata.playground] features = ["small_rng", "serde1"] [features] # Meta-features: default = ["std", "std_rng", "getrandom"] nightly = [] # some additions requiring nightly Rust serde1 = ["serde", "rand_core/serde1"] # Option (enabled by default): without "std" rand uses libcore; this option # enables functionality expected to be available on a standard platform. std = ["rand_core/std", "rand_chacha?/std", "alloc", "libc"] # Option: "alloc" enables support for Vec and Box when not using "std" alloc = ["rand_core/alloc"] # Option: use getrandom package for seeding getrandom = ["rand_core/getrandom"] # Option (requires nightly Rust): experimental SIMD support simd_support = ["zerocopy/simd-nightly"] # Option (enabled by default): enable StdRng std_rng = ["rand_chacha"] # Option: enable SmallRng small_rng = [] # Option: use unbiased sampling for algorithms supporting this option: Uniform distribution. # By default, bias affecting no more than one in 2^48 samples is accepted. # Note: enabling this option is expected to affect reproducibility of results. unbiased = [] [workspace] members = [ "rand_core", "rand_distr", "rand_chacha", "rand_pcg", ] [dependencies] rand_core = { path = "rand_core", version = "=0.9.0-alpha.0", default-features = false } log = { version = "0.4.4", optional = true } serde = { version = "1.0.103", features = ["derive"], optional = true } rand_chacha = { path = "rand_chacha", version = "=0.9.0-alpha.0", default-features = false, optional = true } zerocopy = { version = "=0.8.0-alpha.6", default-features = false, features = ["simd"] } [target.'cfg(unix)'.dependencies] # Used for fork protection (reseeding.rs) libc = { version = "0.2.22", optional = true, default-features = false } [dev-dependencies] rand_pcg = { path = "rand_pcg", version = "=0.9.0-alpha.0" } # Only to test serde1 bincode = "1.2.1" rayon = "1.5.3" criterion = { version = "0.4" } [[bench]] name = "uniform" path = "benches/uniform.rs" harness = false [[bench]] name = "seq_choose" path = "benches/seq_choose.rs" harness = false [[bench]] name = "shuffle" path = "benches/shuffle.rs" harness = false [[bench]] name = "uniform_float" path = "benches/uniform_float.rs" harness = false