Processing math: 100%
CGAL 5.1.3 - Number Types
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
CGAL::Gmpzf Class Reference

#include <CGAL/Gmpzf.h>

Definition

An object of the class Gmpzf is a multiple-precision floating-point number which can represent numbers of the form m*2^e, where m is an arbitrary precision integer based on the Gmp library, and e is of type long.

This type can be considered exact, even if the exponent is not a multiple-precision number. This number type offers functionality very similar to MP_Float but is generally faster.

Is Model Of:

EuclideanRing

RealEmbeddable

Implementation

The significand m of a Gmpzf is a Gmpz and is reference counted. The exponent e of a Gmpzf is a long.

Related Functions

(Note that these are not member functions.)

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

Creation

 Gmpzf ()
 creates a Gmpzf initialized with 0.
 
 Gmpzf (int i)
 creates a Gmpzf initialized with i.
 
 Gmpzf (long int l)
 creates a Gmpzf initialized with l.
 
 Gmpzf (const Gmpz &i)
 creates a Gmpzf initialized with i.
 
 Gmpzf (const Gmpfr &f)
 creates a Gmpzf initialized with f.
 
 Gmpzf (double d)
 creates a Gmpzf initialized with d.