pub struct FastRandGenerator;Expand description
Implementation of RawGenerator based on fastrand.
Implementations§
Source§impl FastRandGenerator
impl FastRandGenerator
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new instance of the generator.
use chinese_rand::*;
//Normally, you won't set the seed, except in tests
//or any other context requiring predictability
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u128(0..=50000);
assert_eq!(number, 29466);Trait Implementations§
Source§impl Default for FastRandGenerator
FastRandGenerator can also be instantiated via its Default trait.
impl Default for FastRandGenerator
FastRandGenerator can also be instantiated via its Default trait.
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::default();
let number = generator.u128(0..=50000);
assert_eq!(number, 29466);Source§impl RawGenerator for FastRandGenerator
impl RawGenerator for FastRandGenerator
Source§fn u8(&self, range: RangeInclusive<u8>) -> u8
fn u8(&self, range: RangeInclusive<u8>) -> u8
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u8(0..=u8::MAX);
assert_eq!(number, 177);Source§fn u16(&self, range: RangeInclusive<u16>) -> u16
fn u16(&self, range: RangeInclusive<u16>) -> u16
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u16(0..=u16::MAX);
assert_eq!(number, 51377);Source§fn u32(&self, range: RangeInclusive<u32>) -> u32
fn u32(&self, range: RangeInclusive<u32>) -> u32
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u32(0..=u32::MAX);
assert_eq!(number, 2982070449);Source§fn u64(&self, range: RangeInclusive<u64>) -> u64
fn u64(&self, range: RangeInclusive<u64>) -> u64
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u64(0..=u64::MAX);
assert_eq!(number, 10871161991276185777);Source§fn u128(&self, range: RangeInclusive<u128>) -> u128
fn u128(&self, range: RangeInclusive<u128>) -> u128
use chinese_rand::*;
fastrand::seed(90);
let generator = FastRandGenerator::new();
let number = generator.u128(0..=u128::MAX);
assert_eq!(number, 200537543036910508246661533454648102841);