[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

# 5. MPFR Interface

The floating-point functions expect arguments of type `mpfr_t`

.

The MPFR floating-point functions have an interface that is similar to the
GNU MP
functions. The function prefix for floating-point operations is `mpfr_`

.

The user has to specify the precision of each variable. A computation that assigns a variable will take place with the precision of the assigned variable; the cost of that computation should not depend on the precision of variables used as input (on average).

The semantics of a calculation in MPFR is specified as follows: Compute the requested operation exactly (with “infinite accuracy”), and round the result to the precision of the destination variable, with the given rounding mode. The MPFR floating-point functions are intended to be a smooth extension of the IEEE 754 arithmetic. The results obtained on a given computer are identical to those obtained on a computer with a different word size, or with a different compiler or operating system.

MPFR *does not keep track* of the accuracy of a computation. This is left
to the user or to a higher layer (for example the MPFI library for interval
arithmetic).
As a consequence, if two variables are used to store
only a few significant bits, and their product is stored in a variable with large
precision, then MPFR will still compute the result with full precision.

The value of the standard C macro `errno`

may be set to non-zero by
any MPFR function or macro, whether or not there is an error.

[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |