FLINT3.7.0-dev

d1c_exp, d2c_exp, d3c_exp, d4c_exp, d1c_log, d2c_log, d3c_log, d4c_log, d1c_sin, d2c_sin, d3c_sin, d4c_sin, d1c_cos, d2c_cos, d3c_cos, d4c_cos, d1c_sin_cos, d2c_sin_cos, d3c_sin_cos, d4c_sin_cos, d1c_tan, d2c_tan, d3c_tan, d4c_tan, d1c_sinh, d2c_sinh, d3c_sinh, d4c_sinh, d1c_cosh, d2c_cosh, d3c_cosh, d4c_cosh, d1c_tanh, d2c_tanh, d3c_tanh, d4c_tanh, d1c_pow, d2c_pow, d3c_pow, d4c_pow, d1cb_exp, d2cb_exp, d3cb_exp, d4cb_exp, d1cb_log, d2cb_log, d3cb_log, d4cb_log, d1cb_sin, d2cb_sin, d3cb_sin, d4cb_sin, d1cb_cos, d2cb_cos, d3cb_cos, d4cb_cos, d1cb_sin_cos, d2cb_sin_cos, d3cb_sin_cos, d4cb_sin_cos, d1cb_tan, d2cb_tan, d3cb_tan, d4cb_tan, d1cb_sinh, d2cb_sinh, d3cb_sinh, d4cb_sinh, d1cb_cosh, d2cb_cosh, d3cb_cosh, d4cb_cosh, d1cb_tanh, d2cb_tanh, d3cb_tanh, d4cb_tanh, d1cb_pow, d2cb_pow, d3cb_pow, d4cb_pow

Synopsis#include <flint/dfloat.h>
void d1c_exp(d1c_t res, d1c_srcptr x)
void d2c_exp(d2c_t res, d2c_srcptr x)
void d3c_exp(d3c_t res, d3c_srcptr x)
void d4c_exp(d4c_t res, d4c_srcptr x)
void d1c_log(d1c_t res, d1c_srcptr x)
void d2c_log(d2c_t res, d2c_srcptr x)
void d3c_log(d3c_t res, d3c_srcptr x)
void d4c_log(d4c_t res, d4c_srcptr x)
void d1c_sin(d1c_t res, d1c_srcptr x)
void d2c_sin(d2c_t res, d2c_srcptr x)
void d3c_sin(d3c_t res, d3c_srcptr x)
void d4c_sin(d4c_t res, d4c_srcptr x)
void d1c_cos(d1c_t res, d1c_srcptr x)
void d2c_cos(d2c_t res, d2c_srcptr x)
void d3c_cos(d3c_t res, d3c_srcptr x)
void d4c_cos(d4c_t res, d4c_srcptr x)
void d1c_sin_cos(d1c_t sn, d1c_t cs, d1c_srcptr x)
void d2c_sin_cos(d2c_t sn, d2c_t cs, d2c_srcptr x)
void d3c_sin_cos(d3c_t sn, d3c_t cs, d3c_srcptr x)
void d4c_sin_cos(d4c_t sn, d4c_t cs, d4c_srcptr x)
void d1c_tan(d1c_t res, d1c_srcptr x)
void d2c_tan(d2c_t res, d2c_srcptr x)
void d3c_tan(d3c_t res, d3c_srcptr x)
void d4c_tan(d4c_t res, d4c_srcptr x)
void d1c_sinh(d1c_t res, d1c_srcptr x)
void d2c_sinh(d2c_t res, d2c_srcptr x)
void d3c_sinh(d3c_t res, d3c_srcptr x)
void d4c_sinh(d4c_t res, d4c_srcptr x)
void d1c_cosh(d1c_t res, d1c_srcptr x)
void d2c_cosh(d2c_t res, d2c_srcptr x)
void d3c_cosh(d3c_t res, d3c_srcptr x)
void d4c_cosh(d4c_t res, d4c_srcptr x)
void d1c_tanh(d1c_t res, d1c_srcptr x)
void d2c_tanh(d2c_t res, d2c_srcptr x)
void d3c_tanh(d3c_t res, d3c_srcptr x)
void d4c_tanh(d4c_t res, d4c_srcptr x)
void d1c_pow(d1c_t res, d1c_srcptr x, d1c_srcptr y)
void d2c_pow(d2c_t res, d2c_srcptr x, d2c_srcptr y)
void d3c_pow(d3c_t res, d3c_srcptr x, d3c_srcptr y)
void d4c_pow(d4c_t res, d4c_srcptr x, d4c_srcptr y)
void d1cb_exp(d1cb_t res, d1cb_srcptr x)
void d2cb_exp(d2cb_t res, d2cb_srcptr x)
void d3cb_exp(d3cb_t res, d3cb_srcptr x)
void d4cb_exp(d4cb_t res, d4cb_srcptr x)
int d1cb_log(d1cb_t res, d1cb_srcptr x)
int d2cb_log(d2cb_t res, d2cb_srcptr x)
int d3cb_log(d3cb_t res, d3cb_srcptr x)
int d4cb_log(d4cb_t res, d4cb_srcptr x)
void d1cb_sin(d1cb_t res, d1cb_srcptr x)
void d2cb_sin(d2cb_t res, d2cb_srcptr x)
void d3cb_sin(d3cb_t res, d3cb_srcptr x)
void d4cb_sin(d4cb_t res, d4cb_srcptr x)
void d1cb_cos(d1cb_t res, d1cb_srcptr x)
void d2cb_cos(d2cb_t res, d2cb_srcptr x)
void d3cb_cos(d3cb_t res, d3cb_srcptr x)
void d4cb_cos(d4cb_t res, d4cb_srcptr x)
void d1cb_sin_cos(d1cb_t sn, d1cb_t cs, d1cb_srcptr x)
void d2cb_sin_cos(d2cb_t sn, d2cb_t cs, d2cb_srcptr x)
void d3cb_sin_cos(d3cb_t sn, d3cb_t cs, d3cb_srcptr x)
void d4cb_sin_cos(d4cb_t sn, d4cb_t cs, d4cb_srcptr x)
int d1cb_tan(d1cb_t res, d1cb_srcptr x)
int d2cb_tan(d2cb_t res, d2cb_srcptr x)
int d3cb_tan(d3cb_t res, d3cb_srcptr x)
int d4cb_tan(d4cb_t res, d4cb_srcptr x)
void d1cb_sinh(d1cb_t res, d1cb_srcptr x)
void d2cb_sinh(d2cb_t res, d2cb_srcptr x)
void d3cb_sinh(d3cb_t res, d3cb_srcptr x)
void d4cb_sinh(d4cb_t res, d4cb_srcptr x)
void d1cb_cosh(d1cb_t res, d1cb_srcptr x)
void d2cb_cosh(d2cb_t res, d2cb_srcptr x)
void d3cb_cosh(d3cb_t res, d3cb_srcptr x)
void d4cb_cosh(d4cb_t res, d4cb_srcptr x)
int d1cb_tanh(d1cb_t res, d1cb_srcptr x)
int d2cb_tanh(d2cb_t res, d2cb_srcptr x)
int d3cb_tanh(d3cb_t res, d3cb_srcptr x)
int d4cb_tanh(d4cb_t res, d4cb_srcptr x)
int d1cb_pow(d1cb_t res, d1cb_srcptr x, d1cb_srcptr y)
int d2cb_pow(d2cb_t res, d2cb_srcptr x, d2cb_srcptr y)
int d3cb_pow(d3cb_t res, d3cb_srcptr x, d3cb_srcptr y)
int d4cb_pow(d4cb_t res, d4cb_srcptr x, d4cb_srcptr y)

