Revert cuz golang :) messes up rand add full size

This commit is contained in:
bloeys
2022-06-10 11:22:48 +04:00
parent 82ab26e069
commit 97f19b3f38

11
nset.go
View File

@ -38,13 +38,9 @@ type NSet[T IntsIf] struct {
func (n *NSet[T]) Add(x T) {
//NOTE: The inlines here improve addition times by a good amount (several seconds)
//NOTE: inline of n.GetBucketFromValue(x)
bucket := &n.Buckets[BucketType(x>>n.shiftAmount)]
//NOTE: This is an inline of n.GetStorageUnitIndex(x)
unitIndex := uint32(((x << BucketIndexingBits) >> BucketIndexingBits) / StorageTypeBits)
bucket := n.GetBucketFromValue(x)
unitIndex := n.GetStorageUnitIndex(x)
if unitIndex >= bucket.StorageUnitCount {
storageUnitsToAdd := unitIndex - bucket.StorageUnitCount + 1
@ -54,8 +50,7 @@ func (n *NSet[T]) Add(x T) {
bucket.StorageUnitCount += storageUnitsToAdd
}
//NOTE: Inline of n.GetBitMask(x)
bucket.Data[unitIndex] |= 1 << (((x << BucketIndexingBits) >> BucketIndexingBits) % StorageTypeBits)
bucket.Data[unitIndex] |= n.GetBitMask(x)
}
func (n *NSet[T]) Remove(x T) {