public IndexCalculator ( int segmentLength ) : System | ||
segmentLength | int | |
return | System |
public IndexCalculator(int segmentLength)
{
if (segmentLength <= 1)
{
throw new ArgumentException("The segmentLength must be positive and greater than 1", nameof(segmentLength));
}
if (segmentLength.IsPowerOfTwo() == false)
{
throw new ArgumentException("Segment size must be power of 2", nameof(segmentLength));
}
_indexInSegmentMask = segmentLength - 1;
_segmentNumberShift = segmentLength.Log2();
}