# ------ integral ------
int abs(int)

# ------ floating ------
float asin(float)
float cos(float)
float log2(float)
float log(float)
float atan(float)
float tanh(float)
float exp2(float)
float atanh(float)
float log1p(float)
float asinh(float)
float sqrt(float)
float cosh(float)
float sinh(float)
float acosh(float)
float expm1(float)
float exp(float)
float acos(float)
float log10(float)
float sin(float)
float tan(float)

float abs(float)
float rint(float)
float ceil(float)
float trunc(float)
float floor(float)
float pow(float, float)
float hypot(float, float)
float atan2(float, float)
float logaddexp(float, float)
float logaddexp2(float, float)

# TODO: wrap the below
# float isfinite(float)
# float isinf(float)
# float isnan(float)
# float signbit(float)
# float copysign(float, float)
# float nextafter(float, float)

# ----- complex ------
complex asin(complex)
complex cos(complex)
complex log2(complex)
complex log(complex)
complex atan(complex)
complex tanh(complex)
complex exp2(complex)
complex atanh(complex)
complex log1p(complex)
complex asinh(complex)
complex sqrt(complex)
complex cosh(complex)
complex sinh(complex)
complex acosh(complex)
complex expm1(complex)
complex exp(complex)
complex acos(complex)
complex log10(complex)
complex sin(complex)
complex tan(complex)

float abs(complex)
complex pow(complex, complex)
complex rint(complex)

# arithmetic
# complex neg(complex)
# complex sum(complex, complex)
# complex diff(complex, complex)
# complex prod(complex, complex)
# complex quot(complex, complex)
