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