#[cfg(feature="arbitrary")] use quickcheck::{Arbitrary, Gen}; use rand::{Rand, Rng}; /// Simple helper function for rejection sampling #[cfg(feature="arbitrary")] #[doc(hidden)] #[inline] pub fn reject bool, T: Arbitrary>(g: &mut G, f: F) -> T { use std::iter; iter::repeat(()).map(|_| Arbitrary::arbitrary(g)).find(f).unwrap() } #[doc(hidden)] #[inline] pub fn reject_rand bool, T: Rand>(g: &mut G, f: F) -> T { use std::iter; iter::repeat(()).map(|_| Rand::rand(g)).find(f).unwrap() }