Copyright (C) 2000-2012 |
GNU Info (gmp.info)Converting IntegersConversion Functions ==================== This section describes functions for converting GMP integers to standard C types. Functions for converting _to_ GMP integers are described in Note: Assigning Integers and Note: I/O of Integers. - Function: unsigned long int mpz_get_ui (mpz_t OP) Return the least significant part from OP. This function combined with `mpz_tdiv_q_2exp(..., OP, CHAR_BIT*sizeof(unsigned long int))' can be used to decompose an integer into unsigned longs. - 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 large 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'. - Function: double mpz_get_d_2exp (signed long int EXP, mpz_t OP) Find D and EXP such that D times 2 raised to EXP, with 0.5<=abs(D)<1, is a good approximation to OP. - 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 (Note: 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. - Function: mp_limb_t mpz_getlimbn (mpz_t OP, mp_size_t N) Return limb number N from OP. The sign of OP is ignored, just the absolute value is used. The least significant limb is number 0. `mpz_size' can be used to find how many limbs make up OP. `mpz_getlimbn' returns zero if N is outside the range 0 to `mpz_size(OP)-1'. automatically generated by info2www version 1.2.2.9 |