### 7.8 Miscellaneous Functions

Function: void mpf_ceil (mpf_t rop, const mpf_t op)
Function: void mpf_floor (mpf_t rop, const mpf_t op)
Function: void mpf_trunc (mpf_t rop, const mpf_t op)

  Set rop to op rounded to an integer. `mpf_ceil` rounds to the next higher integer, `mpf_floor` to the next lower, and `mpf_trunc` to the integer towards zero.

Function: int mpf_integer_p (const mpf_t op)

  Return non-zero if op is an integer.

Function: int mpf_fits_ulong_p (const mpf_t op)
Function: int mpf_fits_slong_p (const mpf_t op)
Function: int mpf_fits_uint_p (const mpf_t op)
Function: int mpf_fits_sint_p (const mpf_t op)
Function: int mpf_fits_ushort_p (const mpf_t op)
Function: int mpf_fits_sshort_p (const mpf_t op)

  Return non-zero if op would fit in the respective C data type, when truncated to an integer.

Function: void mpf_urandomb (mpf_t rop, gmp_randstate_t state, mp_bitcnt_t nbits)

  Generate a uniformly distributed random float in rop, such that 0 <= rop < 1, with nbits significant bits in the mantissa or less if the precision of rop is smaller.

  The variable state must be initialized by calling one of the `gmp_randinit` functions (Random State Initialization) before invoking this function.

Function: void mpf_random2 (mpf_t rop, mp_size_t max_size, mp_exp_t exp)

  Generate a random float of at most max_size limbs, with long strings of zeros and ones in the binary representation. The exponent of the number is in the interval -exp to exp (in limbs). This function is useful for testing functions and algorithms, since these 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.