opensimplex2 1.1.0

Port of OpenSimplex2
Documentation
use std::ffi::{c_double, c_float, c_longlong};

use crate::{fast, smooth};

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise2(seed: c_longlong, x: c_double, y: c_double) -> c_float {
    fast::noise2(seed, x, y)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise2_ImproveX(
    seed: c_longlong,
    x: c_double,
    y: c_double,
) -> c_float {
    fast::noise2_ImproveX(seed, x, y)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise3_ImproveXY(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    fast::noise3_ImproveXY(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise3_ImproveXZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    fast::noise3_ImproveXZ(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise3_Fallback(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    fast::noise3_Fallback(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise4_ImproveXYZ_ImproveXY(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    fast::noise4_ImproveXYZ_ImproveXY(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise4_ImproveXYZ_ImproveXZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    fast::noise4_ImproveXYZ_ImproveXZ(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise4_ImproveXYZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    fast::noise4_ImproveXYZ(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise4_ImproveXY_ImproveZW(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    fast::noise4_ImproveXY_ImproveZW(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_fast_noise4_Fallback(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    fast::noise4_Fallback(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise2(
    seed: c_longlong,
    x: c_double,
    y: c_double,
) -> c_float {
    smooth::noise2(seed, x, y)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise2_ImproveX(
    seed: c_longlong,
    x: c_double,
    y: c_double,
) -> c_float {
    smooth::noise2_ImproveX(seed, x, y)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise3_ImproveXY(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    smooth::noise3_ImproveXY(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise3_ImproveXZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    smooth::noise3_ImproveXZ(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise3_Fallback(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
) -> c_float {
    smooth::noise3_Fallback(seed, x, y, z)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise4_ImproveXYZ_ImproveXY(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    smooth::noise4_ImproveXYZ_ImproveXY(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise4_ImproveXYZ_ImproveXZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    smooth::noise4_ImproveXYZ_ImproveXZ(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise4_ImproveXYZ(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    smooth::noise4_ImproveXYZ(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise4_ImproveXY_ImproveZW(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    smooth::noise4_ImproveXY_ImproveZW(seed, x, y, z, w)
}

#[no_mangle]
pub extern "C" fn opensimplex2_smooth_noise4_Fallback(
    seed: c_longlong,
    x: c_double,
    y: c_double,
    z: c_double,
    w: c_double,
) -> c_float {
    smooth::noise4_Fallback(seed, x, y, z, w)
}