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∉π/2+πZx \notin \pi/2 + \pi\mathbb{Z} for the tangent (never GR_DOMAIN, since the poles are irrational), ∣x∣≤1|x| \le 1 for asin and acos, and for pow, x>0x > 0, or x=0x = 0 and y≥0y \ge 0, or x<0x < 0 and y∈Zy \in \mathbb{Z}.

Where the composition fails for a ball inside the domain, dNb_asin and dNb_acos (at and near ±1\pm 1, where 1−x21 - 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 2402^{40} or more uses arb_pow_fmpz. dNb_atan2 always returns a finite enclosure: atan⁡(y/x)\operatorname{atan}(y/x) adjusted by ±π\pm\pi for xx away from zero, π\pi when x<0x < 0 and y=0y = 0 exactly, [0±π][0 \pm \pi] when x<0x < 0 and yy otherwise contains zero (the branch cut), ±π/2−atan⁡(x/y)\pm\pi/2 - \operatorname{atan}(x/y) for xx containing zero and yy away from it, and [0±π][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-11-02).