Test/node_modules/robust-predicates/umd/orient2d.min.js
2026-04-09 22:54:00 +07:00

1 line
2.6 KiB
JavaScript

!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)}});