probability/lib.rs
1//! A probability-theory toolbox.
2//!
3//! ## Example
4//!
5//! ```
6//! use probability::prelude::*;
7//!
8//! let mut source = source::default(42);
9//! let distribution = Uniform::new(0.0, 1.0);
10//! let sampler = Independent(&distribution, &mut source);
11//! let samples = sampler.take(10).collect::<Vec<_>>();
12//! ```
13
14#![no_std]
15
16#[cfg(test)]
17extern crate assert;
18
19extern crate alloc;
20extern crate random;
21extern crate special;
22
23macro_rules! nonnan(
24 ($argument:ident) => (if $argument.is_nan() { return ::core::f64::NAN; });
25);
26
27macro_rules! should(
28 ($requirement:expr) => (debug_assert!($requirement));
29 ($requirement:expr, $code:expr) => (debug_assert!($code, stringify!($requirement)));
30);
31
32pub mod distribution;
33pub mod prelude;
34pub mod sampler;
35pub mod source;