UNPKG

fast-morton

Version:

Fast morton encoding and decoding for 2D and 3D coordinates

3 lines (2 loc) 811 B
var r=new Error("All input coords must be in Uint15 range (0 - 32,767)"),n=new Error("Morton code must be in Uint32 range (0 - 65,535)"),t=[4294967295,65535,16711935,252645135,858993459,1431655765];function e(r){var n=r&t[0];return((n=((n=((n=((n=(n|n<<16)&t[1])|n<<8)&t[2])|n<<4)&t[3])|n<<2)&t[4])|n<<1)&t[5]}function o(n,t){if(!function(){return[].slice.call(arguments).every(function(r){return r>=0&&r<=32767})}(n,t))throw r;return e(n)|e(t)<<1}var u=[4294967295,65535,16711935,252645135,858993459,1431655765];function i(r){var n=r&u[5];return((n=((n=((n=(n^n>>1)&u[4])^n>>2)&u[3])^n>>4)&u[2])^n>>8)&u[1]}function c(r,t){if(r<0||r>4294967295)throw n;var e=null!=t?t:new Array(2);return e[0]=i(r),e[1]=i(r>>1),e}export{c as morton2DDecode,o as morton2DEncode}; //# sourceMappingURL=2d-mb.modern.module.js.map