use core::scalar
use core::functions
use math::constants
use math::trigonometry
use math::transcendental
fn cot(x: Scalar) -> Scalar = 1 / tan(x)
fn acot(x: Scalar) -> Scalar = atan(1 / x)
fn coth(x: Scalar) -> Scalar = (e^x + e^-x) / (e^x - e^-x)
fn acoth(x: Scalar) -> Scalar = 1/2 × ln((x + 1) / (x - 1))
fn secant(x: Scalar) -> Scalar = 1 / cos(x)
fn arcsecant(x: Scalar) -> Scalar = acos(1 / x)
fn cosecant(x: Scalar) -> Scalar = 1 / sin(x)
fn csc(x: Scalar) -> Scalar = cosecant(x)
fn acsc(x: Scalar) -> Scalar = asin(1 / x)
fn sech(x: Scalar) -> Scalar = 1 / cosh(x)
fn asech(x: Scalar) -> Scalar = ln(sqrt(1 / x - 1) sqrt(1 / x + 1) + 1 / x)
fn csch(x: Scalar) -> Scalar = 1 / sinh(x)
fn acsch(x: Scalar) -> Scalar = ln(sqrt(1 + 1 / x^2) + 1 / x)