fix: resolve 32-bit truncation overflow in BigInt coordinate math
All checks were successful
npm-publish / publish (push) Successful in 4s

- Replaced 32-bit bitwise shifts (<<) with Math.pow() and BigInt shifts to support large nsides without modulo overflow.
- Recalculated compress_bits and spread_bits to explicitly loop 64-bit indexes rather than truncating with 8-bit Uint16Array table lookups (ctab/utab).
- Restored original C/C++ geographic precision boundaries allowing the engine to successfully encode and decode high-precision pixels natively up to Order 52.
This commit is contained in:
2026-03-06 20:40:18 +00:00
parent b19b253e68
commit 9ad361f0ca
4 changed files with 795 additions and 650 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gkucmierz/healpixjs-bigint",
"version": "1.0.0",
"version": "1.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gkucmierz/healpixjs-bigint",
"version": "1.0.0",
"version": "1.0.2",
"license": "MIT"
}
}