Next: Converting Integers, Previous: Assigning Integers, Up: Integer Functions [Index]
For convenience, MPIR 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!
Initialize rop with limb space and set the initial numeric value from op. Note the intmax versions are only available if you include the stdint.h header before including mpir.h.
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 mpz_clear
for it.)