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