libnoise 1.2.0

A simple, performant, and customizable procedural noise generation library.
Documentation
pub(crate) fn noise1d(point: [f64; 1]) -> f64 {
    ((point[0] as isize & 1) as f64).mul_add(2.0, -1.0)
}

pub(crate) fn noise2d(point: [f64; 2]) -> f64 {
    (((point[0] as isize & 1) ^ (point[1] as isize & 1)) as f64).mul_add(2.0, -1.0)
}

pub(crate) fn noise3d(point: [f64; 3]) -> f64 {
    (((point[0] as isize & 1) ^ (point[1] as isize & 1) ^ (point[2] as isize & 1)) as f64)
        .mul_add(2.0, -1.0)
}

pub(crate) fn noise4d(point: [f64; 4]) -> f64 {
    (((point[0] as isize & 1)
        ^ (point[1] as isize & 1)
        ^ (point[2] as isize & 1)
        ^ (point[3] as isize & 1)) as f64)
        .mul_add(2.0, -1.0)
}