FLINT3.7.0-dev

d1b_tan, d2b_tan, d3b_tan, d4b_tan, d1b_sinh, d2b_sinh, d3b_sinh, d4b_sinh, d1b_cosh, d2b_cosh, d3b_cosh, d4b_cosh, d1b_tanh, d2b_tanh, d3b_tanh, d4b_tanh, d1b_asin, d2b_asin, d3b_asin, d4b_asin, d1b_acos, d2b_acos, d3b_acos, d4b_acos, d1b_atan2, d2b_atan2, d3b_atan2, d4b_atan2, d1b_pow, d2b_pow, d3b_pow, d4b_pow

Synopsis#include <flint/dfloat.h>
int d1b_tan(d1b_t res, d1b_srcptr x)
int d2b_tan(d2b_t res, d2b_srcptr x)
int d3b_tan(d3b_t res, d3b_srcptr x)
int d4b_tan(d4b_t res, d4b_srcptr x)
void d1b_sinh(d1b_t res, d1b_srcptr x)
void d2b_sinh(d2b_t res, d2b_srcptr x)
void d3b_sinh(d3b_t res, d3b_srcptr x)
void d4b_sinh(d4b_t res, d4b_srcptr x)
void d1b_cosh(d1b_t res, d1b_srcptr x)
void d2b_cosh(d2b_t res, d2b_srcptr x)
void d3b_cosh(d3b_t res, d3b_srcptr x)
void d4b_cosh(d4b_t res, d4b_srcptr x)
void d1b_tanh(d1b_t res, d1b_srcptr x)
void d2b_tanh(d2b_t res, d2b_srcptr x)
void d3b_tanh(d3b_t res, d3b_srcptr x)
void d4b_tanh(d4b_t res, d4b_srcptr x)
int d1b_asin(d1b_t res, d1b_srcptr x)
int d2b_asin(d2b_t res, d2b_srcptr x)
int d3b_asin(d3b_t res, d3b_srcptr x)
int d4b_asin(d4b_t res, d4b_srcptr x)
int d1b_acos(d1b_t res, d1b_srcptr x)
int d2b_acos(d2b_t res, d2b_srcptr x)
int d3b_acos(d3b_t res, d3b_srcptr x)
int d4b_acos(d4b_t res, d4b_srcptr x)
void d1b_atan2(d1b_t res, d1b_srcptr y, d1b_srcptr x)
void d2b_atan2(d2b_t res, d2b_srcptr y, d2b_srcptr x)
void d3b_atan2(d3b_t res, d3b_srcptr y, d3b_srcptr x)
void d4b_atan2(d4b_t res, d4b_srcptr y, d4b_srcptr x)
int d1b_pow(d1b_t res, d1b_srcptr x, d1b_srcptr y)
int d2b_pow(d2b_t res, d2b_srcptr x, d2b_srcptr y)
int d3b_pow(d3b_t res, d3b_srcptr x, d3b_srcptr y)
int d4b_pow(d4b_t res, d4b_srcptr x, d4b_srcptr y)

The same functions on balls, as the same compositions of the ball functions. dNb_tan, dNb_asin, dNb_acos and dNb_pow return a status: GR_SUCCESS if the input is inside the domain, GR_DOMAIN if it is outside, and GR_UNABLE otherwise. The domains are x \notin \pi/2 + \pi\mathbb{Z} for the tangent (never GR_DOMAIN, since the poles are irrational), |x| \le 1 for asin and acos, and for pow, x > 0, or x = 0 and y \ge 0, or x < 0 and y \in \mathbb{Z}.

Where the composition fails for a ball inside the domain, dNb_asin and dNb_acos (at and near \pm 1, where 1 - x^2 contains zero) evaluate the monotone functions at the exact endpoints through arb_t, and dNb_tan (near a pole, where the absolute error of the cosine covers zero) calls arb_tan; dNb_pow with an exact integer exponent of 2^{40} or more uses arb_pow_fmpz. dNb_atan2 always returns a finite enclosure: \operatorname{atan}(y/x) adjusted by \pm\pi for x away from zero, \pi when x < 0 and y = 0 exactly, [0 \pm \pi] when x < 0 and y otherwise contains zero (the branch cut), \pm\pi/2 - \operatorname{atan}(x/y) for x containing zero and y away from it, and [0 \pm \pi] when both contain zero.

Cite this page

The FLINT team, “d1b_tan, d2b_tan, d3b_tan, d4b_tan, d1b_sinh, d2b_sinh, d3b_sinh, d4b_sinh, d1b_cosh, d2b_cosh, d3b_cosh, d4b_cosh, d1b_tanh, d2b_tanh, d3b_tanh, d4b_tanh, d1b_asin, d2b_asin, d3b_asin, d4b_asin, d1b_acos, d2b_acos, d3b_acos, d4b_acos, d1b_atan2, d2b_atan2, d3b_atan2, d4b_atan2, d1b_pow, d2b_pow, d3b_pow, d4b_pow (dfloat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/dfloat/d1b_tan.html (generated 2026-10-20).