node-red-contrib-tak-registration 0.11.5 → 0.11.6

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.
Files changed (202) hide show
  1. package/node_modules/@types/node/README.md +1 -1
  2. package/node_modules/@types/node/buffer.d.ts +8 -7
  3. package/node_modules/@types/node/crypto.d.ts +38 -7
  4. package/node_modules/@types/node/dgram.d.ts +10 -0
  5. package/node_modules/@types/node/diagnostics_channel.d.ts +355 -1
  6. package/node_modules/@types/node/fs.d.ts +28 -8
  7. package/node_modules/@types/node/globals.d.ts +26 -0
  8. package/node_modules/@types/node/http.d.ts +6 -7
  9. package/node_modules/@types/node/module.d.ts +14 -0
  10. package/node_modules/@types/node/net.d.ts +8 -3
  11. package/node_modules/@types/node/package.json +3 -4
  12. package/node_modules/@types/node/perf_hooks.d.ts +12 -6
  13. package/node_modules/@types/node/process.d.ts +25 -3
  14. package/node_modules/@types/node/querystring.d.ts +3 -3
  15. package/node_modules/@types/node/stream/web.d.ts +17 -1
  16. package/node_modules/@types/node/string_decoder.d.ts +2 -2
  17. package/node_modules/@types/node/test.d.ts +98 -15
  18. package/node_modules/@types/node/tls.d.ts +1 -1
  19. package/node_modules/@types/node/ts4.8/buffer.d.ts +8 -7
  20. package/node_modules/@types/node/ts4.8/crypto.d.ts +41 -9
  21. package/node_modules/@types/node/ts4.8/dgram.d.ts +10 -0
  22. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +355 -1
  23. package/node_modules/@types/node/ts4.8/fs.d.ts +28 -8
  24. package/node_modules/@types/node/ts4.8/globals.d.ts +26 -0
  25. package/node_modules/@types/node/ts4.8/http.d.ts +6 -7
  26. package/node_modules/@types/node/ts4.8/module.d.ts +14 -0
  27. package/node_modules/@types/node/ts4.8/net.d.ts +8 -3
  28. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +13 -7
  29. package/node_modules/@types/node/ts4.8/process.d.ts +25 -3
  30. package/node_modules/@types/node/ts4.8/querystring.d.ts +3 -3
  31. package/node_modules/@types/node/ts4.8/stream/web.d.ts +17 -1
  32. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +2 -2
  33. package/node_modules/@types/node/ts4.8/test.d.ts +98 -15
  34. package/node_modules/@types/node/ts4.8/tls.d.ts +1 -1
  35. package/node_modules/@types/node/ts4.8/url.d.ts +59 -42
  36. package/node_modules/@types/node/ts4.8/util.d.ts +1 -1
  37. package/node_modules/@types/node/ts4.8/v8.d.ts +134 -5
  38. package/node_modules/@types/node/ts4.8/wasi.d.ts +26 -5
  39. package/node_modules/@types/node/url.d.ts +59 -42
  40. package/node_modules/@types/node/v8.d.ts +134 -5
  41. package/node_modules/@types/node/wasi.d.ts +26 -5
  42. package/node_modules/axios/CHANGELOG.md +53 -0
  43. package/node_modules/axios/README.md +47 -5
  44. package/node_modules/axios/dist/axios.js +368 -4
  45. package/node_modules/axios/dist/axios.js.map +1 -1
  46. package/node_modules/axios/dist/axios.min.js +1 -1
  47. package/node_modules/axios/dist/axios.min.js.map +1 -1
  48. package/node_modules/axios/dist/browser/axios.cjs +28 -4
  49. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  50. package/node_modules/axios/dist/esm/axios.js +28 -4
  51. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  52. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  53. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  54. package/node_modules/axios/dist/node/axios.cjs +34 -6
  55. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  56. package/node_modules/axios/index.d.cts +1 -1
  57. package/node_modules/axios/index.d.ts +1 -1
  58. package/node_modules/axios/lib/adapters/http.js +6 -2
  59. package/node_modules/axios/lib/core/Axios.js +22 -1
  60. package/node_modules/axios/lib/env/data.js +1 -1
  61. package/node_modules/axios/lib/helpers/combineURLs.js +1 -1
  62. package/node_modules/axios/lib/helpers/formDataToJSON.js +3 -0
  63. package/node_modules/axios/package.json +2 -2
  64. package/node_modules/call-bind/CHANGELOG.md +16 -0
  65. package/node_modules/call-bind/index.js +2 -11
  66. package/node_modules/call-bind/package.json +11 -6
  67. package/node_modules/define-data-property/CHANGELOG.md +29 -0
  68. package/node_modules/define-data-property/index.d.ts +12 -3
  69. package/node_modules/define-data-property/index.js +4 -16
  70. package/node_modules/define-data-property/package.json +26 -33
  71. package/node_modules/define-data-property/test/index.js +10 -10
  72. package/node_modules/es-define-property/.eslintrc +13 -0
  73. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  74. package/node_modules/es-define-property/.nycrc +9 -0
  75. package/node_modules/es-define-property/CHANGELOG.md +15 -0
  76. package/node_modules/es-define-property/LICENSE +21 -0
  77. package/node_modules/es-define-property/README.md +49 -0
  78. package/node_modules/es-define-property/index.d.ts +3 -0
  79. package/node_modules/es-define-property/index.js +16 -0
  80. package/node_modules/es-define-property/package.json +81 -0
  81. package/node_modules/es-define-property/test/index.js +55 -0
  82. package/node_modules/es-define-property/tsconfig.json +50 -0
  83. package/node_modules/es-errors/.eslintrc +5 -0
  84. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  85. package/node_modules/es-errors/CHANGELOG.md +40 -0
  86. package/node_modules/es-errors/LICENSE +21 -0
  87. package/node_modules/es-errors/README.md +55 -0
  88. package/node_modules/es-errors/eval.d.ts +3 -0
  89. package/node_modules/es-errors/eval.js +4 -0
  90. package/node_modules/es-errors/index.d.ts +3 -0
  91. package/node_modules/es-errors/index.js +4 -0
  92. package/node_modules/es-errors/package.json +80 -0
  93. package/node_modules/es-errors/range.d.ts +3 -0
  94. package/node_modules/es-errors/range.js +4 -0
  95. package/node_modules/es-errors/ref.d.ts +3 -0
  96. package/node_modules/es-errors/ref.js +4 -0
  97. package/node_modules/es-errors/syntax.d.ts +3 -0
  98. package/node_modules/es-errors/syntax.js +4 -0
  99. package/node_modules/es-errors/test/index.js +19 -0
  100. package/node_modules/es-errors/tsconfig.json +49 -0
  101. package/node_modules/es-errors/type.d.ts +3 -0
  102. package/node_modules/es-errors/type.js +4 -0
  103. package/node_modules/es-errors/uri.d.ts +3 -0
  104. package/node_modules/es-errors/uri.js +4 -0
  105. package/node_modules/fast-xml-parser/CHANGELOG.md +3 -0
  106. package/node_modules/fast-xml-parser/README.md +2 -1
  107. package/node_modules/fast-xml-parser/package.json +4 -1
  108. package/node_modules/fast-xml-parser/src/fxp.d.ts +363 -69
  109. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +5 -5
  110. package/node_modules/follow-redirects/index.js +114 -75
  111. package/node_modules/follow-redirects/package.json +1 -1
  112. package/node_modules/get-intrinsic/CHANGELOG.md +18 -0
  113. package/node_modules/get-intrinsic/index.js +15 -7
  114. package/node_modules/get-intrinsic/package.json +12 -12
  115. package/node_modules/has-property-descriptors/CHANGELOG.md +8 -0
  116. package/node_modules/has-property-descriptors/index.js +3 -14
  117. package/node_modules/has-property-descriptors/package.json +5 -5
  118. package/node_modules/has-proto/CHANGELOG.md +15 -0
  119. package/node_modules/has-proto/index.d.ts +3 -0
  120. package/node_modules/has-proto/index.js +5 -1
  121. package/node_modules/has-proto/package.json +9 -5
  122. package/node_modules/has-proto/tsconfig.json +49 -0
  123. package/node_modules/has-tostringtag/.eslintrc +0 -6
  124. package/node_modules/has-tostringtag/.nycrc +13 -0
  125. package/node_modules/has-tostringtag/CHANGELOG.md +22 -0
  126. package/node_modules/has-tostringtag/index.d.ts +3 -0
  127. package/node_modules/has-tostringtag/index.js +1 -0
  128. package/node_modules/has-tostringtag/package.json +37 -13
  129. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  130. package/node_modules/has-tostringtag/shams.js +1 -0
  131. package/node_modules/has-tostringtag/test/shams/core-js.js +3 -0
  132. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +2 -0
  133. package/node_modules/has-tostringtag/test/tests.js +2 -1
  134. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  135. package/node_modules/hasown/CHANGELOG.md +8 -0
  136. package/node_modules/hasown/index.d.ts +3 -3
  137. package/node_modules/hasown/index.js +1 -1
  138. package/node_modules/hasown/package.json +13 -15
  139. package/node_modules/polygon-clipping/README.md +29 -26
  140. package/node_modules/polygon-clipping/dist/polygon-clipping.cjs.js +1398 -1421
  141. package/node_modules/polygon-clipping/dist/polygon-clipping.d.ts +13 -10
  142. package/node_modules/polygon-clipping/dist/polygon-clipping.esm.js +1139 -1427
  143. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.js +1770 -1831
  144. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js +22 -8
  145. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js.map +1 -1
  146. package/node_modules/polygon-clipping/node_modules/robust-predicates/LICENSE +24 -0
  147. package/node_modules/polygon-clipping/node_modules/robust-predicates/README.md +82 -0
  148. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/incircle.js +765 -0
  149. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/insphere.js +766 -0
  150. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/orient2d.js +184 -0
  151. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/orient3d.js +462 -0
  152. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/util.js +138 -0
  153. package/node_modules/polygon-clipping/node_modules/robust-predicates/index.d.ts +49 -0
  154. package/node_modules/polygon-clipping/node_modules/robust-predicates/index.js +5 -0
  155. package/node_modules/polygon-clipping/node_modules/robust-predicates/package.json +75 -0
  156. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/incircle.js +908 -0
  157. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/incircle.min.js +1 -0
  158. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/insphere.js +914 -0
  159. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/insphere.min.js +1 -0
  160. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient2d.js +280 -0
  161. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient2d.min.js +1 -0
  162. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient3d.js +601 -0
  163. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient3d.min.js +1 -0
  164. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/predicates.js +2328 -0
  165. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/predicates.min.js +1 -0
  166. package/node_modules/polygon-clipping/package.json +30 -25
  167. package/node_modules/protobufjs/dist/light/protobuf.js +4 -4
  168. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  169. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  170. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  171. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  172. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  173. package/node_modules/protobufjs/dist/protobuf.js +4 -4
  174. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  175. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  176. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  177. package/node_modules/protobufjs/package.json +1 -1
  178. package/node_modules/protobufjs/src/root.js +2 -2
  179. package/node_modules/regexp.prototype.flags/CHANGELOG.md +13 -0
  180. package/node_modules/regexp.prototype.flags/implementation.js +2 -2
  181. package/node_modules/regexp.prototype.flags/package.json +11 -10
  182. package/node_modules/regexp.prototype.flags/test/tests.js +13 -13
  183. package/node_modules/set-function-length/CHANGELOG.md +18 -0
  184. package/node_modules/set-function-length/env.d.ts +6 -0
  185. package/node_modules/set-function-length/env.d.ts.map +1 -0
  186. package/node_modules/set-function-length/env.js +9 -4
  187. package/node_modules/set-function-length/index.d.ts +7 -0
  188. package/node_modules/set-function-length/index.d.ts.map +1 -0
  189. package/node_modules/set-function-length/index.js +6 -3
  190. package/node_modules/set-function-length/package.json +33 -13
  191. package/node_modules/set-function-length/tsconfig.json +59 -0
  192. package/node_modules/set-function-name/.eslintrc +1 -0
  193. package/node_modules/set-function-name/CHANGELOG.md +9 -0
  194. package/node_modules/set-function-name/index.d.ts +5 -0
  195. package/node_modules/set-function-name/index.js +4 -3
  196. package/node_modules/set-function-name/package.json +28 -9
  197. package/node_modules/set-function-name/tsconfig.json +59 -0
  198. package/package.json +4 -4
  199. package/tak-ingest.js +4 -0
  200. package/node_modules/define-data-property/index.d.ts.map +0 -1
  201. package/node_modules/hasown/index.d.ts.map +0 -1
  202. package/node_modules/polygon-clipping/CHANGELOG.md +0 -129
