aboutsummaryrefslogtreecommitdiff
path: root/rand/rand_xoshiro/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rand/rand_xoshiro/src/lib.rs')
-rw-r--r--rand/rand_xoshiro/src/lib.rs94
1 files changed, 0 insertions, 94 deletions
diff --git a/rand/rand_xoshiro/src/lib.rs b/rand/rand_xoshiro/src/lib.rs
deleted file mode 100644
index 3047e92..0000000
--- a/rand/rand_xoshiro/src/lib.rs
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2018 Developers of the Rand project.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! This crate implements the [xoshiro] family of pseudorandom number generators
-//! designed by David Blackman and Sebastiano Vigna. They feature high
-//! perfomance and a small state and superseed the previous xorshift-based
-//! generators. However, they are no cryptographically secure and their output
-//! can be predicted by observing a few samples.
-//!
-//! The following generators are implemented:
-//!
-//! # 64-bit generators
-//! - [`Xoshiro256StarStar`]: Recommended for all purposes. Excellent speed and
-//! a state space (256 bits) large enough for any parallel application.
-//! - [`Xoshiro256Plus`]: Recommended for generating 64-bit floating-point
-//! numbers. About 15% faster than `Xoshiro256StarStar`, but has a [low linear
-//! complexity] in the lowest bits (which are discarded when generating
-//! floats), making it fail linearity tests. This is unlikely to have any
-//! impact in practise.
-//! - [`Xoroshiro128StarStar`]: An alternative to `Xoshiro256StarStar`, having
-//! the same speed but using half the state. Only suited for low-scale parallel
-//! applications.
-//! - [`Xoroshiro128Plus`]: An alternative to `Xoshiro256Plus`, having the same
-//! speed but using half the state. Only suited for low-scale parallel
-//! applications. Has a [low linear complexity] in the lowest bits (which are
-//! discarded when generating floats), making it fail linearity tests. This is
-//! unlikely to have any impact in practise.
-//! - [`Xoshiro512StarStar`]: An alternative to `Xoshiro256StarStar` with more
-//! state and the same speed.
-//! - [`Xoshiro512Plus`]: An alternative to `Xoshiro512Plus` with more
-//! state and the same speed. Has a [low linear complexity] in the lowest bits
-//! (which are discarded when generating floats), making it fail linearity
-//! tests. This is unlikely to have any impact in practise.
-//! - [`SplitMix64`]: Recommended for initializing generators of the xoshiro
-//! familiy from a 64-bit seed. Used for implementing `seed_from_u64`.
-//!
-//! # 32-bit generators
-//! - [`Xoshiro128StarStar`]: Recommended for all purposes. Excellent speed.
-//! - [`Xoshiro128Plus`]: Recommended for generating 32-bit floating-point
-//! numbers. Faster than `Xoshiro128StarStar`, but has a [low linear
-//! complexity] in the lowest bits (which are discarded when generating
-//! floats), making it fail linearity tests. This is unlikely to have any
-//! impact in practise.
-//! - [`Xoroshiro64StarStar`]: An alternative to `Xoshiro128StarStar`, having
-//! the same speed but using half the state.
-//! - [`Xoroshiro64Star`]: An alternative to `Xoshiro128Plus`, having the
-//! same speed but using half the state. Has a [low linear complexity] in the
-//! lowest bits (which are discarded when generating floats), making it fail
-//! linearity tests. This is unlikely to have any impact in practise.
-//!
-//! [xoshiro]: http://xoshiro.di.unimi.it/
-//! [low linear complexity]: http://xoshiro.di.unimi.it/lowcomp.php
-
-#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png",
- html_favicon_url = "https://www.rust-lang.org/favicon.ico",
- html_root_url = "https://docs.rs/rand_xoshiro/0.3.1")]
-
-#![deny(missing_docs)]
-#![deny(missing_debug_implementations)]
-#![allow(clippy::unreadable_literal)]
-#![no_std]
-
-#[macro_use]
-mod common;
-mod splitmix64;
-mod xoshiro128starstar;
-mod xoshiro128plus;
-mod xoshiro256starstar;
-mod xoshiro256plus;
-mod xoshiro512starstar;
-mod xoshiro512plus;
-mod xoroshiro128plus;
-mod xoroshiro128starstar;
-mod xoroshiro64starstar;
-mod xoroshiro64star;
-
-pub use rand_core;
-pub use splitmix64::SplitMix64;
-pub use xoshiro128starstar::Xoshiro128StarStar;
-pub use xoshiro128plus::Xoshiro128Plus;
-pub use xoshiro256starstar::Xoshiro256StarStar;
-pub use xoshiro256plus::Xoshiro256Plus;
-pub use common::Seed512;
-pub use xoshiro512starstar::Xoshiro512StarStar;
-pub use xoshiro512plus::Xoshiro512Plus;
-pub use xoroshiro128plus::Xoroshiro128Plus;
-pub use xoroshiro128starstar::Xoroshiro128StarStar;
-pub use xoroshiro64starstar::Xoroshiro64StarStar;
-pub use xoroshiro64star::Xoroshiro64Star;