stochastic-rs-core 2.3.0

Core traits, SIMD RNG, and macros for stochastic-rs.
Documentation
use rand::RngCore;

use super::SimdRng;

#[test]
fn f64_in_range() {
  let mut rng = SimdRng::new();
  for _ in 0..1000 {
    let vals = rng.next_f64_array();
    for v in vals {
      assert!((0.0..1.0).contains(&v), "f64 out of range: {v}");
    }
  }
}

#[test]
fn f32_in_range() {
  let mut rng = SimdRng::new();
  for _ in 0..1000 {
    let vals = rng.next_f32_array();
    for v in vals {
      assert!((0.0..1.0).contains(&v), "f32 out of range: {v}");
    }
  }
}

#[test]
fn rng_core_works() {
  let mut rng = SimdRng::new();
  let a = rng.next_u64();
  let b = rng.next_u64();
  assert_ne!(a, b);
}