DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(gmp.info.gz) Converting Integers

Info Catalog (gmp.info.gz) Simultaneous Integer Init & Assign (gmp.info.gz) Integer Functions (gmp.info.gz) Integer Arithmetic
 
 Conversion Functions
 ====================
 
 This section describes functions for converting GMP integers to
 standard C types.  Functions for converting _to_ GMP integers are
 described in  Assigning Integers and  I/O of Integers.
 
  - Function: unsigned long int mpz_get_ui (mpz_t OP)
      Return the value of OP as an `unsigned long'.
 
      If OP is too big to fit an `unsigned long' then just the least
      significant bits that do fit are returned.  The sign of OP is
      ignored, only the absolute value is used.
 
  - Function: signed long int mpz_get_si (mpz_t OP)
      If OP fits into a `signed long int' return the value of OP.
      Otherwise return the least significant part of OP, with the same
      sign as OP.
 
      If OP is too big to fit in a `signed long int', the returned
      result is probably not very useful.  To find out if the value will
      fit, use the function `mpz_fits_slong_p'.
 
  - Function: double mpz_get_d (mpz_t OP)
      Convert OP to a `double', truncating if necessary (ie. rounding
      towards zero).
 
      If the exponent from the conversion is too big, the result is
      system dependent.  An infinity is returned where available.  A
      hardware overflow trap may or may not occur.
 
  - Function: double mpz_get_d_2exp (signed long int *EXP, mpz_t OP)
      Convert OP to a `double', truncating if necessary (ie. rounding
      towards zero), and returning the exponent separately.
 
      The return value is in the range 0.5<=abs(D)<1 and the exponent is
      stored to `*EXP'.  D * 2^EXP is the (truncated) OP value.  If OP
      is zero, the return is 0.0 and 0 is stored to `*EXP'.
 
      This is similar to the standard C `frexp' function (
      Normalization Functions (libc)Normalization Functions.).
 
  - Function: char * mpz_get_str (char *STR, int BASE, mpz_t OP)
      Convert OP to a string of digits in base BASE.  The base may vary
      from 2 to 36.
 
      If STR is `NULL', the result string is allocated using the current
      allocation function ( Custom Allocation).  The block will be
      `strlen(str)+1' bytes, that being exactly enough for the string and
      null-terminator.
 
      If STR is not `NULL', it should point to a block of storage large
      enough for the result, that being `mpz_sizeinbase (OP, BASE) + 2'.
      The two extra bytes are for a possible minus sign, and the
      null-terminator.
 
      A pointer to the result string is returned, being either the
      allocated block, or the given STR.
 
Info Catalog (gmp.info.gz) Simultaneous Integer Init & Assign (gmp.info.gz) Integer Functions (gmp.info.gz) Integer Arithmetic
automatically generated byinfo2html