# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "rand_xorshift"
version = "0.1.1"
authors = ["The Rand Project Developers", "The Rust Project Developers"]
description = "Xorshift random number generator\n"
homepage = "https://crates.io/crates/rand_xorshift"
documentation = "https://rust-random.github.io/rand/rand_xorshift"
readme = "README.md"
keywords = ["random", "rng", "xorshift"]
categories = ["algorithms", "no-std"]
license = "MIT/Apache-2.0"
repository = "https://github.com/rust-random/rand"
[dependencies.rand_core]
version = ">=0.2, <0.4"
default-features = false

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

[dependencies.serde_derive]
version = "^1.0.38"
optional = true
[dev-dependencies.bincode]
version = "1"

[features]
serde1 = ["serde", "serde_derive"]
[badges.appveyor]
repository = "rust-random/rand"

[badges.travis-ci]
repository = "rust-random/rand"
