### 3.3 Function Classes

There are six classes of functions in the GMP library:

- Functions for signed integer arithmetic, with names beginning with
`mpz_`

. The associated type is `mpz_t`

. There are about 150
functions in this class. (see Integer Functions)
- Functions for rational number arithmetic, with names beginning with
`mpq_`

. The associated type is `mpq_t`

. There are about 35
functions in this class, but the integer functions can be used for arithmetic
on the numerator and denominator separately. (see Rational Number Functions)
- Functions for floating-point arithmetic, with names beginning with
`mpf_`

. The associated type is `mpf_t`

. There are about 70
functions in this class. (see Floating-point Functions)
- Fast low-level functions that operate on natural numbers. These are used by
the functions in the preceding groups, and you can also call them directly
from very time-critical user programs. These functions’ names begin with
`mpn_`

. The associated type is array of `mp_limb_t`

. There are
about 60 (hard-to-use) functions in this class. (see Low-level Functions)
- Miscellaneous functions. Functions for setting up custom allocation and
functions for generating random numbers. (see Custom Allocation, and
see Random Number Functions)