Node:Simultaneous Integer Init & Assign, Next:Converting Integers, Previous:Assigning Integers, Up:Integer Functions
For convenience, GMP provides a parallel series of initialize-and-set functions
which initialize the output and then store the value there. These functions'
names have the form mpz_init_set...
Here is an example of using one:
{ mpz_t pie; mpz_init_set_str (pie, "3141592653589793238462643383279502884", 10); ... mpz_sub (pie, ...); ... mpz_clear (pie); }
Once the integer has been initialized by any of the mpz_init_set...
functions, it can be used as the source or destination operand for the ordinary
integer functions. Don't use an initialize-and-set function on a variable
already initialized!
void mpz_init_set (mpz_t rop, mpz_t op) | Function |
void mpz_init_set_ui (mpz_t rop, unsigned long int op) | Function |
void mpz_init_set_si (mpz_t rop, signed long int op) | Function |
void mpz_init_set_d (mpz_t rop, double op) | Function |
Initialize rop with limb space and set the initial numeric value from op. |
int mpz_init_set_str (mpz_t rop, char *str, int base) | Function |
Initialize rop and set its value like mpz_set_str (see its
documentation above for details).
If the string is a correct base base number, the function returns 0;
if an error occurs it returns -1. rop is initialized even if
an error occurs. (I.e., you have to call |