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 section Integer Functions)
-
Functions for rational number arithmetic, with names beginning with
mpq_. The associated type is mpq_t. There are about 40
functions in this class, but the integer functions can be used for arithmetic
on the numerator and denominator separately. (see section Rational Number Functions)
-
Functions for floating-point arithmetic, with names beginning with
mpf_. The associated type is mpf_t. There are about 60
functions is this class. (see section Floating-point Functions)
-
Functions compatible with Berkeley MP, such as
itom, madd, and
mult. The associated type is MINT. (see section Berkeley MP Compatible 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 30 (hard-to-use) functions in this class. (see section Low-level Functions)
-
Miscellaneous functions. Functions for setting up custom allocation and
functions for generating random numbers. (see section Custom Allocation, and
see section Random Number Functions)