special 0.13.1

The package provides special functions.
Documentation
macro_rules! run {
    ($macro: ident) => {
        $macro! {
            (abs, libm::fabsf, libm::fabs, () -> Self),
            (atan, libm::atanf, libm::atan, () -> Self),
            (erf, libm::erff, libm::erf, () -> Self),
            (erfc, libm::erfcf, libm::erfc, () -> Self),
            (exp, libm::expf, libm::exp, () -> Self),
            (exp_m1, libm::expm1f, libm::expm1, () -> Self),
            (floor, libm::floorf, libm::floor, () -> Self),
            (lgamma, libm::lgammaf_r, libm::lgamma_r, () -> (Self, i32)),
            (ln, libm::logf, libm::log, () -> Self),
            (ln_1p, libm::log1pf, libm::log1p, () -> Self),
            (powf, libm::powf, libm::pow, (exponent: Self as Self) -> Self),
            (powi, libm::powf, libm::pow, (exponent: i32 as Self) -> Self),
            (round, libm::roundf, libm::round, () -> Self),
            (sin, libm::sinf, libm::sin, () -> Self),
            (sqrt, libm::sqrtf, libm::sqrt, () -> Self),
            (tan, libm::tanf, libm::tan, () -> Self),
            (tgamma, libm::tgammaf, libm::tgamma, () -> Self),
            (trunc, libm::truncf, libm::trunc, () -> Self),
        }
    };
}

run! { declare }
run! { implement }