pub fn gen_res53<R: rand::RngCore>(rng: &mut R) -> f64 {
    let a = rng.next_u32() >> 5;
    let b = rng.next_u32() >> 6;
    (a as f64 * 67108864.0 + b as f64) * (1.0 / 9007199254740992.0)
}
/* generates a random number on [0,1) with 53-bit resolution*/
generates a random number on [0,1) with 53-bit resolution
generates a random number on [ 0 1 ) with 53 - bit resolution
pub fn gen_res53<R: rand::RngCore>(rng: &mut R) -> f64 {
    let a = rng.next_u32() >> 5;
    let b = rng.next_u32() >> 6;
    (a as f64 * 67108864.0 + b as f64) * (1.0 / 9007199254740992.0)
}
pub fn gen_res53 < R : rand :: RngCore > ( rng : & mut R ) -> f64 { let a = rng . next_u32 ( ) >> 5 ; let b = rng . next_u32 ( ) >> 6 ; ( a as f64 * 67108864.0 + b as f64 ) * ( 1.0 / 9007199254740992.0 ) }
generates a random number on [0,1) with 53-bit resolution
generates a random number on [ 0 1 ) with 53 - bit resolution
rng
&mut R
rng
&mut R