robust-predicates 3.0.1 → 3.0.3

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="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})}));
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=11102230246251565e-32,e=134217729,r=(3+8*n)*n;function o(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 a(t,n,e,r,a,s,f,u){return o(o(t,n,e,r,f),f,a,s,u)}function s(t,n,r,o){let a,s,f,u,i,c,h,b,l,M,d;h=e*r,M=h-(h-r),d=r-M;let p=n[0];a=p*r,h=e*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=n[x],u=p*r,h=e*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 f(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function u(t){return new Float64Array(t)}const i=u(4),c=u(4),h=u(4),b=u(4),l=u(4),M=u(4),d=u(4),p=u(4),y=u(4),x=u(4),g=u(24),m=u(24),T=u(24),j=u(24),w=u(24),A=u(24),F=u(24),k=u(24),q=u(24),v=u(24),z=u(1152),B=u(1152),C=u(1152),D=u(1152),E=u(1152),G=u(2304),H=u(2304),I=u(3456),J=u(5760),K=u(8),L=u(8),N=u(8),O=u(16),P=u(24),Q=u(48),R=u(48),S=u(96),U=u(192),V=u(384),W=u(384),X=u(384),Y=u(768);function Z(t,n,e,r,o,f,u){return a(s(4,t,r,K),K,s(4,n,o,L),L,s(4,e,f,N),N,O,u)}function $(t,n,e,r,u,i,c,h,b,l,M,d){const p=o(o(t,n,e,r,Q),Q,f(o(u,i,c,h,R),R),R,S);return a(s(s(p,S,b,U),U,b,V),V,s(s(p,S,l,U),U,l,W),W,s(s(p,S,M,U),U,M,X),X,Y,d)}const _=u(96),tt=u(96),nt=u(96),et=u(1152);function rt(t,n,e,r,o,f,u,i,c,h){const b=Z(t,n,e,r,o,f,P);return a(s(s(b,P,u,Q),Q,u,_),_,s(s(b,P,i,Q),Q,i,tt),tt,s(s(b,P,c,Q),Q,c,nt),nt,U,h)}function ot(t,n,s,u,K,L,N,O,P,Q,R,S,U,V,W,X){let Y,_,tt,nt,ot,at,st,ft,ut,it,ct,ht,bt,lt,Mt,dt,pt,yt,xt,gt,mt,Tt,jt,wt,At,Ft,kt,qt,vt,zt,Bt;const Ct=t-U,Dt=u-U,Et=N-U,Gt=Q-U,Ht=n-V,It=K-V,Jt=O-V,Kt=R-V,Lt=s-W,Nt=L-W,Ot=P-W,Pt=S-W;qt=Ct*It,gt=e*Ct,mt=gt-(gt-Ct),Tt=Ct-mt,gt=e*It,jt=gt-(gt-It),wt=It-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Dt*Ht,gt=e*Dt,mt=gt-(gt-Dt),Tt=Dt-mt,gt=e*Ht,jt=gt-(gt-Ht),wt=Ht-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,i[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,i[1]=kt-(At+xt)+(xt-zt),Y=Ft+At,xt=Y-Ft,i[2]=Ft-(Y-xt)+(At-xt),i[3]=Y,qt=Dt*Jt,gt=e*Dt,mt=gt-(gt-Dt),Tt=Dt-mt,gt=e*Jt,jt=gt-(gt-Jt),wt=Jt-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Et*It,gt=e*Et,mt=gt-(gt-Et),Tt=Et-mt,gt=e*It,jt=gt-(gt-It),wt=It-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,c[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,c[1]=kt-(At+xt)+(xt-zt),_=Ft+At,xt=_-Ft,c[2]=Ft-(_-xt)+(At-xt),c[3]=_,qt=Et*Kt,gt=e*Et,mt=gt-(gt-Et),Tt=Et-mt,gt=e*Kt,jt=gt-(gt-Kt),wt=Kt-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Gt*Jt,gt=e*Gt,mt=gt-(gt-Gt),Tt=Gt-mt,gt=e*Jt,jt=gt-(gt-Jt),wt=Jt-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,h[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,h[1]=kt-(At+xt)+(xt-zt),tt=Ft+At,xt=tt-Ft,h[2]=Ft-(tt-xt)+(At-xt),h[3]=tt,qt=Gt*Ht,gt=e*Gt,mt=gt-(gt-Gt),Tt=Gt-mt,gt=e*Ht,jt=gt-(gt-Ht),wt=Ht-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Ct*Kt,gt=e*Ct,mt=gt-(gt-Ct),Tt=Ct-mt,gt=e*Kt,jt=gt-(gt-Kt),wt=Kt-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,y[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,y[1]=kt-(At+xt)+(xt-zt),nt=Ft+At,xt=nt-Ft,y[2]=Ft-(nt-xt)+(At-xt),y[3]=nt,qt=Ct*Jt,gt=e*Ct,mt=gt-(gt-Ct),Tt=Ct-mt,gt=e*Jt,jt=gt-(gt-Jt),wt=Jt-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Et*Ht,gt=e*Et,mt=gt-(gt-Et),Tt=Et-mt,gt=e*Ht,jt=gt-(gt-Ht),wt=Ht-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,M[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,M[1]=kt-(At+xt)+(xt-zt),ot=Ft+At,xt=ot-Ft,M[2]=Ft-(ot-xt)+(At-xt),M[3]=ot,qt=Dt*Kt,gt=e*Dt,mt=gt-(gt-Dt),Tt=Dt-mt,gt=e*Kt,jt=gt-(gt-Kt),wt=Kt-jt,vt=Tt*wt-(qt-mt*jt-Tt*jt-mt*wt),zt=Gt*It,gt=e*Gt,mt=gt-(gt-Gt),Tt=Gt-mt,gt=e*It,jt=gt-(gt-It),wt=It-jt,Bt=Tt*wt-(zt-mt*jt-Tt*jt-mt*wt),At=vt-Bt,xt=vt-At,d[0]=vt-(At+xt)+(xt-Bt),Ft=qt+At,xt=Ft-qt,kt=qt-(Ft-xt)+(At-xt),At=kt-zt,xt=kt-At,d[1]=kt-(At+xt)+(xt-zt),at=Ft+At,xt=at-Ft,d[2]=Ft-(at-xt)+(At-xt),d[3]=at;let Qt=function(t,n){let e=n[0];for(let r=1;r<t;r++)e+=n[r];return e}(o(o(f(rt(c,h,d,Pt,Nt,-Ot,Ct,Ht,Lt,z),z),z,rt(h,y,M,Lt,Ot,Pt,Dt,It,Nt,B),B,G),G,o(f(rt(y,i,d,Nt,Pt,Lt,Et,Jt,Ot,C),C),C,rt(i,c,M,Ot,Lt,-Nt,Gt,Kt,Pt,D),D,H),H,et),et),Rt=5551115123125792e-31*X;if(Qt>=Rt||-Qt>=Rt)return Qt;if(xt=t-Ct,st=t-(Ct+xt)+(xt-U),xt=n-Ht,ct=n-(Ht+xt)+(xt-V),xt=s-Lt,Mt=s-(Lt+xt)+(xt-W),xt=u-Dt,ft=u-(Dt+xt)+(xt-U),xt=K-It,ht=K-(It+xt)+(xt-V),xt=L-Nt,dt=L-(Nt+xt)+(xt-W),xt=N-Et,ut=N-(Et+xt)+(xt-U),xt=O-Jt,bt=O-(Jt+xt)+(xt-V),xt=P-Ot,pt=P-(Ot+xt)+(xt-W),xt=Q-Gt,it=Q-(Gt+xt)+(xt-U),xt=R-Kt,lt=R-(Kt+xt)+(xt-V),xt=S-Pt,yt=S-(Pt+xt)+(xt-W),0===st&&0===ct&&0===Mt&&0===ft&&0===ht&&0===dt&&0===ut&&0===bt&&0===pt&&0===it&&0===lt&&0===yt)return Qt;Rt=8751425667295619e-46*X+r*Math.abs(Qt);const St=Ct*ht+It*st-(Ht*ft+Dt*ct),Ut=Dt*bt+Jt*ft-(It*ut+Et*ht),Vt=Et*lt+Kt*ut-(Jt*it+Gt*bt),Wt=Gt*ct+Ht*it-(Kt*st+Ct*lt),Xt=Ct*bt+Jt*st-(Ht*ut+Et*ct),Yt=Dt*lt+Kt*ft-(It*it+Gt*ht);return Qt+=(Dt*Dt+It*It+Nt*Nt)*(Ot*Wt+Pt*Xt+Lt*Vt+(pt*nt+yt*ot+Mt*tt))+(Gt*Gt+Kt*Kt+Pt*Pt)*(Lt*Ut-Nt*Xt+Ot*St+(Mt*_-dt*ot+pt*Y))-((Ct*Ct+Ht*Ht+Lt*Lt)*(Nt*Vt-Ot*Yt+Pt*Ut+(dt*tt-pt*at+yt*_))+(Et*Et+Jt*Jt+Ot*Ot)*(Pt*St+Lt*Yt+Nt*Wt+(yt*Y+Mt*at+dt*nt)))+2*((Dt*ft+It*ht+Nt*dt)*(Ot*nt+Pt*ot+Lt*tt)+(Gt*it+Kt*lt+Pt*yt)*(Lt*_-Nt*ot+Ot*Y)-((Ct*st+Ht*ct+Lt*Mt)*(Nt*tt-Ot*at+Pt*_)+(Et*ut+Jt*bt+Ot*pt)*(Pt*Y+Lt*at+Nt*nt))),Qt>=Rt||-Qt>=Rt?Qt:function(t,n,r,o,s,f,u,K,L,N,O,P,Q,R,S){let U,V,W,X,Y,_,tt,nt,et,rt,ot,at,st,ft;rt=t*s,V=e*t,W=V-(V-t),X=t-W,V=e*s,Y=V-(V-s),_=s-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=o*n,V=e*o,W=V-(V-o),X=o-W,V=e*n,Y=V-(V-n),_=n-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,i[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,i[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,i[2]=nt-(ft-U)+(tt-U),i[3]=ft,rt=o*K,V=e*o,W=V-(V-o),X=o-W,V=e*K,Y=V-(V-K),_=K-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=u*s,V=e*u,W=V-(V-u),X=u-W,V=e*s,Y=V-(V-s),_=s-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,c[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,c[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,c[2]=nt-(ft-U)+(tt-U),c[3]=ft,rt=u*O,V=e*u,W=V-(V-u),X=u-W,V=e*O,Y=V-(V-O),_=O-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=N*K,V=e*N,W=V-(V-N),X=N-W,V=e*K,Y=V-(V-K),_=K-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,h[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,h[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,h[2]=nt-(ft-U)+(tt-U),h[3]=ft,rt=N*R,V=e*N,W=V-(V-N),X=N-W,V=e*R,Y=V-(V-R),_=R-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=Q*O,V=e*Q,W=V-(V-Q),X=Q-W,V=e*O,Y=V-(V-O),_=O-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,b[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,b[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,b[2]=nt-(ft-U)+(tt-U),b[3]=ft,rt=Q*n,V=e*Q,W=V-(V-Q),X=Q-W,V=e*n,Y=V-(V-n),_=n-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=t*R,V=e*t,W=V-(V-t),X=t-W,V=e*R,Y=V-(V-R),_=R-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,l[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,l[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,l[2]=nt-(ft-U)+(tt-U),l[3]=ft,rt=t*K,V=e*t,W=V-(V-t),X=t-W,V=e*K,Y=V-(V-K),_=K-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=u*n,V=e*u,W=V-(V-u),X=u-W,V=e*n,Y=V-(V-n),_=n-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,M[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,M[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,M[2]=nt-(ft-U)+(tt-U),M[3]=ft,rt=o*O,V=e*o,W=V-(V-o),X=o-W,V=e*O,Y=V-(V-O),_=O-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=N*s,V=e*N,W=V-(V-N),X=N-W,V=e*s,Y=V-(V-s),_=s-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,d[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,d[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,d[2]=nt-(ft-U)+(tt-U),d[3]=ft,rt=u*R,V=e*u,W=V-(V-u),X=u-W,V=e*R,Y=V-(V-R),_=R-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=Q*K,V=e*Q,W=V-(V-Q),X=Q-W,V=e*K,Y=V-(V-K),_=K-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,p[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,p[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,p[2]=nt-(ft-U)+(tt-U),p[3]=ft,rt=N*n,V=e*N,W=V-(V-N),X=N-W,V=e*n,Y=V-(V-n),_=n-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=t*O,V=e*t,W=V-(V-t),X=t-W,V=e*O,Y=V-(V-O),_=O-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,y[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,y[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,y[2]=nt-(ft-U)+(tt-U),y[3]=ft,rt=Q*s,V=e*Q,W=V-(V-Q),X=Q-W,V=e*s,Y=V-(V-s),_=s-Y,ot=X*_-(rt-W*Y-X*Y-W*_),at=o*R,V=e*o,W=V-(V-o),X=o-W,V=e*R,Y=V-(V-R),_=R-Y,st=X*_-(at-W*Y-X*Y-W*_),tt=ot-st,U=ot-tt,x[0]=ot-(tt+U)+(U-st),nt=rt+tt,U=nt-rt,et=rt-(nt-U)+(tt-U),tt=et-at,U=et-tt,x[1]=et-(tt+U)+(U-at),ft=nt+tt,U=ft-nt,x[2]=nt-(ft-U)+(tt-U),x[3]=ft;const ut=Z(i,c,M,L,r,-f,g),it=Z(c,h,d,P,f,-L,m),ct=Z(h,b,p,S,L,-P,T),ht=Z(b,l,y,r,P,-S,j),bt=Z(l,i,x,f,S,-r,w),lt=Z(i,d,y,P,r,f,A),Mt=Z(c,p,x,S,f,L,F),dt=Z(h,y,M,r,L,P,k),pt=Z(b,x,d,f,P,S,q),yt=Z(l,M,p,L,S,r,v),xt=a($(ct,T,Mt,F,pt,q,it,m,t,n,r,z),z,$(ht,j,dt,k,yt,v,ct,T,o,s,f,B),B,a($(bt,w,pt,q,lt,A,ht,j,u,K,L,C),C,$(ut,g,yt,v,Mt,F,bt,w,N,O,P,D),D,$(it,m,lt,A,dt,k,ut,g,Q,R,S,E),E,H,I),I,G,J);return J[xt-1]}(t,n,s,u,K,L,N,O,P,Q,R,S,U,V,W)}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,m=o-l,T=f-l,j=c-l,w=e-M,A=a-M,F=u-M,k=h-M,q=d*m,v=p*g,z=q-v,B=p*T,C=y*m,D=B-C,E=y*j,G=x*T,H=E-G,I=x*g,J=d*j,K=I-J,L=d*T,N=y*g,O=L-N,P=p*j,Q=x*m,R=P-Q,S=d*d+g*g+w*w,U=p*p+m*m+A*A,V=y*y+T*T+F*F,W=x*x+j*j+k*k,X=V*(k*z+w*R+A*K)-W*(w*D-A*O+F*z)+(S*(A*H-F*R+k*D)-U*(F*K+k*O+w*H)),Y=Math.abs(w),Z=Math.abs(A),$=Math.abs(F),_=Math.abs(k),tt=Math.abs(q)+Math.abs(v),nt=Math.abs(B)+Math.abs(C),et=Math.abs(E)+Math.abs(G),rt=Math.abs(I)+Math.abs(J),at=Math.abs(L)+Math.abs(N),st=Math.abs(P)+Math.abs(Q),ft=(et*Z+st*$+nt*_)*S+(rt*$+at*_+et*Y)*U+(tt*_+st*Y+rt*Z)*V+(nt*Y+at*Z+tt*$)*W,ut=17763568394002532e-31*ft;return X>ut||-X>ut?X:-ot(t,n,e,r,o,a,s,f,u,i,c,h,b,l,M,ft)},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,m=o-l,T=f-l,j=c-l,w=e-M,A=a-M,F=u-M,k=h-M,q=d*m-p*g,v=p*T-y*m,z=y*j-x*T,B=x*g-d*j,C=d*T-y*g,D=p*j-x*m;return(y*y+T*T+F*F)*(k*q+w*D+A*B)-(x*x+j*j+k*k)*(w*v-A*C+F*q)+((d*d+g*g+w*w)*(A*z-F*D+k*v)-(p*p+m*m+A*A)*(F*B+k*C+w*z))}});
package/umd/orient2d.js CHANGED
@@ -2,13 +2,13 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
3
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
5
- }(this, (function (exports) { 'use strict';
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
- // fast_expansion_sum_zeroelim routine from oritinal code
11
+ // fast_expansion_sum_zeroelim routine from original code
12
12
  function sum(elen, e, flen, f, h) {
13
13
  let Q, Qnew, hh, bvirt;
14
14
  let enow = e[0];
@@ -264,8 +264,6 @@ function orient2d(ax, ay, bx, by, cx, cy) {
264
264
  const detright = (ax - cx) * (by - cy);
265
265
  const det = detleft - detright;
266
266
 
267
- if (detleft === 0 || detright === 0 || (detleft > 0) !== (detright > 0)) return det;
268
-
269
267
  const detsum = Math.abs(detleft + detright);
270
268
  if (Math.abs(det) >= ccwerrboundA * detsum) return det;
271
269
 
@@ -279,6 +277,4 @@ function orient2dfast(ax, ay, bx, by, cx, cy) {
279
277
  exports.orient2d = orient2d;
280
278
  exports.orient2dfast = orient2dfast;
281
279
 
282
- Object.defineProperty(exports, '__esModule', { value: true });
283
-
284
- })));
280
+ }));
@@ -1 +1 @@
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})}));
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=11102230246251565e-32,n=134217729,o=(3+8*e)*e;function r(t,e,n,o,r){let f,i,u,s,c=e[0],a=o[0],l=0,d=0;a>c==a>-c?(f=c,c=e[++l]):(f=a,a=o[++d]);let p=0;if(l<t&&d<n)for(a>c==a>-c?(i=c+f,u=f-(i-c),c=e[++l]):(i=a+f,u=f-(i-a),a=o[++d]),f=i,0!==u&&(r[p++]=u);l<t&&d<n;)a>c==a>-c?(i=f+c,s=i-f,u=f-(i-s)+(c-s),c=e[++l]):(i=f+a,s=i-f,u=f-(i-s)+(a-s),a=o[++d]),f=i,0!==u&&(r[p++]=u);for(;l<t;)i=f+c,s=i-f,u=f-(i-s)+(c-s),c=e[++l],f=i,0!==u&&(r[p++]=u);for(;d<n;)i=f+a,s=i-f,u=f-(i-s)+(a-s),a=o[++d],f=i,0!==u&&(r[p++]=u);return 0===f&&0!==p||(r[p++]=f),p}function f(t){return new Float64Array(t)}const i=f(4),u=f(8),s=f(12),c=f(16),a=f(4);t.orient2d=function(t,e,f,l,d,p){const b=(e-p)*(f-d),h=(t-d)*(l-p),y=b-h,x=Math.abs(b+h);return Math.abs(y)>=33306690738754716e-32*x?y:-function(t,e,f,l,d,p,b){let h,y,x,M,g,m,T,j,w,A,F,k,q,v,z,B,C,D;const E=t-d,G=f-d,H=e-p,I=l-p;v=E*I,m=n*E,T=m-(m-E),j=E-T,m=n*I,w=m-(m-I),A=I-w,z=j*A-(v-T*w-j*w-T*A),B=H*G,m=n*H,T=m-(m-H),j=H-T,m=n*G,w=m-(m-G),A=G-w,C=j*A-(B-T*w-j*w-T*A),F=z-C,g=z-F,i[0]=z-(F+g)+(g-C),k=v+F,g=k-v,q=v-(k-g)+(F-g),F=q-B,g=q-F,i[1]=q-(F+g)+(g-B),D=k+F,g=D-k,i[2]=k-(D-g)+(F-g),i[3]=D;let J=function(t,e){let n=e[0];for(let o=1;o<t;o++)n+=e[o];return n}(4,i),K=22204460492503146e-32*b;if(J>=K||-J>=K)return J;if(g=t-E,h=t-(E+g)+(g-d),g=f-G,x=f-(G+g)+(g-d),g=e-H,y=e-(H+g)+(g-p),g=l-I,M=l-(I+g)+(g-p),0===h&&0===y&&0===x&&0===M)return J;if(K=11093356479670487e-47*b+o*Math.abs(J),J+=E*M+I*h-(H*x+G*y),J>=K||-J>=K)return J;v=h*I,m=n*h,T=m-(m-h),j=h-T,m=n*I,w=m-(m-I),A=I-w,z=j*A-(v-T*w-j*w-T*A),B=y*G,m=n*y,T=m-(m-y),j=y-T,m=n*G,w=m-(m-G),A=G-w,C=j*A-(B-T*w-j*w-T*A),F=z-C,g=z-F,a[0]=z-(F+g)+(g-C),k=v+F,g=k-v,q=v-(k-g)+(F-g),F=q-B,g=q-F,a[1]=q-(F+g)+(g-B),D=k+F,g=D-k,a[2]=k-(D-g)+(F-g),a[3]=D;const L=r(4,i,4,a,u);v=E*M,m=n*E,T=m-(m-E),j=E-T,m=n*M,w=m-(m-M),A=M-w,z=j*A-(v-T*w-j*w-T*A),B=H*x,m=n*H,T=m-(m-H),j=H-T,m=n*x,w=m-(m-x),A=x-w,C=j*A-(B-T*w-j*w-T*A),F=z-C,g=z-F,a[0]=z-(F+g)+(g-C),k=v+F,g=k-v,q=v-(k-g)+(F-g),F=q-B,g=q-F,a[1]=q-(F+g)+(g-B),D=k+F,g=D-k,a[2]=k-(D-g)+(F-g),a[3]=D;const N=r(L,u,4,a,s);v=h*M,m=n*h,T=m-(m-h),j=h-T,m=n*M,w=m-(m-M),A=M-w,z=j*A-(v-T*w-j*w-T*A),B=y*x,m=n*y,T=m-(m-y),j=y-T,m=n*x,w=m-(m-x),A=x-w,C=j*A-(B-T*w-j*w-T*A),F=z-C,g=z-F,a[0]=z-(F+g)+(g-C),k=v+F,g=k-v,q=v-(k-g)+(F-g),F=q-B,g=q-F,a[1]=q-(F+g)+(g-B),D=k+F,g=D-k,a[2]=k-(D-g)+(F-g),a[3]=D;const O=r(N,s,4,a,c);return c[O-1]}(t,e,f,l,d,p,x)},t.orient2dfast=function(t,e,n,o,r,f){return(e-f)*(n-r)-(t-r)*(o-f)}});
package/umd/orient3d.js CHANGED
@@ -2,13 +2,13 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
3
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
5
- }(this, (function (exports) { 'use strict';
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
- // fast_expansion_sum_zeroelim routine from oritinal code
11
+ // fast_expansion_sum_zeroelim routine from original code
12
12
  function sum(elen, e, flen, f, h) {
13
13
  let Q, Qnew, hh, bvirt;
14
14
  let enow = e[0];
@@ -154,7 +154,7 @@ const u = vec(4);
154
154
 
155
155
  const _8 = vec(8);
156
156
  const _8b = vec(8);
157
- const _16 = vec(8);
157
+ const _16 = vec(16);
158
158
  const _12 = vec(12);
159
159
 
160
160
  let fin = vec(192);
@@ -173,112 +173,109 @@ function tailinit(xtail, ytail, ax, ay, bx, by, a, b) {
173
173
  a[0] = 0;
174
174
  b[0] = 0;
175
175
  return 1;
176
- } else {
177
- negate = -ytail;
178
- s1 = negate * ax;
179
- c = splitter * negate;
180
- ahi = c - (c - negate);
181
- alo = negate - ahi;
182
- c = splitter * ax;
183
- bhi = c - (c - ax);
184
- blo = ax - bhi;
185
- a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
186
- a[1] = s1;
187
- s1 = ytail * bx;
188
- c = splitter * ytail;
189
- ahi = c - (c - ytail);
190
- alo = ytail - ahi;
191
- c = splitter * bx;
192
- bhi = c - (c - bx);
193
- blo = bx - bhi;
194
- b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
195
- b[1] = s1;
196
- return 2;
197
- }
198
- } else {
199
- if (ytail === 0) {
200
- s1 = xtail * ay;
201
- c = splitter * xtail;
202
- ahi = c - (c - xtail);
203
- alo = xtail - ahi;
204
- c = splitter * ay;
205
- bhi = c - (c - ay);
206
- blo = ay - bhi;
207
- a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
208
- a[1] = s1;
209
- negate = -xtail;
210
- s1 = negate * by;
211
- c = splitter * negate;
212
- ahi = c - (c - negate);
213
- alo = negate - ahi;
214
- c = splitter * by;
215
- bhi = c - (c - by);
216
- blo = by - bhi;
217
- b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
218
- b[1] = s1;
219
- return 2;
220
- } else {
221
- s1 = xtail * ay;
222
- c = splitter * xtail;
223
- ahi = c - (c - xtail);
224
- alo = xtail - ahi;
225
- c = splitter * ay;
226
- bhi = c - (c - ay);
227
- blo = ay - bhi;
228
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
229
- t1 = ytail * ax;
230
- c = splitter * ytail;
231
- ahi = c - (c - ytail);
232
- alo = ytail - ahi;
233
- c = splitter * ax;
234
- bhi = c - (c - ax);
235
- blo = ax - bhi;
236
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
237
- _i = s0 - t0;
238
- bvirt = s0 - _i;
239
- a[0] = s0 - (_i + bvirt) + (bvirt - t0);
240
- _j = s1 + _i;
241
- bvirt = _j - s1;
242
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
243
- _i = _0 - t1;
244
- bvirt = _0 - _i;
245
- a[1] = _0 - (_i + bvirt) + (bvirt - t1);
246
- u3 = _j + _i;
247
- bvirt = u3 - _j;
248
- a[2] = _j - (u3 - bvirt) + (_i - bvirt);
249
- a[3] = u3;
250
- s1 = ytail * bx;
251
- c = splitter * ytail;
252
- ahi = c - (c - ytail);
253
- alo = ytail - ahi;
254
- c = splitter * bx;
255
- bhi = c - (c - bx);
256
- blo = bx - bhi;
257
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
258
- t1 = xtail * by;
259
- c = splitter * xtail;
260
- ahi = c - (c - xtail);
261
- alo = xtail - ahi;
262
- c = splitter * by;
263
- bhi = c - (c - by);
264
- blo = by - bhi;
265
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
266
- _i = s0 - t0;
267
- bvirt = s0 - _i;
268
- b[0] = s0 - (_i + bvirt) + (bvirt - t0);
269
- _j = s1 + _i;
270
- bvirt = _j - s1;
271
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
272
- _i = _0 - t1;
273
- bvirt = _0 - _i;
274
- b[1] = _0 - (_i + bvirt) + (bvirt - t1);
275
- u3 = _j + _i;
276
- bvirt = u3 - _j;
277
- b[2] = _j - (u3 - bvirt) + (_i - bvirt);
278
- b[3] = u3;
279
- return 4;
280
176
  }
177
+ negate = -ytail;
178
+ s1 = negate * ax;
179
+ c = splitter * negate;
180
+ ahi = c - (c - negate);
181
+ alo = negate - ahi;
182
+ c = splitter * ax;
183
+ bhi = c - (c - ax);
184
+ blo = ax - bhi;
185
+ a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
186
+ a[1] = s1;
187
+ s1 = ytail * bx;
188
+ c = splitter * ytail;
189
+ ahi = c - (c - ytail);
190
+ alo = ytail - ahi;
191
+ c = splitter * bx;
192
+ bhi = c - (c - bx);
193
+ blo = bx - bhi;
194
+ b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
195
+ b[1] = s1;
196
+ return 2;
197
+ }
198
+ if (ytail === 0) {
199
+ s1 = xtail * ay;
200
+ c = splitter * xtail;
201
+ ahi = c - (c - xtail);
202
+ alo = xtail - ahi;
203
+ c = splitter * ay;
204
+ bhi = c - (c - ay);
205
+ blo = ay - bhi;
206
+ a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
207
+ a[1] = s1;
208
+ negate = -xtail;
209
+ s1 = negate * by;
210
+ c = splitter * negate;
211
+ ahi = c - (c - negate);
212
+ alo = negate - ahi;
213
+ c = splitter * by;
214
+ bhi = c - (c - by);
215
+ blo = by - bhi;
216
+ b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
217
+ b[1] = s1;
218
+ return 2;
281
219
  }
220
+ s1 = xtail * ay;
221
+ c = splitter * xtail;
222
+ ahi = c - (c - xtail);
223
+ alo = xtail - ahi;
224
+ c = splitter * ay;
225
+ bhi = c - (c - ay);
226
+ blo = ay - bhi;
227
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
228
+ t1 = ytail * ax;
229
+ c = splitter * ytail;
230
+ ahi = c - (c - ytail);
231
+ alo = ytail - ahi;
232
+ c = splitter * ax;
233
+ bhi = c - (c - ax);
234
+ blo = ax - bhi;
235
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
236
+ _i = s0 - t0;
237
+ bvirt = s0 - _i;
238
+ a[0] = s0 - (_i + bvirt) + (bvirt - t0);
239
+ _j = s1 + _i;
240
+ bvirt = _j - s1;
241
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
242
+ _i = _0 - t1;
243
+ bvirt = _0 - _i;
244
+ a[1] = _0 - (_i + bvirt) + (bvirt - t1);
245
+ u3 = _j + _i;
246
+ bvirt = u3 - _j;
247
+ a[2] = _j - (u3 - bvirt) + (_i - bvirt);
248
+ a[3] = u3;
249
+ s1 = ytail * bx;
250
+ c = splitter * ytail;
251
+ ahi = c - (c - ytail);
252
+ alo = ytail - ahi;
253
+ c = splitter * bx;
254
+ bhi = c - (c - bx);
255
+ blo = bx - bhi;
256
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
257
+ t1 = xtail * by;
258
+ c = splitter * xtail;
259
+ ahi = c - (c - xtail);
260
+ alo = xtail - ahi;
261
+ c = splitter * by;
262
+ bhi = c - (c - by);
263
+ blo = by - bhi;
264
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
265
+ _i = s0 - t0;
266
+ bvirt = s0 - _i;
267
+ b[0] = s0 - (_i + bvirt) + (bvirt - t0);
268
+ _j = s1 + _i;
269
+ bvirt = _j - s1;
270
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
271
+ _i = _0 - t1;
272
+ bvirt = _0 - _i;
273
+ b[1] = _0 - (_i + bvirt) + (bvirt - t1);
274
+ u3 = _j + _i;
275
+ bvirt = u3 - _j;
276
+ b[2] = _j - (u3 - bvirt) + (_i - bvirt);
277
+ b[3] = u3;
278
+ return 4;
282
279
  }
283
280
 
284
281
  function tailadd(finlen, a, b, k, z) {
@@ -598,6 +595,4 @@ function orient3dfast(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) {
598
595
  exports.orient3d = orient3d;
599
596
  exports.orient3dfast = orient3dfast;
600
597
 
601
- Object.defineProperty(exports, '__esModule', { value: true });
602
-
603
- })));
598
+ }));
@@ -1 +1 @@
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,u,s,i,a=e[0],c=o[0],l=0,b=0;c>a==c>-a?(f=a,a=e[++l]):(f=c,c=o[++b]);let d=0;if(l<t&&b<n)for(c>a==c>-a?(u=a+f,s=f-(u-a),a=e[++l]):(u=c+f,s=f-(u-c),c=o[++b]),f=u,0!==s&&(r[d++]=s);l<t&&b<n;)c>a==c>-a?(u=f+a,i=u-f,s=f-(u-i)+(a-i),a=e[++l]):(u=f+c,i=u-f,s=f-(u-i)+(c-i),c=o[++b]),f=u,0!==s&&(r[d++]=s);for(;l<t;)u=f+a,i=u-f,s=f-(u-i)+(a-i),a=e[++l],f=u,0!==s&&(r[d++]=s);for(;b<n;)u=f+c,i=u-f,s=f-(u-i)+(c-i),c=o[++b],f=u,0!==s&&(r[d++]=s);return 0===f&&0!==d||(r[d++]=f),d}function o(t,n,o,r){let f,u,s,i,a,c,l,b,d,h,M;l=e*o,h=l-(l-o),M=o-h;let p=n[0];f=p*o,l=e*p,b=l-(l-p),d=p-b,s=d*M-(f-b*h-d*h-b*M);let y=0;0!==s&&(r[y++]=s);for(let x=1;x<t;x++)p=n[x],i=p*o,l=e*p,b=l-(l-p),d=p-b,a=d*M-(i-b*h-d*h-b*M),u=f+a,c=u-f,s=f-(u-c)+(a-c),0!==s&&(r[y++]=s),f=i+u,s=u-(f-i),0!==s&&(r[y++]=s);return 0===f&&0!==y||(r[y++]=f),y}function r(t){return new Float64Array(t)}const f=r(4),u=r(4),s=r(4),i=r(4),a=r(4),c=r(4),l=r(4),b=r(4),d=r(4),h=r(8),M=r(8),p=r(8),y=r(4),x=r(8),g=r(8),j=r(8),m=r(12);let T=r(192),_=r(192);function v(t,e,o){t=n(t,T,e,o,_);const r=T;return T=_,_=r,t}function w(t,n,o,r,f,u,s,i){let a,c,l,b,d,h,M,p,y,x,g,j,m,T,_;return 0===t?0===n?(s[0]=0,i[0]=0,1):(_=-n,x=_*o,c=e*_,l=c-(c-_),b=_-l,c=e*o,d=c-(c-o),h=o-d,s[0]=b*h-(x-l*d-b*d-l*h),s[1]=x,x=n*f,c=e*n,l=c-(c-n),b=n-l,c=e*f,d=c-(c-f),h=f-d,i[0]=b*h-(x-l*d-b*d-l*h),i[1]=x,2):0===n?(x=t*r,c=e*t,l=c-(c-t),b=t-l,c=e*r,d=c-(c-r),h=r-d,s[0]=b*h-(x-l*d-b*d-l*h),s[1]=x,_=-t,x=_*u,c=e*_,l=c-(c-_),b=_-l,c=e*u,d=c-(c-u),h=u-d,i[0]=b*h-(x-l*d-b*d-l*h),i[1]=x,2):(x=t*r,c=e*t,l=c-(c-t),b=t-l,c=e*r,d=c-(c-r),h=r-d,g=b*h-(x-l*d-b*d-l*h),j=n*o,c=e*n,l=c-(c-n),b=n-l,c=e*o,d=c-(c-o),h=o-d,m=b*h-(j-l*d-b*d-l*h),M=g-m,a=g-M,s[0]=g-(M+a)+(a-m),p=x+M,a=p-x,y=x-(p-a)+(M-a),M=y-j,a=y-M,s[1]=y-(M+a)+(a-j),T=p+M,a=T-p,s[2]=p-(T-a)+(M-a),s[3]=T,x=n*f,c=e*n,l=c-(c-n),b=n-l,c=e*f,d=c-(c-f),h=f-d,g=b*h-(x-l*d-b*d-l*h),j=t*u,c=e*t,l=c-(c-t),b=t-l,c=e*u,d=c-(c-u),h=u-d,m=b*h-(j-l*d-b*d-l*h),M=g-m,a=g-M,i[0]=g-(M+a)+(a-m),p=x+M,a=p-x,y=x-(p-a)+(M-a),M=y-j,a=y-M,i[1]=y-(M+a)+(a-j),T=p+M,a=T-p,i[2]=p-(T-a)+(M-a),i[3]=T,4)}function A(t,n,o,r,f){let u,s,i,a,c,l,b,d,h,M,p,x,g;return p=n*o,s=e*n,i=s-(s-n),a=n-i,s=e*o,c=s-(s-o),l=o-c,x=a*l-(p-i*c-a*c-i*l),s=e*r,c=s-(s-r),l=r-c,b=x*r,s=e*x,i=s-(s-x),a=x-i,y[0]=a*l-(b-i*c-a*c-i*l),d=p*r,s=e*p,i=s-(s-p),a=p-i,M=a*l-(d-i*c-a*c-i*l),h=b+M,u=h-b,y[1]=b-(h-u)+(M-u),g=d+h,y[2]=h-(g-d),y[3]=g,t=v(t,4,y),0!==f&&(s=e*f,c=s-(s-f),l=f-c,b=x*f,s=e*x,i=s-(s-x),a=x-i,y[0]=a*l-(b-i*c-a*c-i*l),d=p*f,s=e*p,i=s-(s-p),a=p-i,M=a*l-(d-i*c-a*c-i*l),h=b+M,u=h-b,y[1]=b-(h-u)+(M-u),g=d+h,y[2]=h-(g-d),y[3]=g,t=v(t,4,y)),t}t.orient3d=function(t,r,y,_,F,O,P,k,q,z,B,C){const D=t-z,E=_-z,G=P-z,H=r-B,I=F-B,J=k-B,K=y-C,L=O-C,N=q-C,Q=E*J,R=G*I,S=G*H,U=D*J,V=D*I,W=E*H,X=K*(Q-R)+L*(S-U)+N*(V-W),Y=(Math.abs(Q)+Math.abs(R))*Math.abs(K)+(Math.abs(S)+Math.abs(U))*Math.abs(L)+(Math.abs(V)+Math.abs(W))*Math.abs(N),Z=7771561172376103e-31*Y;return X>Z||-X>Z?X:function(t,r,y,_,F,O,P,k,q,z,B,C,D){let E,G,H,I,J,K,L,N,Q,R,S,U,V,W,X,Y,Z,$,tt,et,nt,ot,rt,ft;const ut=t-z,st=_-z,it=P-z,at=r-B,ct=F-B,lt=k-B,bt=y-C,dt=O-C,ht=q-C;et=st*lt,U=e*st,V=U-(U-st),W=st-V,U=e*lt,X=U-(U-lt),Y=lt-X,nt=W*Y-(et-V*X-W*X-V*Y),ot=it*ct,U=e*it,V=U-(U-it),W=it-V,U=e*ct,X=U-(U-ct),Y=ct-X,rt=W*Y-(ot-V*X-W*X-V*Y),Z=nt-rt,S=nt-Z,f[0]=nt-(Z+S)+(S-rt),$=et+Z,S=$-et,tt=et-($-S)+(Z-S),Z=tt-ot,S=tt-Z,f[1]=tt-(Z+S)+(S-ot),ft=$+Z,S=ft-$,f[2]=$-(ft-S)+(Z-S),f[3]=ft,et=it*at,U=e*it,V=U-(U-it),W=it-V,U=e*at,X=U-(U-at),Y=at-X,nt=W*Y-(et-V*X-W*X-V*Y),ot=ut*lt,U=e*ut,V=U-(U-ut),W=ut-V,U=e*lt,X=U-(U-lt),Y=lt-X,rt=W*Y-(ot-V*X-W*X-V*Y),Z=nt-rt,S=nt-Z,u[0]=nt-(Z+S)+(S-rt),$=et+Z,S=$-et,tt=et-($-S)+(Z-S),Z=tt-ot,S=tt-Z,u[1]=tt-(Z+S)+(S-ot),ft=$+Z,S=ft-$,u[2]=$-(ft-S)+(Z-S),u[3]=ft,et=ut*ct,U=e*ut,V=U-(U-ut),W=ut-V,U=e*ct,X=U-(U-ct),Y=ct-X,nt=W*Y-(et-V*X-W*X-V*Y),ot=st*at,U=e*st,V=U-(U-st),W=st-V,U=e*at,X=U-(U-at),Y=at-X,rt=W*Y-(ot-V*X-W*X-V*Y),Z=nt-rt,S=nt-Z,s[0]=nt-(Z+S)+(S-rt),$=et+Z,S=$-et,tt=et-($-S)+(Z-S),Z=tt-ot,S=tt-Z,s[1]=tt-(Z+S)+(S-ot),ft=$+Z,S=ft-$,s[2]=$-(ft-S)+(Z-S),s[3]=ft,E=n(n(o(4,f,bt,x),x,o(4,u,dt,g),g,j),j,o(4,s,ht,x),x,T);let Mt=function(t,e){let n=e[0];for(let o=1;o<t;o++)n+=e[o];return n}(E,T),pt=3330669073875473e-31*D;if(Mt>=pt||-Mt>=pt)return Mt;if(S=t-ut,G=t-(ut+S)+(S-z),S=_-st,H=_-(st+S)+(S-z),S=P-it,I=P-(it+S)+(S-z),S=r-at,J=r-(at+S)+(S-B),S=F-ct,K=F-(ct+S)+(S-B),S=k-lt,L=k-(lt+S)+(S-B),S=y-bt,N=y-(bt+S)+(S-C),S=O-dt,Q=O-(dt+S)+(S-C),S=q-ht,R=q-(ht+S)+(S-C),0===G&&0===H&&0===I&&0===J&&0===K&&0===L&&0===N&&0===Q&&0===R)return Mt;if(pt=32047474274603644e-47*D+33306690738754706e-32*Math.abs(Mt),Mt+=bt*(st*L+lt*H-(ct*I+it*K))+N*(st*lt-ct*it)+dt*(it*J+at*I-(lt*G+ut*L))+Q*(it*at-lt*ut)+ht*(ut*K+ct*G-(at*H+st*J))+R*(ut*ct-at*st),Mt>=pt||-Mt>=pt)return Mt;const yt=w(G,J,st,ct,it,lt,i,a),xt=w(H,K,it,lt,ut,at,c,l),gt=w(I,L,ut,at,st,ct,b,d),jt=n(xt,c,gt,d,h);E=v(E,o(jt,h,bt,j),j);const mt=n(gt,b,yt,a,M);E=v(E,o(mt,M,dt,j),j);const Tt=n(yt,i,xt,l,p);return E=v(E,o(Tt,p,ht,j),j),0!==N&&(E=v(E,o(4,f,N,m),m),E=v(E,o(jt,h,N,j),j)),0!==Q&&(E=v(E,o(4,u,Q,m),m),E=v(E,o(mt,M,Q,j),j)),0!==R&&(E=v(E,o(4,s,R,m),m),E=v(E,o(Tt,p,R,j),j)),0!==G&&(0!==K&&(E=A(E,G,K,ht,R)),0!==L&&(E=A(E,-G,L,dt,Q))),0!==H&&(0!==L&&(E=A(E,H,L,bt,N)),0!==J&&(E=A(E,-H,J,ht,R))),0!==I&&(0!==J&&(E=A(E,I,J,dt,Q)),0!==K&&(E=A(E,-I,K,bt,N))),T[E-1]}(t,r,y,_,F,O,P,k,q,z,B,C,Y)},t.orient3dfast=function(t,e,n,o,r,f,u,s,i,a,c,l){const b=e-c,d=r-c,h=s-c,M=n-l,p=f-l,y=i-l;return(t-a)*(d*y-p*h)+(o-a)*(h*M-y*b)+(u-a)*(b*p-M*d)},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=11102230246251565e-32,e=134217729,o=(3+8*n)*n;function r(t,n,e,o,r){let f,s,u,i,a=n[0],c=o[0],l=0,b=0;c>a==c>-a?(f=a,a=n[++l]):(f=c,c=o[++b]);let h=0;if(l<t&&b<e)for(c>a==c>-a?(s=a+f,u=f-(s-a),a=n[++l]):(s=c+f,u=f-(s-c),c=o[++b]),f=s,0!==u&&(r[h++]=u);l<t&&b<e;)c>a==c>-a?(s=f+a,i=s-f,u=f-(s-i)+(a-i),a=n[++l]):(s=f+c,i=s-f,u=f-(s-i)+(c-i),c=o[++b]),f=s,0!==u&&(r[h++]=u);for(;l<t;)s=f+a,i=s-f,u=f-(s-i)+(a-i),a=n[++l],f=s,0!==u&&(r[h++]=u);for(;b<e;)s=f+c,i=s-f,u=f-(s-i)+(c-i),c=o[++b],f=s,0!==u&&(r[h++]=u);return 0===f&&0!==h||(r[h++]=f),h}function f(t,n,o,r){let f,s,u,i,a,c,l,b,h,d,M;l=e*o,d=l-(l-o),M=o-d;let p=n[0];f=p*o,l=e*p,b=l-(l-p),h=p-b,u=h*M-(f-b*d-h*d-b*M);let y=0;0!==u&&(r[y++]=u);for(let x=1;x<t;x++)p=n[x],i=p*o,l=e*p,b=l-(l-p),h=p-b,a=h*M-(i-b*d-h*d-b*M),s=f+a,c=s-f,u=f-(s-c)+(a-c),0!==u&&(r[y++]=u),f=i+s,u=s-(f-i),0!==u&&(r[y++]=u);return 0===f&&0!==y||(r[y++]=f),y}function s(t){return new Float64Array(t)}const u=s(4),i=s(4),a=s(4),c=s(4),l=s(4),b=s(4),h=s(4),d=s(4),M=s(4),p=s(8),y=s(8),x=s(8),g=s(4),m=s(8),T=s(8),j=s(16),w=s(12);let A=s(192),F=s(192);function k(t,n,e){t=r(t,A,n,e,F);const o=A;return A=F,F=o,t}function q(t,n,o,r,f,s,u,i){let a,c,l,b,h,d,M,p,y,x,g,m,T,j,w;return 0===t?0===n?(u[0]=0,i[0]=0,1):(w=-n,x=w*o,c=e*w,l=c-(c-w),b=w-l,c=e*o,h=c-(c-o),d=o-h,u[0]=b*d-(x-l*h-b*h-l*d),u[1]=x,x=n*f,c=e*n,l=c-(c-n),b=n-l,c=e*f,h=c-(c-f),d=f-h,i[0]=b*d-(x-l*h-b*h-l*d),i[1]=x,2):0===n?(x=t*r,c=e*t,l=c-(c-t),b=t-l,c=e*r,h=c-(c-r),d=r-h,u[0]=b*d-(x-l*h-b*h-l*d),u[1]=x,w=-t,x=w*s,c=e*w,l=c-(c-w),b=w-l,c=e*s,h=c-(c-s),d=s-h,i[0]=b*d-(x-l*h-b*h-l*d),i[1]=x,2):(x=t*r,c=e*t,l=c-(c-t),b=t-l,c=e*r,h=c-(c-r),d=r-h,g=b*d-(x-l*h-b*h-l*d),m=n*o,c=e*n,l=c-(c-n),b=n-l,c=e*o,h=c-(c-o),d=o-h,T=b*d-(m-l*h-b*h-l*d),M=g-T,a=g-M,u[0]=g-(M+a)+(a-T),p=x+M,a=p-x,y=x-(p-a)+(M-a),M=y-m,a=y-M,u[1]=y-(M+a)+(a-m),j=p+M,a=j-p,u[2]=p-(j-a)+(M-a),u[3]=j,x=n*f,c=e*n,l=c-(c-n),b=n-l,c=e*f,h=c-(c-f),d=f-h,g=b*d-(x-l*h-b*h-l*d),m=t*s,c=e*t,l=c-(c-t),b=t-l,c=e*s,h=c-(c-s),d=s-h,T=b*d-(m-l*h-b*h-l*d),M=g-T,a=g-M,i[0]=g-(M+a)+(a-T),p=x+M,a=p-x,y=x-(p-a)+(M-a),M=y-m,a=y-M,i[1]=y-(M+a)+(a-m),j=p+M,a=j-p,i[2]=p-(j-a)+(M-a),i[3]=j,4)}function v(t,n,o,r,f){let s,u,i,a,c,l,b,h,d,M,p,y,x;return p=n*o,u=e*n,i=u-(u-n),a=n-i,u=e*o,c=u-(u-o),l=o-c,y=a*l-(p-i*c-a*c-i*l),u=e*r,c=u-(u-r),l=r-c,b=y*r,u=e*y,i=u-(u-y),a=y-i,g[0]=a*l-(b-i*c-a*c-i*l),h=p*r,u=e*p,i=u-(u-p),a=p-i,M=a*l-(h-i*c-a*c-i*l),d=b+M,s=d-b,g[1]=b-(d-s)+(M-s),x=h+d,g[2]=d-(x-h),g[3]=x,t=k(t,4,g),0!==f&&(u=e*f,c=u-(u-f),l=f-c,b=y*f,u=e*y,i=u-(u-y),a=y-i,g[0]=a*l-(b-i*c-a*c-i*l),h=p*f,u=e*p,i=u-(u-p),a=p-i,M=a*l-(h-i*c-a*c-i*l),d=b+M,s=d-b,g[1]=b-(d-s)+(M-s),x=h+d,g[2]=d-(x-h),g[3]=x,t=k(t,4,g)),t}t.orient3d=function(t,n,s,g,F,z,B,C,D,E,G,H){const I=t-E,J=g-E,K=B-E,L=n-G,N=F-G,O=C-G,P=s-H,Q=z-H,R=D-H,S=J*O,U=K*N,V=K*L,W=I*O,X=I*N,Y=J*L,Z=P*(S-U)+Q*(V-W)+R*(X-Y),$=(Math.abs(S)+Math.abs(U))*Math.abs(P)+(Math.abs(V)+Math.abs(W))*Math.abs(Q)+(Math.abs(X)+Math.abs(Y))*Math.abs(R),_=7771561172376103e-31*$;return Z>_||-Z>_?Z:function(t,n,s,g,F,z,B,C,D,E,G,H,I){let J,K,L,N,O,P,Q,R,S,U,V,W,X,Y,Z,$,_,tt,nt,et,ot,rt,ft,st;const ut=t-E,it=g-E,at=B-E,ct=n-G,lt=F-G,bt=C-G,ht=s-H,dt=z-H,Mt=D-H;et=it*bt,W=e*it,X=W-(W-it),Y=it-X,W=e*bt,Z=W-(W-bt),$=bt-Z,ot=Y*$-(et-X*Z-Y*Z-X*$),rt=at*lt,W=e*at,X=W-(W-at),Y=at-X,W=e*lt,Z=W-(W-lt),$=lt-Z,ft=Y*$-(rt-X*Z-Y*Z-X*$),_=ot-ft,V=ot-_,u[0]=ot-(_+V)+(V-ft),tt=et+_,V=tt-et,nt=et-(tt-V)+(_-V),_=nt-rt,V=nt-_,u[1]=nt-(_+V)+(V-rt),st=tt+_,V=st-tt,u[2]=tt-(st-V)+(_-V),u[3]=st,et=at*ct,W=e*at,X=W-(W-at),Y=at-X,W=e*ct,Z=W-(W-ct),$=ct-Z,ot=Y*$-(et-X*Z-Y*Z-X*$),rt=ut*bt,W=e*ut,X=W-(W-ut),Y=ut-X,W=e*bt,Z=W-(W-bt),$=bt-Z,ft=Y*$-(rt-X*Z-Y*Z-X*$),_=ot-ft,V=ot-_,i[0]=ot-(_+V)+(V-ft),tt=et+_,V=tt-et,nt=et-(tt-V)+(_-V),_=nt-rt,V=nt-_,i[1]=nt-(_+V)+(V-rt),st=tt+_,V=st-tt,i[2]=tt-(st-V)+(_-V),i[3]=st,et=ut*lt,W=e*ut,X=W-(W-ut),Y=ut-X,W=e*lt,Z=W-(W-lt),$=lt-Z,ot=Y*$-(et-X*Z-Y*Z-X*$),rt=it*ct,W=e*it,X=W-(W-it),Y=it-X,W=e*ct,Z=W-(W-ct),$=ct-Z,ft=Y*$-(rt-X*Z-Y*Z-X*$),_=ot-ft,V=ot-_,a[0]=ot-(_+V)+(V-ft),tt=et+_,V=tt-et,nt=et-(tt-V)+(_-V),_=nt-rt,V=nt-_,a[1]=nt-(_+V)+(V-rt),st=tt+_,V=st-tt,a[2]=tt-(st-V)+(_-V),a[3]=st,J=r(r(f(4,u,ht,m),m,f(4,i,dt,T),T,j),j,f(4,a,Mt,m),m,A);let pt=function(t,n){let e=n[0];for(let o=1;o<t;o++)e+=n[o];return e}(J,A),yt=3330669073875473e-31*I;if(pt>=yt||-pt>=yt)return pt;if(V=t-ut,K=t-(ut+V)+(V-E),V=g-it,L=g-(it+V)+(V-E),V=B-at,N=B-(at+V)+(V-E),V=n-ct,O=n-(ct+V)+(V-G),V=F-lt,P=F-(lt+V)+(V-G),V=C-bt,Q=C-(bt+V)+(V-G),V=s-ht,R=s-(ht+V)+(V-H),V=z-dt,S=z-(dt+V)+(V-H),V=D-Mt,U=D-(Mt+V)+(V-H),0===K&&0===L&&0===N&&0===O&&0===P&&0===Q&&0===R&&0===S&&0===U)return pt;if(yt=32047474274603644e-47*I+o*Math.abs(pt),pt+=ht*(it*Q+bt*L-(lt*N+at*P))+R*(it*bt-lt*at)+dt*(at*O+ct*N-(bt*K+ut*Q))+S*(at*ct-bt*ut)+Mt*(ut*P+lt*K-(ct*L+it*O))+U*(ut*lt-ct*it),pt>=yt||-pt>=yt)return pt;const xt=q(K,O,it,lt,at,bt,c,l),gt=q(L,P,at,bt,ut,ct,b,h),mt=q(N,Q,ut,ct,it,lt,d,M),Tt=r(gt,b,mt,M,p);J=k(J,f(Tt,p,ht,j),j);const jt=r(mt,d,xt,l,y);J=k(J,f(jt,y,dt,j),j);const wt=r(xt,c,gt,h,x);return J=k(J,f(wt,x,Mt,j),j),0!==R&&(J=k(J,f(4,u,R,w),w),J=k(J,f(Tt,p,R,j),j)),0!==S&&(J=k(J,f(4,i,S,w),w),J=k(J,f(jt,y,S,j),j)),0!==U&&(J=k(J,f(4,a,U,w),w),J=k(J,f(wt,x,U,j),j)),0!==K&&(0!==P&&(J=v(J,K,P,Mt,U)),0!==Q&&(J=v(J,-K,Q,dt,S))),0!==L&&(0!==Q&&(J=v(J,L,Q,ht,R)),0!==O&&(J=v(J,-L,O,Mt,U))),0!==N&&(0!==O&&(J=v(J,N,O,dt,S)),0!==P&&(J=v(J,-N,P,ht,R))),A[J-1]}(t,n,s,g,F,z,B,C,D,E,G,H,$)},t.orient3dfast=function(t,n,e,o,r,f,s,u,i,a,c,l){const b=n-c,h=r-c,d=u-c,M=e-l,p=f-l,y=i-l;return(t-a)*(h*y-p*d)+(o-a)*(d*M-y*b)+(s-a)*(b*p-M*h)}});