fix: resolve 32-bit truncation overflow in BigInt coordinate math
All checks were successful
npm-publish / publish (push) Successful in 4s
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:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@ node_modules/
|
||||
.npmrc
|
||||
*.log
|
||||
.DS_Store
|
||||
dist
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gkucmierz/healpixjs-bigint",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.2",
|
||||
"description": "True BigInt port of healpixjs supporting orders beyond the 32-bit (<=14) limit",
|
||||
"keywords": [
|
||||
"healpix",
|
||||
|
||||
1436
src/Healpix.js
1436
src/Healpix.js
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user