com.vividsolutions.jts.precision

Class 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.
Version:
1.7

Constructor Summary

CommonBits()

Method Summary

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.

Constructor Details

CommonBits

public CommonBits()

Method Details

add

public void add(double num)

getBit

public static int getBit(long bits,
                         int i)
Extracts the i'th bit of a bitstring.
Parameters:
bits - the bitstring to extract from
i - the bit to extract
Returns:
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.
Parameters:
Returns:
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.
Parameters:
num -
Returns:
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.
Parameters:
bits - the bitstring to alter
Returns:
the zeroed bitstring