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 (−∞,0](-\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)=ea(cos⁡b+isin⁡b)\exp(a + bi) = e^a(\cos b + i\sin b); log⁡z=log⁡∣z∣+iatan2⁡(b,a)\log z = \log|z| + i\operatorname{atan2}(b, a), where log⁡∣z∣\log|z| is log1p⁡((p−1)(p+1)+q2)/2\operatorname{log1p}((p - 1)(p + 1) + q^2)/2 (pp the larger part) when ∣z∣2|z|^2 is near 1, so that it stays relative; sin⁡\sin, cos⁡\cos, sinh⁡\sinh, cosh⁡\cosh by the addition formulas; tan⁡z=(t+ui)/(1−tui)\tan z = (t + ui)/(1 - tui) with t=tan⁡at = \tan a and u=tanh⁡bu = \tanh b, or, where tan⁡a\tan a fails and bb is away from zero, i(1−w)/(1+w)i(1 - w)/(1 + w) with w=e2izw = e^{2iz} taken with ∣w∣<1|w| < 1; tanh⁡z=−itan⁡(iz)\tanh z = -i\tan(iz); and xyx^y by binary powering for an integer yy with ∣y∣<240|y| < 2^{40} and exp⁡(ylog⁡x)\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-11-02).