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
|
.npmrc
|
||||||
*.log
|
*.log
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
dist
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@gkucmierz/healpixjs-bigint",
|
"name": "@gkucmierz/healpixjs-bigint",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@gkucmierz/healpixjs-bigint",
|
"name": "@gkucmierz/healpixjs-bigint",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gkucmierz/healpixjs-bigint",
|
"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",
|
"description": "True BigInt port of healpixjs supporting orders beyond the 32-bit (<=14) limit",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"healpix",
|
"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