Go forward to Assigning Floats.
Go up to Floating-point Functions.

Initialization and Assignment Functions
=======================================

 - Function: void mpf_set_default_prec (unsigned long int PREC)
     Set the default precision to be *at least* PREC bits.  All
     subsequent calls to `mpf_init' will use this precision, but
     previously initialized variables are unaffected.

   An `mpf_t' object must be initialized before storing the first value
in it.  The functions `mpf_init' and `mpf_init2' are used for that
purpose.

 - Function: void mpf_init (mpf_t X)
     Initialize X to 0.  Normally, a variable should be initialized
     once only or at least be cleared, using `mpf_clear', between
     initializations.  The precision of X is undefined unless a default
     precision has already been established by a call to
     `mpf_set_default_prec'.

 - Function: void mpf_init2 (mpf_t X, unsigned long int PREC)
     Initialize X to 0 and set its precision to be *at least* PREC
     bits.  Normally, a variable should be initialized once only or at
     least be cleared, using `mpf_clear', between initializations.

 - Function: void mpf_clear (mpf_t X)
     Free the space occupied by X.  Make sure to call this function for
     all `mpf_t' variables when you are done with them.

   Here is an example on how to initialize floating-point variables:
     {
       mpf_t x, y;
       mpf_init (x);			/* use default precision */
       mpf_init2 (y, 256);		/* precision *at least* 256 bits */
       ...
       /* Unless the program is about to exit, do ... */
       mpf_clear (x);
       mpf_clear (y);
     }

   The following three functions are useful for changing the precision
during a calculation.  A typical use would be for adjusting the
precision gradually in iterative algorithms like Newton-Raphson, making
the computation precision closely match the actual accurate part of the
numbers.

 - Function: void mpf_set_prec (mpf_t ROP, unsigned long int PREC)
     Set the precision of ROP to be *at least* PREC bits.  Since
     changing the precision involves calls to `realloc', this routine
     should not be called in a tight loop.

 - Function: unsigned long int mpf_get_prec (mpf_t OP)
     Return the precision actually used for assignments of OP.

 - Function: void mpf_set_prec_raw (mpf_t ROP, unsigned long int PREC)
     Set the precision of ROP to be *at least* PREC bits.  This is a
     low-level function that does not change the allocation.  The PREC
     argument must not be larger that the precision previously returned
     by `mpf_get_prec'.  It is crucial that the precision of ROP is
     ultimately reset to exactly the value returned by `mpf_get_prec'.