Elementary functions (principal branches, with the branch cut of log, sqrt and pow on (-\infty, 0], continuous from above), as compositions of the real functions. The ball versions of log, tan, tanh and pow return a status following the domains in Complex balls.

\exp(a + bi) = e^a(\cos b + i\sin b); \log z = \log|z| + i\operatorname{atan2}(b, a), where \log|z| is \operatorname{log1p}((p - 1)(p + 1) + q^2)/2 (p the larger part) when |z|^2 is near 1, so that it stays relative; \sin, \cos, \sinh, \cosh by the addition formulas; \tan z = (t + ui)/(1 - tui) with t = \tan a and u = \tanh b, or, where \tan a fails and b is away from zero, i(1 - w)/(1 + w) with w = e^{2iz} taken with |w| < 1; \tanh z = -i\tan(iz); and x^y by binary powering for an integer y with |y| < 2^{40} and \exp(y \log x) otherwise.

Cite this page

The FLINT team, “d1c_exp, d2c_exp, d3c_exp, d4c_exp, d1c_log, d2c_log, d3c_log, d4c_log, d1c_sin, d2c_sin, d3c_sin, d4c_sin, d1c_cos, d2c_cos, d3c_cos, d4c_cos, d1c_sin_cos, d2c_sin_cos, d3c_sin_cos, d4c_sin_cos, d1c_tan, d2c_tan, d3c_tan, d4c_tan, d1c_sinh, d2c_sinh, d3c_sinh, d4c_sinh, d1c_cosh, d2c_cosh, d3c_cosh, d4c_cosh, d1c_tanh, d2c_tanh, d3c_tanh, d4c_tanh, d1c_pow, d2c_pow, d3c_pow, d4c_pow, d1cb_exp, d2cb_exp, d3cb_exp, d4cb_exp, d1cb_log, d2cb_log, d3cb_log, d4cb_log, d1cb_sin, d2cb_sin, d3cb_sin, d4cb_sin, d1cb_cos, d2cb_cos, d3cb_cos, d4cb_cos, d1cb_sin_cos, d2cb_sin_cos, d3cb_sin_cos, d4cb_sin_cos, d1cb_tan, d2cb_tan, d3cb_tan, d4cb_tan, d1cb_sinh, d2cb_sinh, d3cb_sinh, d4cb_sinh, d1cb_cosh, d2cb_cosh, d3cb_cosh, d4cb_cosh, d1cb_tanh, d2cb_tanh, d3cb_tanh, d4cb_tanh, d1cb_pow, d2cb_pow, d3cb_pow, d4cb_pow (dfloat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/dfloat/d1c_exp.html (generated 2026-10-20).