com.vividsolutions.jts.precision
Class CommonBits
java.lang.Object
com.vividsolutions.jts.precision.CommonBits
public class CommonBits
extends java.lang.Object
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.
void | add(double num)
|
static int | getBit(long bits, int i) - Extracts the i'th bit of a bitstring.
|
double | getCommon()
|
static int | numCommonMostSigMantissaBits(long num1, long num2) - This computes the number of common most-significant bits in the mantissas
of two double-precision numbers.
|
static long | signExpBits(long num) - Computes the bit pattern for the sign and exponent of a
double-precision number.
|
String | toString(long bits) - A representation of the Double bits formatted for easy readability
|
static long | zeroLowerBits(long bits, int nBits) - Zeroes the lower n bits of a bitstring.
|
CommonBits
public CommonBits()
add
public void add(double num)
getBit
public static int getBit(long bits,
int i)
Extracts the i'th bit of a bitstring.
bits
- the bitstring to extract fromi
- the bit to extract
- the value of the extracted bit
getCommon
public double getCommon()
numCommonMostSigMantissaBits
public static int numCommonMostSigMantissaBits(long num1,
long num2)
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.
- the number of common most-significant mantissa bits
signExpBits
public static long signExpBits(long num)
Computes the bit pattern for the sign and exponent of a
double-precision number.
- the bit pattern for the sign and exponent
toString
public String toString(long bits)
A representation of the Double bits formatted for easy readability
zeroLowerBits
public static long zeroLowerBits(long bits,
int nBits)
Zeroes the lower n bits of a bitstring.
bits
- the bitstring to alter