Commit graph

211 commits

Author SHA1 Message Date
Travis Turner
681527e37a Merge pull request #859 from travisturner/refactor-differencerunarray
Refactor differencerunarray
2017-09-28 10:31:16 -05:00
Travis
40b27b6643
Fix panic when iterating over an empty run container.
When the difference of two run containers resulted in an empty
container, that container would be a run container with no runs.
The Iterator was expected there to be at least on run in
`container.runs`. This fix protects against that and adds tests
for that case.
2017-09-27 15:11:16 -05:00
Matthew Jaffee
f115249316
don't forget to calculate in in differenceArrayRun 2017-09-27 15:05:27 -05:00
Matthew Jaffee
fd73eaa5cb
re-implement differenceRunArray to not use iterator
hopefully less heap allocs and better perf now
2017-09-27 15:05:16 -05:00
Travis
c7e672e16f
cleaning up a few of the tests 2017-09-27 11:23:00 -05:00
Todd Gruben
de2f16b617
optimzed differenceRunBitmap 2017-09-27 11:23:00 -05:00
Todd Gruben
3f3cc60531
micro optimization to bitmap difference 2017-09-27 11:17:15 -05:00
Todd Gruben
50dab75c82
optimize unionArrayBitmap 2017-09-27 11:17:15 -05:00
Todd Gruben
48f34836e5
optimize differenceBitmapArray 2017-09-27 11:17:15 -05:00
Todd Gruben
08133368e3
optimize differenceArrayBitmap 2017-09-27 11:17:15 -05:00
Todd Gruben
71b7216c51
fix to to allocate properly for difference test 2017-09-27 11:17:15 -05:00
Todd Gruben
4487e6aadd
optimized differenceBitmapBitmap 2017-09-27 11:17:15 -05:00
Matthew Jaffee
de6a25cb8d
rewrite intersectArrayBitmap for perf 2017-09-27 11:17:15 -05:00
Todd Gruben
1736a40b74
check for array conversion to intersectbitmapbitmap 2017-09-27 11:17:14 -05:00
Todd Gruben
1db1ce63b7
optimize intersectionBitmapBitmap 2017-09-27 11:17:14 -05:00
Travis
0d4f634dd8
implement container.flipBitmap() to improve differenceRunBitmap() 2017-09-25 15:48:40 -05:00
Todd Gruben
641519acf2 cleanup on unmarshall shrink 2017-09-15 22:10:48 -05:00
Todd Gruben
1eb2f8d568 reusing containers for memory efficiency 2017-09-07 12:59:09 -05:00
Todd Gruben
a8b070716d reuse fragment memory 2017-09-06 14:41:14 -05:00
Todd Gruben
1d55d1c2c5 cleanup commented code 2017-09-05 15:41:52 -05:00
Todd Gruben
c418d73fa7 zero alloc WriteTo 2017-09-01 14:56:14 -05:00
Todd Gruben
eb98bdd8c6 no allocating WriteTo 2017-09-01 13:39:51 -05:00
Travis
31f1fe0be1
set container.n in differenceRunRun 2017-08-25 19:23:09 -05:00
Travis
cef489c726
ensure new containers have a type 2017-08-25 13:34:57 -05:00
tgruben
644262810f Merge pull request #786 from tgruben/xor-bug
Xor bug
2017-08-24 14:13:25 -05:00
Todd Gruben
72041eb4f2 comment cleanup 2017-08-24 13:49:43 -05:00
Todd Gruben
0f91149852 converted xorArrayRun test to table; xor cardinality bug fix 2017-08-24 13:47:58 -05:00
Todd Gruben
ee3324ba8e overflow in arrayRun with supporting tests 2017-08-23 11:20:33 -05:00
Todd Gruben
95d89e7648 replaced magic number with constant; updated comments 2017-08-23 09:03:26 -05:00
Todd Gruben
343ff04399 fixes #780;adjusted test to avoid array conversion 2017-08-22 16:09:03 -05:00
Matthew Jaffee
dbbdabef05
add failing test for XorRunRun 2017-08-21 14:38:35 -05:00
Travis
cf372cdd1d
Fix infinite loop in bitmap-to-array conversion.
When a run ended the container (i.e. contained column 65535), then the for loop
would increment the 16-bit value to 0, at which point it was still <= 65535.
2017-08-21 14:20:37 -05:00
Matthew Jaffee
23f0d09157
improve description of search32 and search64 2017-08-15 17:47:12 -05:00
Matthew Jaffee
f6b75e0361
fix Bitmap.CountRange bugs, comment, test 2017-08-15 17:07:15 -05:00
Todd Gruben
af4350ca46 spelling correction 2017-08-15 12:36:09 -05:00
Todd Gruben
89b72cbfc8 provided some clarification of CountRange issue 2017-08-15 12:33:19 -05:00
Todd Gruben
7bcbfaef09 fix for #770 2017-08-15 11:36:49 -05:00
Alan Bernstein
056707ad09 Remove unused magic number 2017-08-11 14:02:43 -05:00
Travis
8f3cb3e761
add a comment to TestBitmap_BitmapCountRangeEdgeCase 2017-08-10 08:46:13 -05:00
Todd Gruben
5d39bc0b1c addressing concerns 2017-08-09 15:34:59 -05:00
Todd Gruben
93257af5d2 CountRange was incorrect if rangekey was prior to inital container 2017-08-09 14:06:22 -05:00
Todd Gruben
728308a5bb Merge branch 'master' into 16bitcontainer 2017-08-08 10:17:44 -05:00
Ben Johnson
3b1428a84e
Remove IntersectInverse() 2017-08-04 09:48:25 -06:00
Todd Gruben
af3714e5ab corrected comment to reflect reality 2017-08-04 10:40:35 -05:00
Todd Gruben
fbdce18f70 overflow in intersectionCountRunRun 2017-08-03 14:30:37 -05:00
Todd Gruben
f6d63ddccb overflow on intersectBitmapRun 2017-08-02 16:06:58 -05:00
Todd Gruben
6dacd287b4 fixed overflow on read 2017-08-02 10:05:01 -05:00
Todd Gruben
091e982263 update tests to support container_type 2017-08-01 21:47:28 -05:00
Todd Gruben
a3f3ca3c5a fixed overflow in interval16 runlen; added rle tests 2017-08-01 16:25:11 -05:00
Ben Johnson
0bb94fc83d
Implement BSI Field Range internally
This commit adds `FieldRange()` to the `Frame`, `View`, and
`Fragment` types. It accepts an operator & a predicate and
returns a bitmap of matching field values.
2017-08-01 14:44:53 -06:00