(gmp.info.gz) Variable Conventions
Info Catalog
(gmp.info.gz) Function Classes
(gmp.info.gz) GMP Basics
(gmp.info.gz) Parameter Conventions
Variable Conventions
====================
GMP functions generally have output arguments before input arguments.
This notation is by analogy with the assignment operator. The BSD MP
compatibility functions are exceptions, having the output arguments
last.
GMP lets you use the same variable for both input and output in one
call. For example, the main function for integer multiplication,
`mpz_mul', can be used to square `x' and put the result back in `x' with
mpz_mul (x, x, x);
Before you can assign to a GMP variable, you need to initialize it
by calling one of the special initialization functions. When you're
done with a variable, you need to clear it out, using one of the
functions for that purpose. Which function to use depends on the type
of variable. See the chapters on integer functions, rational number
functions, and floating-point functions for details.
A variable should only be initialized once, or at least cleared
between each initialization. After a variable has been initialized, it
may be assigned to any number of times.
For efficiency reasons, avoid excessive initializing and clearing.
In general, initialize near the start of a function and clear near the
end. For example,
void
foo (void)
{
mpz_t n;
int i;
mpz_init (n);
for (i = 1; i < 100; i++)
{
mpz_mul (n, ...);
mpz_fdiv_q (n, ...);
...
}
mpz_clear (n);
}
Info Catalog
(gmp.info.gz) Function Classes
(gmp.info.gz) GMP Basics
(gmp.info.gz) Parameter Conventions
automatically generated byinfo2html