Skip to content

Commit 9bc32b3

Browse files
committed
library fixes: move functions out of headers or make them inline
1 parent 5682a81 commit 9bc32b3

8 files changed

Lines changed: 975 additions & 938 deletions

File tree

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ all: unit testcodecs testintegration advancedbenchmarking benchintersection b
3737

3838
advancedbenchmarking: simplesynth compress uncompress budgetedtest entropy compflatstat
3939

40+
codecfactory.o: include/codecfactory.h src/codecfactory.cpp
41+
$(CXX) $(CXXFLAGS) -c src/codecfactory.cpp -Iinclude
42+
4043
bitpacking.o: include/bitpacking.h src/bitpacking.cpp
4144
$(CXX) $(CXXFLAGS) -c src/bitpacking.cpp -Iinclude
4245

@@ -88,7 +91,7 @@ simdintegratedbitpacking.o: include/simdintegratedbitpacking.h include/delta.h s
8891
UNAME := $(shell uname)
8992

9093

91-
OBJECTS= bitpacking.o integratedbitpacking.o simdbitpacking.o usimdbitpacking.o simdintegratedbitpacking.o intersection.o varintdecode.o streamvbyte.o simdpackedsearch.o simdpackedselect.o frameofreference.o for.o
94+
OBJECTS= codecfactory.o bitpacking.o integratedbitpacking.o simdbitpacking.o usimdbitpacking.o simdintegratedbitpacking.o intersection.o varintdecode.o streamvbyte.o simdpackedsearch.o simdpackedselect.o frameofreference.o for.o
9295

9396
benchsearch: $(HEADERS) src/benchsearch.cpp $(OBJECTS)
9497
$(CXX) $(CXXFLAGS) -o benchsearch src/benchsearch.cpp $(OBJECTS) -Iinclude

include/codecfactory.h

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "simdbitpackinghelpers.h"
1717
#include "delta.h"
1818
#include "util.h"
19-
#include "synthetic.h"
2019
#include "binarypacking.h"
2120
#include "simdbinarypacking.h"
2221
#include "simdvariablebyte.h"
@@ -35,79 +34,6 @@ using namespace std;
3534

3635
typedef VariableByte<true> leftovercodec;
3736

