hyparquet/demo/hyparquet-compressors.min.js

4 lines
113 KiB
JavaScript
Raw Normal View History

2024-06-28 00:27:12 +00:00
// @ts-ignore
var n=ArrayBuffer,A=Uint8Array,e=Uint16Array,t=Int16Array,r=Int32Array,o=function(n,e,t){if(A.prototype.slice)return A.prototype.slice.call(n,e,t);(null==e||e<0)&&(e=0),(null==t||t>n.length)&&(t=n.length);var r=new A(t-e);return r.set(n.subarray(e,t)),r},i=function(n,e,t,r){if(A.prototype.fill)return A.prototype.fill.call(n,e,t,r);for((null==t||t<0)&&(t=0),(null==r||r>n.length)&&(r=n.length);t<r;++t)n[t]=e;return n},s=function(n,e,t,r){if(A.prototype.copyWithin)return A.prototype.copyWithin.call(n,e,t,r);for((null==t||t<0)&&(t=0),(null==r||r>n.length)&&(r=n.length);t<r;)n[e++]=n[t++]},w=["invalid zstd data","window size too large (>2046MB)","invalid block type","FSE accuracy too high","match distance too far back","unexpected EOF"],f=function(n,A,e){var t=new Error(A||w[n]);if(t.code=n,Error.captureStackTrace&&Error.captureStackTrace(t,f),!e)throw t;return t},a=function(n,A,e){for(var t=0,r=0;t<e;++t)r|=n[A++]<<(t<<3);return r},g=function(n,e){var t,o,i=n[0]|n[1]<<8|n[2]<<16;if(3126568==i&&253==n[3]){var s=n[4],w=s>>5&1,g=s>>2&1,I=3&s,B=s>>6;8&s&&f(0);var l=6-w,h=3==I?4:I,u=a(n,l,h),Q=B?1<<B:w,d=a(n,l+=h,Q)+(1==B&&256),c=d;if(!w){var C=1<<10+(n[5]>>3);c=C+(C>>3)*(7&n[5])}c>2145386496&&f(1);var b=new A((1==e?d||c:e?0:c)+12);return b[0]=1,b[4]=4,b[8]=8,{b:l+Q,y:0,l:0,d:u,w:e&&1!=e?e:b.subarray(12),e:c,o:new r(b.buffer,0,3),u:d,c:g,m:Math.min(131072,c)}}if(25481893==(i>>4|n[3]<<20))return 8+(((t=n)[o=4]|t[o+1]<<8|t[o+2]<<16|t[o+3]<<24)>>>0);f(0)},I=function(n){for(var A=0;1<<A<=n;++A);return A-1},B=function(r,o,i){var s=4+(o<<3),w=5+(15&r[o]);w>i&&f(3);for(var a=1<<w,g=a,B=-1,l=-1,h=-1,u=a,Q=new n(512+(a<<2)),d=new t(Q,0,256),c=new e(Q,0,256),C=new e(Q,512,a),b=512+(a<<1),E=new A(Q,b,a),p=new A(Q,b+a);B<255&&g>0;){var v=I(g+1),y=s>>3,F=(1<<v+1)-1,U=(r[y]|r[y+1]<<8|r[y+2]<<16)>>(7&s)&F,W=(1<<v)-1,Y=F-g-1,m=U&W;if(m<Y?(s+=v,U=m):(s+=v+1,U>W&&(U-=Y)),d[++B]=--U,-1==U?(g+=U,E[--u]=B):g-=U,!U)do{var S=s>>3;l=(r[S]|r[S+1]<<8)>>(7&s)&3,s+=2,B+=l}while(3==l)}(B>255||g)&&f(0);for(var H=0,x=(a>>1)+(a>>3)+3,G=a-1,P=0;P<=B;++P){var q=d[P];if(q<1)c[P]=-q;else for(h=0;h<q;++h){E[H]=P;do{H=H+x&G}while(H>=u)}}for(H&&f(0),h=0;h<a;++h){var Z=c[E[h]]++,R=p[h]=w-I(Z);C[h]=(Z<<R)-a}return[s+7>>3,{b:w,s:E,n:p,t:C}]},l=B(new A([81,16,99,140,49,198,24,99,12,33,196,24,99,102,102,134,70,146,4]),0,6)[1],h=B(new A([33,20,196,24,99,140,33,132,16,66,8,33,132,16,66,8,33,68,68,68,68,68,68,68,68,36,9]),0,6)[1],u=B(new A([32,132,16,66,102,70,68,68,68,68,36,73,2]),0,5)[1],Q=function(n,A){for(var e=n.length,t=new r(e),o=0;o<e;++o)t[o]=A,A+=1<<n[o];return t},d=new A(new r([0,0,0,0,16843009,50528770,134678020,202050057,269422093]).buffer,0,36),c=Q(d,0),C=new A(new r([0,0,0,0,0,0,0,0,16843009,50528770,117769220,185207048,252579084,16]).buffer,0,53),b=Q(C,3),E=function(n,A,e){var t=n.length,r=A.length,o=n[t-1],i=(1<<e.b)-1,s=-e.b;o||f(0);for(var w=0,a=e.b,g=(t<<3)-8+I(o)-a,B=-1;g>s&&B<r;){var l=g>>3;w=(w<<a|(n[l]|n[l+1]<<8|n[l+2]<<16)>>(7&g))&i,A[++B]=e.s[w],g-=a=e.n[w]}g==s&&B+1==r||f(0)},p=function(n,A,e){var t=6,r=A.length+3>>2,o=r<<1,i=r+o;E(n.subarray(t,t+=n[0]|n[1]<<8),A.subarray(0,r),e),E(n.subarray(t,t+=n[2]|n[3]<<8),A.subarray(r,o),e),E(n.subarray(t,t+=n[4]|n[5]<<8),A.subarray(o,i),e),E(n.subarray(t),A.subarray(i),e)},v=function(n,t,r){var s,w=t.b,a=n[w],g=a>>1&3;t.l=1&a;var Q=a>>3|n[w+1]<<5|n[w+2]<<13,v=(w+=3)+Q;if(1==g){if(w>=n.length)return;return t.b=w+1,r?(i(r,n[w],t.y,t.y+=Q),r):i(new A(Q),n[w])}if(!(v>n.length)){if(0==g)return t.b=v,r?(r.set(n.subarray(w,v),t.y),t.y+=Q,r):o(n,w,v);if(2==g){var y=n[w],F=3&y,U=y>>2&3,W=y>>4,Y=0,m=0;F<2?1&U?W|=n[++w]<<4|(2&U&&n[++w]<<12):W=y>>3:(m=U,U<2?(W|=(63&n[++w])<<4,Y=n[w]>>6|n[++w]<<2):2==U?(W|=n[++w]<<4|(3&n[++w])<<12,Y=n[w]>>2|n[++w]<<6):(W|=n[++w]<<4|(63&n[++w])<<12,Y=n[w]>>6|n[++w]<<2|n[++w]<<10)),++w;var S=r?r.subarray(t.y,t.y+t.m):new A(t.m),H=S.length-W;if(0==F)S.set(n.subarray(w,w+=W),H);else if(1==F)i(S,n[w++],H);else{var x=t.h;if(2==F){var G=function(n,t){var r=0,o=-1,s=new A(292),w=n[t],a=s.subarray(0,256),g=s.subarray(256,268),l=new e(s.buffer,268);if(w<128){var h=B(n,t+1,6),u=h[0],Q=h[1],d=u<<3,c
//# sourceMappingURL=hyparquet-compressors.min.js.map