robust-predicates 2.0.2 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).predicates={})}(this,function(t){"use strict";const n=134217729,o=33306690738754706e-32;function s(t,n,o,s,e){let c,r,a,f,u=n[0],i=s[0],h=0,b=0;i>u==i>-u?(c=u,u=n[++h]):(c=i,i=s[++b]);let M=0;if(h<t&&b<o)for(i>u==i>-u?(a=c-((r=u+c)-u),u=n[++h]):(a=c-((r=i+c)-i),i=s[++b]),c=r,0!==a&&(e[M++]=a);h<t&&b<o;)i>u==i>-u?(a=c-((r=c+u)-(f=r-c))+(u-f),u=n[++h]):(a=c-((r=c+i)-(f=r-c))+(i-f),i=s[++b]),c=r,0!==a&&(e[M++]=a);for(;h<t;)a=c-((r=c+u)-(f=r-c))+(u-f),u=n[++h],c=r,0!==a&&(e[M++]=a);for(;b<o;)a=c-((r=c+i)-(f=r-c))+(i-f),i=s[++b],c=r,0!==a&&(e[M++]=a);return 0===c&&0!==M||(e[M++]=c),M}function e(t,o,s,e){let c,r,a,f,u,i,h,b,M,l,d;d=s-(l=(h=n*s)-(h-s)),c=o[0]*s,b=(h=n*o[0])-(h-o[0]);let p=0;0!==(a=(M=o[0]-b)*d-(c-b*l-M*l-b*d))&&(e[p++]=a);for(let y=1;y<t;y++){const t=o[y];0!==(a=c-((r=c+(u=(M=t-(b=(h=n*t)-(h-t)))*d-((f=t*s)-b*l-M*l-b*d)))-(i=r-c))+(u-i))&&(e[p++]=a),0!==(a=r-((c=f+r)-f))&&(e[p++]=a)}return 0===c&&0!==p||(e[p++]=c),p}function c(t){return new Float64Array(t)}const r=17763568394002532e-31,a=5551115123125792e-31,f=8751425667295619e-46,u=c(4),i=c(4),h=c(4),b=c(4),M=c(4),l=c(4),d=c(4),p=c(4),y=c(4),x=c(4),j=c(8),m=c(8),_=c(16),v=c(24),w=c(24),A=c(24),F=c(24),O=c(24),P=c(24),g=c(24),k=c(24),q=c(24),z=c(24),B=c(48),C=c(48),D=c(96),E=c(96),G=c(96),H=c(96),I=c(96),J=c(192),K=c(384),L=c(384),N=c(384),Q=c(768),R=c(1152),S=c(1152),T=c(1152),U=c(1152),V=c(1152),W=c(2304),X=c(2304),Y=c(3456),Z=c(5760);const $=c(8),tt=c(24),nt=c(48),ot=c(96),st=c(96),et=c(96),ct=c(192),rt=c(1152);function at(t,c,r,at,ft,ut,it,ht,bt,Mt,lt,dt,pt,yt,xt,jt){let mt,_t,vt,wt,At,Ft,Ot,Pt,gt,kt,qt,zt,Bt,Ct,Dt,Et,Gt,Ht,It,Jt,Kt,Lt,Nt,Qt,Rt,St,Tt,Ut,Vt,Wt,Xt,Yt,Zt,$t,tn,nn,on,sn,en,cn,rn,an,fn,un,hn,bn,Mn,ln,dn,pn,yn,xn,jn,mn,_n,vn,wn,An,Fn,On,Pn;const gn=t-pt,kn=at-pt,qn=it-pt,zn=Mt-pt,Bn=c-yt,Cn=ft-yt,Dn=ht-yt,En=lt-yt,Gn=r-xt,Hn=ut-xt,In=bt-xt,Jn=dt-xt;jn=(Bt=(vn=gn-(_n=(mn=n*gn)-(mn-gn)))*(An=Cn-(wn=(mn=n*Cn)-(mn-Cn)))-((mt=gn*Cn)-_n*wn-vn*wn-_n*An))-(Fn=Bt-(Ct=(vn=kn-(_n=(mn=n*kn)-(mn-kn)))*(An=Bn-(wn=(mn=n*Bn)-(mn-Bn)))-((_t=kn*Bn)-_n*wn-vn*wn-_n*An))),u[0]=Bt-(Fn+jn)+(jn-Ct),jn=(Pn=mt-((On=mt+Fn)-(jn=On-mt))+(Fn-jn))-(Fn=Pn-_t),u[1]=Pn-(Fn+jn)+(jn-_t),jn=(Rt=On+Fn)-On,u[2]=On-(Rt-jn)+(Fn-jn),u[3]=Rt,jn=(Dt=(vn=kn-(_n=(mn=n*kn)-(mn-kn)))*(An=Dn-(wn=(mn=n*Dn)-(mn-Dn)))-((vt=kn*Dn)-_n*wn-vn*wn-_n*An))-(Fn=Dt-(Et=(vn=qn-(_n=(mn=n*qn)-(mn-qn)))*(An=Cn-(wn=(mn=n*Cn)-(mn-Cn)))-((wt=qn*Cn)-_n*wn-vn*wn-_n*An))),i[0]=Dt-(Fn+jn)+(jn-Et),jn=(Pn=vt-((On=vt+Fn)-(jn=On-vt))+(Fn-jn))-(Fn=Pn-wt),i[1]=Pn-(Fn+jn)+(jn-wt),jn=(St=On+Fn)-On,i[2]=On-(St-jn)+(Fn-jn),i[3]=St,jn=(Gt=(vn=qn-(_n=(mn=n*qn)-(mn-qn)))*(An=En-(wn=(mn=n*En)-(mn-En)))-((At=qn*En)-_n*wn-vn*wn-_n*An))-(Fn=Gt-(Ht=(vn=zn-(_n=(mn=n*zn)-(mn-zn)))*(An=Dn-(wn=(mn=n*Dn)-(mn-Dn)))-((Ft=zn*Dn)-_n*wn-vn*wn-_n*An))),h[0]=Gt-(Fn+jn)+(jn-Ht),jn=(Pn=At-((On=At+Fn)-(jn=On-At))+(Fn-jn))-(Fn=Pn-Ft),h[1]=Pn-(Fn+jn)+(jn-Ft),jn=(Tt=On+Fn)-On,h[2]=On-(Tt-jn)+(Fn-jn),h[3]=Tt,jn=(It=(vn=zn-(_n=(mn=n*zn)-(mn-zn)))*(An=Bn-(wn=(mn=n*Bn)-(mn-Bn)))-((Ot=zn*Bn)-_n*wn-vn*wn-_n*An))-(Fn=It-(Jt=(vn=gn-(_n=(mn=n*gn)-(mn-gn)))*(An=En-(wn=(mn=n*En)-(mn-En)))-((Pt=gn*En)-_n*wn-vn*wn-_n*An))),y[0]=It-(Fn+jn)+(jn-Jt),jn=(Pn=Ot-((On=Ot+Fn)-(jn=On-Ot))+(Fn-jn))-(Fn=Pn-Pt),y[1]=Pn-(Fn+jn)+(jn-Pt),jn=(Ut=On+Fn)-On,y[2]=On-(Ut-jn)+(Fn-jn),y[3]=Ut,jn=(Kt=(vn=gn-(_n=(mn=n*gn)-(mn-gn)))*(An=Dn-(wn=(mn=n*Dn)-(mn-Dn)))-((gt=gn*Dn)-_n*wn-vn*wn-_n*An))-(Fn=Kt-(Lt=(vn=qn-(_n=(mn=n*qn)-(mn-qn)))*(An=Bn-(wn=(mn=n*Bn)-(mn-Bn)))-((kt=qn*Bn)-_n*wn-vn*wn-_n*An))),l[0]=Kt-(Fn+jn)+(jn-Lt),jn=(Pn=gt-((On=gt+Fn)-(jn=On-gt))+(Fn-jn))-(Fn=Pn-kt),l[1]=Pn-(Fn+jn)+(jn-kt),jn=(Vt=On+Fn)-On,l[2]=On-(Vt-jn)+(Fn-jn),l[3]=Vt,jn=(Nt=(vn=kn-(_n=(mn=n*kn)-(mn-kn)))*(An=En-(wn=(mn=n*En)-(mn-En)))-((qt=kn*En)-_n*wn-vn*wn-_n*An))-(Fn=Nt-(Qt=(vn=zn-(_n=(mn=n*zn)-(mn-zn)))*(An=Cn-(wn=(mn=n*Cn)-(mn-Cn)))-((zt=zn*Cn)-_n*wn-vn*wn-_n*An))),d[0]=Nt-(Fn+jn)+(jn-Qt),jn=(Pn=qt-((On=qt+Fn)-(jn=On-qt))+(Fn-jn))-(Fn=Pn-zt),d[1]=Pn-(Fn+jn)+(jn-zt),jn=(Wt=On+Fn)-On,d[2]=On-(Wt-jn)+(Fn-jn),d[3]=Wt,Xt=e(4,h,Hn,j),Yt=e(4,d,-In,m),Zt=e(4,i,Jn,$),$t=s(Xt,j,Yt,m,_),nn=e(tn=s(Zt,$,$t,_,tt),tt,gn,nt),on=e(nn,nt,-gn,ot),nn=e(tn,tt,Bn,nt),sn=e(nn,nt,-Bn,st),nn=e(tn,tt,Gn,nt),en=e(nn,nt,-Gn,et),cn=s(on,ot,sn,st,ct);const Kn=s(cn,ct,en,et,R);Xt=e(4,y,In,j),Yt=e(4,l,Jn,m),Zt=e(4,h,Gn,$),$t=s(Xt,j,Yt,m,_),nn=e(tn=s(Zt,$,$t,_,tt),tt,kn,nt),on=e(nn,nt,kn,ot),nn=e(tn,tt,Cn,nt),sn=e(nn,nt,Cn,st),nn=e(tn,tt,Hn,nt),en=e(nn,nt,Hn,et),cn=s(on,ot,sn,st,ct);const Ln=s(cn,ct,en,et,S);Xt=e(4,u,Jn,j),Yt=e(4,d,Gn,m),Zt=e(4,y,Hn,$),$t=s(Xt,j,Yt,m,_),nn=e(tn=s(Zt,$,$t,_,tt),tt,qn,nt),on=e(nn,nt,-qn,ot),nn=e(tn,tt,Dn,nt),sn=e(nn,nt,-Dn,st),nn=e(tn,tt,In,nt),en=e(nn,nt,-In,et),cn=s(on,ot,sn,st,ct);const Nn=s(cn,ct,en,et,T);Xt=e(4,i,Gn,j),Yt=e(4,l,-Hn,m),Zt=e(4,u,In,$),$t=s(Xt,j,Yt,m,_),nn=e(tn=s(Zt,$,$t,_,tt),tt,zn,nt),on=e(nn,nt,zn,ot),nn=e(tn,tt,En,nt),sn=e(nn,nt,En,st),nn=e(tn,tt,Jn,nt),en=e(nn,nt,Jn,et),cn=s(on,ot,sn,st,ct);const Qn=s(cn,ct,en,et,U),Rn=s(Kn,R,Ln,S,W),Sn=s(Nn,T,Qn,U,X);let Tn=function(t,n){let o=n[0];for(let s=1;s<t;s++)o+=n[s];return o}(s(Rn,W,Sn,X,rt),rt),Un=a*jt;if(Tn>=Un||-Tn>=Un)return Tn;if(rn=t-(gn+(jn=t-gn))+(jn-pt),hn=c-(Bn+(jn=c-Bn))+(jn-yt),dn=r-(Gn+(jn=r-Gn))+(jn-xt),an=at-(kn+(jn=at-kn))+(jn-pt),bn=ft-(Cn+(jn=ft-Cn))+(jn-yt),pn=ut-(Hn+(jn=ut-Hn))+(jn-xt),fn=it-(qn+(jn=it-qn))+(jn-pt),Mn=ht-(Dn+(jn=ht-Dn))+(jn-yt),yn=bt-(In+(jn=bt-In))+(jn-xt),un=Mt-(zn+(jn=Mt-zn))+(jn-pt),ln=lt-(En+(jn=lt-En))+(jn-yt),xn=dt-(Jn+(jn=dt-Jn))+(jn-xt),0===rn&&0===hn&&0===dn&&0===an&&0===bn&&0===pn&&0===fn&&0===Mn&&0===yn&&0===un&&0===ln&&0===xn)return Tn;Un=f*jt+o*Math.abs(Tn);const Vn=gn*bn+Cn*rn-(Bn*an+kn*hn),Wn=kn*Mn+Dn*an-(Cn*fn+qn*bn),Xn=qn*ln+En*fn-(Dn*un+zn*Mn),Yn=zn*hn+Bn*un-(En*rn+gn*ln),Zn=gn*Mn+Dn*rn-(Bn*fn+qn*hn),$n=kn*ln+En*an-(Cn*un+zn*bn);return(Tn+=(kn*kn+Cn*Cn+Hn*Hn)*(In*Yn+Jn*Zn+Gn*Xn+(yn*Ut+xn*Vt+dn*Tt))+(zn*zn+En*En+Jn*Jn)*(Gn*Wn-Hn*Zn+In*Vn+(dn*St-pn*Vt+yn*Rt))-((gn*gn+Bn*Bn+Gn*Gn)*(Hn*Xn-In*$n+Jn*Wn+(pn*Tt-yn*Wt+xn*St))+(qn*qn+Dn*Dn+In*In)*(Jn*Vn+Gn*$n+Hn*Yn+(xn*Rt+dn*Wt+pn*Ut)))+2*((kn*an+Cn*bn+Hn*pn)*(In*Ut+Jn*Vt+Gn*Tt)+(zn*un+En*ln+Jn*xn)*(Gn*St-Hn*Vt+In*Rt)-((gn*rn+Bn*hn+Gn*dn)*(Hn*Tt-In*Wt+Jn*St)+(qn*fn+Dn*Mn+In*yn)*(Jn*Rt+Gn*Wt+Hn*Ut))))>=Un||-Tn>=Un?Tn:function(t,o,c,r,a,f,$,tt,nt,ot,st,et,ct,rt,at){let ft,ut,it,ht,bt,Mt,lt,dt,pt,yt,xt,jt,mt,_t,vt,wt,At,Ft,Ot,Pt,gt,kt,qt,zt,Bt,Ct,Dt,Et,Gt,Ht,It,Jt,Kt,Lt,Nt,Qt,Rt,St,Tt,Ut,Vt,Wt,Xt,Yt,Zt,$t,tn,nn,on,sn,en,cn,rn,an,fn,un,hn,bn,Mn;en=(gt=(an=t-(rn=(cn=n*t)-(cn-t)))*(un=a-(fn=(cn=n*a)-(cn-a)))-((ft=t*a)-rn*fn-an*fn-rn*un))-(hn=gt-(Ct=(an=r-(rn=(cn=n*r)-(cn-r)))*(un=o-(fn=(cn=n*o)-(cn-o)))-((Mt=r*o)-rn*fn-an*fn-rn*un))),u[0]=gt-(hn+en)+(en-Ct),en=(Mn=ft-((bn=ft+hn)-(en=bn-ft))+(hn-en))-(hn=Mn-Mt),u[1]=Mn-(hn+en)+(en-Mt),u[3]=bn+hn,en=u[3]-bn,u[2]=bn-(u[3]-en)+(hn-en),en=(kt=(an=r-(rn=(cn=n*r)-(cn-r)))*(un=tt-(fn=(cn=n*tt)-(cn-tt)))-((ut=r*tt)-rn*fn-an*fn-rn*un))-(hn=kt-(Dt=(an=$-(rn=(cn=n*$)-(cn-$)))*(un=a-(fn=(cn=n*a)-(cn-a)))-((lt=$*a)-rn*fn-an*fn-rn*un))),i[0]=kt-(hn+en)+(en-Dt),en=(Mn=ut-((bn=ut+hn)-(en=bn-ut))+(hn-en))-(hn=Mn-lt),i[1]=Mn-(hn+en)+(en-lt),i[3]=bn+hn,en=i[3]-bn,i[2]=bn-(i[3]-en)+(hn-en),en=(qt=(an=$-(rn=(cn=n*$)-(cn-$)))*(un=st-(fn=(cn=n*st)-(cn-st)))-((it=$*st)-rn*fn-an*fn-rn*un))-(hn=qt-(Et=(an=ot-(rn=(cn=n*ot)-(cn-ot)))*(un=tt-(fn=(cn=n*tt)-(cn-tt)))-((dt=ot*tt)-rn*fn-an*fn-rn*un))),h[0]=qt-(hn+en)+(en-Et),en=(Mn=it-((bn=it+hn)-(en=bn-it))+(hn-en))-(hn=Mn-dt),h[1]=Mn-(hn+en)+(en-dt),h[3]=bn+hn,en=h[3]-bn,h[2]=bn-(h[3]-en)+(hn-en),en=(zt=(an=ot-(rn=(cn=n*ot)-(cn-ot)))*(un=rt-(fn=(cn=n*rt)-(cn-rt)))-((ht=ot*rt)-rn*fn-an*fn-rn*un))-(hn=zt-(Gt=(an=ct-(rn=(cn=n*ct)-(cn-ct)))*(un=st-(fn=(cn=n*st)-(cn-st)))-((pt=ct*st)-rn*fn-an*fn-rn*un))),b[0]=zt-(hn+en)+(en-Gt),en=(Mn=ht-((bn=ht+hn)-(en=bn-ht))+(hn-en))-(hn=Mn-pt),b[1]=Mn-(hn+en)+(en-pt),b[3]=bn+hn,en=b[3]-bn,b[2]=bn-(b[3]-en)+(hn-en),en=(Bt=(an=ct-(rn=(cn=n*ct)-(cn-ct)))*(un=o-(fn=(cn=n*o)-(cn-o)))-((bt=ct*o)-rn*fn-an*fn-rn*un))-(hn=Bt-(Ht=(an=t-(rn=(cn=n*t)-(cn-t)))*(un=rt-(fn=(cn=n*rt)-(cn-rt)))-((yt=t*rt)-rn*fn-an*fn-rn*un))),M[0]=Bt-(hn+en)+(en-Ht),en=(Mn=bt-((bn=bt+hn)-(en=bn-bt))+(hn-en))-(hn=Mn-yt),M[1]=Mn-(hn+en)+(en-yt),M[3]=bn+hn,en=M[3]-bn,M[2]=bn-(M[3]-en)+(hn-en),en=(It=(an=t-(rn=(cn=n*t)-(cn-t)))*(un=tt-(fn=(cn=n*tt)-(cn-tt)))-((xt=t*tt)-rn*fn-an*fn-rn*un))-(hn=It-(Qt=(an=$-(rn=(cn=n*$)-(cn-$)))*(un=o-(fn=(cn=n*o)-(cn-o)))-((wt=$*o)-rn*fn-an*fn-rn*un))),l[0]=It-(hn+en)+(en-Qt),en=(Mn=xt-((bn=xt+hn)-(en=bn-xt))+(hn-en))-(hn=Mn-wt),l[1]=Mn-(hn+en)+(en-wt),l[3]=bn+hn,en=l[3]-bn,l[2]=bn-(l[3]-en)+(hn-en),en=(Jt=(an=r-(rn=(cn=n*r)-(cn-r)))*(un=st-(fn=(cn=n*st)-(cn-st)))-((jt=r*st)-rn*fn-an*fn-rn*un))-(hn=Jt-(Rt=(an=ot-(rn=(cn=n*ot)-(cn-ot)))*(un=a-(fn=(cn=n*a)-(cn-a)))-((At=ot*a)-rn*fn-an*fn-rn*un))),d[0]=Jt-(hn+en)+(en-Rt),en=(Mn=jt-((bn=jt+hn)-(en=bn-jt))+(hn-en))-(hn=Mn-At),d[1]=Mn-(hn+en)+(en-At),d[3]=bn+hn,en=d[3]-bn,d[2]=bn-(d[3]-en)+(hn-en),en=(Kt=(an=$-(rn=(cn=n*$)-(cn-$)))*(un=rt-(fn=(cn=n*rt)-(cn-rt)))-((mt=$*rt)-rn*fn-an*fn-rn*un))-(hn=Kt-(St=(an=ct-(rn=(cn=n*ct)-(cn-ct)))*(un=tt-(fn=(cn=n*tt)-(cn-tt)))-((Ft=ct*tt)-rn*fn-an*fn-rn*un))),p[0]=Kt-(hn+en)+(en-St),en=(Mn=mt-((bn=mt+hn)-(en=bn-mt))+(hn-en))-(hn=Mn-Ft),p[1]=Mn-(hn+en)+(en-Ft),p[3]=bn+hn,en=p[3]-bn,p[2]=bn-(p[3]-en)+(hn-en),en=(Lt=(an=ot-(rn=(cn=n*ot)-(cn-ot)))*(un=o-(fn=(cn=n*o)-(cn-o)))-((_t=ot*o)-rn*fn-an*fn-rn*un))-(hn=Lt-(Tt=(an=t-(rn=(cn=n*t)-(cn-t)))*(un=st-(fn=(cn=n*st)-(cn-st)))-((Ot=t*st)-rn*fn-an*fn-rn*un))),y[0]=Lt-(hn+en)+(en-Tt),en=(Mn=_t-((bn=_t+hn)-(en=bn-_t))+(hn-en))-(hn=Mn-Ot),y[1]=Mn-(hn+en)+(en-Ot),y[3]=bn+hn,en=y[3]-bn,y[2]=bn-(y[3]-en)+(hn-en),en=(Nt=(an=ct-(rn=(cn=n*ct)-(cn-ct)))*(un=a-(fn=(cn=n*a)-(cn-a)))-((vt=ct*a)-rn*fn-an*fn-rn*un))-(hn=Nt-(Ut=(an=r-(rn=(cn=n*r)-(cn-r)))*(un=rt-(fn=(cn=n*rt)-(cn-rt)))-((Pt=r*rt)-rn*fn-an*fn-rn*un))),x[0]=Nt-(hn+en)+(en-Ut),en=(Mn=vt-((bn=vt+hn)-(en=bn-vt))+(hn-en))-(hn=Mn-Pt),x[1]=Mn-(hn+en)+(en-Pt),x[3]=bn+hn,en=x[3]-bn,x[2]=bn-(x[3]-en)+(hn-en),Vt=e(4,i,c,j),Wt=e(4,l,-f,m),Xt=s(Vt,j,Wt,m,_);const ln=s(Vt=e(4,u,nt,j),j,Xt,_,v);Vt=e(4,h,f,j),Wt=e(4,d,-nt,m),Xt=s(Vt,j,Wt,m,_);const dn=s(Vt=e(4,i,et,j),j,Xt,_,w);Vt=e(4,b,nt,j),Wt=e(4,p,-et,m),Xt=s(Vt,j,Wt,m,_);let pn=s(Vt=e(4,h,at,j),j,Xt,_,A);Vt=e(4,M,et,j),Wt=e(4,y,-at,m),Xt=s(Vt,j,Wt,m,_);const yn=s(Vt=e(4,b,c,j),j,Xt,_,F);Vt=e(4,u,at,j),Wt=e(4,x,-c,m),Xt=s(Vt,j,Wt,m,_);const xn=s(Vt=e(4,M,f,j),j,Xt,_,O);Vt=e(4,d,c,j),Wt=e(4,y,f,m),Xt=s(Vt,j,Wt,m,_);const jn=s(Vt=e(4,u,et,j),j,Xt,_,P);Vt=e(4,p,f,j),Wt=e(4,x,nt,m),Xt=s(Vt,j,Wt,m,_);const mn=s(Vt=e(4,i,at,j),j,Xt,_,g);Vt=e(4,y,nt,j),Wt=e(4,l,et,m),Xt=s(Vt,j,Wt,m,_);const _n=s(Vt=e(4,h,c,j),j,Xt,_,k);Vt=e(4,x,et,j),Wt=e(4,d,at,m),Xt=s(Vt,j,Wt,m,_);const vn=s(Vt=e(4,b,f,j),j,Xt,_,q);Vt=e(4,l,at,j),Wt=e(4,p,c,m),Xt=s(Vt,j,Wt,m,_);const wn=s(Vt=e(4,M,nt,j),j,Xt,_,z);for(Yt=s(pn,A,mn,g,B),Zt=s(vn,q,dn,w,C),sn=0;sn<Zt;sn++)C[sn]=-C[sn];const An=s(Yt,B,Zt,C,E);$t=e(An,E,t,J),$t=e($t,J,t,K),tn=e(An,E,o,J),tn=e(tn,J,o,L),nn=e(An,E,c,J),nn=e(nn,J,c,N),on=s($t,K,tn,L,Q);const Fn=s(on,Q,nn,N,R);for(Yt=s(yn,F,_n,k,B),Zt=s(wn,z,pn,A,C),sn=0;sn<Zt;sn++)C[sn]=-C[sn];const On=s(Yt,B,Zt,C,G);$t=e(On,G,r,J),$t=e($t,J,r,K),tn=e(On,G,a,J),tn=e(tn,J,a,L),nn=e(On,G,f,J),nn=e(nn,J,f,N),on=s($t,K,tn,L,Q);const Pn=s(on,Q,nn,N,S);for(Yt=s(xn,O,vn,q,B),Zt=s(jn,P,yn,F,C),sn=0;sn<Zt;sn++)C[sn]=-C[sn];const gn=s(Yt,B,Zt,C,H);$t=e(gn,H,$,J),$t=e($t,J,$,K),tn=e(gn,H,tt,J),tn=e(tn,J,tt,L),nn=e(gn,H,nt,J),nn=e(nn,J,nt,N),on=s($t,K,tn,L,Q);const kn=s(on,Q,nn,N,T);for(Yt=s(ln,v,wn,z,B),Zt=s(mn,g,xn,O,C),sn=0;sn<Zt;sn++)C[sn]=-C[sn];const qn=s(Yt,B,Zt,C,I);$t=e(qn,I,ot,J),$t=e($t,J,ot,K),tn=e(qn,I,st,J),tn=e(tn,J,st,L),nn=e(qn,I,et,J),nn=e(nn,J,et,N),on=s($t,K,tn,L,Q);const zn=s(on,Q,nn,N,U);for(Yt=s(dn,w,jn,P,B),Zt=s(_n,k,ln,v,C),sn=0;sn<Zt;sn++)C[sn]=-C[sn];const Bn=s(Yt,B,Zt,C,D);$t=e(Bn,D,ct,J),$t=e($t,J,ct,K),tn=e(Bn,D,rt,J),tn=e(tn,J,rt,L),nn=e(Bn,D,at,J),nn=e(nn,J,at,N),on=s($t,K,tn,L,Q);const Cn=s(on,Q,nn,N,V),Dn=s(Fn,R,Pn,S,W),En=s(kn,T,zn,U,X);pn=s(En,X,Cn,V,Y);const Gn=s(Dn,W,pn,Y,Z);return Z[Gn-1]}(t,c,r,at,ft,ut,it,ht,bt,Mt,lt,dt,pt,yt,xt)}t.insphere=function(t,n,o,s,e,c,a,f,u,i,h,b,M,l,d){const p=t-M,y=s-M,x=a-M,j=i-M,m=n-l,_=e-l,v=f-l,w=h-l,A=o-d,F=c-d,O=u-d,P=b-d,g=p*_,k=y*m,q=g-k,z=y*v,B=x*_,C=z-B,D=x*w,E=j*v,G=D-E,H=j*m,I=p*w,J=H-I,K=p*v,L=x*m,N=K-L,Q=y*w,R=j*_,S=Q-R,T=p*p+m*m+A*A,U=y*y+_*_+F*F,V=x*x+v*v+O*O,W=j*j+w*w+P*P,X=V*(P*q+A*S+F*J)-W*(A*C-F*N+O*q)+(T*(F*G-O*S+P*C)-U*(O*J+P*N+A*G)),Y=Math.abs(A),Z=Math.abs(F),$=Math.abs(O),tt=Math.abs(P),nt=Math.abs(g),ot=Math.abs(k),st=Math.abs(z),et=Math.abs(B),ct=Math.abs(D),rt=Math.abs(E),ft=Math.abs(H),ut=Math.abs(I),it=Math.abs(K),ht=Math.abs(L),bt=Math.abs(Q),Mt=Math.abs(R),lt=((ct+rt)*Z+(Mt+bt)*$+(st+et)*tt)*T+((ft+ut)*$+(it+ht)*tt+(ct+rt)*Y)*U+((nt+ot)*tt+(bt+Mt)*Y+(ft+ut)*Z)*V+((st+et)*Y+(ht+it)*Z+(nt+ot)*$)*W,dt=r*lt;return X>dt||-X>dt?X:-at(t,n,o,s,e,c,a,f,u,i,h,b,M,l,d,lt)},t.inspherefast=function(t,n,o,s,e,c,r,a,f,u,i,h,b,M,l){const d=t-b,p=s-b,y=r-b,x=u-b,j=n-M,m=e-M,_=a-M,v=i-M,w=o-l,A=c-l,F=f-l,O=h-l,P=d*m-p*j,g=p*_-y*m,k=y*v-x*_,q=x*j-d*v,z=d*_-y*j,B=p*v-x*m;return(y*y+_*_+F*F)*(O*P+w*B+A*q)-(x*x+v*v+O*O)*(w*g-A*z+F*P)+((d*d+j*j+w*w)*(A*k-F*B+O*g)-(p*p+m*m+A*A)*(F*q+O*z+w*k))},Object.defineProperty(t,"__esModule",{value:!0})});
1
+ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,(function(t){"use strict";const n=134217729;function e(t,n,e,r,o){let a,s,f,u,i=n[0],c=r[0],h=0,b=0;c>i==c>-i?(a=i,i=n[++h]):(a=c,c=r[++b]);let l=0;if(h<t&&b<e)for(c>i==c>-i?(s=i+a,f=a-(s-i),i=n[++h]):(s=c+a,f=a-(s-c),c=r[++b]),a=s,0!==f&&(o[l++]=f);h<t&&b<e;)c>i==c>-i?(s=a+i,u=s-a,f=a-(s-u)+(i-u),i=n[++h]):(s=a+c,u=s-a,f=a-(s-u)+(c-u),c=r[++b]),a=s,0!==f&&(o[l++]=f);for(;h<t;)s=a+i,u=s-a,f=a-(s-u)+(i-u),i=n[++h],a=s,0!==f&&(o[l++]=f);for(;b<e;)s=a+c,u=s-a,f=a-(s-u)+(c-u),c=r[++b],a=s,0!==f&&(o[l++]=f);return 0===a&&0!==l||(o[l++]=a),l}function r(t,n,r,o,a,s,f,u){return e(e(t,n,r,o,f),f,a,s,u)}function o(t,e,r,o){let a,s,f,u,i,c,h,b,l,M,d;h=n*r,M=h-(h-r),d=r-M;let p=e[0];a=p*r,h=n*p,b=h-(h-p),l=p-b,f=l*d-(a-b*M-l*M-b*d);let y=0;0!==f&&(o[y++]=f);for(let x=1;x<t;x++)p=e[x],u=p*r,h=n*p,b=h-(h-p),l=p-b,i=l*d-(u-b*M-l*M-b*d),s=a+i,c=s-a,f=a-(s-c)+(i-c),0!==f&&(o[y++]=f),a=u+s,f=s-(a-u),0!==f&&(o[y++]=f);return 0===a&&0!==y||(o[y++]=a),y}function a(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function s(t){return new Float64Array(t)}const f=s(4),u=s(4),i=s(4),c=s(4),h=s(4),b=s(4),l=s(4),M=s(4),d=s(4),p=s(4),y=s(24),x=s(24),g=s(24),j=s(24),m=s(24),T=s(24),_=s(24),v=s(24),w=s(24),A=s(24),F=s(1152),O=s(1152),P=s(1152),k=s(1152),q=s(1152),z=s(2304),B=s(2304),C=s(3456),D=s(5760),E=s(8),G=s(8),H=s(8),I=s(16),J=s(24),K=s(48),L=s(48),N=s(96),Q=s(192),R=s(384),S=s(384),U=s(384),V=s(768);function W(t,n,e,a,s,f,u){return r(o(4,t,a,E),E,o(4,n,s,G),G,o(4,e,f,H),H,I,u)}function X(t,n,s,f,u,i,c,h,b,l,M,d){const p=e(e(t,n,s,f,K),K,a(e(u,i,c,h,L),L),L,N);return r(o(o(p,N,b,Q),Q,b,R),R,o(o(p,N,l,Q),Q,l,S),S,o(o(p,N,M,Q),Q,M,U),U,V,d)}const Y=s(96),Z=s(96),$=s(96),tt=s(1152);function nt(t,n,e,a,s,f,u,i,c,h){const b=W(t,n,e,a,s,f,J);return r(o(o(b,J,u,K),K,u,Y),Y,o(o(b,J,i,K),K,i,Z),Z,o(o(b,J,c,K),K,c,$),$,Q,h)}function et(t,o,s,E,G,H,I,J,K,L,N,Q,R,S,U,V){let Y,Z,$,et,rt,ot,at,st,ft,ut,it,ct,ht,bt,lt,Mt,dt,pt,yt,xt,gt,jt,mt,Tt,_t,vt,wt,At,Ft,Ot,Pt;const kt=t-R,qt=E-R,zt=I-R,Bt=L-R,Ct=o-S,Dt=G-S,Et=J-S,Gt=N-S,Ht=s-U,It=H-U,Jt=K-U,Kt=Q-U;At=kt*Dt,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Dt,mt=xt-(xt-Dt),Tt=Dt-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=qt*Ct,xt=n*qt,gt=xt-(xt-qt),jt=qt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,f[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,f[1]=wt-(_t+yt)+(yt-Ot),Y=vt+_t,yt=Y-vt,f[2]=vt-(Y-yt)+(_t-yt),f[3]=Y,At=qt*Et,xt=n*qt,gt=xt-(xt-qt),jt=qt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=zt*Dt,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Dt,mt=xt-(xt-Dt),Tt=Dt-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,u[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,u[1]=wt-(_t+yt)+(yt-Ot),Z=vt+_t,yt=Z-vt,u[2]=vt-(Z-yt)+(_t-yt),u[3]=Z,At=zt*Gt,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Gt,mt=xt-(xt-Gt),Tt=Gt-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=Bt*Et,xt=n*Bt,gt=xt-(xt-Bt),jt=Bt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,i[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,i[1]=wt-(_t+yt)+(yt-Ot),$=vt+_t,yt=$-vt,i[2]=vt-($-yt)+(_t-yt),i[3]=$,At=Bt*Ct,xt=n*Bt,gt=xt-(xt-Bt),jt=Bt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=kt*Gt,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Gt,mt=xt-(xt-Gt),Tt=Gt-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,d[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,d[1]=wt-(_t+yt)+(yt-Ot),et=vt+_t,yt=et-vt,d[2]=vt-(et-yt)+(_t-yt),d[3]=et,At=kt*Et,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=zt*Ct,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,b[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,b[1]=wt-(_t+yt)+(yt-Ot),rt=vt+_t,yt=rt-vt,b[2]=vt-(rt-yt)+(_t-yt),b[3]=rt,At=qt*Gt,xt=n*qt,gt=xt-(xt-qt),jt=qt-gt,xt=n*Gt,mt=xt-(xt-Gt),Tt=Gt-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=Bt*Dt,xt=n*Bt,gt=xt-(xt-Bt),jt=Bt-gt,xt=n*Dt,mt=xt-(xt-Dt),Tt=Dt-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,l[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,l[1]=wt-(_t+yt)+(yt-Ot),ot=vt+_t,yt=ot-vt,l[2]=vt-(ot-yt)+(_t-yt),l[3]=ot;let Lt=function(t,n){let e=n[0];for(let r=1;r<t;r++)e+=n[r];return e}(e(e(a(nt(u,i,l,Kt,It,-Jt,kt,Ct,Ht,F),F),F,nt(i,d,b,Ht,Jt,Kt,qt,Dt,It,O),O,z),z,e(a(nt(d,f,l,It,Kt,Ht,zt,Et,Jt,P),P),P,nt(f,u,b,Jt,Ht,-It,Bt,Gt,Kt,k),k,B),B,tt),tt),Nt=5551115123125792e-31*V;if(Lt>=Nt||-Lt>=Nt)return Lt;if(yt=t-kt,at=t-(kt+yt)+(yt-R),yt=o-Ct,it=o-(Ct+yt)+(yt-S),yt=s-Ht,lt=s-(Ht+yt)+(yt-U),yt=E-qt,st=E-(qt+yt)+(yt-R),yt=G-Dt,ct=G-(Dt+yt)+(yt-S),yt=H-It,Mt=H-(It+yt)+(yt-U),yt=I-zt,ft=I-(zt+yt)+(yt-R),yt=J-Et,ht=J-(Et+yt)+(yt-S),yt=K-Jt,dt=K-(Jt+yt)+(yt-U),yt=L-Bt,ut=L-(Bt+yt)+(yt-R),yt=N-Gt,bt=N-(Gt+yt)+(yt-S),yt=Q-Kt,pt=Q-(Kt+yt)+(yt-U),0===at&&0===it&&0===lt&&0===st&&0===ct&&0===Mt&&0===ft&&0===ht&&0===dt&&0===ut&&0===bt&&0===pt)return Lt;Nt=8751425667295619e-46*V+33306690738754706e-32*Math.abs(Lt);const Qt=kt*ct+Dt*at-(Ct*st+qt*it),Rt=qt*ht+Et*st-(Dt*ft+zt*ct),St=zt*bt+Gt*ft-(Et*ut+Bt*ht),Ut=Bt*it+Ct*ut-(Gt*at+kt*bt),Vt=kt*ht+Et*at-(Ct*ft+zt*it),Wt=qt*bt+Gt*st-(Dt*ut+Bt*ct);return Lt+=(qt*qt+Dt*Dt+It*It)*(Jt*Ut+Kt*Vt+Ht*St+(dt*et+pt*rt+lt*$))+(Bt*Bt+Gt*Gt+Kt*Kt)*(Ht*Rt-It*Vt+Jt*Qt+(lt*Z-Mt*rt+dt*Y))-((kt*kt+Ct*Ct+Ht*Ht)*(It*St-Jt*Wt+Kt*Rt+(Mt*$-dt*ot+pt*Z))+(zt*zt+Et*Et+Jt*Jt)*(Kt*Qt+Ht*Wt+It*Ut+(pt*Y+lt*ot+Mt*et)))+2*((qt*st+Dt*ct+It*Mt)*(Jt*et+Kt*rt+Ht*$)+(Bt*ut+Gt*bt+Kt*pt)*(Ht*Z-It*rt+Jt*Y)-((kt*at+Ct*it+Ht*lt)*(It*$-Jt*ot+Kt*Z)+(zt*ft+Et*ht+Jt*dt)*(Kt*Y+Ht*ot+It*et))),Lt>=Nt||-Lt>=Nt?Lt:function(t,e,o,a,s,E,G,H,I,J,K,L,N,Q,R){let S,U,V,Y,Z,$,tt,nt,et,rt,ot,at,st,ft;rt=t*s,U=n*t,V=U-(U-t),Y=t-V,U=n*s,Z=U-(U-s),$=s-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=a*e,U=n*a,V=U-(U-a),Y=a-V,U=n*e,Z=U-(U-e),$=e-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,f[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,f[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,f[2]=nt-(ft-S)+(tt-S),f[3]=ft,rt=a*H,U=n*a,V=U-(U-a),Y=a-V,U=n*H,Z=U-(U-H),$=H-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=G*s,U=n*G,V=U-(U-G),Y=G-V,U=n*s,Z=U-(U-s),$=s-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,u[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,u[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,u[2]=nt-(ft-S)+(tt-S),u[3]=ft,rt=G*K,U=n*G,V=U-(U-G),Y=G-V,U=n*K,Z=U-(U-K),$=K-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=J*H,U=n*J,V=U-(U-J),Y=J-V,U=n*H,Z=U-(U-H),$=H-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,i[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,i[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,i[2]=nt-(ft-S)+(tt-S),i[3]=ft,rt=J*Q,U=n*J,V=U-(U-J),Y=J-V,U=n*Q,Z=U-(U-Q),$=Q-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=N*K,U=n*N,V=U-(U-N),Y=N-V,U=n*K,Z=U-(U-K),$=K-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,c[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,c[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,c[2]=nt-(ft-S)+(tt-S),c[3]=ft,rt=N*e,U=n*N,V=U-(U-N),Y=N-V,U=n*e,Z=U-(U-e),$=e-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=t*Q,U=n*t,V=U-(U-t),Y=t-V,U=n*Q,Z=U-(U-Q),$=Q-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,h[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,h[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,h[2]=nt-(ft-S)+(tt-S),h[3]=ft,rt=t*H,U=n*t,V=U-(U-t),Y=t-V,U=n*H,Z=U-(U-H),$=H-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=G*e,U=n*G,V=U-(U-G),Y=G-V,U=n*e,Z=U-(U-e),$=e-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,b[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,b[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,b[2]=nt-(ft-S)+(tt-S),b[3]=ft,rt=a*K,U=n*a,V=U-(U-a),Y=a-V,U=n*K,Z=U-(U-K),$=K-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=J*s,U=n*J,V=U-(U-J),Y=J-V,U=n*s,Z=U-(U-s),$=s-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,l[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,l[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,l[2]=nt-(ft-S)+(tt-S),l[3]=ft,rt=G*Q,U=n*G,V=U-(U-G),Y=G-V,U=n*Q,Z=U-(U-Q),$=Q-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=N*H,U=n*N,V=U-(U-N),Y=N-V,U=n*H,Z=U-(U-H),$=H-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,M[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,M[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,M[2]=nt-(ft-S)+(tt-S),M[3]=ft,rt=J*e,U=n*J,V=U-(U-J),Y=J-V,U=n*e,Z=U-(U-e),$=e-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=t*K,U=n*t,V=U-(U-t),Y=t-V,U=n*K,Z=U-(U-K),$=K-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,d[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,d[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,d[2]=nt-(ft-S)+(tt-S),d[3]=ft,rt=N*s,U=n*N,V=U-(U-N),Y=N-V,U=n*s,Z=U-(U-s),$=s-Z,ot=Y*$-(rt-V*Z-Y*Z-V*$),at=a*Q,U=n*a,V=U-(U-a),Y=a-V,U=n*Q,Z=U-(U-Q),$=Q-Z,st=Y*$-(at-V*Z-Y*Z-V*$),tt=ot-st,S=ot-tt,p[0]=ot-(tt+S)+(S-st),nt=rt+tt,S=nt-rt,et=rt-(nt-S)+(tt-S),tt=et-at,S=et-tt,p[1]=et-(tt+S)+(S-at),ft=nt+tt,S=ft-nt,p[2]=nt-(ft-S)+(tt-S),p[3]=ft;const ut=W(f,u,b,I,o,-E,y),it=W(u,i,l,L,E,-I,x),ct=W(i,c,M,R,I,-L,g),ht=W(c,h,d,o,L,-R,j),bt=W(h,f,p,E,R,-o,m),lt=W(f,l,d,L,o,E,T),Mt=W(u,M,p,R,E,I,_),dt=W(i,d,b,o,I,L,v),pt=W(c,p,l,E,L,R,w),yt=W(h,b,M,I,R,o,A),xt=r(X(ct,g,Mt,_,pt,w,it,x,t,e,o,F),F,X(ht,j,dt,v,yt,A,ct,g,a,s,E,O),O,r(X(bt,m,pt,w,lt,T,ht,j,G,H,I,P),P,X(ut,y,yt,A,Mt,_,bt,m,J,K,L,k),k,X(it,x,lt,T,dt,v,ut,y,N,Q,R,q),q,B,C),C,z,D);return D[xt-1]}(t,o,s,E,G,H,I,J,K,L,N,Q,R,S,U)}t.insphere=function(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M){const d=t-b,p=r-b,y=s-b,x=i-b,g=n-l,j=o-l,m=f-l,T=c-l,_=e-M,v=a-M,w=u-M,A=h-M,F=d*j,O=p*g,P=F-O,k=p*m,q=y*j,z=k-q,B=y*T,C=x*m,D=B-C,E=x*g,G=d*T,H=E-G,I=d*m,J=y*g,K=I-J,L=p*T,N=x*j,Q=L-N,R=d*d+g*g+_*_,S=p*p+j*j+v*v,U=y*y+m*m+w*w,V=x*x+T*T+A*A,W=U*(A*P+_*Q+v*H)-V*(_*z-v*K+w*P)+(R*(v*D-w*Q+A*z)-S*(w*H+A*K+_*D)),X=Math.abs(_),Y=Math.abs(v),Z=Math.abs(w),$=Math.abs(A),tt=Math.abs(F),nt=Math.abs(O),rt=Math.abs(k),ot=Math.abs(q),at=Math.abs(B),st=Math.abs(C),ft=Math.abs(E),ut=Math.abs(G),it=Math.abs(I),ct=Math.abs(J),ht=Math.abs(L),bt=Math.abs(N),lt=((at+st)*Y+(bt+ht)*Z+(rt+ot)*$)*R+((ft+ut)*Z+(it+ct)*$+(at+st)*X)*S+((tt+nt)*$+(ht+bt)*X+(ft+ut)*Y)*U+((rt+ot)*X+(ct+it)*Y+(tt+nt)*Z)*V,Mt=17763568394002532e-31*lt;return W>Mt||-W>Mt?W:-et(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M,lt)},t.inspherefast=function(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M){const d=t-b,p=r-b,y=s-b,x=i-b,g=n-l,j=o-l,m=f-l,T=c-l,_=e-M,v=a-M,w=u-M,A=h-M,F=d*j-p*g,O=p*m-y*j,P=y*T-x*m,k=x*g-d*T,q=d*m-y*g,z=p*T-x*j;return(y*y+m*m+w*w)*(A*F+_*z+v*k)-(x*x+T*T+A*A)*(_*O-v*q+w*F)+((d*d+g*g+_*_)*(v*P-w*z+A*O)-(p*p+j*j+v*v)*(w*k+A*q+_*P))},Object.defineProperty(t,"__esModule",{value:!0})}));
package/umd/orient2d.js CHANGED
@@ -1,14 +1,15 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
3
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
- (global = global || self, factory(global.predicates = {}));
5
- }(this, function (exports) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
5
+ }(this, (function (exports) { 'use strict';
6
6
 
7
7
  const epsilon = 1.1102230246251565e-16;
8
8
  const splitter = 134217729;
9
9
  const resulterrbound = (3 + 8 * epsilon) * epsilon;
10
10
 
11
- function fast_expansion_sum_zeroelim(elen, e, flen, f, h) {
11
+ // fast_expansion_sum_zeroelim routine from oritinal code
12
+ function sum(elen, e, flen, f, h) {
12
13
  let Q, Qnew, hh, bvirt;
13
14
  let enow = e[0];
14
15
  let fnow = f[0];
@@ -22,7 +23,7 @@ function fast_expansion_sum_zeroelim(elen, e, flen, f, h) {
22
23
  fnow = f[++findex];
23
24
  }
24
25
  let hindex = 0;
25
- if ((eindex < elen) && (findex < flen)) {
26
+ if (eindex < elen && findex < flen) {
26
27
  if ((fnow > enow) === (fnow > -enow)) {
27
28
  Qnew = enow + Q;
28
29
  hh = Q - (Qnew - enow);
@@ -36,7 +37,7 @@ function fast_expansion_sum_zeroelim(elen, e, flen, f, h) {
36
37
  if (hh !== 0) {
37
38
  h[hindex++] = hh;
38
39
  }
39
- while ((eindex < elen) && (findex < flen)) {
40
+ while (eindex < elen && findex < flen) {
40
41
  if ((fnow > enow) === (fnow > -enow)) {
41
42
  Qnew = Q + enow;
42
43
  bvirt = Qnew - Q;
@@ -102,49 +103,48 @@ const u = vec(4);
102
103
 
103
104
  function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
104
105
  let acxtail, acytail, bcxtail, bcytail;
105
- let detleft, detright, detlefttail, detrighttail;
106
- let B3, u3, s1, t1, s0, t0;
107
- let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0;
106
+ let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;
108
107
 
109
108
  const acx = ax - cx;
110
109
  const bcx = bx - cx;
111
110
  const acy = ay - cy;
112
111
  const bcy = by - cy;
113
112
 
114
- detleft = acx * bcy;
113
+ s1 = acx * bcy;
115
114
  c = splitter * acx;
116
115
  ahi = c - (c - acx);
117
116
  alo = acx - ahi;
118
117
  c = splitter * bcy;
119
118
  bhi = c - (c - bcy);
120
119
  blo = bcy - bhi;
121
- detlefttail = alo * blo - (detleft - ahi * bhi - alo * bhi - ahi * blo);
122
- detright = acy * bcx;
120
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
121
+ t1 = acy * bcx;
123
122
  c = splitter * acy;
124
123
  ahi = c - (c - acy);
125
124
  alo = acy - ahi;
126
125
  c = splitter * bcx;
127
126
  bhi = c - (c - bcx);
128
127
  blo = bcx - bhi;
129
- detrighttail = alo * blo - (detright - ahi * bhi - alo * bhi - ahi * blo);
130
-
131
- _i = detlefttail - detrighttail;
132
- bvirt = detlefttail - _i;
133
- B[0] = detlefttail - (_i + bvirt) + (bvirt - detrighttail);
134
- _j = detleft + _i;
135
- bvirt = _j - detleft;
136
- _0 = detleft - (_j - bvirt) + (_i - bvirt);
137
- _i = _0 - detright;
128
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
129
+ _i = s0 - t0;
130
+ bvirt = s0 - _i;
131
+ B[0] = s0 - (_i + bvirt) + (bvirt - t0);
132
+ _j = s1 + _i;
133
+ bvirt = _j - s1;
134
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
135
+ _i = _0 - t1;
138
136
  bvirt = _0 - _i;
139
- B[1] = _0 - (_i + bvirt) + (bvirt - detright);
140
- B3 = _j + _i;
141
- bvirt = B3 - _j;
142
- B[2] = _j - (B3 - bvirt) + (_i - bvirt);
143
- B[3] = B3;
137
+ B[1] = _0 - (_i + bvirt) + (bvirt - t1);
138
+ u3 = _j + _i;
139
+ bvirt = u3 - _j;
140
+ B[2] = _j - (u3 - bvirt) + (_i - bvirt);
141
+ B[3] = u3;
144
142
 
145
143
  let det = estimate(4, B);
146
144
  let errbound = ccwerrboundB * detsum;
147
- if (det >= errbound || -det >= errbound) return det;
145
+ if (det >= errbound || -det >= errbound) {
146
+ return det;
147
+ }
148
148
 
149
149
  bvirt = ax - acx;
150
150
  acxtail = ax - (acx + bvirt) + (bvirt - cx);
@@ -155,13 +155,13 @@ function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
155
155
  bvirt = by - bcy;
156
156
  bcytail = by - (bcy + bvirt) + (bvirt - cy);
157
157
 
158
- if (acxtail === 0 && acytail === 0 && bcxtail === 0 && bcytail === 0) return det;
158
+ if (acxtail === 0 && acytail === 0 && bcxtail === 0 && bcytail === 0) {
159
+ return det;
160
+ }
159
161
 
160
162
  errbound = ccwerrboundC * detsum + resulterrbound * Math.abs(det);
161
163
  det += (acx * bcytail + bcy * acxtail) - (acy * bcxtail + bcx * acytail);
162
- if (det >= errbound || -det >= errbound) {
163
- return det;
164
- }
164
+ if (det >= errbound || -det >= errbound) return det;
165
165
 
166
166
  s1 = acxtail * bcy;
167
167
  c = splitter * acxtail;
@@ -192,7 +192,7 @@ function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
192
192
  bvirt = u3 - _j;
193
193
  u[2] = _j - (u3 - bvirt) + (_i - bvirt);
194
194
  u[3] = u3;
195
- const C1length = fast_expansion_sum_zeroelim(4, B, 4, u, C1);
195
+ const C1len = sum(4, B, 4, u, C1);
196
196
 
197
197
  s1 = acx * bcytail;
198
198
  c = splitter * acx;
@@ -223,7 +223,7 @@ function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
223
223
  bvirt = u3 - _j;
224
224
  u[2] = _j - (u3 - bvirt) + (_i - bvirt);
225
225
  u[3] = u3;
226
- const C2length = fast_expansion_sum_zeroelim(C1length, C1, 4, u, C2);
226
+ const C2len = sum(C1len, C1, 4, u, C2);
227
227
 
228
228
  s1 = acxtail * bcytail;
229
229
  c = splitter * acxtail;
@@ -254,37 +254,20 @@ function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {
254
254
  bvirt = u3 - _j;
255
255
  u[2] = _j - (u3 - bvirt) + (_i - bvirt);
256
256
  u[3] = u3;
257
- const Dlength = fast_expansion_sum_zeroelim(C2length, C2, 4, u, D);
257
+ const Dlen = sum(C2len, C2, 4, u, D);
258
258
 
259
- return D[Dlength - 1];
259
+ return D[Dlen - 1];
260
260
  }
261
261
 
262
262
  function orient2d(ax, ay, bx, by, cx, cy) {
263
263
  const detleft = (ay - cy) * (bx - cx);
264
264
  const detright = (ax - cx) * (by - cy);
265
265
  const det = detleft - detright;
266
- let detsum;
267
-
268
- if (detleft > 0) {
269
- if (detright <= 0) {
270
- return det;
271
- }
272
- detsum = detleft + detright;
273
266
 
274
- } else if (detleft < 0) {
275
- if (detright >= 0) {
276
- return det;
277
- }
278
- detsum = -detleft - detright;
267
+ if (detleft === 0 || detright === 0 || (detleft > 0) !== (detright > 0)) return det;
279
268
 
280
- } else {
281
- return det;
282
- }
283
-
284
- const errbound = ccwerrboundA * detsum;
285
- if (det >= errbound || -det >= errbound) {
286
- return det;
287
- }
269
+ const detsum = Math.abs(detleft + detright);
270
+ if (Math.abs(det) >= ccwerrboundA * detsum) return det;
288
271
 
289
272
  return -orient2dadapt(ax, ay, bx, by, cx, cy, detsum);
290
273
  }
@@ -298,4 +281,4 @@ exports.orient2dfast = orient2dfast;
298
281
 
299
282
  Object.defineProperty(exports, '__esModule', { value: true });
300
283
 
301
- }));
284
+ })));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).predicates={})}(this,function(e){"use strict";const t=134217729,n=33306690738754706e-32;function r(e,t,n,r,o){let f,i,u,c,s=t[0],l=r[0],d=0,a=0;l>s==l>-s?(f=s,s=t[++d]):(f=l,l=r[++a]);let p=0;if(d<e&&a<n)for(l>s==l>-s?(u=f-((i=s+f)-s),s=t[++d]):(u=f-((i=l+f)-l),l=r[++a]),f=i,0!==u&&(o[p++]=u);d<e&&a<n;)l>s==l>-s?(u=f-((i=f+s)-(c=i-f))+(s-c),s=t[++d]):(u=f-((i=f+l)-(c=i-f))+(l-c),l=r[++a]),f=i,0!==u&&(o[p++]=u);for(;d<e;)u=f-((i=f+s)-(c=i-f))+(s-c),s=t[++d],f=i,0!==u&&(o[p++]=u);for(;a<n;)u=f-((i=f+l)-(c=i-f))+(l-c),l=r[++a],f=i,0!==u&&(o[p++]=u);return 0===f&&0!==p||(o[p++]=f),p}function o(e){return new Float64Array(e)}const f=33306690738754716e-32,i=22204460492503146e-32,u=11093356479670487e-47,c=o(4),s=o(8),l=o(12),d=o(16),a=o(4);e.orient2d=function(e,o,p,y,b,x){const h=(o-x)*(p-b),j=(e-b)*(y-x),m=h-j;let M;if(h>0){if(j<=0)return m;M=h+j}else{if(!(h<0))return m;if(j>=0)return m;M=-h-j}const _=f*M;return m>=_||-m>=_?m:-function(e,o,f,p,y,b,x){let h,j,m,M,_,v,w,A,F,O,P,g,k,q,z,B,C,D,E,G,H,I,J;const K=e-y,L=f-y,N=o-b,Q=p-b;z=(w=(D=K-(C=(B=t*K)-(B-K)))*(G=Q-(E=(B=t*Q)-(B-Q)))-((_=K*Q)-C*E-D*E-C*G))-(H=w-(A=(D=N-(C=(B=t*N)-(B-N)))*(G=L-(E=(B=t*L)-(B-L)))-((v=N*L)-C*E-D*E-C*G))),c[0]=w-(H+z)+(z-A),z=(J=_-((I=_+H)-(z=I-_))+(H-z))-(H=J-v),c[1]=J-(H+z)+(z-v),z=(F=I+H)-I,c[2]=I-(F-z)+(H-z),c[3]=F;let R=function(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}(4,c),S=i*x;if(R>=S||-R>=S)return R;if(h=e-(K+(z=e-K))+(z-y),m=f-(L+(z=f-L))+(z-y),j=o-(N+(z=o-N))+(z-b),M=p-(Q+(z=p-Q))+(z-b),0===h&&0===j&&0===m&&0===M)return R;if(S=u*x+n*Math.abs(R),(R+=K*M+Q*h-(N*m+L*j))>=S||-R>=S)return R;z=(k=(D=h-(C=(B=t*h)-(B-h)))*(G=Q-(E=(B=t*Q)-(B-Q)))-((P=h*Q)-C*E-D*E-C*G))-(H=k-(q=(D=j-(C=(B=t*j)-(B-j)))*(G=L-(E=(B=t*L)-(B-L)))-((g=j*L)-C*E-D*E-C*G))),a[0]=k-(H+z)+(z-q),z=(J=P-((I=P+H)-(z=I-P))+(H-z))-(H=J-g),a[1]=J-(H+z)+(z-g),z=(O=I+H)-I,a[2]=I-(O-z)+(H-z),a[3]=O;const T=r(4,c,4,a,s);z=(k=(D=K-(C=(B=t*K)-(B-K)))*(G=M-(E=(B=t*M)-(B-M)))-((P=K*M)-C*E-D*E-C*G))-(H=k-(q=(D=N-(C=(B=t*N)-(B-N)))*(G=m-(E=(B=t*m)-(B-m)))-((g=N*m)-C*E-D*E-C*G))),a[0]=k-(H+z)+(z-q),z=(J=P-((I=P+H)-(z=I-P))+(H-z))-(H=J-g),a[1]=J-(H+z)+(z-g),z=(O=I+H)-I,a[2]=I-(O-z)+(H-z),a[3]=O;const U=r(T,s,4,a,l);z=(k=(D=h-(C=(B=t*h)-(B-h)))*(G=M-(E=(B=t*M)-(B-M)))-((P=h*M)-C*E-D*E-C*G))-(H=k-(q=(D=j-(C=(B=t*j)-(B-j)))*(G=m-(E=(B=t*m)-(B-m)))-((g=j*m)-C*E-D*E-C*G))),a[0]=k-(H+z)+(z-q),z=(J=P-((I=P+H)-(z=I-P))+(H-z))-(H=J-g),a[1]=J-(H+z)+(z-g),z=(O=I+H)-I,a[2]=I-(O-z)+(H-z),a[3]=O;const V=r(U,l,4,a,d);return d[V-1]}(e,o,p,y,b,x,M)},e.orient2dfast=function(e,t,n,r,o,f){return(t-f)*(n-o)-(e-o)*(r-f)},Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,(function(t){"use strict";const e=134217729;function n(t,e,n,o,r){let f,i,u,s,c=e[0],l=o[0],a=0,d=0;l>c==l>-c?(f=c,c=e[++a]):(f=l,l=o[++d]);let p=0;if(a<t&&d<n)for(l>c==l>-c?(i=c+f,u=f-(i-c),c=e[++a]):(i=l+f,u=f-(i-l),l=o[++d]),f=i,0!==u&&(r[p++]=u);a<t&&d<n;)l>c==l>-c?(i=f+c,s=i-f,u=f-(i-s)+(c-s),c=e[++a]):(i=f+l,s=i-f,u=f-(i-s)+(l-s),l=o[++d]),f=i,0!==u&&(r[p++]=u);for(;a<t;)i=f+c,s=i-f,u=f-(i-s)+(c-s),c=e[++a],f=i,0!==u&&(r[p++]=u);for(;d<n;)i=f+l,s=i-f,u=f-(i-s)+(l-s),l=o[++d],f=i,0!==u&&(r[p++]=u);return 0===f&&0!==p||(r[p++]=f),p}function o(t){return new Float64Array(t)}const r=o(4),f=o(8),i=o(12),u=o(16),s=o(4);t.orient2d=function(t,o,c,l,a,d){const p=(o-d)*(c-a),b=(t-a)*(l-d),h=p-b;if(0===p||0===b||p>0!=b>0)return h;const y=Math.abs(p+b);return Math.abs(h)>=33306690738754716e-32*y?h:-function(t,o,c,l,a,d,p){let b,h,y,M,x,g,j,m,T,_,v,w,A,F,O,P,k,q;const z=t-a,B=c-a,C=o-d,D=l-d;F=z*D,g=e*z,j=g-(g-z),m=z-j,g=e*D,T=g-(g-D),_=D-T,O=m*_-(F-j*T-m*T-j*_),P=C*B,g=e*C,j=g-(g-C),m=C-j,g=e*B,T=g-(g-B),_=B-T,k=m*_-(P-j*T-m*T-j*_),v=O-k,x=O-v,r[0]=O-(v+x)+(x-k),w=F+v,x=w-F,A=F-(w-x)+(v-x),v=A-P,x=A-v,r[1]=A-(v+x)+(x-P),q=w+v,x=q-w,r[2]=w-(q-x)+(v-x),r[3]=q;let E=function(t,e){let n=e[0];for(let o=1;o<t;o++)n+=e[o];return n}(4,r),G=22204460492503146e-32*p;if(E>=G||-E>=G)return E;if(x=t-z,b=t-(z+x)+(x-a),x=c-B,y=c-(B+x)+(x-a),x=o-C,h=o-(C+x)+(x-d),x=l-D,M=l-(D+x)+(x-d),0===b&&0===h&&0===y&&0===M)return E;if(G=11093356479670487e-47*p+33306690738754706e-32*Math.abs(E),E+=z*M+D*b-(C*y+B*h),E>=G||-E>=G)return E;F=b*D,g=e*b,j=g-(g-b),m=b-j,g=e*D,T=g-(g-D),_=D-T,O=m*_-(F-j*T-m*T-j*_),P=h*B,g=e*h,j=g-(g-h),m=h-j,g=e*B,T=g-(g-B),_=B-T,k=m*_-(P-j*T-m*T-j*_),v=O-k,x=O-v,s[0]=O-(v+x)+(x-k),w=F+v,x=w-F,A=F-(w-x)+(v-x),v=A-P,x=A-v,s[1]=A-(v+x)+(x-P),q=w+v,x=q-w,s[2]=w-(q-x)+(v-x),s[3]=q;const H=n(4,r,4,s,f);F=z*M,g=e*z,j=g-(g-z),m=z-j,g=e*M,T=g-(g-M),_=M-T,O=m*_-(F-j*T-m*T-j*_),P=C*y,g=e*C,j=g-(g-C),m=C-j,g=e*y,T=g-(g-y),_=y-T,k=m*_-(P-j*T-m*T-j*_),v=O-k,x=O-v,s[0]=O-(v+x)+(x-k),w=F+v,x=w-F,A=F-(w-x)+(v-x),v=A-P,x=A-v,s[1]=A-(v+x)+(x-P),q=w+v,x=q-w,s[2]=w-(q-x)+(v-x),s[3]=q;const I=n(H,f,4,s,i);F=b*M,g=e*b,j=g-(g-b),m=b-j,g=e*M,T=g-(g-M),_=M-T,O=m*_-(F-j*T-m*T-j*_),P=h*y,g=e*h,j=g-(g-h),m=h-j,g=e*y,T=g-(g-y),_=y-T,k=m*_-(P-j*T-m*T-j*_),v=O-k,x=O-v,s[0]=O-(v+x)+(x-k),w=F+v,x=w-F,A=F-(w-x)+(v-x),v=A-P,x=A-v,s[1]=A-(v+x)+(x-P),q=w+v,x=q-w,s[2]=w-(q-x)+(v-x),s[3]=q;const J=n(I,i,4,s,u);return u[J-1]}(t,o,c,l,a,d,y)},t.orient2dfast=function(t,e,n,o,r,f){return(e-f)*(n-r)-(t-r)*(o-f)},Object.defineProperty(t,"__esModule",{value:!0})}));