GEOS
3.9.1dev
|
Determines the maximum number of common most-significant bits in the mantissa of one or numbers. More...
#include <CommonBits.h>
Public Member Functions | |
CommonBits () | |
void | add (double num) |
double | getCommon () |
Static Public Member Functions | |
static int64 | signExpBits (int64 num) |
Computes the bit pattern for the sign and exponent of a double-precision number. More... | |
static int | numCommonMostSigMantissaBits (int64 num1, int64 num2) |
This computes the number of common most-significant bits in the mantissas of two double-precision numbers. More... | |
static int64 | zeroLowerBits (int64 bits, int nBits) |
Zeroes the lower n bits of a bitstring. More... | |
static int | getBit (int64 bits, int i) |
Extracts the i'th bit of a bitstring. More... | |
Private Attributes | |
bool | isFirst |
int | commonMantissaBitsCount |
int64 | commonBits |
int64 | commonSignExp |
Determines the maximum number of common most-significant bits in the mantissa of one or numbers.
Can be used to compute the double-precision number which is represented by the common bits. If there are no common bits, the number computed is 0.0.
Definition at line 33 of file CommonBits.h.
geos::precision::CommonBits::CommonBits | ( | ) |
void geos::precision::CommonBits::add | ( | double | num | ) |
|
static |
Extracts the i'th bit of a bitstring.
bits | the bitstring to extract from |
i | the bit to extract |
double geos::precision::CommonBits::getCommon | ( | ) |
|
static |
This computes the number of common most-significant bits in the mantissas of two double-precision numbers.
It does not count the hidden bit, which is always 1. It does not determine whether the numbers have the same exponent - if they do not, the value computed by this function is meaningless.
num1 | |
num2 |
Computes the bit pattern for the sign and exponent of a double-precision number.
num |
Zeroes the lower n bits of a bitstring.
bits | the bitstring to alter |
nBits | the number of bits to zero |
|
private |
Definition at line 41 of file CommonBits.h.
|
private |
Definition at line 39 of file CommonBits.h.
|
private |
Definition at line 43 of file CommonBits.h.
|
private |
Definition at line 37 of file CommonBits.h.