FLINT3.7.0-dev

deccball_neg, deccball_conj, deccball_re, deccball_im, deccball_abs, deccball_arg, deccball_sgn, deccball_csgn, deccball_add, deccball_sub, deccball_mul, deccball_sqr, deccball_div, deccball_inv, deccball_sqrt, deccball_rsqrt, deccball_add_ui, deccball_add_si, deccball_add_fmpz, deccball_sub_ui, deccball_sub_si, deccball_sub_fmpz, deccball_mul_ui, deccball_mul_si, deccball_mul_fmpz, deccball_div_ui, deccball_div_si, deccball_div_fmpz, deccball_mul_decball, deccball_div_decball, deccball_mul_i, deccball_div_i, deccball_mul_two, deccball_mul_10exp_si, deccball_mul_10exp_fmpz, deccball_mul_2exp_si, deccball_mul_2exp_fmpz, deccball_floor, deccball_ceil, deccball_trunc, deccball_nint, deccball_pow_ui, deccball_pow_si, deccball_pow_fmpz, deccball_pow

Synopsis#include <flint/decimal.h>
int deccball_neg(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_conj(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_re(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_im(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_abs(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_arg(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_sgn(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_csgn(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_add(deccball_t res, const deccball_t x, const deccball_t y, gr_ctx_t ctx)source
int deccball_sub(deccball_t res, const deccball_t x, const deccball_t y, gr_ctx_t ctx)source
int deccball_mul(deccball_t res, const deccball_t x, const deccball_t y, gr_ctx_t ctx)source
int deccball_sqr(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_div(deccball_t res, const deccball_t x, const deccball_t y, gr_ctx_t ctx)source
int deccball_inv(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_sqrt(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_rsqrt(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_add_ui(deccball_t res, const deccball_t x, ulong y, gr_ctx_t ctx)source
int deccball_add_si(deccball_t res, const deccball_t x, slong y, gr_ctx_t ctx)source
int deccball_add_fmpz(deccball_t res, const deccball_t x, const fmpz_t y, gr_ctx_t ctx)source
int deccball_sub_ui(deccball_t res, const deccball_t x, ulong y, gr_ctx_t ctx)source
int deccball_sub_si(deccball_t res, const deccball_t x, slong y, gr_ctx_t ctx)source
int deccball_sub_fmpz(deccball_t res, const deccball_t x, const fmpz_t y, gr_ctx_t ctx)source
int deccball_mul_ui(deccball_t res, const deccball_t x, ulong y, gr_ctx_t ctx)source
int deccball_mul_si(deccball_t res, const deccball_t x, slong y, gr_ctx_t ctx)source
int deccball_mul_fmpz(deccball_t res, const deccball_t x, const fmpz_t y, gr_ctx_t ctx)source
int deccball_div_ui(deccball_t res, const deccball_t x, ulong y, gr_ctx_t ctx)source
int deccball_div_si(deccball_t res, const deccball_t x, slong y, gr_ctx_t ctx)source
int deccball_div_fmpz(deccball_t res, const deccball_t x, const fmpz_t y, gr_ctx_t ctx)source
int deccball_mul_decball(deccball_t res, const deccball_t x, const decball_t y, gr_ctx_t ctx)source
int deccball_div_decball(deccball_t res, const deccball_t x, const decball_t y, gr_ctx_t ctx)source
int deccball_mul_i(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_div_i(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_mul_two(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_mul_10exp_si(deccball_t res, const deccball_t x, slong e, gr_ctx_t ctx)source
int deccball_mul_10exp_fmpz(deccball_t res, const deccball_t x, const fmpz_t e, gr_ctx_t ctx)source
int deccball_mul_2exp_si(deccball_t res, const deccball_t x, slong e, gr_ctx_t ctx)source
int deccball_mul_2exp_fmpz(deccball_t res, const deccball_t x, const fmpz_t e, gr_ctx_t ctx)source
int deccball_floor(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_ceil(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_trunc(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_nint(deccball_t res, const deccball_t x, gr_ctx_t ctx)source
int deccball_pow_ui(deccball_t res, const deccball_t x, ulong y, gr_ctx_t ctx)source
int deccball_pow_si(deccball_t res, const deccball_t x, slong y, gr_ctx_t ctx)source
int deccball_pow_fmpz(deccball_t res, const deccball_t x, const fmpz_t y, gr_ctx_t ctx)source
int deccball_pow(deccball_t res, const deccball_t x, const deccball_t y, gr_ctx_t ctx)source

Ball arithmetic. Products are computed with _decball_dot2, which forms the exact midpoint products so that the radius only accounts for the input radii and a single rounding per part; the same holds for quotients when the modulus of the divisor is bounded away from zero by the componentwise bounds, and otherwise (when the rectangle |y|^2 computed from the parts contains zero but y does not) the quotient is computed through acb. Square roots, absolute values, arguments and signs of non-real balls go through acb as the transcendental functions do.

Cite this page

The FLINT team, “deccball_neg, deccball_conj, deccball_re, deccball_im, deccball_abs, deccball_arg, deccball_sgn, deccball_csgn, deccball_add, deccball_sub, deccball_mul, deccball_sqr, deccball_div, deccball_inv, deccball_sqrt, deccball_rsqrt, deccball_add_ui, deccball_add_si, deccball_add_fmpz, deccball_sub_ui, deccball_sub_si, deccball_sub_fmpz, deccball_mul_ui, deccball_mul_si, deccball_mul_fmpz, deccball_div_ui, deccball_div_si, deccball_div_fmpz, deccball_mul_decball, deccball_div_decball, deccball_mul_i, deccball_div_i, deccball_mul_two, deccball_mul_10exp_si, deccball_mul_10exp_fmpz, deccball_mul_2exp_si, deccball_mul_2exp_fmpz, deccball_floor, deccball_ceil, deccball_trunc, deccball_nint, deccball_pow_ui, deccball_pow_si, deccball_pow_fmpz, deccball_pow (decimal.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/decimal/deccball_neg.html (generated 2026-10-20).