Next: Assigning Integers, Previous: Integer Functions, Up: Integer Functions [Index]
The functions for integer arithmetic assume that all integer objects are
initialized. You do that by calling the function mpz_init
. For
example,
{ mpz_t integ; mpz_init (integ); … mpz_add (integ, …); … mpz_sub (integ, …); /* Unless the program is about to exit, do ... */ mpz_clear (integ); }
As you can see, you can store new values any number of times, once an object is initialized.
Initialize integer, and set its value to 0.
Initialize a NULL-terminated list of mpz_t
variables, and set their
values to 0.
Initialize integer, with space for n bits, and set its value to 0.
n is only the initial space, integer will grow automatically in
the normal way, if necessary, for subsequent values stored. mpz_init2
makes it possible to avoid such reallocations if a maximum size is known in
advance.
Free the space occupied by integer. Call this function for all
mpz_t
variables when you are done with them.
Free the space occupied by a NULL-terminated list of mpz_t
variables.
Change the space allocated for integer to n bits. The value in integer is preserved if it fits, or is set to 0 if not.
This function can be used to increase the space for a variable in order to avoid repeated automatic reallocations, or to decrease it to give memory back to the heap.
Next: Assigning Integers, Previous: Integer Functions, Up: Integer Functions [Index]