Go to the first, previous, next, last section, table of contents.


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.


Go to the first, previous, next, last section, table of contents.