FLINT3.7.0-dev

decball_neg, decball_abs, decball_add, decball_sub, decball_mul, decball_sqr, decball_div, decball_inv, decball_sqrt, decball_rsqrt, decball_add_ui, decball_add_si, decball_add_fmpz, decball_sub_ui, decball_sub_si, decball_sub_fmpz, decball_mul_ui, decball_mul_si, decball_mul_fmpz, decball_div_ui, decball_div_si, decball_div_fmpz, decball_mul_two, decball_mul_10exp_si, decball_mul_10exp_fmpz, decball_mul_2exp_si, decball_mul_2exp_fmpz, decball_floor, decball_ceil, decball_trunc, decball_nint, decball_pow_ui, decball_pow_si, decball_pow_fmpz

Synopsis#include <flint/decimal.h>
int decball_neg(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_abs(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_add(decball_t res, const decball_t x, const decball_t y, gr_ctx_t ctx)source
int decball_sub(decball_t res, const decball_t x, const decball_t y, gr_ctx_t ctx)source
int decball_mul(decball_t res, const decball_t x, const decball_t y, gr_ctx_t ctx)source
int decball_sqr(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_div(decball_t res, const decball_t x, const decball_t y, gr_ctx_t ctx)source
int decball_inv(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_sqrt(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_rsqrt(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_add_ui(decball_t res, const decball_t x, ulong y, gr_ctx_t ctx)source
int decball_add_si(decball_t res, const decball_t x, slong y, gr_ctx_t ctx)source
int decball_add_fmpz(decball_t res, const decball_t x, const fmpz_t y, gr_ctx_t ctx)source
int decball_sub_ui(decball_t res, const decball_t x, ulong y, gr_ctx_t ctx)source
int decball_sub_si(decball_t res, const decball_t x, slong y, gr_ctx_t ctx)source
int decball_sub_fmpz(decball_t res, const decball_t x, const fmpz_t y, gr_ctx_t ctx)source
int decball_mul_ui(decball_t res, const decball_t x, ulong y, gr_ctx_t ctx)source
int decball_mul_si(decball_t res, const decball_t x, slong y, gr_ctx_t ctx)source
int decball_mul_fmpz(decball_t res, const decball_t x, const fmpz_t y, gr_ctx_t ctx)source
int decball_div_ui(decball_t res, const decball_t x, ulong y, gr_ctx_t ctx)source
int decball_div_si(decball_t res, const decball_t x, slong y, gr_ctx_t ctx)source
int decball_div_fmpz(decball_t res, const decball_t x, const fmpz_t y, gr_ctx_t ctx)source
int decball_mul_two(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_mul_10exp_si(decball_t res, const decball_t x, slong e, gr_ctx_t ctx)source
int decball_mul_10exp_fmpz(decball_t res, const decball_t x, const fmpz_t e, gr_ctx_t ctx)source
int decball_mul_2exp_si(decball_t res, const decball_t x, slong e, gr_ctx_t ctx)source
int decball_mul_2exp_fmpz(decball_t res, const decball_t x, const fmpz_t e, gr_ctx_t ctx)source
int decball_floor(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_ceil(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_trunc(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_nint(decball_t res, const decball_t x, gr_ctx_t ctx)source
int decball_pow_ui(decball_t res, const decball_t x, ulong y, gr_ctx_t ctx)source
int decball_pow_si(decball_t res, const decball_t x, slong y, gr_ctx_t ctx)source
int decball_pow_fmpz(decball_t res, const decball_t x, const fmpz_t y, gr_ctx_t ctx)source

Ball arithmetic. The radius of a product is |x_m| y_r + |y_m| x_r + x_r y_r plus the rounding error of the midpoint, the radius of a quotient is (|x_m| y_r + |y_m| x_r) / (|y_m| (|y_m| - y_r)), and so on, all evaluated with upper-bound rounding. Square roots of balls containing negative numbers return GR_UNABLE (GR_DOMAIN if the whole ball is negative). Rounding to an integer returns an exact integer when the ball contains no integer boundary and otherwise [\operatorname{round}(m) \pm (r + 1)].

Guides#

Cite this page

The FLINT team, “decball_neg, decball_abs, decball_add, decball_sub, decball_mul, decball_sqr, decball_div, decball_inv, decball_sqrt, decball_rsqrt, decball_add_ui, decball_add_si, decball_add_fmpz, decball_sub_ui, decball_sub_si, decball_sub_fmpz, decball_mul_ui, decball_mul_si, decball_mul_fmpz, decball_div_ui, decball_div_si, decball_div_fmpz, decball_mul_two, decball_mul_10exp_si, decball_mul_10exp_fmpz, decball_mul_2exp_si, decball_mul_2exp_fmpz, decball_floor, decball_ceil, decball_trunc, decball_nint, decball_pow_ui, decball_pow_si, decball_pow_fmpz (decimal.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/decimal/decball_neg.html (generated 2026-10-20).