use rand::RngExt;

// Utility Functions
pub fn degrees_to_radians(degrees: f64) -> f64 {
    degrees * std::f64::consts::PI / 180.0
}

pub fn random_f64() -> f64 {
    rand::rng().random()
}

pub fn random_range_f64(min: f64, max: f64) -> f64 {
    rand::rng().random_range(min..max)
}

pub fn clamp(x: f64, min: f64, max: f64) -> f64 {
    if x < min { return min; }
    if x > max { return max; }
    x
}

// TODO: für jeden thread einen rng() erstellen und danach droppen, anstatt für jede execution rand::rng()