www.delorie.com/gnu/docs/gmp/gmp_45.html   search  
 
Buy GNU books!


GNU MP 4.1.2

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Conversion Functions

Function: double mpq_get_d (mpq_t op)
Convert op to a double.

Function: void mpq_set_d (mpq_t rop, double op)
Function: void mpq_set_f (mpq_t rop, mpf_t op)
Set rop to the value of op, without rounding.

Function: char * mpq_get_str (char *str, int base, mpq_t op)
Convert op to a string of digits in base base. The base may vary from 2 to 36. The string will be of the form `num/den', or if the denominator is 1 then just `num'.

If str is NULL, the result string is allocated using the current allocation function (see section 14. 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 (mpq_numref(op), base)
+ mpz_sizeinbase (mpq_denref(op), base) + 3

The three extra bytes are for a possible minus sign, possible slash, and the null-terminator.

A pointer to the result string is returned, being either the allocated block, or the given str.


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright © 2003   by The Free Software Foundation     Updated Jun 2003