MCPcopy
hub / github.com/RoaringBitmap/roaring / TestCardinalityInRangeRunOptimized

Function TestCardinalityInRangeRunOptimized

roaring_test.go:1141–1156  ·  view source on GitHub ↗

TestCardinalityInRangeRunOptimized tests CardinalityInRange with run-compressed containers.

(t *testing.T)

Source from the content-addressed store, hash-verified

1139
1140// TestCardinalityInRangeRunOptimized tests CardinalityInRange with run-compressed containers.
1141func TestCardinalityInRangeRunOptimized(t *testing.T) {
1142 rb := NewBitmap()
1143 // Create a large consecutive range which will be run-optimized.
1144 rb.AddRange(1000, 5000)
1145 rb.AddRange(70000, 80000) // second container (key=1)
1146 rb.RunOptimize()
1147
1148 assert.EqualValues(t, 4000, rb.CardinalityInRange(1000, 5000))
1149 assert.EqualValues(t, 10000, rb.CardinalityInRange(70000, 80000))
1150 assert.EqualValues(t, 100, rb.CardinalityInRange(1000, 1100))
1151 assert.EqualValues(t, 4000+10000, rb.CardinalityInRange(0, 100000))
1152 assert.EqualValues(t, 0, rb.CardinalityInRange(5000, 70000)) // gap between runs
1153 assert.EqualValues(t, 4000+10000, rb.CardinalityInRange(1000, 80000))
1154 // Partial into both
1155 assert.EqualValues(t, 3000+5000, rb.CardinalityInRange(2000, 75000))
1156}
1157
1158// TestCardinalityInRangeRunGapWithinContainer tests CardinalityInRange when
1159// two run intervals exist in the same container with a gap between them.

Callers

nothing calls this directly

Calls 4

AddRangeMethod · 0.95
RunOptimizeMethod · 0.95
CardinalityInRangeMethod · 0.95
NewBitmapFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…