File: test_random.rs

package info (click to toggle)
rust-fast-float2 0.2.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 272 kB
  • sloc: makefile: 2
file content (15 lines) | stat: -rw-r--r-- 454 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[test]
#[ignore]
fn test_f64_random_from_u64() {
    const N_ITER: u64 = 1 << 32;

    let mut rng = fastrand::Rng::with_seed(0);
    let mut buf = ryu::Buffer::new();
    for _ in 0..N_ITER {
        let i: u64 = rng.u64(0..0xFFFF_FFFF_FFFF_FFFF);
        let a: f64 = unsafe { core::mem::transmute(i) };
        let s = buf.format(a);
        let b: f64 = fast_float2::parse(s).unwrap();
        assert!(a == b || (a.is_nan() && b.is_nan()));
    }
}