forked from crossfilter/crossfilter
/
crossfilter.min.js
1 lines (1 loc) · 11 KB
/
crossfilter.min.js
1
!function(r){function n(r){return r}function t(r,n){for(var t=0,e=n.length,u=Array(e);e>t;++t)u[t]=r[n[t]];return u}function e(r){function n(n,t,e,u){for(;u>e;){var o=e+u>>>1;r(n[o])<t?e=o+1:u=o}return e}function t(n,t,e,u){for(;u>e;){var o=e+u>>>1;t<r(n[o])?u=o:e=o+1}return e}return t.right=t,t.left=n,t}function u(r){function n(r,n,t){for(var u=t-n,o=(u>>>1)+1;--o>0;)e(r,o,u,n);return r}function t(r,n,t){for(var u,o=t-n;--o>0;)u=r[n],r[n]=r[n+o],r[n+o]=u,e(r,1,o,n);return r}function e(n,t,e,u){for(var o,f=n[--u+t],i=r(f);(o=t<<1)<=e&&(e>o&&r(n[u+o])>r(n[u+o+1])&&o++,!(i<=r(n[u+o])));)n[u+t]=n[u+o],t=o;n[u+t]=f}return n.sort=t,n}function o(r){function n(n,e,u,o){var f,i,a,c,s=Array(o=Math.min(u-e,o));for(i=0;o>i;++i)s[i]=n[e++];if(t(s,0,o),u>e){f=r(s[0]);do(a=r(c=n[e])>f)&&(s[0]=c,f=r(t(s,0,o)[0]));while(++e<u)}return s}var t=u(r);return n}function f(r){function n(n,t,e){for(var u=t+1;e>u;++u){for(var o=u,f=n[u],i=r(f);o>t&&r(n[o-1])>i;--o)n[o]=n[o-1];n[o]=f}return n}return n}function i(r){function n(r,n,u){return(C>u-n?e:t)(r,n,u)}function t(t,e,u){var o,f=0|(u-e)/6,i=e+f,a=u-1-f,c=e+u-1>>1,s=c-f,l=c+f,v=t[i],h=r(v),p=t[s],d=r(p),y=t[c],g=r(y),b=t[l],x=r(b),m=t[a],z=r(m);h>d&&(o=v,v=p,p=o,o=h,h=d,d=o),x>z&&(o=b,b=m,m=o,o=x,x=z,z=o),h>g&&(o=v,v=y,y=o,o=h,h=g,g=o),d>g&&(o=p,p=y,y=o,o=d,d=g,g=o),h>x&&(o=v,v=b,b=o,o=h,h=x,x=o),g>x&&(o=y,y=b,b=o,o=g,g=x,x=o),d>z&&(o=p,p=m,m=o,o=d,d=z,z=o),d>g&&(o=p,p=y,y=o,o=d,d=g,g=o),x>z&&(o=b,b=m,m=o,o=x,x=z,z=o);var E=p,k=d,w=b,A=x;t[i]=v,t[s]=t[e],t[c]=y,t[l]=t[u-1],t[a]=m;var O=e+1,M=u-2,U=A>=k&&k>=A;if(U)for(var N=O;M>=N;++N){var C=t[N],S=r(C);if(k>S)N!==O&&(t[N]=t[O],t[O]=C),++O;else if(S>k)for(;;){var q=r(t[M]);{if(!(q>k)){if(k>q){t[N]=t[O],t[O++]=t[M],t[M--]=C;break}t[N]=t[M],t[M--]=C;break}M--}}}else for(var N=O;M>=N;N++){var C=t[N],S=r(C);if(k>S)N!==O&&(t[N]=t[O],t[O]=C),++O;else if(S>A)for(;;){var q=r(t[M]);{if(!(q>A)){k>q?(t[N]=t[O],t[O++]=t[M],t[M--]=C):(t[N]=t[M],t[M--]=C);break}if(M--,N>M)break}}}if(t[e]=t[O-1],t[O-1]=E,t[u-1]=t[M+1],t[M+1]=w,n(t,e,O-1),n(t,M+2,u),U)return t;if(i>O&&M>a){for(var F,q;(F=r(t[O]))<=k&&F>=k;)++O;for(;(q=r(t[M]))<=A&&q>=A;)--M;for(var N=O;M>=N;N++){var C=t[N],S=r(C);if(k>=S&&S>=k)N!==O&&(t[N]=t[O],t[O]=C),O++;else if(A>=S&&S>=A)for(;;){var q=r(t[M]);{if(!(A>=q&&q>=A)){k>q?(t[N]=t[O],t[O++]=t[M],t[M--]=C):(t[N]=t[M],t[M--]=C);break}if(M--,N>M)break}}}}return n(t,O,M+1)}var e=f(r);return n}function a(r){for(var n=Array(r),t=-1;++t<r;)n[t]=0;return n}function c(r,n){for(var t=r.length;n>t;)r[t++]=0;return r}function s(r,n){if(n>32)throw Error("invalid array width!");return r}function l(r){this.length=r,this.subarrays=1,this.width=8,this.masks={0:0},this[0]=S(r)}function v(r,n){return function(t){var e=t.length;return[r.left(t,n,0,e),r.right(t,n,0,e)]}}function h(r,n){var t=n[0],e=n[1];return function(n){var u=n.length;return[r.left(n,t,0,u),r.left(n,e,0,u)]}}function p(r){return[0,r.length]}function d(){return null}function y(){return 0}function g(r){return r+1}function b(r){return r-1}function x(r){return function(n,t){return n+ +r(t)}}function m(r){return function(n,t){return n-r(t)}}function z(){function r(r){var n=U,t=r.length;return t&&(M=M.concat(r),z.lengthen(U+=t),C.forEach(function(e){e(r,n,t)})),O}function e(){for(var r=E(U,U),n=[],t=0,e=0;U>t;++t)z.zero(t)?n.push(t):r[t]=e++;N.forEach(function(r){r(-1,-1,[],n,!0)}),S.forEach(function(n){n(r)});for(var t=0,e=0;U>t;++t)z.zero(t)||(t!==e&&(z.copy(e,t),M[e]=M[t]),++e);M.length=U=e,z.truncate(e)}function f(r){function e(n,e,u){V=n.map(r),W=Z(k(u),0,u),V=t(V,W);var o,f=$(V),i=f[0],a=f[1];if(X)for(o=0;u>o;++o)X(V[o],o)||(z[P][W[o]+e]|=K);else{for(o=0;i>o;++o)z[P][W[o]+e]|=K;for(o=a;u>o;++o)z[P][W[o]+e]|=K}if(!e)return Q=V,T=W,nn=i,tn=a,void 0;var c=Q,s=T,l=0,v=0;for(Q=Array(U),T=E(U,U),o=0;e>l&&u>v;++o)c[l]<V[v]?(Q[o]=c[l],T[o]=s[l++]):(Q[o]=V[v],T[o]=W[v++]+e);for(;e>l;++l,++o)Q[o]=c[l],T[o]=s[l];for(;u>v;++v,++o)Q[o]=V[v],T[o]=W[v]+e;f=$(Q),nn=f[0],tn=f[1]}function f(r,n,t){_.forEach(function(r){r(V,W,n,t)}),V=W=null}function a(r){for(var n,t=0,e=0;U>t;++t)z.zero(n=T[t])||(t!==e&&(Q[e]=Q[t]),T[e]=r[n],++e);for(Q.length=e;U>e;)T[e++]=0;var u=$(Q);nn=u[0],tn=u[1]}function c(r){var n=r[0],t=r[1];if(X)return X=null,B(function(r,e){return e>=n&&t>e}),nn=n,tn=t,Y;var e,u,o,f=[],i=[];if(nn>n)for(e=n,u=Math.min(nn,t);u>e;++e)z[P][o=T[e]]^=K,f.push(o);else if(n>nn)for(e=nn,u=Math.min(n,tn);u>e;++e)z[P][o=T[e]]^=K,i.push(o);if(t>tn)for(e=Math.max(n,tn),u=t;u>e;++e)z[P][o=T[e]]^=K,f.push(o);else if(tn>t)for(e=Math.max(nn,t),u=tn;u>e;++e)z[P][o=T[e]]^=K,i.push(o);return nn=n,tn=t,N.forEach(function(r){r(K,P,f,i)}),Y}function s(r){return null==r?q():Array.isArray(r)?O(r):"function"==typeof r?F(r):l(r)}function l(r){return c(($=v(A,r))(Q))}function O(r){return c(($=h(A,r))(Q))}function q(){return c(($=p)(Q))}function F(r){return $=p,B(X=r),nn=0,tn=U,Y}function B(r){var n,t,e,u=[],o=[];for(n=0;U>n;++n)!(z[P][t=T[n]]&K)^!!(e=r(Q[n],n))&&(e?(z[P][t]&=L,u.push(t)):(z[P][t]|=K,o.push(t)));N.forEach(function(r){r(K,P,u,o)})}function D(r){for(var n,t=[],e=tn;--e>=nn&&r>0;)z.zero(n=T[e])&&(t.push(M[n]),--r);return t}function G(r){for(var n,t=[],e=nn;tn>e&&r>0;)z.zero(n=T[e])&&(t.push(M[n]),--r),e++;return t}function H(r){function t(n,t,e,u){function o(){++X===W&&(b=j(b,V<<=1),B=j(B,V),W=w(V))}var s,l,v,h,p,y,g=F,b=E(X,W),x=H,m=I,k=J,A=X,O=0,C=0;for($&&(x=k=d),$&&(m=k=d),F=Array(X),X=0,B=A>1?R(B,U):E(U,W),A&&(v=(l=g[0]).key);u>C&&!((h=r(n[C]))>=h);)++C;for(;u>C;){for(l&&h>=v?(p=l,y=v,b[O]=X,(l=g[++O])&&(v=l.key)):(p={key:h,value:k()},y=h),F[X]=p;!(h>y||(B[s=t[C]+e]=X,p.value=x(p.value,M[s],!0),z.zeroExcept(s,P,L)||(p.value=m(p.value,M[s],!1)),++C>=u));)h=r(n[C]);o()}for(;A>O;)F[b[O]=X]=g[O++],o();if(X>O)for(O=0;e>O;++O)B[O]=b[B[O]];s=N.indexOf(Y),X>1?(Y=f,Z=a):(!X&&nn&&(X=1,F=[{key:null,value:k()}]),1===X?(Y=i,Z=c):(Y=d,Z=d),B=null),N[s]=Y}function e(){if(X>1){for(var r=X,n=F,t=E(r,r),e=0,u=0;U>e;++e)z.zero(e)||(t[B[u]=B[e]]=1,++u);for(F=[],X=0,e=0;r>e;++e)t[e]&&(t[e]=X++,F.push(n[e]));if(X>1)for(var e=0;u>e;++e)B[e]=t[B[e]];else B=null;N[N.indexOf(Y)]=X>1?(Z=a,Y=f):1===X?(Z=c,Y=i):Z=Y=d}else if(1===X){if(nn)return;for(var e=0;U>e;++e)if(!z.zero(e))return;F=[],X=0,N[N.indexOf(Y)]=Y=Z=d}}function f(r,n,t,e,u){if(!(r===K&&n===P||$)){var o,f,i,a;for(o=0,i=t.length;i>o;++o)z.zeroExcept(f=t[o],P,L)&&(a=F[B[f]],a.value=H(a.value,M[f]));for(o=0,i=e.length;i>o;++o)z.onlyExcept(f=e[o],P,L,n,r)&&(a=F[B[f]],a.value=I(a.value,M[f],u))}}function i(r,n,t,e,u){if(!(r===K&&n===P||$)){var o,f,i,a=F[0];for(o=0,i=t.length;i>o;++o)z.zeroExcept(f=t[o],P,L)&&(a.value=H(a.value,M[f]));for(o=0,i=e.length;i>o;++o)z.onlyExcept(f=e[o],P,L,n,r)&&(a.value=I(a.value,M[f],u))}}function a(){var r,n;for(r=0;X>r;++r)F[r].value=J();for(r=0;U>r;++r)n=F[B[r]],n.value=H(n.value,M[r],!0);for(r=0;U>r;++r)z.zeroExcept(r,P,L)||(n=F[B[r]],n.value=I(n.value,M[r],!1))}function c(){var r,n=F[0];for(n.value=J(),r=0;U>r;++r)n.value=H(n.value,M[r],!0);for(r=0;U>r;++r)z.zeroExcept(r,P,L)||(n.value=I(n.value,M[r],!1))}function s(){return $&&(Z(),$=!1),F}function l(r){var n=D(s(),0,F.length,r);return G.sort(n,0,n.length)}function v(r,n,t){return H=r,I=n,J=t,$=!0,q}function h(){return v(g,b,y)}function p(r){return v(x(r),m(r),y)}function k(r){function n(n){return r(n.value)}return D=o(n),G=u(n),q}function A(){return k(n)}function O(){return X}function C(){var r=N.indexOf(Y);return r>=0&&N.splice(r,1),r=_.indexOf(t),r>=0&&_.splice(r,1),r=S.indexOf(e),r>=0&&S.splice(r,1),q}var q={top:l,all:s,reduce:v,reduceCount:h,reduceSum:p,order:k,orderNatural:A,size:O,dispose:C,remove:C};rn.push(q);var F,B,D,G,H,I,J,V=8,W=w(V),X=0,Y=d,Z=d,$=!0,nn=r===d;return arguments.length<1&&(r=n),N.push(Y),_.push(t),S.push(e),t(Q,T,0,U),h().orderNatural()}function I(){var r=H(d),n=r.all;return delete r.all,delete r.top,delete r.order,delete r.orderNatural,delete r.size,r.value=function(){return n()[0].value},r}function J(){rn.forEach(function(r){r.dispose()});var r=C.indexOf(e);return r>=0&&C.splice(r,1),r=C.indexOf(f),r>=0&&C.splice(r,1),r=S.indexOf(a),r>=0&&S.splice(r,1),z.masks[P]&=L,q()}var K,L,P,Q,T,V,W,X,Y={filter:s,filterExact:l,filterRange:O,filterFunction:F,filterAll:q,top:D,bottom:G,group:H,groupAll:I,dispose:J,remove:J},Z=i(function(r){return V[r]}),$=p,_=[],rn=[],nn=0,tn=0;C.unshift(e),C.push(f),S.push(a);var en=z.add();return P=en.offset,K=en.one,L=~K,e(M,0,U),f(M,0,U),Y}function a(){function r(r,n){var t;if(!h)for(t=n;U>t;++t)a=c(a,M[t],!0),z.zero(t)||(a=s(a,M[t],!1))}function n(r,n,t,e,u){var o,f,i;if(!h){for(o=0,i=t.length;i>o;++o)z.zero(f=t[o])&&(a=c(a,M[f],u));for(o=0,i=e.length;i>o;++o)z.only(f=e[o],n,r)&&(a=s(a,M[f],u))}}function t(){var r;for(a=l(),r=0;U>r;++r)a=c(a,M[r],!0),z.zero(r)||(a=s(a,M[r],!1))}function e(r,n,t){return c=r,s=n,l=t,h=!0,v}function u(){return e(g,b,y)}function o(r){return e(x(r),m(r),y)}function f(){return h&&(t(),h=!1),a}function i(){var t=N.indexOf(n);return t>=0&&N.splice(t),t=C.indexOf(r),t>=0&&C.splice(t),v}var a,c,s,l,v={reduce:e,reduceCount:u,reduceSum:o,value:f,dispose:i,remove:i},h=!0;return N.push(n),C.push(r),r(M,0,U),u()}function c(){return U}function s(){return M}var z,O={add:r,remove:e,dimension:f,groupAll:a,size:c,all:s},M=[],U=0,N=[],C=[],S=[];return z=new l(0),arguments.length?r(arguments[0]):O}function E(r,n){return(257>n?S:65537>n?q:F)(r)}function k(r){for(var n=E(r,r),t=-1;++t<r;)n[t]=t;return n}function w(r){return 8===r?256:16===r?65536:4294967296}z.version="2.0.0-alpha.03",z.permute=t;var A=z.bisect=e(n);A.by=e;var O=z.heap=u(n);O.by=u;var M=z.heapselect=o(n);M.by=o;var U=z.insertionsort=f(n);U.by=f;var N=z.quicksort=i(n);N.by=i;var C=32,S=a,q=a,F=a,R=c,j=s;"undefined"!=typeof Uint8Array&&(S=function(r){return new Uint8Array(r)},q=function(r){return new Uint16Array(r)},F=function(r){return new Uint32Array(r)},R=function(r,n){if(r.length>=n)return r;var t=new r.constructor(n);return t.set(r),t},j=function(r,n){var t;switch(n){case 16:t=q(r.length);break;case 32:t=F(r.length);break;default:throw Error("invalid array width!")}return t.set(r),t}),l.prototype.lengthen=function(r){var n,t;for(n=0,t=this.subarrays;t>n;++n)this[n]=R(this[n],r);this.length=r},l.prototype.add=function(){var r,n,t,e,u;for(e=0,u=this.subarrays;u>e;++e)if(r=this.masks[e],n=this.width-32*e,t=~r&-~r,!(n>=32)||t)return 32>n&&t&1<<n&&(this[e]=j(this[e],n<<=1),this.width=32*e+n),this.masks[e]|=t,{offset:e,one:t};return this[this.subarrays]=S(this.length),this.masks[this.subarrays]=1,this.width+=8,{offset:this.subarrays++,one:1}},l.prototype.copy=function(r,n){var t,e;for(t=0,e=this.subarrays;e>t;++t)this[t][r]=this[t][n]},l.prototype.truncate=function(r){var n,t;for(n=0,t=this.subarrays;t>n;++n){for(var e=this.length-1;e>=r;e--)this[n][e]=0;this[n].length=r}this.length=r},l.prototype.zero=function(r){var n,t;for(n=0,t=this.subarrays;t>n;++n)if(this[n][r])return!1;return!0},l.prototype.zeroExcept=function(r,n,t){var e,u;for(e=0,u=this.subarrays;u>e;++e)if(e===n?this[e][r]&t:this[e][r])return!1;return!0},l.prototype.only=function(r,n,t){var e,u;for(e=0,u=this.subarrays;u>e;++e)if(this[e][r]!=(e===n?t:0))return!1;return!0},l.prototype.onlyExcept=function(r,n,t,e,u){var o,f,i;for(f=0,i=this.subarrays;i>f;++f)if(o=this[f][r],f===n&&(o&=t),o!=(f===e?u:0))return!1;return!0},r.crossfilter=z}("undefined"!=typeof exports&&exports||this);