GEOS
3.9.1dev
|
Wrapper for DoubleDouble higher precision mathematics operations. More...
#include <DD.h>
Public Member Functions | |
DD (double p_hi, double p_lo) | |
DD (double x) | |
DD () | |
bool | operator== (const DD &rhs) const |
bool | operator!= (const DD &rhs) const |
bool | operator< (const DD &rhs) const |
bool | operator<= (const DD &rhs) const |
bool | operator> (const DD &rhs) const |
bool | operator>= (const DD &rhs) const |
bool | isNaN () const |
bool | isNegative () const |
bool | isPositive () const |
bool | isZero () const |
double | doubleValue () const |
double | ToDouble () const |
int | intValue () const |
DD | negate () const |
DD | reciprocal () const |
DD | floor () const |
DD | ceil () const |
void | selfAdd (const DD &d) |
void | selfAdd (double p_hi, double p_lo) |
void | selfAdd (double y) |
void | selfSubtract (const DD &d) |
void | selfSubtract (double p_hi, double p_lo) |
void | selfSubtract (double y) |
void | selfMultiply (double p_hi, double p_lo) |
void | selfMultiply (const DD &d) |
void | selfMultiply (double y) |
void | selfDivide (double p_hi, double p_lo) |
void | selfDivide (const DD &d) |
void | selfDivide (double y) |
Static Public Member Functions | |
static DD | determinant (const DD &x1, const DD &y1, const DD &x2, const DD &y2) |
static DD | determinant (double x1, double y1, double x2, double y2) |
static DD | abs (const DD &d) |
static DD | pow (const DD &d, int exp) |
static DD | trunc (const DD &d) |
Private Member Functions | |
int | signum () const |
DD | rint () const |
Private Attributes | |
double | hi |
double | lo |
Static Private Attributes | |
static constexpr double | SPLIT = 134217729.0 |
Friends | |
DD | operator+ (const DD &lhs, const DD &rhs) |
DD | operator+ (const DD &lhs, double rhs) |
DD | operator- (const DD &lhs, const DD &rhs) |
DD | operator- (const DD &lhs, double rhs) |
DD | operator* (const DD &lhs, const DD &rhs) |
DD | operator* (const DD &lhs, double rhs) |
DD | operator/ (const DD &lhs, const DD &rhs) |
DD | operator/ (const DD &lhs, double rhs) |
Wrapper for DoubleDouble higher precision mathematics operations.
DD geos::math::DD::ceil | ( | ) | const |
|
static |
|
static |
double geos::math::DD::doubleValue | ( | ) | const |
DD geos::math::DD::floor | ( | ) | const |
int geos::math::DD::intValue | ( | ) | const |
bool geos::math::DD::isNaN | ( | ) | const |
bool geos::math::DD::isNegative | ( | ) | const |
bool geos::math::DD::isPositive | ( | ) | const |
bool geos::math::DD::isZero | ( | ) | const |
DD geos::math::DD::negate | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
DD geos::math::DD::reciprocal | ( | ) | const |
|
private |
void geos::math::DD::selfAdd | ( | const DD & | d | ) |
void geos::math::DD::selfAdd | ( | double | p_hi, |
double | p_lo | ||
) |
void geos::math::DD::selfAdd | ( | double | y | ) |
void geos::math::DD::selfDivide | ( | double | p_hi, |
double | p_lo | ||
) |
void geos::math::DD::selfDivide | ( | const DD & | d | ) |
void geos::math::DD::selfDivide | ( | double | y | ) |
void geos::math::DD::selfMultiply | ( | double | p_hi, |
double | p_lo | ||
) |
void geos::math::DD::selfMultiply | ( | const DD & | d | ) |
void geos::math::DD::selfMultiply | ( | double | y | ) |
void geos::math::DD::selfSubtract | ( | const DD & | d | ) |
void geos::math::DD::selfSubtract | ( | double | p_hi, |
double | p_lo | ||
) |
void geos::math::DD::selfSubtract | ( | double | y | ) |
|
private |
|
private |
Definition at line 111 of file DD.h.
Referenced by operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
|
private |
Definition at line 112 of file DD.h.
Referenced by operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
|
staticprivate |