This is an multipleprecision floatingpoint type; it can represent numbers of the form m*2^{e}, where m is an arbitrary precision integer based on the Gnu Multiple Precision Arithmetic Library, and e is of type long. This type can be considered exact, even if the exponent is not a multipleprecision number. This number type offers functionality very similar to MP_Float but is generally faster.
#include <CGAL/Gmpzf.h>
Gmpzf f;  
creates a Gmpzf initialized with 0.
 
Gmpzf f ( int i);  
creates a Gmpzf initialized with i.
 
Gmpzf f ( long int l);  
creates a Gmpzf initialized with l.
 
Gmpzf f ( Gmpz i);  
creates a Gmpzf initialized with i.
 
Gmpzf f ( Gmpfr f);  
creates a Gmpzf initialized with f.
 
Gmpzf f ( double d);  
creates a Gmpzf initialized with d.

std::ostream&  std::ostream& out << f  writes a double approximation of f to the ostream out. 
std::ostream&  print ( std::ostream& out, f)  writes an exact representation of f to the ostream out. 
std::istream&  std::istream& in >> & f  reads a double from in, then converts it to a Gmpzf. 