38-
static std::map<string, shared_ptr<IntegerCODEC>> initializefactory() {
39-
std::map<string, shared_ptr<IntegerCODEC>> schemes;
40-
#ifdef __SSSE3__
41-
schemes["varintg8iu"] = shared_ptr<IntegerCODEC>(new VarIntG8IU<true>());
42-
#endif /* __SSSE3__ */
43-
schemes["fastpfor"] = shared_ptr<IntegerCODEC>(
44-
new CompositeCodec<FastPFor<8, true>, leftovercodec>());
45-
46-
schemes["copy"] = shared_ptr<IntegerCODEC>(new JustCopy());
47-
schemes["varint"] = shared_ptr<IntegerCODEC>(new VariableByte<true>());
48-
schemes["vbyte"] = shared_ptr<IntegerCODEC>(new VByte<true>());
49-
schemes["maskedvbyte"] = shared_ptr<IntegerCODEC>(new MaskedVByte<true>());
50-
schemes["streamvbyte"] = shared_ptr<IntegerCODEC>(new StreamVByteD1());
51-
schemes["frameofreference"] =
52-
shared_ptr<IntegerCODEC>(new FrameOfReference());
53-
54-
schemes["simdframeofreference"] =
55-
shared_ptr<IntegerCODEC>(new SIMDFrameOfReference());
56-
57-
schemes["varintgb"] = std::shared_ptr<IntegerCODEC>(new VarIntGB<true>());
58-
59-
schemes["s4-fastpfor-d4"] = shared_ptr<IntegerCODEC>(
60-
new CompositeCodec<SIMDFastPFor<8, CoarseDelta4SIMD>, leftovercodec>());
61-
schemes["s4-fastpfor-dm"] = shared_ptr<IntegerCODEC>(
62-
new CompositeCodec<SIMDFastPFor<8, Max4DeltaSIMD>, VariableByte<true>>());
63-
schemes["s4-fastpfor-d1"] = shared_ptr<IntegerCODEC>(
64-
new CompositeCodec<SIMDFastPFor<8, RegularDeltaSIMD>, leftovercodec>());
65-
schemes["s4-fastpfor-d2"] = shared_ptr<IntegerCODEC>(
66-
new CompositeCodec<SIMDFastPFor<8, CoarseDelta2SIMD>, leftovercodec>());
67-
68-
schemes["bp32"] = shared_ptr<IntegerCODEC>(
69-
new CompositeCodec<BinaryPacking<BasicBlockPacker>,
70-
VariableByte<true>>());
71-
schemes["ibp32"] = shared_ptr<IntegerCODEC>(
72-
new CompositeCodec<BinaryPacking<IntegratedBlockPacker>,
73-
leftovercodec>());
74-
75-
schemes["s4-bp128-d1-ni"] = shared_ptr<IntegerCODEC>(
76-
new CompositeCodec<
77-
SIMDBinaryPacking<SIMDBlockPacker<RegularDeltaSIMD, true>>,
78-
leftovercodec>());
79-
schemes["s4-bp128-d2-ni"] = shared_ptr<IntegerCODEC>(
80-
new CompositeCodec<
81-
SIMDBinaryPacking<SIMDBlockPacker<CoarseDelta2SIMD, true>>,
82-
leftovercodec>());
83-
schemes["s4-bp128-d4-ni"] = shared_ptr<IntegerCODEC>(
84-
new CompositeCodec<
85-
SIMDBinaryPacking<SIMDBlockPacker<CoarseDelta4SIMD, true>>,
86-
leftovercodec>());
87-
schemes["s4-bp128-dm-ni"] = shared_ptr<IntegerCODEC>(
88-
new CompositeCodec<
89-
SIMDBinaryPacking<SIMDBlockPacker<Max4DeltaSIMD, true>>,
90-
leftovercodec>());
91-
92-
schemes["s4-bp128-d1"] = shared_ptr<IntegerCODEC>(
93-
new CompositeCodec<
94-
SIMDBinaryPacking<SIMDIntegratedBlockPacker<RegularDeltaSIMD, true>>,
95-
leftovercodec>());
96-
schemes["s4-bp128-d2"] = shared_ptr<IntegerCODEC>(
97-
new CompositeCodec<
98-
SIMDBinaryPacking<SIMDIntegratedBlockPacker<CoarseDelta2SIMD, true>>,
99-
leftovercodec>());
100-
schemes["s4-bp128-d4"] = shared_ptr<IntegerCODEC>(
101-
new CompositeCodec<
102-
SIMDBinaryPacking<SIMDIntegratedBlockPacker<CoarseDelta4SIMD, true>>,
103-
leftovercodec>());
104-
schemes["s4-bp128-dm"] = shared_ptr<IntegerCODEC>(
105-
new CompositeCodec<
106-
SIMDBinaryPacking<SIMDIntegratedBlockPacker<Max4DeltaSIMD, true>>,
107-
leftovercodec>());
108-
schemes["for"] = shared_ptr<IntegerCODEC>(new ForCODEC());
109-
return schemes;
110-
}
11137

11238
class CODECFactory {
11339
public:
@@ -175,11 +101,7 @@ class CODECFactory {
175101
}
176102
};
177103

178-
map<string, shared_ptr<IntegerCODEC>> CODECFactory::scodecmap =
179-
initializefactory();
180104

181-
shared_ptr<IntegerCODEC> CODECFactory::defaultptr =
182-
shared_ptr<IntegerCODEC>(nullptr);
183105
} // namespace SIMDCompressionLib
184106

185107
#endif /* SIMDCompressionAndIntersection_CODECFACTORY_H_ */

include/mersenne.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ class ZRandom {
3232
bool test(const double p);
3333
};
3434

35-
ZRandom::ZRandom(unsigned iSeed) : nValues(0) { seed(iSeed); }
35+
inline ZRandom::ZRandom(unsigned iSeed) : nValues(0) { seed(iSeed); }
3636

37-
void ZRandom::seed(unsigned iSeed) {
37+
inline void ZRandom::seed(unsigned iSeed) {
3838
nValues = 0;
3939
// Seed the array used in random number generation.
4040
MT[0] = iSeed;
@@ -52,7 +52,7 @@ inline double ZRandom::getDouble() {
5252
return double(getValue()) * (1.0 / 4294967296.0);
5353
}
5454

55-
unsigned int ZRandom::getValue(const uint32_t MaxValue) {
55+
inline unsigned int ZRandom::getValue(const uint32_t MaxValue) {
5656
unsigned int used = MaxValue;
5757
used |= used >> 1;
5858
used |= used >> 2;
@@ -68,7 +68,7 @@ unsigned int ZRandom::getValue(const uint32_t MaxValue) {
6868
return i;
6969
}
7070

71-
unsigned int ZRandom::getValue() {
71+
inline unsigned int ZRandom::getValue() {
7272
if (0 == nValues) {
7373
MT[N] = MT[0];
7474
for (int i = 0; i < N; ++i) {

0 commit comments

Comments
 (0)