DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK

# (gmp.info.gz) Nomenclature and Types

Info Catalog (gmp.info.gz) Headers and Libraries (gmp.info.gz) GMP Basics (gmp.info.gz) Function Classes
```
Nomenclature and Types
======================

In this manual, "integer" usually means a multiple precision integer, as
defined by the GMP library.  The C data type for such integers is
`mpz_t'.  Here are some examples of how to declare such integers:

mpz_t sum;

struct foo { mpz_t x, y; };

mpz_t vec[20];

"Rational number" means a multiple precision fraction.  The C data
type for these fractions is `mpq_t'.  For example:

mpq_t quotient;

"Floating point number" or "Float" for short, is an arbitrary
precision mantissa with a limited precision exponent.  The C data type
for such objects is `mpf_t'.  For example:

mpf_t fp;

The floating point functions accept and return exponents in the C
type `mp_exp_t'.  Currently this is usually a `long', but on some
systems it's an `int' for efficiency.

A "limb" means the part of a multi-precision number that fits in a
single machine word.  (We chose this word because a limb of the human
body is analogous to a digit, only larger, and containing several
digits.)  Normally a limb is 32 or 64 bits.  The C data type for a limb
is `mp_limb_t'.

Counts of limbs are represented in the C type `mp_size_t'.  Currently
this is normally a `long', but on some systems it's an `int' for
efficiency.

"Random state" means an algorithm selection and current state data.
The C data type for such objects is `gmp_randstate_t'.  For example:

gmp_randstate_t rstate;

Also, in general `unsigned long' is used for bit counts and ranges,
and `size_t' is used for byte or character counts.

```
Info Catalog (gmp.info.gz) Headers and Libraries (gmp.info.gz) GMP Basics (gmp.info.gz) Function Classes
automatically generated byinfo2html