@@ -0,0 +1,908 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
5
+ })(this, (function (exports) { 'use strict';
6
+
7
+ const epsilon = 1.1102230246251565e-16;
8
+ const splitter = 134217729;
9
+ const resulterrbound = (3 + 8 * epsilon) * epsilon;
10
+
11
+ // fast_expansion_sum_zeroelim routine from oritinal code
12
+ function sum(elen, e, flen, f, h) {
13
+ let Q, Qnew, hh, bvirt;
14
+ let enow = e[0];
15
+ let fnow = f[0];
16
+ let eindex = 0;
17
+ let findex = 0;
18
+ if ((fnow > enow) === (fnow > -enow)) {
19
+ Q = enow;
20
+ enow = e[++eindex];
21
+ } else {
22
+ Q = fnow;
23
+ fnow = f[++findex];
24
+ }
25
+ let hindex = 0;
26
+ if (eindex < elen && findex < flen) {
27
+ if ((fnow > enow) === (fnow > -enow)) {
28
+ Qnew = enow + Q;
29
+ hh = Q - (Qnew - enow);
30
+ enow = e[++eindex];
31
+ } else {
32
+ Qnew = fnow + Q;
33
+ hh = Q - (Qnew - fnow);
34
+ fnow = f[++findex];
35
+ }
36
+ Q = Qnew;
37
+ if (hh !== 0) {
38
+ h[hindex++] = hh;
39
+ }
40
+ while (eindex < elen && findex < flen) {
41
+ if ((fnow > enow) === (fnow > -enow)) {
42
+ Qnew = Q + enow;
43
+ bvirt = Qnew - Q;
44
+ hh = Q - (Qnew - bvirt) + (enow - bvirt);
45
+ enow = e[++eindex];
46
+ } else {
47
+ Qnew = Q + fnow;
48
+ bvirt = Qnew - Q;
49
+ hh = Q - (Qnew - bvirt) + (fnow - bvirt);
50
+ fnow = f[++findex];
51
+ }
52
+ Q = Qnew;
53
+ if (hh !== 0) {
54
+ h[hindex++] = hh;
55
+ }
56
+ }
57
+ }
58
+ while (eindex < elen) {
59
+ Qnew = Q + enow;
60
+ bvirt = Qnew - Q;
61
+ hh = Q - (Qnew - bvirt) + (enow - bvirt);
62
+ enow = e[++eindex];
63
+ Q = Qnew;
64
+ if (hh !== 0) {
65
+ h[hindex++] = hh;
66
+ }
67
+ }
68
+ while (findex < flen) {
69
+ Qnew = Q + fnow;
70
+ bvirt = Qnew - Q;
71
+ hh = Q - (Qnew - bvirt) + (fnow - bvirt);
72
+ fnow = f[++findex];
73
+ Q = Qnew;
74
+ if (hh !== 0) {
75
+ h[hindex++] = hh;
76
+ }
77
+ }
78
+ if (Q !== 0 || hindex === 0) {
79
+ h[hindex++] = Q;
80
+ }
81
+ return hindex;
82
+ }
83
+
84
+ function sum_three(alen, a, blen, b, clen, c, tmp, out) {
85
+ return sum(sum(alen, a, blen, b, tmp), tmp, clen, c, out);
86
+ }
87
+
88
+ // scale_expansion_zeroelim routine from oritinal code
89
+ function scale(elen, e, b, h) {
90
+ let Q, sum, hh, product1, product0;
91
+ let bvirt, c, ahi, alo, bhi, blo;
92
+
93
+ c = splitter * b;
94
+ bhi = c - (c - b);
95
+ blo = b - bhi;
96
+ let enow = e[0];
97
+ Q = enow * b;
98
+ c = splitter * enow;
99
+ ahi = c - (c - enow);
100
+ alo = enow - ahi;
101
+ hh = alo * blo - (Q - ahi * bhi - alo * bhi - ahi * blo);
102
+ let hindex = 0;
103
+ if (hh !== 0) {
104
+ h[hindex++] = hh;
105
+ }
106
+ for (let i = 1; i < elen; i++) {
107
+ enow = e[i];
108
+ product1 = enow * b;
109
+ c = splitter * enow;
110
+ ahi = c - (c - enow);
111
+ alo = enow - ahi;
112
+ product0 = alo * blo - (product1 - ahi * bhi - alo * bhi - ahi * blo);
113
+ sum = Q + product0;
114
+ bvirt = sum - Q;
115
+ hh = Q - (sum - bvirt) + (product0 - bvirt);
116
+ if (hh !== 0) {
117
+ h[hindex++] = hh;
118
+ }
119
+ Q = product1 + sum;
120
+ hh = sum - (Q - product1);
121
+ if (hh !== 0) {
122
+ h[hindex++] = hh;
123
+ }
124
+ }
125
+ if (Q !== 0 || hindex === 0) {
126
+ h[hindex++] = Q;
127
+ }
128
+ return hindex;
129
+ }
130
+
131
+ function estimate(elen, e) {
132
+ let Q = e[0];
133
+ for (let i = 1; i < elen; i++) Q += e[i];
134
+ return Q;
135
+ }
136
+
137
+ function vec(n) {
138
+ return new Float64Array(n);
139
+ }
140
+
141
+ const iccerrboundA = (10 + 96 * epsilon) * epsilon;
142
+ const iccerrboundB = (4 + 48 * epsilon) * epsilon;
143
+ const iccerrboundC = (44 + 576 * epsilon) * epsilon * epsilon;
144
+
145
+ const bc = vec(4);
146
+ const ca = vec(4);
147
+ const ab = vec(4);
148
+ const aa = vec(4);
149
+ const bb = vec(4);
150
+ const cc = vec(4);
151
+ const u = vec(4);
152
+ const v = vec(4);
153
+ const axtbc = vec(8);
154
+ const aytbc = vec(8);
155
+ const bxtca = vec(8);
156
+ const bytca = vec(8);
157
+ const cxtab = vec(8);
158
+ const cytab = vec(8);
159
+ const abt = vec(8);
160
+ const bct = vec(8);
161
+ const cat = vec(8);
162
+ const abtt = vec(4);
163
+ const bctt = vec(4);
164
+ const catt = vec(4);
165
+
166
+ const _8 = vec(8);
167
+ const _16 = vec(16);
168
+ const _16b = vec(16);
169
+ const _16c = vec(16);
170
+ const _32 = vec(32);
171
+ const _32b = vec(32);
172
+ const _48 = vec(48);
173
+ const _64 = vec(64);
174
+
175
+ let fin = vec(1152);
176
+ let fin2 = vec(1152);
177
+
178
+ function finadd(finlen, a, alen) {
179
+ finlen = sum(finlen, fin, a, alen, fin2);
180
+ const tmp = fin; fin = fin2; fin2 = tmp;
181
+ return finlen;
182
+ }
183
+
184
+ function incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent) {
185
+ let finlen;
186
+ let adxtail, bdxtail, cdxtail, adytail, bdytail, cdytail;
187
+ let axtbclen, aytbclen, bxtcalen, bytcalen, cxtablen, cytablen;
188
+ let abtlen, bctlen, catlen;
189
+ let abttlen, bcttlen, cattlen;
190
+ let n1, n0;
191
+
192
+ let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;
193
+
194
+ const adx = ax - dx;
195
+ const bdx = bx - dx;
196
+ const cdx = cx - dx;
197
+ const ady = ay - dy;
198
+ const bdy = by - dy;
199
+ const cdy = cy - dy;
200
+
201
+ s1 = bdx * cdy;
202
+ c = splitter * bdx;
203
+ ahi = c - (c - bdx);
204
+ alo = bdx - ahi;
205
+ c = splitter * cdy;
206
+ bhi = c - (c - cdy);
207
+ blo = cdy - bhi;
208
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
209
+ t1 = cdx * bdy;
210
+ c = splitter * cdx;
211
+ ahi = c - (c - cdx);
212
+ alo = cdx - ahi;
213
+ c = splitter * bdy;
214
+ bhi = c - (c - bdy);
215
+ blo = bdy - bhi;
216
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
217
+ _i = s0 - t0;
218
+ bvirt = s0 - _i;
219
+ bc[0] = s0 - (_i + bvirt) + (bvirt - t0);
220
+ _j = s1 + _i;
221
+ bvirt = _j - s1;
222
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
223
+ _i = _0 - t1;
224
+ bvirt = _0 - _i;
225
+ bc[1] = _0 - (_i + bvirt) + (bvirt - t1);
226
+ u3 = _j + _i;
227
+ bvirt = u3 - _j;
228
+ bc[2] = _j - (u3 - bvirt) + (_i - bvirt);
229
+ bc[3] = u3;
230
+ s1 = cdx * ady;
231
+ c = splitter * cdx;
232
+ ahi = c - (c - cdx);
233
+ alo = cdx - ahi;
234
+ c = splitter * ady;
235
+ bhi = c - (c - ady);
236
+ blo = ady - bhi;
237
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
238
+ t1 = adx * cdy;
239
+ c = splitter * adx;
240
+ ahi = c - (c - adx);
241
+ alo = adx - ahi;
242
+ c = splitter * cdy;
243
+ bhi = c - (c - cdy);
244
+ blo = cdy - bhi;
245
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
246
+ _i = s0 - t0;
247
+ bvirt = s0 - _i;
248
+ ca[0] = s0 - (_i + bvirt) + (bvirt - t0);
249
+ _j = s1 + _i;
250
+ bvirt = _j - s1;
251
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
252
+ _i = _0 - t1;
253
+ bvirt = _0 - _i;
254
+ ca[1] = _0 - (_i + bvirt) + (bvirt - t1);
255
+ u3 = _j + _i;
256
+ bvirt = u3 - _j;
257
+ ca[2] = _j - (u3 - bvirt) + (_i - bvirt);
258
+ ca[3] = u3;
259
+ s1 = adx * bdy;
260
+ c = splitter * adx;
261
+ ahi = c - (c - adx);
262
+ alo = adx - ahi;
263
+ c = splitter * bdy;
264
+ bhi = c - (c - bdy);
265
+ blo = bdy - bhi;
266
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
267
+ t1 = bdx * ady;
268
+ c = splitter * bdx;
269
+ ahi = c - (c - bdx);
270
+ alo = bdx - ahi;
271
+ c = splitter * ady;
272
+ bhi = c - (c - ady);
273
+ blo = ady - bhi;
274
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
275
+ _i = s0 - t0;
276
+ bvirt = s0 - _i;
277
+ ab[0] = s0 - (_i + bvirt) + (bvirt - t0);
278
+ _j = s1 + _i;
279
+ bvirt = _j - s1;
280
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
281
+ _i = _0 - t1;
282
+ bvirt = _0 - _i;
283
+ ab[1] = _0 - (_i + bvirt) + (bvirt - t1);
284
+ u3 = _j + _i;
285
+ bvirt = u3 - _j;
286
+ ab[2] = _j - (u3 - bvirt) + (_i - bvirt);
287
+ ab[3] = u3;
288
+
289
+ finlen = sum(
290
+ sum(
291
+ sum(
292
+ scale(scale(4, bc, adx, _8), _8, adx, _16), _16,
293
+ scale(scale(4, bc, ady, _8), _8, ady, _16b), _16b, _32), _32,
294
+ sum(
295
+ scale(scale(4, ca, bdx, _8), _8, bdx, _16), _16,
296
+ scale(scale(4, ca, bdy, _8), _8, bdy, _16b), _16b, _32b), _32b, _64), _64,
297
+ sum(
298
+ scale(scale(4, ab, cdx, _8), _8, cdx, _16), _16,
299
+ scale(scale(4, ab, cdy, _8), _8, cdy, _16b), _16b, _32), _32, fin);
300
+
301
+ let det = estimate(finlen, fin);
302
+ let errbound = iccerrboundB * permanent;
303
+ if (det >= errbound || -det >= errbound) {
304
+ return det;
305
+ }
306
+
307
+ bvirt = ax - adx;
308
+ adxtail = ax - (adx + bvirt) + (bvirt - dx);
309
+ bvirt = ay - ady;
310
+ adytail = ay - (ady + bvirt) + (bvirt - dy);
311
+ bvirt = bx - bdx;
312
+ bdxtail = bx - (bdx + bvirt) + (bvirt - dx);
313
+ bvirt = by - bdy;
314
+ bdytail = by - (bdy + bvirt) + (bvirt - dy);
315
+ bvirt = cx - cdx;
316
+ cdxtail = cx - (cdx + bvirt) + (bvirt - dx);
317
+ bvirt = cy - cdy;
318
+ cdytail = cy - (cdy + bvirt) + (bvirt - dy);
319
+ if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 && adytail === 0 && bdytail === 0 && cdytail === 0) {
320
+ return det;
321
+ }
322
+
323
+ errbound = iccerrboundC * permanent + resulterrbound * Math.abs(det);
324
+ det += ((adx * adx + ady * ady) * ((bdx * cdytail + cdy * bdxtail) - (bdy * cdxtail + cdx * bdytail)) +
325
+ 2 * (adx * adxtail + ady * adytail) * (bdx * cdy - bdy * cdx)) +
326
+ ((bdx * bdx + bdy * bdy) * ((cdx * adytail + ady * cdxtail) - (cdy * adxtail + adx * cdytail)) +
327
+ 2 * (bdx * bdxtail + bdy * bdytail) * (cdx * ady - cdy * adx)) +
328
+ ((cdx * cdx + cdy * cdy) * ((adx * bdytail + bdy * adxtail) - (ady * bdxtail + bdx * adytail)) +
329
+ 2 * (cdx * cdxtail + cdy * cdytail) * (adx * bdy - ady * bdx));
330
+
331
+ if (det >= errbound || -det >= errbound) {
332
+ return det;
333
+ }
334
+
335
+ if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {
336
+ s1 = adx * adx;
337
+ c = splitter * adx;
338
+ ahi = c - (c - adx);
339
+ alo = adx - ahi;
340
+ s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);
341
+ t1 = ady * ady;
342
+ c = splitter * ady;
343
+ ahi = c - (c - ady);
344
+ alo = ady - ahi;
345
+ t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);
346
+ _i = s0 + t0;
347
+ bvirt = _i - s0;
348
+ aa[0] = s0 - (_i - bvirt) + (t0 - bvirt);
349
+ _j = s1 + _i;
350
+ bvirt = _j - s1;
351
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
352
+ _i = _0 + t1;
353
+ bvirt = _i - _0;
354
+ aa[1] = _0 - (_i - bvirt) + (t1 - bvirt);
355
+ u3 = _j + _i;
356
+ bvirt = u3 - _j;
357
+ aa[2] = _j - (u3 - bvirt) + (_i - bvirt);
358
+ aa[3] = u3;
359
+ }
360
+ if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {
361
+ s1 = bdx * bdx;
362
+ c = splitter * bdx;
363
+ ahi = c - (c - bdx);
364
+ alo = bdx - ahi;
365
+ s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);
366
+ t1 = bdy * bdy;
367
+ c = splitter * bdy;
368
+ ahi = c - (c - bdy);
369
+ alo = bdy - ahi;
370
+ t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);
371
+ _i = s0 + t0;
372
+ bvirt = _i - s0;
373
+ bb[0] = s0 - (_i - bvirt) + (t0 - bvirt);
374
+ _j = s1 + _i;
375
+ bvirt = _j - s1;
376
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
377
+ _i = _0 + t1;
378
+ bvirt = _i - _0;
379
+ bb[1] = _0 - (_i - bvirt) + (t1 - bvirt);
380
+ u3 = _j + _i;
381
+ bvirt = u3 - _j;
382
+ bb[2] = _j - (u3 - bvirt) + (_i - bvirt);
383
+ bb[3] = u3;
384
+ }
385
+ if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {
386
+ s1 = cdx * cdx;
387
+ c = splitter * cdx;
388
+ ahi = c - (c - cdx);
389
+ alo = cdx - ahi;
390
+ s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);
391
+ t1 = cdy * cdy;
392
+ c = splitter * cdy;
393
+ ahi = c - (c - cdy);
394
+ alo = cdy - ahi;
395
+ t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);
396
+ _i = s0 + t0;
397
+ bvirt = _i - s0;
398
+ cc[0] = s0 - (_i - bvirt) + (t0 - bvirt);
399
+ _j = s1 + _i;
400
+ bvirt = _j - s1;
401
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
402
+ _i = _0 + t1;
403
+ bvirt = _i - _0;
404
+ cc[1] = _0 - (_i - bvirt) + (t1 - bvirt);
405
+ u3 = _j + _i;
406
+ bvirt = u3 - _j;
407
+ cc[2] = _j - (u3 - bvirt) + (_i - bvirt);
408
+ cc[3] = u3;
409
+ }
410
+
411
+ if (adxtail !== 0) {
412
+ axtbclen = scale(4, bc, adxtail, axtbc);
413
+ finlen = finadd(finlen, sum_three(
414
+ scale(axtbclen, axtbc, 2 * adx, _16), _16,
415
+ scale(scale(4, cc, adxtail, _8), _8, bdy, _16b), _16b,
416
+ scale(scale(4, bb, adxtail, _8), _8, -cdy, _16c), _16c, _32, _48), _48);
417
+ }
418
+ if (adytail !== 0) {
419
+ aytbclen = scale(4, bc, adytail, aytbc);
420
+ finlen = finadd(finlen, sum_three(
421
+ scale(aytbclen, aytbc, 2 * ady, _16), _16,
422
+ scale(scale(4, bb, adytail, _8), _8, cdx, _16b), _16b,
423
+ scale(scale(4, cc, adytail, _8), _8, -bdx, _16c), _16c, _32, _48), _48);
424
+ }
425
+ if (bdxtail !== 0) {
426
+ bxtcalen = scale(4, ca, bdxtail, bxtca);
427
+ finlen = finadd(finlen, sum_three(
428
+ scale(bxtcalen, bxtca, 2 * bdx, _16), _16,
429
+ scale(scale(4, aa, bdxtail, _8), _8, cdy, _16b), _16b,
430
+ scale(scale(4, cc, bdxtail, _8), _8, -ady, _16c), _16c, _32, _48), _48);
431
+ }
432
+ if (bdytail !== 0) {
433
+ bytcalen = scale(4, ca, bdytail, bytca);
434
+ finlen = finadd(finlen, sum_three(
435
+ scale(bytcalen, bytca, 2 * bdy, _16), _16,
436
+ scale(scale(4, cc, bdytail, _8), _8, adx, _16b), _16b,
437
+ scale(scale(4, aa, bdytail, _8), _8, -cdx, _16c), _16c, _32, _48), _48);
438
+ }
439
+ if (cdxtail !== 0) {
440
+ cxtablen = scale(4, ab, cdxtail, cxtab);
441
+ finlen = finadd(finlen, sum_three(
442
+ scale(cxtablen, cxtab, 2 * cdx, _16), _16,
443
+ scale(scale(4, bb, cdxtail, _8), _8, ady, _16b), _16b,
444
+ scale(scale(4, aa, cdxtail, _8), _8, -bdy, _16c), _16c, _32, _48), _48);
445
+ }
446
+ if (cdytail !== 0) {
447
+ cytablen = scale(4, ab, cdytail, cytab);
448
+ finlen = finadd(finlen, sum_three(
449
+ scale(cytablen, cytab, 2 * cdy, _16), _16,
450
+ scale(scale(4, aa, cdytail, _8), _8, bdx, _16b), _16b,
451
+ scale(scale(4, bb, cdytail, _8), _8, -adx, _16c), _16c, _32, _48), _48);
452
+ }
453
+
454
+ if (adxtail !== 0 || adytail !== 0) {
455
+ if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {
456
+ s1 = bdxtail * cdy;
457
+ c = splitter * bdxtail;
458
+ ahi = c - (c - bdxtail);
459
+ alo = bdxtail - ahi;
460
+ c = splitter * cdy;
461
+ bhi = c - (c - cdy);
462
+ blo = cdy - bhi;
463
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
464
+ t1 = bdx * cdytail;
465
+ c = splitter * bdx;
466
+ ahi = c - (c - bdx);
467
+ alo = bdx - ahi;
468
+ c = splitter * cdytail;
469
+ bhi = c - (c - cdytail);
470
+ blo = cdytail - bhi;
471
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
472
+ _i = s0 + t0;
473
+ bvirt = _i - s0;
474
+ u[0] = s0 - (_i - bvirt) + (t0 - bvirt);
475
+ _j = s1 + _i;
476
+ bvirt = _j - s1;
477
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
478
+ _i = _0 + t1;
479
+ bvirt = _i - _0;
480
+ u[1] = _0 - (_i - bvirt) + (t1 - bvirt);
481
+ u3 = _j + _i;
482
+ bvirt = u3 - _j;
483
+ u[2] = _j - (u3 - bvirt) + (_i - bvirt);
484
+ u[3] = u3;
485
+ s1 = cdxtail * -bdy;
486
+ c = splitter * cdxtail;
487
+ ahi = c - (c - cdxtail);
488
+ alo = cdxtail - ahi;
489
+ c = splitter * -bdy;
490
+ bhi = c - (c - -bdy);
491
+ blo = -bdy - bhi;
492
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
493
+ t1 = cdx * -bdytail;
494
+ c = splitter * cdx;
495
+ ahi = c - (c - cdx);
496
+ alo = cdx - ahi;
497
+ c = splitter * -bdytail;
498
+ bhi = c - (c - -bdytail);
499
+ blo = -bdytail - bhi;
500
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
501
+ _i = s0 + t0;
502
+ bvirt = _i - s0;
503
+ v[0] = s0 - (_i - bvirt) + (t0 - bvirt);
504
+ _j = s1 + _i;
505
+ bvirt = _j - s1;
506
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
507
+ _i = _0 + t1;
508
+ bvirt = _i - _0;
509
+ v[1] = _0 - (_i - bvirt) + (t1 - bvirt);
510
+ u3 = _j + _i;
511
+ bvirt = u3 - _j;
512
+ v[2] = _j - (u3 - bvirt) + (_i - bvirt);
513
+ v[3] = u3;
514
+ bctlen = sum(4, u, 4, v, bct);
515
+ s1 = bdxtail * cdytail;
516
+ c = splitter * bdxtail;
517
+ ahi = c - (c - bdxtail);
518
+ alo = bdxtail - ahi;
519
+ c = splitter * cdytail;
520
+ bhi = c - (c - cdytail);
521
+ blo = cdytail - bhi;
522
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
523
+ t1 = cdxtail * bdytail;
524
+ c = splitter * cdxtail;
525
+ ahi = c - (c - cdxtail);
526
+ alo = cdxtail - ahi;
527
+ c = splitter * bdytail;
528
+ bhi = c - (c - bdytail);
529
+ blo = bdytail - bhi;
530
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
531
+ _i = s0 - t0;
532
+ bvirt = s0 - _i;
533
+ bctt[0] = s0 - (_i + bvirt) + (bvirt - t0);
534
+ _j = s1 + _i;
535
+ bvirt = _j - s1;
536
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
537
+ _i = _0 - t1;
538
+ bvirt = _0 - _i;
539
+ bctt[1] = _0 - (_i + bvirt) + (bvirt - t1);
540
+ u3 = _j + _i;
541
+ bvirt = u3 - _j;
542
+ bctt[2] = _j - (u3 - bvirt) + (_i - bvirt);
543
+ bctt[3] = u3;
544
+ bcttlen = 4;
545
+ } else {
546
+ bct[0] = 0;
547
+ bctlen = 1;
548
+ bctt[0] = 0;
549
+ bcttlen = 1;
550
+ }
551
+ if (adxtail !== 0) {
552
+ const len = scale(bctlen, bct, adxtail, _16c);
553
+ finlen = finadd(finlen, sum(
554
+ scale(axtbclen, axtbc, adxtail, _16), _16,
555
+ scale(len, _16c, 2 * adx, _32), _32, _48), _48);
556
+
557
+ const len2 = scale(bcttlen, bctt, adxtail, _8);
558
+ finlen = finadd(finlen, sum_three(
559
+ scale(len2, _8, 2 * adx, _16), _16,
560
+ scale(len2, _8, adxtail, _16b), _16b,
561
+ scale(len, _16c, adxtail, _32), _32, _32b, _64), _64);
562
+
563
+ if (bdytail !== 0) {
564
+ finlen = finadd(finlen, scale(scale(4, cc, adxtail, _8), _8, bdytail, _16), _16);
565
+ }
566
+ if (cdytail !== 0) {
567
+ finlen = finadd(finlen, scale(scale(4, bb, -adxtail, _8), _8, cdytail, _16), _16);
568
+ }
569
+ }
570
+ if (adytail !== 0) {
571
+ const len = scale(bctlen, bct, adytail, _16c);
572
+ finlen = finadd(finlen, sum(
573
+ scale(aytbclen, aytbc, adytail, _16), _16,
574
+ scale(len, _16c, 2 * ady, _32), _32, _48), _48);
575
+
576
+ const len2 = scale(bcttlen, bctt, adytail, _8);
577
+ finlen = finadd(finlen, sum_three(
578
+ scale(len2, _8, 2 * ady, _16), _16,
579
+ scale(len2, _8, adytail, _16b), _16b,
580
+ scale(len, _16c, adytail, _32), _32, _32b, _64), _64);
581
+ }
582
+ }
583
+ if (bdxtail !== 0 || bdytail !== 0) {
584
+ if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {
585
+ s1 = cdxtail * ady;
586
+ c = splitter * cdxtail;
587
+ ahi = c - (c - cdxtail);
588
+ alo = cdxtail - ahi;
589
+ c = splitter * ady;
590
+ bhi = c - (c - ady);
591
+ blo = ady - bhi;
592
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
593
+ t1 = cdx * adytail;
594
+ c = splitter * cdx;
595
+ ahi = c - (c - cdx);
596
+ alo = cdx - ahi;
597
+ c = splitter * adytail;
598
+ bhi = c - (c - adytail);
599
+ blo = adytail - bhi;
600
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
601
+ _i = s0 + t0;
602
+ bvirt = _i - s0;
603
+ u[0] = s0 - (_i - bvirt) + (t0 - bvirt);
604
+ _j = s1 + _i;
605
+ bvirt = _j - s1;
606
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
607
+ _i = _0 + t1;
608
+ bvirt = _i - _0;
609
+ u[1] = _0 - (_i - bvirt) + (t1 - bvirt);
610
+ u3 = _j + _i;
611
+ bvirt = u3 - _j;
612
+ u[2] = _j - (u3 - bvirt) + (_i - bvirt);
613
+ u[3] = u3;
614
+ n1 = -cdy;
615
+ n0 = -cdytail;
616
+ s1 = adxtail * n1;
617
+ c = splitter * adxtail;
618
+ ahi = c - (c - adxtail);
619
+ alo = adxtail - ahi;
620
+ c = splitter * n1;
621
+ bhi = c - (c - n1);
622
+ blo = n1 - bhi;
623
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
624
+ t1 = adx * n0;
625
+ c = splitter * adx;
626
+ ahi = c - (c - adx);
627
+ alo = adx - ahi;
628
+ c = splitter * n0;
629
+ bhi = c - (c - n0);
630
+ blo = n0 - bhi;
631
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
632
+ _i = s0 + t0;
633
+ bvirt = _i - s0;
634
+ v[0] = s0 - (_i - bvirt) + (t0 - bvirt);
635
+ _j = s1 + _i;
636
+ bvirt = _j - s1;
637
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
638
+ _i = _0 + t1;
639
+ bvirt = _i - _0;
640
+ v[1] = _0 - (_i - bvirt) + (t1 - bvirt);
641
+ u3 = _j + _i;
642
+ bvirt = u3 - _j;
643
+ v[2] = _j - (u3 - bvirt) + (_i - bvirt);
644
+ v[3] = u3;
645
+ catlen = sum(4, u, 4, v, cat);
646
+ s1 = cdxtail * adytail;
647
+ c = splitter * cdxtail;
648
+ ahi = c - (c - cdxtail);
649
+ alo = cdxtail - ahi;
650
+ c = splitter * adytail;
651
+ bhi = c - (c - adytail);
652
+ blo = adytail - bhi;
653
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
654
+ t1 = adxtail * cdytail;
655
+ c = splitter * adxtail;
656
+ ahi = c - (c - adxtail);
657
+ alo = adxtail - ahi;
658
+ c = splitter * cdytail;
659
+ bhi = c - (c - cdytail);
660
+ blo = cdytail - bhi;
661
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
662
+ _i = s0 - t0;
663
+ bvirt = s0 - _i;
664
+ catt[0] = s0 - (_i + bvirt) + (bvirt - t0);
665
+ _j = s1 + _i;
666
+ bvirt = _j - s1;
667
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
668
+ _i = _0 - t1;
669
+ bvirt = _0 - _i;
670
+ catt[1] = _0 - (_i + bvirt) + (bvirt - t1);
671
+ u3 = _j + _i;
672
+ bvirt = u3 - _j;
673
+ catt[2] = _j - (u3 - bvirt) + (_i - bvirt);
674
+ catt[3] = u3;
675
+ cattlen = 4;
676
+ } else {
677
+ cat[0] = 0;
678
+ catlen = 1;
679
+ catt[0] = 0;
680
+ cattlen = 1;
681
+ }
682
+ if (bdxtail !== 0) {
683
+ const len = scale(catlen, cat, bdxtail, _16c);
684
+ finlen = finadd(finlen, sum(
685
+ scale(bxtcalen, bxtca, bdxtail, _16), _16,
686
+ scale(len, _16c, 2 * bdx, _32), _32, _48), _48);
687
+
688
+ const len2 = scale(cattlen, catt, bdxtail, _8);
689
+ finlen = finadd(finlen, sum_three(
690
+ scale(len2, _8, 2 * bdx, _16), _16,
691
+ scale(len2, _8, bdxtail, _16b), _16b,
692
+ scale(len, _16c, bdxtail, _32), _32, _32b, _64), _64);
693
+
694
+ if (cdytail !== 0) {
695
+ finlen = finadd(finlen, scale(scale(4, aa, bdxtail, _8), _8, cdytail, _16), _16);
696
+ }
697
+ if (adytail !== 0) {
698
+ finlen = finadd(finlen, scale(scale(4, cc, -bdxtail, _8), _8, adytail, _16), _16);
699
+ }
700
+ }
701
+ if (bdytail !== 0) {
702
+ const len = scale(catlen, cat, bdytail, _16c);
703
+ finlen = finadd(finlen, sum(
704
+ scale(bytcalen, bytca, bdytail, _16), _16,
705
+ scale(len, _16c, 2 * bdy, _32), _32, _48), _48);
706
+
707
+ const len2 = scale(cattlen, catt, bdytail, _8);
708
+ finlen = finadd(finlen, sum_three(
709
+ scale(len2, _8, 2 * bdy, _16), _16,
710
+ scale(len2, _8, bdytail, _16b), _16b,
711
+ scale(len, _16c, bdytail, _32), _32, _32b, _64), _64);
712
+ }
713
+ }
714
+ if (cdxtail !== 0 || cdytail !== 0) {
715
+ if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {
716
+ s1 = adxtail * bdy;
717
+ c = splitter * adxtail;
718
+ ahi = c - (c - adxtail);
719
+ alo = adxtail - ahi;
720
+ c = splitter * bdy;
721
+ bhi = c - (c - bdy);
722
+ blo = bdy - bhi;
723
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
724
+ t1 = adx * bdytail;
725
+ c = splitter * adx;
726
+ ahi = c - (c - adx);
727
+ alo = adx - ahi;
728
+ c = splitter * bdytail;
729
+ bhi = c - (c - bdytail);
730
+ blo = bdytail - bhi;
731
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
732
+ _i = s0 + t0;
733
+ bvirt = _i - s0;
734
+ u[0] = s0 - (_i - bvirt) + (t0 - bvirt);
735
+ _j = s1 + _i;
736
+ bvirt = _j - s1;
737
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
738
+ _i = _0 + t1;
739
+ bvirt = _i - _0;
740
+ u[1] = _0 - (_i - bvirt) + (t1 - bvirt);
741
+ u3 = _j + _i;
742
+ bvirt = u3 - _j;
743
+ u[2] = _j - (u3 - bvirt) + (_i - bvirt);
744
+ u[3] = u3;
745
+ n1 = -ady;
746
+ n0 = -adytail;
747
+ s1 = bdxtail * n1;
748
+ c = splitter * bdxtail;
749
+ ahi = c - (c - bdxtail);
750
+ alo = bdxtail - ahi;
751
+ c = splitter * n1;
752
+ bhi = c - (c - n1);
753
+ blo = n1 - bhi;
754
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
755
+ t1 = bdx * n0;
756
+ c = splitter * bdx;
757
+ ahi = c - (c - bdx);
758
+ alo = bdx - ahi;
759
+ c = splitter * n0;
760
+ bhi = c - (c - n0);
761
+ blo = n0 - bhi;
762
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
763
+ _i = s0 + t0;
764
+ bvirt = _i - s0;
765
+ v[0] = s0 - (_i - bvirt) + (t0 - bvirt);
766
+ _j = s1 + _i;
767
+ bvirt = _j - s1;
768
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
769
+ _i = _0 + t1;
770
+ bvirt = _i - _0;
771
+ v[1] = _0 - (_i - bvirt) + (t1 - bvirt);
772
+ u3 = _j + _i;
773
+ bvirt = u3 - _j;
774
+ v[2] = _j - (u3 - bvirt) + (_i - bvirt);
775
+ v[3] = u3;
776
+ abtlen = sum(4, u, 4, v, abt);
777
+ s1 = adxtail * bdytail;
778
+ c = splitter * adxtail;
779
+ ahi = c - (c - adxtail);
780
+ alo = adxtail - ahi;
781
+ c = splitter * bdytail;
782
+ bhi = c - (c - bdytail);
783
+ blo = bdytail - bhi;
784
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
785
+ t1 = bdxtail * adytail;
786
+ c = splitter * bdxtail;
787
+ ahi = c - (c - bdxtail);
788
+ alo = bdxtail - ahi;
789
+ c = splitter * adytail;
790
+ bhi = c - (c - adytail);
791
+ blo = adytail - bhi;
792
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
793
+ _i = s0 - t0;
794
+ bvirt = s0 - _i;
795
+ abtt[0] = s0 - (_i + bvirt) + (bvirt - t0);
796
+ _j = s1 + _i;
797
+ bvirt = _j - s1;
798
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
799
+ _i = _0 - t1;
800
+ bvirt = _0 - _i;
801
+ abtt[1] = _0 - (_i + bvirt) + (bvirt - t1);
802
+ u3 = _j + _i;
803
+ bvirt = u3 - _j;
804
+ abtt[2] = _j - (u3 - bvirt) + (_i - bvirt);
805
+ abtt[3] = u3;
806
+ abttlen = 4;
807
+ } else {
808
+ abt[0] = 0;
809
+ abtlen = 1;
810
+ abtt[0] = 0;
811
+ abttlen = 1;
812
+ }
813
+ if (cdxtail !== 0) {
814
+ const len = scale(abtlen, abt, cdxtail, _16c);
815
+ finlen = finadd(finlen, sum(
816
+ scale(cxtablen, cxtab, cdxtail, _16), _16,
817
+ scale(len, _16c, 2 * cdx, _32), _32, _48), _48);
818
+
819
+ const len2 = scale(abttlen, abtt, cdxtail, _8);
820
+ finlen = finadd(finlen, sum_three(
821
+ scale(len2, _8, 2 * cdx, _16), _16,
822
+ scale(len2, _8, cdxtail, _16b), _16b,
823
+ scale(len, _16c, cdxtail, _32), _32, _32b, _64), _64);
824
+
825
+ if (adytail !== 0) {
826
+ finlen = finadd(finlen, scale(scale(4, bb, cdxtail, _8), _8, adytail, _16), _16);
827
+ }
828
+ if (bdytail !== 0) {
829
+ finlen = finadd(finlen, scale(scale(4, aa, -cdxtail, _8), _8, bdytail, _16), _16);
830
+ }
831
+ }
832
+ if (cdytail !== 0) {
833
+ const len = scale(abtlen, abt, cdytail, _16c);
834
+ finlen = finadd(finlen, sum(
835
+ scale(cytablen, cytab, cdytail, _16), _16,
836
+ scale(len, _16c, 2 * cdy, _32), _32, _48), _48);
837
+
838
+ const len2 = scale(abttlen, abtt, cdytail, _8);
839
+ finlen = finadd(finlen, sum_three(
840
+ scale(len2, _8, 2 * cdy, _16), _16,
841
+ scale(len2, _8, cdytail, _16b), _16b,
842
+ scale(len, _16c, cdytail, _32), _32, _32b, _64), _64);
843
+ }
844
+ }
845
+
846
+ return fin[finlen - 1];
847
+ }
848
+
849
+ function incircle(ax, ay, bx, by, cx, cy, dx, dy) {
850
+ const adx = ax - dx;
851
+ const bdx = bx - dx;
852
+ const cdx = cx - dx;
853
+ const ady = ay - dy;
854
+ const bdy = by - dy;
855
+ const cdy = cy - dy;
856
+
857
+ const bdxcdy = bdx * cdy;
858
+ const cdxbdy = cdx * bdy;
859
+ const alift = adx * adx + ady * ady;
860
+
861
+ const cdxady = cdx * ady;
862
+ const adxcdy = adx * cdy;
863
+ const blift = bdx * bdx + bdy * bdy;
864
+
865
+ const adxbdy = adx * bdy;
866
+ const bdxady = bdx * ady;
867
+ const clift = cdx * cdx + cdy * cdy;
868
+
869
+ const det =
870
+ alift * (bdxcdy - cdxbdy) +
871
+ blift * (cdxady - adxcdy) +
872
+ clift * (adxbdy - bdxady);
873
+
874
+ const permanent =
875
+ (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * alift +
876
+ (Math.abs(cdxady) + Math.abs(adxcdy)) * blift +
877
+ (Math.abs(adxbdy) + Math.abs(bdxady)) * clift;
878
+
879
+ const errbound = iccerrboundA * permanent;
880
+
881
+ if (det > errbound || -det > errbound) {
882
+ return det;
883
+ }
884
+ return incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent);
885
+ }
886
+
887
+ function incirclefast(ax, ay, bx, by, cx, cy, dx, dy) {
888
+ const adx = ax - dx;
889
+ const ady = ay - dy;
890
+ const bdx = bx - dx;
891
+ const bdy = by - dy;
892
+ const cdx = cx - dx;
893
+ const cdy = cy - dy;
894
+
895
+ const abdet = adx * bdy - bdx * ady;
896
+ const bcdet = bdx * cdy - cdx * bdy;
897
+ const cadet = cdx * ady - adx * cdy;
898
+ const alift = adx * adx + ady * ady;
899
+ const blift = bdx * bdx + bdy * bdy;
900
+ const clift = cdx * cdx + cdy * cdy;
901
+
902
+ return alift * bcdet + blift * cadet + clift * abdet;
903
+ }
904
+
905
+ exports.incircle = incircle;
906
+ exports.incirclefast = incirclefast;
907
+
908
+ }));