special 0.13.1

The package provides special functions.
Documentation
macro_rules! run {
    ($macro: ident) => {
        $macro! {
            (abs, Self::abs, Self::abs, () -> Self),
            (atan, Self::atan, Self::atan, () -> Self),
            (erf, libm::erff, libm::erf, () -> Self),
            (erfc, libm::erfcf, libm::erfc, () -> Self),
            (exp, Self::exp, Self::exp, () -> Self),
            (exp_m1, Self::exp_m1, Self::exp_m1, () -> Self),
            (floor, Self::floor, Self::floor, () -> Self),
            (lgamma, libm::lgammaf_r, libm::lgamma_r, () -> (Self, i32)),
            (ln, Self::ln, Self::ln, () -> Self),
            (ln_1p, Self::ln_1p, Self::ln_1p, () -> Self),
            (powf, Self::powf, Self::powf, (exponent: Self as Self) -> Self),
            (powi, Self::powi, Self::powi, (exponent: i32 as i32) -> Self),
            (round, Self::round, Self::round, () -> Self),
            (sin, Self::sin, Self::sin, () -> Self),
            (sqrt, Self::sqrt, Self::sqrt, () -> Self),
            (tan, Self::tan, Self::tan, () -> Self),
            (tgamma, libm::tgammaf, libm::tgamma, () -> Self),
            (trunc, Self::trunc, Self::trunc, () -> Self),
        }
    };
}

run! { declare }
run! { implement }