1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
!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))}});
|