- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
29 lines
609 B
JavaScript
29 lines
609 B
JavaScript
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
|