Go to the source code of this file.
Classes | |
class | xreal |
Defines | |
#define | TWO64 (18446744073709551616.0) |
xreal: Extended-precision "real" class. | |
#define | TWO63 ( 9223372036854775808.0) |
#define | TWO64I (5.42101086242752217e-20) |
#define | TWO63M ( 9223372036854775807) |
#define | TWO63N (-9223372036854775808) |
Typedefs | |
typedef long long | xint_t |
typedef unsigned long long | xfrac_t |
Functions | |
ostream & | operator<< (ostream &s, xreal x) |
istream & | operator>> (istream &s, xreal &x) |
bool | operator== (xreal x, real y) |
bool | operator!= (xreal x, real y) |
bool | operator< (xreal x, real y) |
bool | operator> (xreal x, real y) |
bool | operator<= (xreal x, real y) |
bool | operator>= (xreal x, real y) |
void | put_real_number (ostream &s, char *label, xreal x) |
Definition in file xreal.h.
|
xreal: Extended-precision "real" class. Currently implemented in fixed precision as x = i + 2^{-64} f,where the "integer" i is a long long (range 2^63 - 1 to -2^63), and the "fraction" f is an unsigned long long (range 0 to 2^64 - 1), giving roughly 20 digits before and after the decimal point. Note that long long may not be universally acceptable. Could rewrite to use standard long ints if necessary. |