rustic_runtime 0.1.0

Runtime support library for the Rustic programming language
Documentation
pub fn sqrt(x: f64) -> f64 {
    x.sqrt()
}

pub fn pow<T: Into<f64>>(x: T, y: T) -> f64 {
    let xf = x.into();
    let yf = y.into();
    xf.powf(yf)
}

pub fn abs<T: Into<f64> + Copy>(x: T) -> f64 {
    x.into().abs()
}

pub fn min<T: Into<f64> + Copy>(a: T, b: T) -> f64 {
    let a = a.into();
    let b = b.into();
    a.min(b)
}

pub fn max<T: Into<f64> + Copy>(a: T, b: T) -> f64 {
    let a = a.into();
    let b = b.into();
    a.max(b)
}

pub fn clamp<T: Into<f64> + Copy>(x: T, min_val: T, max_val: T) -> f64 {
    let x = x.into();
    let min_val = min_val.into();
    let max_val = max_val.into();
    x.max(min_val).min(max_val)
}