GEOS
3.8.0
include
geos
precision
CommonBits.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2005-2006 Refractions Research Inc.
7
*
8
* This is free software; you can redistribute and/or modify it under
9
* the terms of the GNU Lesser General Public Licence as published
10
* by the Free Software Foundation.
11
* See the COPYING file for more information.
12
*
13
**********************************************************************/
14
15
#ifndef GEOS_PRECISION_COMMONBITS_H
16
#define GEOS_PRECISION_COMMONBITS_H
17
18
#include <geos/export.h>
19
#include <geos/constants.h>
// for int64
20
21
namespace
geos
{
22
namespace
precision {
// geos.precision
23
33
class
GEOS_DLL CommonBits {
34
35
private
:
36
37
bool
isFirst;
38
39
int
commonMantissaBitsCount;
40
41
int64 commonBits;
42
43
int64 commonSignExp;
44
45
public
:
46
54
static
int64 signExpBits(int64 num);
55
68
static
int
numCommonMostSigMantissaBits(int64 num1, int64 num2);
69
77
static
int64 zeroLowerBits(int64 bits,
int
nBits);
78
86
static
int
getBit(int64 bits,
int
i);
87
88
CommonBits
();
89
90
void
add(
double
num);
91
92
double
getCommon();
93
94
};
95
96
}
// namespace geos.precision
97
}
// namespace geos
98
99
#endif // GEOS_PRECISION_COMMONBITS_H
geos::precision::CommonBits
Determines the maximum number of common most-significant bits in the mantissa of one or numbers.
Definition:
CommonBits.h:57
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:25
Generated by
1.8.17