Commit Graph

38 Commits

Author SHA1 Message Date
Eugene c742385ca1 1.0.7 2025-12-10 17:07:50 +03:00
Eugene 5ce38e451d 1.0.6 2025-12-10 17:06:27 +03:00
Eugene b03b758f14 add performance tests 2025-12-10 17:06:21 +03:00
Eugene 832b78d13c 1.0.5 2025-12-10 16:01:24 +03:00
Eugene 5ae03c47da format 2025-12-10 16:01:18 +03:00
Eugene 594ec641a4 refactor(bitmap): switch to mutating API and return `this` from all setters
The Bitmap API is now fully mutating:
- all state-changing methods (`set`, `remove`, `grow`, `clear`, `filter`) return `this`
- bitwise operations (`and`, `or`, `xor`, `andNot`) no longer clone internally and now mutate the current bitmap
- functional (immutable-style) usage is still possible via explicit `.clone()`
- removed implicit cloning from all arithmetic operations

This change makes the mutation semantics consistent and predictable, while keeping optional immutability available through manual cloning.
2025-12-10 16:01:04 +03:00
Eugene 21761e5dac 1.0.4 2025-12-06 12:30:16 +03:00
Eugene b23eb4d7c0 add spaces between bits group 2025-12-06 12:30:06 +03:00
Eugene 3b2348f977 1.0.3 2025-12-06 12:23:56 +03:00
Eugene 02e69826dd add serialization/deserialization/debug methods (toString/fromString) 2025-12-06 12:23:50 +03:00
Eugene 84dfd66f9a 1.0.2 2025-12-01 22:59:09 +03:00
Eugene dfa4a88e0d add license
update package.json
2025-12-01 22:58:17 +03:00
Eugene 4a5d190ea7 1.0.1 2025-12-01 22:45:47 +03:00
Eugene 5667aef80f docs(bitmap): add JSDoc for Bitmap class and helper functions
Add comprehensive JSDoc comments to src/bitmap.ts covering:
- private helper functions (computeBitsArrayLength, getBitPositionIndex, getBitPosition, getMask)
- the Bitmap class and all public methods (constructor, iterator, grow, set, remove, contains, count, and, andNot, or, xor, range, filter, clear, clone, min, max, minZero, maxZero)

Comments describe parameters, return values and behavior (including iteration semantics). No runtime behaviour changes — this improves editor/tooling support (autocomplete/type hints) and prepares the code for TypeDoc generation.
2025-12-01 22:45:36 +03:00
Eugene 6e845f5543 1.0.0 2025-12-01 21:59:28 +03:00
Eugene f840742724 fix(bitmap): correct growth at byte boundaries, add explicit bounds checks, and adjust bitwise ops
- grow now accounts for bit index + 1 when computing required byte length to avoid off-by-one at byte boundaries
- contains/remove use explicit bounds checks (idx >= this.bits.length) instead of relying on truthy checks
- and clears tail bytes not covered by the shorter operand
- or/xor expand the result to encompass a longer operand so all bits are preserved
- update behavior to be more predictable and safer; tests pass
2025-12-01 21:58:51 +03:00
Eugene 4fbf7d426e 0.0.8 2025-12-01 19:26:31 +03:00
Eugene eec57ec719 removed useless interface 2025-12-01 19:26:25 +03:00
Eugene 7b363a0219 0.0.7 2025-12-01 17:46:36 +03:00
Eugene 7db35956e1 markdown update 2025-12-01 17:46:25 +03:00
Eugene 4f4fddcbcf 0.0.6 2025-12-01 17:37:36 +03:00
Eugene 0d04900ec6 format with prettier 2025-12-01 17:37:12 +03:00
Eugene 5b1e81bea9 add tests 2025-12-01 17:36:26 +03:00
Eugene e5dd13477b add simple iterators 2025-12-01 17:30:15 +03:00
Eugene b79f9267f0 0.0.5 2025-04-03 19:22:06 +03:00
Eugene c773a73ec7 0.0.4 2025-04-03 19:18:05 +03:00
Eugene ea844221b7 Little DX upgrade. Now .range() can return VOID.
It means that user don't need to always return `true` to continue iteration, but user can break the iterations by returning `false`.
2025-04-03 19:18:00 +03:00
Eugene 6c6b48a287 Update README.md 2025-04-02 09:18:19 +03:00
Eugene 3a063d4aac 0.0.3 2025-04-02 09:10:28 +03:00
Eugene e53ecbd76b Merge remote-tracking branch 'origin/main' 2025-04-02 09:10:02 +03:00
Eugene 45b914875b Update vite version 2025-04-02 09:09:47 +03:00
Eugene dd78397385 Fixed bug with 0-size bitmap (.grow(x))
Add testcase
Add tests script & config
2025-04-02 09:08:46 +03:00
Eugene Antonenkov 5a8853f719
Delete public directory 2024-07-05 00:25:38 +03:00
Eugene Antonenkov 75f81b537e
Delete index.html 2024-07-05 00:25:15 +03:00
Eugene Antonenkov 8e609c984c
Update README.md 2024-07-05 00:15:20 +03:00
= e73e47a702 0.0.2 2024-07-04 22:40:22 +03:00
= b39cb22c87 Update readme 2024-07-04 22:40:17 +03:00
= 0368f12d60 init commit 2024-07-04 22:34:19 +03:00