Next: Comparison Functions, Previous: Conversion Functions, Up: MPFR Interface
Set rop to op1 + op2 rounded in the direction rnd. For types having no signed zero, it is considered unsigned (i.e. (+0) + 0 = (+0) and (−0) + 0 = (−0)). The
mpfr_add_d
function assumes that the radix of thedouble
type is a power of 2, with a precision at most that declared by the C implementation (macroIEEE_DBL_MANT_DIG
, and if not defined 53 bits).
Set rop to op1 - op2 rounded in the direction rnd. For types having no signed zero, it is considered unsigned (i.e. (+0) − 0 = (+0), (−0) − 0 = (−0), 0 − (+0) = (−0) and 0 − (−0) = (+0)). The same restrictions than for
mpfr_add_d
apply tompfr_d_sub
andmpfr_sub_d
.
Set rop to op1 times op2 rounded in the direction rnd. When a result is zero, its sign is the product of the signs of the operands (for types having no signed zero, it is considered positive). The same restrictions than for
mpfr_add_d
apply tompfr_mul_d
.
Set rop to the square of op rounded in the direction rnd.
Set rop to op1/op2 rounded in the direction rnd. When a result is zero, its sign is the product of the signs of the operands (for types having no signed zero, it is considered positive). The same restrictions than for
mpfr_add_d
apply tompfr_d_div
andmpfr_div_d
.
Set rop to the square root of op rounded in the direction rnd. Return −0 if op is −0 (to be consistent with the IEEE 754-1985 standard). Set rop to NaN if op is negative.
Set rop to the reciprocal square root of op rounded in the direction rnd. Return +Inf if op is ±0, and +0 if op is +Inf. Set rop to NaN if op is negative.
Set rop to the cubic root (resp. the kth root) of op rounded in the direction rnd. An odd (resp. even) root of a negative number (including −Inf) returns a negative number (resp. NaN). The kth root of −0 is defined to be −0, whatever the parity of k.
Set rop to op1 raised to op2, rounded in the direction rnd. Special values are currently handled as described in the ISO C99 standard for the
pow
function (note this may change in future versions):
pow(±0,
y)
returns plus or minus infinity for y a negative odd integer.pow(±0,
y)
returns plus infinity for y negative and not an odd integer.pow(±0,
y)
returns plus or minus zero for y a positive odd integer.pow(±0,
y)
returns plus zero for y positive and not an odd integer.pow(-1, ±Inf)
returns 1.pow(+1,
y)
returns 1 for any y, even a NaN.pow(
x, ±0)
returns 1 for any x, even a NaN.pow(
x,
y)
returns NaN for finite negative x and finite non-integer y.pow(
x, -Inf)
returns plus infinity for 0 < abs(x) < 1, and plus zero for abs(x) > 1.pow(
x, +Inf)
returns plus zero for 0 < abs(x) < 1, and plus infinity for abs(x) > 1.pow(-Inf,
y)
returns minus zero for y a negative odd integer.pow(-Inf,
y)
returns plus zero for y negative and not an odd integer.pow(-Inf,
y)
returns minus infinity for y a positive odd integer.pow(-Inf,
y)
returns plus infinity for y positive and not an odd integer.pow(+Inf,
y)
returns plus zero for y negative, and plus infinity for y positive.
Set rop to -op rounded in the direction rnd. Just changes the sign if rop and op are the same variable.
Set rop to the absolute value of op, rounded in the direction rnd. Just changes the sign if rop and op are the same variable.
Set rop to the positive difference of op1 and op2, i.e., op1 - op2 rounded in the direction rnd if op1 > op2, and +0 otherwise. Returns NaN when op1 or op2 is NaN.
Set rop to op1 times 2 raised to op2 rounded in the direction rnd. Just increases the exponent by op2 when rop and op1 are identical.
Set rop to op1 divided by 2 raised to op2 rounded in the direction rnd. Just decreases the exponent by op2 when rop and op1 are identical.