Next: Integer Special Functions, Previous: Integer Import and Export, Up: Integer Functions [Index]

- Function:
*int***mpz_fits_ulong_p***(const mpz_t*`op`) - Function:
*int***mpz_fits_slong_p***(const mpz_t*`op`) - Function:
*int***mpz_fits_uint_p***(const mpz_t*`op`) - Function:
*int***mpz_fits_sint_p***(const mpz_t*`op`) - Function:
*int***mpz_fits_ushort_p***(const mpz_t*`op`) - Function:
*int***mpz_fits_sshort_p***(const mpz_t*`op`) Return non-zero iff the value of

`op`fits in an`unsigned long int`

,`signed long int`

,`unsigned int`

,`signed int`

,`unsigned short int`

, or`signed short int`

, respectively. Otherwise, return zero.

- Macro:
*int***mpz_odd_p***(const mpz_t*`op`) - Macro:
*int***mpz_even_p***(const mpz_t*`op`) Determine whether

`op`is odd or even, respectively. Return non-zero if yes, zero if no. These macros evaluate their argument more than once.

- Function:
*size_t***mpz_sizeinbase***(const mpz_t*`op`, int`base`) -
Return the size of

`op`measured in number of digits in the given`base`.`base`can vary from 2 to 62. The sign of`op`is ignored, just the absolute value is used. The result will be either exact or 1 too big. If`base`is a power of 2, the result is always exact. If`op`is zero the return value is always 1.This function can be used to determine the space required when converting

`op`to a string. The right amount of allocation is normally two more than the value returned by`mpz_sizeinbase`

, one extra for a minus sign and one for the null-terminator.It will be noted that

`mpz_sizeinbase(`

can be used to locate the most significant 1 bit in`op`,2)`op`, counting from 1. (Unlike the bitwise functions which start from 0, See Logical and Bit Manipulation Functions.)

Next: Integer Special Functions, Previous: Integer Import and Export, Up: Integer Functions [Index]