forked from lemire/javaewah
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCHANGELOG
More file actions
125 lines (81 loc) · 4.78 KB
/
CHANGELOG
File metadata and controls
125 lines (81 loc) · 4.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
version 0.6.6 (December 12, 2012)
- Fixed an off-by-one bug in setSizeInBits(final int size, final boolean defaultvalue).
- Added corresponding unit test.
version 0.6.5 (November 26, 2012)
- Fixed a bug in IteratingBufferedRunningLengthWord.discharge
that might cause "and" to return spurious values in some cases (issue #19 reported by Gregory Ssi-Yan-Kai)
- added a unit test so that this sort of bug will be caught in the future
version 0.6.4 (November 16, 2012)
- Fixed a bug in IteratingBufferedRunningLengthWord.discardFirstWords
that might cause "and" to return the empty set when there is actually
a result (issue #18 reported by Bilal Tayara)
- added a unit test so that this sort of bug will be caught in the future
version 0.6.3 (October 31, 2012)
- Fixed a design issue in NonEmptyVirtualStorage32 and NonEmptyVirtualStorage
that might cause "equals" to give the wrong answer.
version 0.6.2 (October 19, 2012)
- Cleaned up "andNot" and "xor" so that the implementation is simpler
- Minor refactoring
version 0.6.1 (October 18, 2012)
- Optimized the logical and operation and rewrote the logical or operation
- Sometimes we used the term "literal" and sometimes "dirty". We now use only the term "literal".
version 0.6.0 (October 15, 2012)
- Moved packages from javaewah to com.googlecode.javaewah (request by Eclipse)
version 0.5.6 (October 5, 2012)
- Improve performance of the IntIterator implementation (Colby Ranger)
- Fixed copyright notice (Google Inc. via Colby Ranger)
version 0.5.5 (October 5, 2012)
- Fixed bug with new hashCode (from previous version), added unit test (Colby Ranger)
- better example.java
- new "bitmapOf" method (Colby Ranger)
version 0.5.4 (October 5, 2012)
- Changed the semantics of "equals" to be more consistent with BitSet from the Java API. (Colby Ranger)
version 0.5.3 (August 7, 2012)
- Correct a bug where the intersects method was returning false positives. The bug occurs when we attempt to add zero set bits to the stream of dirty words. Fixed / tested for 64 bit and 32 bit variants, also testing every flow through the and() method when called from intersects method.
- Re-enable the testOrCardinality for the 64 bit variant.
- Change behavior of NonEmptyException so we only throw the Exception if the number of dirty words is positive (and thus we are trying to set none).
- Fix documentation in 32 bit impl.
- remove unneeded returns in 64 bit implementation.
version 0.5.2 (July 9, 2012)
- Now being explicit about range of allowed set values, throws exceptions when out of range.
version 0.5.1 (May 28, 2012)
- Fixed minor performance regression.
version 0.5.0 (May 23, 2012)
- Added a 32-bit version of the compression scheme.
version 0.4.5 (May 21, 2012)
- Introduced the toArray method to retrieve set bits.
version 0.4.4 (May 21, 2012)
- Perf. boost when decoding bitmaps.
version 0.4.3 (April 9, 2012)
- fast aggregation through logical AND of many bitmaps using a new method
- fixed a rarely occuring bug in the set method due to faulty bitmap size extension
version 0.4.2 (April 5, 2012)
* Fixed a bug with intersects method
version 0.4.1 (Mar 20, 2012)
* Resolved "EWAHCompressedBitmap.iterator() does not follow Java's contract for the Iterator interface"
* some performance enhancements for multi or. array iteration is performing better than list iteration.
* documentation update
version 0.4.0 (Mar 5, 2012)
Several optimizations and (minor) API changes by David McIntosh. We expect
that the API is backward compatible, howerver serialization won't be
compatible with previous versions.
1) slight tweak to serialization to use the actualsizeinwords to set the buffer size when deserializing so it doesn't allocate more memory than it really needs.
2) added an orCardinality method that is a shortcut for bitmap1.or(bitmap2).cardinality() but doesn't need to create an intermediate bitmap.
3) added static or and orCardinality methods that can handle N number of bitmaps. For example, bitmap1.or(bitmap2).or(bitmap3) could be done as EWAHCompressedBitmap.or(bitmap1, bitmap2, bitmap3). It can be slower when N is small but avoids having to create N-2 intermediate bitmaps.
4) Long.bitCount is much faster when counting bits in the cardinality() method.
version 0.3.3 (Mar 2, 2012)
Correcting bug in intersect method (Robert Becho).
version 0.3.2 (Jan 16, 2012)
Better documentation and introduction
of a few methods (intersects).
version 0.3.1 (Jan 2, 2012)
The code is now built using maven.
version 0.3 (Jun 21, 2011)
The code was optimized slightly for speed.
You may a gain of about 20% on some operations,
and no gain on other operations.
version 0.2 (Mar 4, 2011)
In this release, there is a minor change to the
API: the getPositions method now returns an ArrayList
instead of a Vector.
version 0.1 : was never released publicly.