| [package] |
| name = "rand" |
| version = "0.8.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 = "2018" |
| include = ["src/", "LICENSE-*", "README.md", "CHANGELOG.md", "COPYRIGHT"] |
| |
| [features] |
| # Meta-features: |
| default = ["std", "std_rng"] |
| nightly = [] # enables performance optimizations requiring nightly rust |
| serde1 = ["serde"] |
| |
| # 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", "getrandom", "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): experimental SIMD support |
| simd_support = ["packed_simd"] |
| |
| # Option (enabled by default): enable StdRng |
| std_rng = ["rand_chacha", "rand_hc"] |
| |
| # Option: enable SmallRng |
| small_rng = [] |
| |
| [workspace] |
| members = [ |
| "rand_core", |
| "rand_distr", |
| "rand_chacha", |
| "rand_hc", |
| "rand_pcg", |
| ] |
| |
| [dependencies] |
| rand_core = { path = "rand_core", version = "0.6.0" } |
| log = { version = "0.4.4", optional = true } |
| serde = { version = "1.0.103", features = ["derive"], optional = true } |
| |
| [dependencies.packed_simd] |
| # NOTE: so far no version works reliably due to dependence on unstable features |
| package = "packed_simd_2" |
| version = "0.3.4" |
| optional = true |
| features = ["into_bits"] |
| |
| [target.'cfg(unix)'.dependencies] |
| # Used for fork protection (reseeding.rs) |
| libc = { version = "0.2.22", optional = true, default-features = false } |
| |
| # Emscripten does not support 128-bit integers, which are used by ChaCha code. |
| # We work around this by using a different RNG. |
| [target.'cfg(not(target_os = "emscripten"))'.dependencies] |
| rand_chacha = { path = "rand_chacha", version = "0.3.0", default-features = false, optional = true } |
| [target.'cfg(target_os = "emscripten")'.dependencies] |
| rand_hc = { path = "rand_hc", version = "0.3.0", optional = true } |
| |
| [dev-dependencies] |
| rand_pcg = { path = "rand_pcg", version = "0.3.0" } |
| # Only for benches: |
| rand_hc = { path = "rand_hc", version = "0.3.0" } |
| # Only to test serde1 |
| bincode = "1.2.1" |
| |
| [package.metadata.docs.rs] |
| # To build locally: |
| # RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --no-deps --open |
| all-features = true |
| rustdoc-args = ["--cfg", "doc_cfg"] |