Aktueller Stand
This commit is contained in:
29
backend/node_modules/effect/dist/esm/internal/hashMap/bitwise.js
generated
vendored
Normal file
29
backend/node_modules/effect/dist/esm/internal/hashMap/bitwise.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
import { MASK } from "./config.js";
|
||||
/**
|
||||
* Hamming weight.
|
||||
*
|
||||
* Taken from: http://jsperf.com/hamming-weight
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export function popcount(x) {
|
||||
x -= x >> 1 & 0x55555555;
|
||||
x = (x & 0x33333333) + (x >> 2 & 0x33333333);
|
||||
x = x + (x >> 4) & 0x0f0f0f0f;
|
||||
x += x >> 8;
|
||||
x += x >> 16;
|
||||
return x & 0x7f;
|
||||
}
|
||||
/** @internal */
|
||||
export function hashFragment(shift, h) {
|
||||
return h >>> shift & MASK;
|
||||
}
|
||||
/** @internal */
|
||||
export function toBitmap(x) {
|
||||
return 1 << x;
|
||||
}
|
||||
/** @internal */
|
||||
export function fromBitmap(bitmap, bit) {
|
||||
return popcount(bitmap & bit - 1);
|
||||
}
|
||||
//# sourceMappingURL=bitwise.js.map
|
||||
Reference in New Issue
Block a user