[package] name = "rand" version = "0.7.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://rust-random.github.io/rand/" homepage = "https://crates.io/crates/rand" description = """ Random number generators and other randomness functionality. """ keywords = ["random", "rng"] categories = ["algorithms", "no-std"] exclude = ["/utils/*", "/.travis.yml", "/appveyor.yml", ".gitignore"] autobenches = true edition = "2018" [badges] travis-ci = { repository = "rust-random/rand" } appveyor = { repository = "rust-random/rand" } [features] # Meta-features: default = ["std"] # without "std" rand uses libcore nightly = ["simd_support"] # enables all features requiring nightly rust serde1 = [] # does nothing, deprecated # Optional dependencies: std = ["rand_core/std", "rand_chacha/std", "alloc", "getrandom"] alloc = ["rand_core/alloc"] # enables Vec and Box support (without std) # re-export optional WASM dependencies to avoid breakage: wasm-bindgen = ["getrandom_package/wasm-bindgen"] stdweb = ["getrandom_package/stdweb"] getrandom = ["getrandom_package", "rand_core/getrandom"] # Configuration: simd_support = ["packed_simd"] # enables SIMD support small_rng = ["rand_pcg"] # enables SmallRng [workspace] members = [ "rand_core", "rand_distr", "rand_jitter", "rand_os", "rand_isaac", "rand_chacha", "rand_hc", "rand_pcg", "rand_xorshift", "rand_xoshiro", "tests/wasm_bindgen", ] [dependencies] rand_core = { path = "rand_core", version = "0.5" } rand_pcg = { path = "rand_pcg", version = "0.2", optional = true } # Do not depend on 'getrandom_package' directly; use the 'getrandom' feature! getrandom_package = { version = "0.1.1", package = "getrandom", optional = true } log = { version = "0.4", optional = true } [dependencies.packed_simd] # NOTE: so far no version works reliably due to dependence on unstable features version = "0.3" # git = "https://github.com/rust-lang-nursery/packed_simd" optional = true features = ["into_bits"] [target.'cfg(unix)'.dependencies] # Used for fork protection (reseeding.rs) libc = { version = "0.2.22", 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.2.1", default-features = false } [target.'cfg(target_os = "emscripten")'.dependencies] rand_hc = { path = "rand_hc", version = "0.2" } [dev-dependencies] rand_pcg = { path = "rand_pcg", version = "0.2" } # Only for benches: rand_hc = { path = "rand_hc", version = "0.2" } rand_xoshiro = { path = "rand_xoshiro", version = "0.3" } rand_isaac = { path = "rand_isaac", version = "0.2" } rand_xorshift = { path = "rand_xorshift", version = "0.2" } [package.metadata.docs.rs] all-features = true