2 lines
10 KiB
JavaScript
2 lines
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,o=(3+8*n)*n;function f(t,n,e,o,f){let i,r,c,s,u=n[0],a=o[0],l=0,b=0;a>u==a>-u?(i=u,u=n[++l]):(i=a,a=o[++b]);let d=0;if(l<t&&b<e)for(a>u==a>-u?(r=u+i,c=i-(r-u),u=n[++l]):(r=a+i,c=i-(r-a),a=o[++b]),i=r,0!==c&&(f[d++]=c);l<t&&b<e;)a>u==a>-u?(r=i+u,s=r-i,c=i-(r-s)+(u-s),u=n[++l]):(r=i+a,s=r-i,c=i-(r-s)+(a-s),a=o[++b]),i=r,0!==c&&(f[d++]=c);for(;l<t;)r=i+u,s=r-i,c=i-(r-s)+(u-s),u=n[++l],i=r,0!==c&&(f[d++]=c);for(;b<e;)r=i+a,s=r-i,c=i-(r-s)+(a-s),a=o[++b],i=r,0!==c&&(f[d++]=c);return 0===i&&0!==d||(f[d++]=i),d}function i(t,n,e,o,i,r,c,s){return f(f(t,n,e,o,c),c,i,r,s)}function r(t,n,o,f){let i,r,c,s,u,a,l,b,d,h,p;l=e*o,h=l-(l-o),p=o-h;let M=n[0];i=M*o,l=e*M,b=l-(l-M),d=M-b,c=d*p-(i-b*h-d*h-b*p);let y=0;0!==c&&(f[y++]=c);for(let x=1;x<t;x++)M=n[x],s=M*o,l=e*M,b=l-(l-M),d=M-b,u=d*p-(s-b*h-d*h-b*p),r=i+u,a=r-i,c=i-(r-a)+(u-a),0!==c&&(f[y++]=c),i=s+r,c=r-(i-s),0!==c&&(f[y++]=c);return 0===i&&0!==y||(f[y++]=i),y}function c(t){return new Float64Array(t)}const s=c(4),u=c(4),a=c(4),l=c(4),b=c(4),d=c(4),h=c(4),p=c(4),M=c(8),y=c(8),x=c(8),g=c(8),m=c(8),T=c(8),j=c(8),w=c(8),A=c(8),F=c(4),k=c(4),q=c(4),v=c(8),z=c(16),B=c(16),C=c(16),D=c(32),E=c(32),G=c(48),H=c(64);let I=c(1152),J=c(1152);function K(t,n,e){t=f(t,I,n,e,J);const o=I;return I=J,J=o,t}t.incircle=function(t,n,c,J,L,N,O,P){const Q=t-O,R=c-O,S=L-O,U=n-P,V=J-P,W=N-P,X=R*W,Y=S*V,Z=Q*Q+U*U,$=S*U,_=Q*W,tt=R*R+V*V,nt=Q*V,et=R*U,ot=S*S+W*W,ft=Z*(X-Y)+tt*($-_)+ot*(nt-et),it=(Math.abs(X)+Math.abs(Y))*Z+(Math.abs($)+Math.abs(_))*tt+(Math.abs(nt)+Math.abs(et))*ot,rt=11102230246251577e-31*it;return ft>rt||-ft>rt?ft:function(t,n,c,J,L,N,O,P,Q){let R,S,U,V,W,X,Y,Z,$,_,tt,nt,et,ot,ft,it,rt,ct,st,ut,at,lt,bt,dt,ht,pt,Mt,yt,xt,gt,mt,Tt,jt,wt,At;const Ft=t-O,kt=c-O,qt=L-O,vt=n-P,zt=J-P,Bt=N-P;mt=kt*Bt,bt=e*kt,dt=bt-(bt-kt),ht=kt-dt,bt=e*Bt,pt=bt-(bt-Bt),Mt=Bt-pt,Tt=ht*Mt-(mt-dt*pt-ht*pt-dt*Mt),jt=qt*zt,bt=e*qt,dt=bt-(bt-qt),ht=qt-dt,bt=e*zt,pt=bt-(bt-zt),Mt=zt-pt,wt=ht*Mt-(jt-dt*pt-ht*pt-dt*Mt),yt=Tt-wt,lt=Tt-yt,s[0]=Tt-(yt+lt)+(lt-wt),xt=mt+yt,lt=xt-mt,gt=mt-(xt-lt)+(yt-lt),yt=gt-jt,lt=gt-yt,s[1]=gt-(yt+lt)+(lt-jt),At=xt+yt,lt=At-xt,s[2]=xt-(At-lt)+(yt-lt),s[3]=At,mt=qt*vt,bt=e*qt,dt=bt-(bt-qt),ht=qt-dt,bt=e*vt,pt=bt-(bt-vt),Mt=vt-pt,Tt=ht*Mt-(mt-dt*pt-ht*pt-dt*Mt),jt=Ft*Bt,bt=e*Ft,dt=bt-(bt-Ft),ht=Ft-dt,bt=e*Bt,pt=bt-(bt-Bt),Mt=Bt-pt,wt=ht*Mt-(jt-dt*pt-ht*pt-dt*Mt),yt=Tt-wt,lt=Tt-yt,u[0]=Tt-(yt+lt)+(lt-wt),xt=mt+yt,lt=xt-mt,gt=mt-(xt-lt)+(yt-lt),yt=gt-jt,lt=gt-yt,u[1]=gt-(yt+lt)+(lt-jt),At=xt+yt,lt=At-xt,u[2]=xt-(At-lt)+(yt-lt),u[3]=At,mt=Ft*zt,bt=e*Ft,dt=bt-(bt-Ft),ht=Ft-dt,bt=e*zt,pt=bt-(bt-zt),Mt=zt-pt,Tt=ht*Mt-(mt-dt*pt-ht*pt-dt*Mt),jt=kt*vt,bt=e*kt,dt=bt-(bt-kt),ht=kt-dt,bt=e*vt,pt=bt-(bt-vt),Mt=vt-pt,wt=ht*Mt-(jt-dt*pt-ht*pt-dt*Mt),yt=Tt-wt,lt=Tt-yt,a[0]=Tt-(yt+lt)+(lt-wt),xt=mt+yt,lt=xt-mt,gt=mt-(xt-lt)+(yt-lt),yt=gt-jt,lt=gt-yt,a[1]=gt-(yt+lt)+(lt-jt),At=xt+yt,lt=At-xt,a[2]=xt-(At-lt)+(yt-lt),a[3]=At,R=f(f(f(r(r(4,s,Ft,v),v,Ft,z),z,r(r(4,s,vt,v),v,vt,B),B,D),D,f(r(r(4,u,kt,v),v,kt,z),z,r(r(4,u,zt,v),v,zt,B),B,E),E,H),H,f(r(r(4,a,qt,v),v,qt,z),z,r(r(4,a,Bt,v),v,Bt,B),B,D),D,I);let Ct=function(t,n){let e=n[0];for(let o=1;o<t;o++)e+=n[o];return e}(R,I),Dt=4440892098500632e-31*Q;if(Ct>=Dt||-Ct>=Dt)return Ct;if(lt=t-Ft,S=t-(Ft+lt)+(lt-O),lt=n-vt,W=n-(vt+lt)+(lt-P),lt=c-kt,U=c-(kt+lt)+(lt-O),lt=J-zt,X=J-(zt+lt)+(lt-P),lt=L-qt,V=L-(qt+lt)+(lt-O),lt=N-Bt,Y=N-(Bt+lt)+(lt-P),0===S&&0===U&&0===V&&0===W&&0===X&&0===Y)return Ct;if(Dt=5423418723394464e-46*Q+o*Math.abs(Ct),Ct+=(Ft*Ft+vt*vt)*(kt*Y+Bt*U-(zt*V+qt*X))+2*(Ft*S+vt*W)*(kt*Bt-zt*qt)+((kt*kt+zt*zt)*(qt*W+vt*V-(Bt*S+Ft*Y))+2*(kt*U+zt*X)*(qt*vt-Bt*Ft))+((qt*qt+Bt*Bt)*(Ft*X+zt*S-(vt*U+kt*W))+2*(qt*V+Bt*Y)*(Ft*zt-vt*kt)),Ct>=Dt||-Ct>=Dt)return Ct;if(0===U&&0===X&&0===V&&0===Y||(mt=Ft*Ft,bt=e*Ft,dt=bt-(bt-Ft),ht=Ft-dt,Tt=ht*ht-(mt-dt*dt-(dt+dt)*ht),jt=vt*vt,bt=e*vt,dt=b
|