Next: Integer Import and Export, Previous: I/O of Integers, Up: Integer Functions [Index]

The random number functions of GMP come in two groups; older function that rely on a global state, and newer functions that accept a state parameter that is read and modified. Please see the Random Number Functions for more information on how to use and not to use random number functions.

- Function:
*void***mpz_urandomb***(mpz_t*`rop`, gmp_randstate_t`state`, mp_bitcnt_t`n`) Generate a uniformly distributed random integer in the range 0 to

*2*, inclusive.^{n}-1The variable

`state`must be initialized by calling one of the`gmp_randinit`

functions (Random State Initialization) before invoking this function.

- Function:
*void***mpz_urandomm***(mpz_t*`rop`, gmp_randstate_t`state`, const mpz_t`n`) Generate a uniform random integer in the range 0 to

, inclusive.`n`-1The variable

`state`must be initialized by calling one of the`gmp_randinit`

functions (Random State Initialization) before invoking this function.

- Function:
*void***mpz_rrandomb***(mpz_t*`rop`, gmp_randstate_t`state`, mp_bitcnt_t`n`) Generate a random integer with long strings of zeros and ones in the binary representation. Useful for testing functions and algorithms, since this kind of random numbers have proven to be more likely to trigger corner-case bugs. The random number will be in the range

*2*to^{n-1}*2*, inclusive.^{n}-1The variable

`state`must be initialized by calling one of the`gmp_randinit`

functions (Random State Initialization) before invoking this function.

- Function:
*void***mpz_random***(mpz_t*`rop`, mp_size_t`max_size`) Generate a random integer of at most

`max_size`limbs. The generated random number doesn’t satisfy any particular requirements of randomness. Negative random numbers are generated when`max_size`is negative.This function is obsolete. Use

`mpz_urandomb`

or`mpz_urandomm`

instead.

- Function:
*void***mpz_random2***(mpz_t*`rop`, mp_size_t`max_size`) Generate a random integer of at most

`max_size`limbs, with long strings of zeros and ones in the binary representation. Useful for testing functions and algorithms, since this kind of random numbers have proven to be more likely to trigger corner-case bugs. Negative random numbers are generated when`max_size`is negative.This function is obsolete. Use

`mpz_rrandomb`

instead.

Next: Integer Import and Export, Previous: I/O of Integers, Up: Integer Functions [Index]