Skip to content

Commit 202b9ab

Browse files
committed
Fix bug in elias fano
1 parent de1f44f commit 202b9ab

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

Src/FastData.Generator.CSharp/Internal/Generators/EliasFanoCode.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public override string Generate()
5656
{{(hasLowerBits ?
5757
"""
5858
ulong targetLow = (ulong)value & _lowerMask;
59-
long lowerBitsOffset = rank * lowerBitCount;
59+
long lowerBitsOffset = rank * _lowerBitCount;
6060
6161
while (true)
6262
{
@@ -82,7 +82,7 @@ public override string Generate()
8282
int startBit = (int)(lowerBitsOffset & 63);
8383
8484
ulong currentLow;
85-
if (startBit + lowerBitCount <= 64)
85+
if (startBit + _lowerBitCount <= 64)
8686
currentLow = (_lowerBits[wordIndex] >> startBit) & _lowerMask;
8787
else
8888
{
@@ -104,7 +104,7 @@ public override string Generate()
104104
if ((ulong)rank >= ItemCount)
105105
return false;
106106
107-
lowerBitsOffset += lowerBitCount;
107+
lowerBitsOffset += _lowerBitCount;
108108
}
109109
"""
110110
: """

Src/FastData.TestHarness.Runner/Verify/Vectors/CSharp/ValueVectors_EliasFanoStructure_Int32_1000_natural_sparse.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ internal static class EliasFanoStructure_Int32_1000_natural_sparse
5959

6060
ulong window = _upperBits[currWord] & (ulong.MaxValue << (int)(position & 63));
6161
ulong targetLow = (ulong)value & _lowerMask;
62-
long lowerBitsOffset = rank * lowerBitCount;
62+
long lowerBitsOffset = rank * _lowerBitCount;
6363

6464
while (true)
6565
{
@@ -85,7 +85,7 @@ internal static class EliasFanoStructure_Int32_1000_natural_sparse
8585
int startBit = (int)(lowerBitsOffset & 63);
8686

8787
ulong currentLow;
88-
if (startBit + lowerBitCount <= 64)
88+
if (startBit + _lowerBitCount <= 64)
8989
currentLow = (_lowerBits[wordIndex] >> startBit) & _lowerMask;
9090
else
9191
{
@@ -107,7 +107,7 @@ internal static class EliasFanoStructure_Int32_1000_natural_sparse
107107
if ((ulong)rank >= ItemCount)
108108
return false;
109109

110-
lowerBitsOffset += lowerBitCount;
110+
lowerBitsOffset += _lowerBitCount;
111111
}
112112
}
113113

0 commit comments

Comments
 (0)