@mui/x-charts-vendor 8.14.0 → 8.15.0

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 (43) hide show
  1. package/README.md +2 -7
  2. package/package.json +3 -6
  3. package/d3-delaunay.d.ts +0 -5
  4. package/d3-delaunay.js +0 -7
  5. package/delaunator.d.ts +0 -5
  6. package/delaunator.js +0 -7
  7. package/es/d3-delaunay.mjs +0 -6
  8. package/es/delaunator.mjs +0 -6
  9. package/es/robust-predicates.mjs +0 -6
  10. package/lib/d3-delaunay.js +0 -6
  11. package/lib/delaunator.js +0 -6
  12. package/lib/robust-predicates.js +0 -6
  13. package/lib-vendor/d3-delaunay/LICENSE +0 -14
  14. package/lib-vendor/d3-delaunay/dist/d3-delaunay.js +0 -1398
  15. package/lib-vendor/d3-delaunay/dist/d3-delaunay.min.js +0 -853
  16. package/lib-vendor/d3-delaunay/src/delaunay.js +0 -282
  17. package/lib-vendor/d3-delaunay/src/index.js +0 -20
  18. package/lib-vendor/d3-delaunay/src/path.js +0 -43
  19. package/lib-vendor/d3-delaunay/src/polygon.js +0 -24
  20. package/lib-vendor/d3-delaunay/src/voronoi.js +0 -390
  21. package/lib-vendor/delaunator/LICENSE +0 -15
  22. package/lib-vendor/delaunator/delaunator.js +0 -688
  23. package/lib-vendor/delaunator/delaunator.min.js +0 -316
  24. package/lib-vendor/delaunator/index.js +0 -440
  25. package/lib-vendor/robust-predicates/LICENSE +0 -24
  26. package/lib-vendor/robust-predicates/esm/incircle.js +0 -667
  27. package/lib-vendor/robust-predicates/esm/insphere.js +0 -693
  28. package/lib-vendor/robust-predicates/esm/orient2d.js +0 -174
  29. package/lib-vendor/robust-predicates/esm/orient3d.js +0 -422
  30. package/lib-vendor/robust-predicates/esm/util.js +0 -147
  31. package/lib-vendor/robust-predicates/index.js +0 -57
  32. package/lib-vendor/robust-predicates/umd/incircle.js +0 -798
  33. package/lib-vendor/robust-predicates/umd/incircle.min.js +0 -170
  34. package/lib-vendor/robust-predicates/umd/insphere.js +0 -828
  35. package/lib-vendor/robust-predicates/umd/insphere.min.js +0 -223
  36. package/lib-vendor/robust-predicates/umd/orient2d.js +0 -260
  37. package/lib-vendor/robust-predicates/umd/orient2d.min.js +0 -69
  38. package/lib-vendor/robust-predicates/umd/orient3d.js +0 -550
  39. package/lib-vendor/robust-predicates/umd/orient3d.min.js +0 -133
  40. package/lib-vendor/robust-predicates/umd/predicates.js +0 -2073
  41. package/lib-vendor/robust-predicates/umd/predicates.min.js +0 -468
  42. package/robust-predicates.d.ts +0 -5
  43. package/robust-predicates.js +0 -7
@@ -1,828 +0,0 @@
1
- "use strict";
2
-
3
- (function (global, factory) {
4
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
5
- })(this, function (exports) {
6
- 'use strict';
7
-
8
- const epsilon = 1.1102230246251565e-16;
9
- const splitter = 134217729;
10
- const resulterrbound = (3 + 8 * epsilon) * epsilon;
11
-
12
- // fast_expansion_sum_zeroelim routine from oritinal code
13
- function sum(elen, e, flen, f, h) {
14
- let Q, Qnew, hh, bvirt;
15
- let enow = e[0];
16
- let fnow = f[0];
17
- let eindex = 0;
18
- let findex = 0;
19
- if (fnow > enow === fnow > -enow) {
20
- Q = enow;
21
- enow = e[++eindex];
22
- } else {
23
- Q = fnow;
24
- fnow = f[++findex];
25
- }
26
- let hindex = 0;
27
- if (eindex < elen && findex < flen) {
28
- if (fnow > enow === fnow > -enow) {
29
- Qnew = enow + Q;
30
- hh = Q - (Qnew - enow);
31
- enow = e[++eindex];
32
- } else {
33
- Qnew = fnow + Q;
34
- hh = Q - (Qnew - fnow);
35
- fnow = f[++findex];
36
- }
37
- Q = Qnew;
38
- if (hh !== 0) {
39
- h[hindex++] = hh;
40
- }
41
- while (eindex < elen && findex < flen) {
42
- if (fnow > enow === fnow > -enow) {
43
- Qnew = Q + enow;
44
- bvirt = Qnew - Q;
45
- hh = Q - (Qnew - bvirt) + (enow - bvirt);
46
- enow = e[++eindex];
47
- } else {
48
- Qnew = Q + fnow;
49
- bvirt = Qnew - Q;
50
- hh = Q - (Qnew - bvirt) + (fnow - bvirt);
51
- fnow = f[++findex];
52
- }
53
- Q = Qnew;
54
- if (hh !== 0) {
55
- h[hindex++] = hh;
56
- }
57
- }
58
- }
59
- while (eindex < elen) {
60
- Qnew = Q + enow;
61
- bvirt = Qnew - Q;
62
- hh = Q - (Qnew - bvirt) + (enow - bvirt);
63
- enow = e[++eindex];
64
- Q = Qnew;
65
- if (hh !== 0) {
66
- h[hindex++] = hh;
67
- }
68
- }
69
- while (findex < flen) {
70
- Qnew = Q + fnow;
71
- bvirt = Qnew - Q;
72
- hh = Q - (Qnew - bvirt) + (fnow - bvirt);
73
- fnow = f[++findex];
74
- Q = Qnew;
75
- if (hh !== 0) {
76
- h[hindex++] = hh;
77
- }
78
- }
79
- if (Q !== 0 || hindex === 0) {
80
- h[hindex++] = Q;
81
- }
82
- return hindex;
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
- c = splitter * b;
93
- bhi = c - (c - b);
94
- blo = b - bhi;
95
- let enow = e[0];
96
- Q = enow * b;
97
- c = splitter * enow;
98
- ahi = c - (c - enow);
99
- alo = enow - ahi;
100
- hh = alo * blo - (Q - ahi * bhi - alo * bhi - ahi * blo);
101
- let hindex = 0;
102
- if (hh !== 0) {
103
- h[hindex++] = hh;
104
- }
105
- for (let i = 1; i < elen; i++) {
106
- enow = e[i];
107
- product1 = enow * b;
108
- c = splitter * enow;
109
- ahi = c - (c - enow);
110
- alo = enow - ahi;
111
- product0 = alo * blo - (product1 - ahi * bhi - alo * bhi - ahi * blo);
112
- sum = Q + product0;
113
- bvirt = sum - Q;
114
- hh = Q - (sum - bvirt) + (product0 - bvirt);
115
- if (hh !== 0) {
116
- h[hindex++] = hh;
117
- }
118
- Q = product1 + sum;
119
- hh = sum - (Q - product1);
120
- if (hh !== 0) {
121
- h[hindex++] = hh;
122
- }
123
- }
124
- if (Q !== 0 || hindex === 0) {
125
- h[hindex++] = Q;
126
- }
127
- return hindex;
128
- }
129
- function negate(elen, e) {
130
- for (let i = 0; i < elen; i++) e[i] = -e[i];
131
- return elen;
132
- }
133
- function estimate(elen, e) {
134
- let Q = e[0];
135
- for (let i = 1; i < elen; i++) Q += e[i];
136
- return Q;
137
- }
138
- function vec(n) {
139
- return new Float64Array(n);
140
- }
141
- const isperrboundA = (16 + 224 * epsilon) * epsilon;
142
- const isperrboundB = (5 + 72 * epsilon) * epsilon;
143
- const isperrboundC = (71 + 1408 * epsilon) * epsilon * epsilon;
144
- const ab = vec(4);
145
- const bc = vec(4);
146
- const cd = vec(4);
147
- const de = vec(4);
148
- const ea = vec(4);
149
- const ac = vec(4);
150
- const bd = vec(4);
151
- const ce = vec(4);
152
- const da = vec(4);
153
- const eb = vec(4);
154
- const abc = vec(24);
155
- const bcd = vec(24);
156
- const cde = vec(24);
157
- const dea = vec(24);
158
- const eab = vec(24);
159
- const abd = vec(24);
160
- const bce = vec(24);
161
- const cda = vec(24);
162
- const deb = vec(24);
163
- const eac = vec(24);
164
- const adet = vec(1152);
165
- const bdet = vec(1152);
166
- const cdet = vec(1152);
167
- const ddet = vec(1152);
168
- const edet = vec(1152);
169
- const abdet = vec(2304);
170
- const cddet = vec(2304);
171
- const cdedet = vec(3456);
172
- const deter = vec(5760);
173
- const _8 = vec(8);
174
- const _8b = vec(8);
175
- const _8c = vec(8);
176
- const _16 = vec(16);
177
- const _24 = vec(24);
178
- const _48 = vec(48);
179
- const _48b = vec(48);
180
- const _96 = vec(96);
181
- const _192 = vec(192);
182
- const _384x = vec(384);
183
- const _384y = vec(384);
184
- const _384z = vec(384);
185
- const _768 = vec(768);
186
- function sum_three_scale(a, b, c, az, bz, cz, out) {
187
- return sum_three(scale(4, a, az, _8), _8, scale(4, b, bz, _8b), _8b, scale(4, c, cz, _8c), _8c, _16, out);
188
- }
189
- function liftexact(alen, a, blen, b, clen, c, dlen, d, x, y, z, out) {
190
- const len = sum(sum(alen, a, blen, b, _48), _48, negate(sum(clen, c, dlen, d, _48b), _48b), _48b, _96);
191
- return sum_three(scale(scale(len, _96, x, _192), _192, x, _384x), _384x, scale(scale(len, _96, y, _192), _192, y, _384y), _384y, scale(scale(len, _96, z, _192), _192, z, _384z), _384z, _768, out);
192
- }
193
- function insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
194
- let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;
195
- s1 = ax * by;
196
- c = splitter * ax;
197
- ahi = c - (c - ax);
198
- alo = ax - ahi;
199
- c = splitter * by;
200
- bhi = c - (c - by);
201
- blo = by - bhi;
202
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
203
- t1 = bx * ay;
204
- c = splitter * bx;
205
- ahi = c - (c - bx);
206
- alo = bx - ahi;
207
- c = splitter * ay;
208
- bhi = c - (c - ay);
209
- blo = ay - bhi;
210
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
211
- _i = s0 - t0;
212
- bvirt = s0 - _i;
213
- ab[0] = s0 - (_i + bvirt) + (bvirt - t0);
214
- _j = s1 + _i;
215
- bvirt = _j - s1;
216
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
217
- _i = _0 - t1;
218
- bvirt = _0 - _i;
219
- ab[1] = _0 - (_i + bvirt) + (bvirt - t1);
220
- u3 = _j + _i;
221
- bvirt = u3 - _j;
222
- ab[2] = _j - (u3 - bvirt) + (_i - bvirt);
223
- ab[3] = u3;
224
- s1 = bx * cy;
225
- c = splitter * bx;
226
- ahi = c - (c - bx);
227
- alo = bx - ahi;
228
- c = splitter * cy;
229
- bhi = c - (c - cy);
230
- blo = cy - bhi;
231
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
232
- t1 = cx * by;
233
- c = splitter * cx;
234
- ahi = c - (c - cx);
235
- alo = cx - ahi;
236
- c = splitter * by;
237
- bhi = c - (c - by);
238
- blo = by - bhi;
239
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
240
- _i = s0 - t0;
241
- bvirt = s0 - _i;
242
- bc[0] = s0 - (_i + bvirt) + (bvirt - t0);
243
- _j = s1 + _i;
244
- bvirt = _j - s1;
245
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
246
- _i = _0 - t1;
247
- bvirt = _0 - _i;
248
- bc[1] = _0 - (_i + bvirt) + (bvirt - t1);
249
- u3 = _j + _i;
250
- bvirt = u3 - _j;
251
- bc[2] = _j - (u3 - bvirt) + (_i - bvirt);
252
- bc[3] = u3;
253
- s1 = cx * dy;
254
- c = splitter * cx;
255
- ahi = c - (c - cx);
256
- alo = cx - ahi;
257
- c = splitter * dy;
258
- bhi = c - (c - dy);
259
- blo = dy - bhi;
260
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
261
- t1 = dx * cy;
262
- c = splitter * dx;
263
- ahi = c - (c - dx);
264
- alo = dx - ahi;
265
- c = splitter * cy;
266
- bhi = c - (c - cy);
267
- blo = cy - bhi;
268
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
269
- _i = s0 - t0;
270
- bvirt = s0 - _i;
271
- cd[0] = s0 - (_i + bvirt) + (bvirt - t0);
272
- _j = s1 + _i;
273
- bvirt = _j - s1;
274
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
275
- _i = _0 - t1;
276
- bvirt = _0 - _i;
277
- cd[1] = _0 - (_i + bvirt) + (bvirt - t1);
278
- u3 = _j + _i;
279
- bvirt = u3 - _j;
280
- cd[2] = _j - (u3 - bvirt) + (_i - bvirt);
281
- cd[3] = u3;
282
- s1 = dx * ey;
283
- c = splitter * dx;
284
- ahi = c - (c - dx);
285
- alo = dx - ahi;
286
- c = splitter * ey;
287
- bhi = c - (c - ey);
288
- blo = ey - bhi;
289
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
290
- t1 = ex * dy;
291
- c = splitter * ex;
292
- ahi = c - (c - ex);
293
- alo = ex - ahi;
294
- c = splitter * dy;
295
- bhi = c - (c - dy);
296
- blo = dy - bhi;
297
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
298
- _i = s0 - t0;
299
- bvirt = s0 - _i;
300
- de[0] = s0 - (_i + bvirt) + (bvirt - t0);
301
- _j = s1 + _i;
302
- bvirt = _j - s1;
303
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
304
- _i = _0 - t1;
305
- bvirt = _0 - _i;
306
- de[1] = _0 - (_i + bvirt) + (bvirt - t1);
307
- u3 = _j + _i;
308
- bvirt = u3 - _j;
309
- de[2] = _j - (u3 - bvirt) + (_i - bvirt);
310
- de[3] = u3;
311
- s1 = ex * ay;
312
- c = splitter * ex;
313
- ahi = c - (c - ex);
314
- alo = ex - ahi;
315
- c = splitter * ay;
316
- bhi = c - (c - ay);
317
- blo = ay - bhi;
318
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
319
- t1 = ax * ey;
320
- c = splitter * ax;
321
- ahi = c - (c - ax);
322
- alo = ax - ahi;
323
- c = splitter * ey;
324
- bhi = c - (c - ey);
325
- blo = ey - bhi;
326
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
327
- _i = s0 - t0;
328
- bvirt = s0 - _i;
329
- ea[0] = s0 - (_i + bvirt) + (bvirt - t0);
330
- _j = s1 + _i;
331
- bvirt = _j - s1;
332
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
333
- _i = _0 - t1;
334
- bvirt = _0 - _i;
335
- ea[1] = _0 - (_i + bvirt) + (bvirt - t1);
336
- u3 = _j + _i;
337
- bvirt = u3 - _j;
338
- ea[2] = _j - (u3 - bvirt) + (_i - bvirt);
339
- ea[3] = u3;
340
- s1 = ax * cy;
341
- c = splitter * ax;
342
- ahi = c - (c - ax);
343
- alo = ax - ahi;
344
- c = splitter * cy;
345
- bhi = c - (c - cy);
346
- blo = cy - bhi;
347
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
348
- t1 = cx * ay;
349
- c = splitter * cx;
350
- ahi = c - (c - cx);
351
- alo = cx - ahi;
352
- c = splitter * ay;
353
- bhi = c - (c - ay);
354
- blo = ay - bhi;
355
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
356
- _i = s0 - t0;
357
- bvirt = s0 - _i;
358
- ac[0] = s0 - (_i + bvirt) + (bvirt - t0);
359
- _j = s1 + _i;
360
- bvirt = _j - s1;
361
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
362
- _i = _0 - t1;
363
- bvirt = _0 - _i;
364
- ac[1] = _0 - (_i + bvirt) + (bvirt - t1);
365
- u3 = _j + _i;
366
- bvirt = u3 - _j;
367
- ac[2] = _j - (u3 - bvirt) + (_i - bvirt);
368
- ac[3] = u3;
369
- s1 = bx * dy;
370
- c = splitter * bx;
371
- ahi = c - (c - bx);
372
- alo = bx - ahi;
373
- c = splitter * dy;
374
- bhi = c - (c - dy);
375
- blo = dy - bhi;
376
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
377
- t1 = dx * by;
378
- c = splitter * dx;
379
- ahi = c - (c - dx);
380
- alo = dx - ahi;
381
- c = splitter * by;
382
- bhi = c - (c - by);
383
- blo = by - bhi;
384
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
385
- _i = s0 - t0;
386
- bvirt = s0 - _i;
387
- bd[0] = s0 - (_i + bvirt) + (bvirt - t0);
388
- _j = s1 + _i;
389
- bvirt = _j - s1;
390
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
391
- _i = _0 - t1;
392
- bvirt = _0 - _i;
393
- bd[1] = _0 - (_i + bvirt) + (bvirt - t1);
394
- u3 = _j + _i;
395
- bvirt = u3 - _j;
396
- bd[2] = _j - (u3 - bvirt) + (_i - bvirt);
397
- bd[3] = u3;
398
- s1 = cx * ey;
399
- c = splitter * cx;
400
- ahi = c - (c - cx);
401
- alo = cx - ahi;
402
- c = splitter * ey;
403
- bhi = c - (c - ey);
404
- blo = ey - bhi;
405
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
406
- t1 = ex * cy;
407
- c = splitter * ex;
408
- ahi = c - (c - ex);
409
- alo = ex - ahi;
410
- c = splitter * cy;
411
- bhi = c - (c - cy);
412
- blo = cy - bhi;
413
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
414
- _i = s0 - t0;
415
- bvirt = s0 - _i;
416
- ce[0] = s0 - (_i + bvirt) + (bvirt - t0);
417
- _j = s1 + _i;
418
- bvirt = _j - s1;
419
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
420
- _i = _0 - t1;
421
- bvirt = _0 - _i;
422
- ce[1] = _0 - (_i + bvirt) + (bvirt - t1);
423
- u3 = _j + _i;
424
- bvirt = u3 - _j;
425
- ce[2] = _j - (u3 - bvirt) + (_i - bvirt);
426
- ce[3] = u3;
427
- s1 = dx * ay;
428
- c = splitter * dx;
429
- ahi = c - (c - dx);
430
- alo = dx - ahi;
431
- c = splitter * ay;
432
- bhi = c - (c - ay);
433
- blo = ay - bhi;
434
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
435
- t1 = ax * dy;
436
- c = splitter * ax;
437
- ahi = c - (c - ax);
438
- alo = ax - ahi;
439
- c = splitter * dy;
440
- bhi = c - (c - dy);
441
- blo = dy - bhi;
442
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
443
- _i = s0 - t0;
444
- bvirt = s0 - _i;
445
- da[0] = s0 - (_i + bvirt) + (bvirt - t0);
446
- _j = s1 + _i;
447
- bvirt = _j - s1;
448
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
449
- _i = _0 - t1;
450
- bvirt = _0 - _i;
451
- da[1] = _0 - (_i + bvirt) + (bvirt - t1);
452
- u3 = _j + _i;
453
- bvirt = u3 - _j;
454
- da[2] = _j - (u3 - bvirt) + (_i - bvirt);
455
- da[3] = u3;
456
- s1 = ex * by;
457
- c = splitter * ex;
458
- ahi = c - (c - ex);
459
- alo = ex - ahi;
460
- c = splitter * by;
461
- bhi = c - (c - by);
462
- blo = by - bhi;
463
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
464
- t1 = bx * ey;
465
- c = splitter * bx;
466
- ahi = c - (c - bx);
467
- alo = bx - ahi;
468
- c = splitter * ey;
469
- bhi = c - (c - ey);
470
- blo = ey - bhi;
471
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
472
- _i = s0 - t0;
473
- bvirt = s0 - _i;
474
- eb[0] = s0 - (_i + bvirt) + (bvirt - t0);
475
- _j = s1 + _i;
476
- bvirt = _j - s1;
477
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
478
- _i = _0 - t1;
479
- bvirt = _0 - _i;
480
- eb[1] = _0 - (_i + bvirt) + (bvirt - t1);
481
- u3 = _j + _i;
482
- bvirt = u3 - _j;
483
- eb[2] = _j - (u3 - bvirt) + (_i - bvirt);
484
- eb[3] = u3;
485
- const abclen = sum_three_scale(ab, bc, ac, cz, az, -bz, abc);
486
- const bcdlen = sum_three_scale(bc, cd, bd, dz, bz, -cz, bcd);
487
- const cdelen = sum_three_scale(cd, de, ce, ez, cz, -dz, cde);
488
- const dealen = sum_three_scale(de, ea, da, az, dz, -ez, dea);
489
- const eablen = sum_three_scale(ea, ab, eb, bz, ez, -az, eab);
490
- const abdlen = sum_three_scale(ab, bd, da, dz, az, bz, abd);
491
- const bcelen = sum_three_scale(bc, ce, eb, ez, bz, cz, bce);
492
- const cdalen = sum_three_scale(cd, da, ac, az, cz, dz, cda);
493
- const deblen = sum_three_scale(de, eb, bd, bz, dz, ez, deb);
494
- const eaclen = sum_three_scale(ea, ac, ce, cz, ez, az, eac);
495
- const deterlen = sum_three(liftexact(cdelen, cde, bcelen, bce, deblen, deb, bcdlen, bcd, ax, ay, az, adet), adet, liftexact(dealen, dea, cdalen, cda, eaclen, eac, cdelen, cde, bx, by, bz, bdet), bdet, sum_three(liftexact(eablen, eab, deblen, deb, abdlen, abd, dealen, dea, cx, cy, cz, cdet), cdet, liftexact(abclen, abc, eaclen, eac, bcelen, bce, eablen, eab, dx, dy, dz, ddet), ddet, liftexact(bcdlen, bcd, abdlen, abd, cdalen, cda, abclen, abc, ex, ey, ez, edet), edet, cddet, cdedet), cdedet, abdet, deter);
496
- return deter[deterlen - 1];
497
- }
498
- const xdet = vec(96);
499
- const ydet = vec(96);
500
- const zdet = vec(96);
501
- const fin = vec(1152);
502
- function liftadapt(a, b, c, az, bz, cz, x, y, z, out) {
503
- const len = sum_three_scale(a, b, c, az, bz, cz, _24);
504
- return sum_three(scale(scale(len, _24, x, _48), _48, x, xdet), xdet, scale(scale(len, _24, y, _48), _48, y, ydet), ydet, scale(scale(len, _24, z, _48), _48, z, zdet), zdet, _192, out);
505
- }
506
- function insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent) {
507
- let ab3, bc3, cd3, da3, ac3, bd3;
508
- let aextail, bextail, cextail, dextail;
509
- let aeytail, beytail, ceytail, deytail;
510
- let aeztail, beztail, ceztail, deztail;
511
- let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0;
512
- const aex = ax - ex;
513
- const bex = bx - ex;
514
- const cex = cx - ex;
515
- const dex = dx - ex;
516
- const aey = ay - ey;
517
- const bey = by - ey;
518
- const cey = cy - ey;
519
- const dey = dy - ey;
520
- const aez = az - ez;
521
- const bez = bz - ez;
522
- const cez = cz - ez;
523
- const dez = dz - ez;
524
- s1 = aex * bey;
525
- c = splitter * aex;
526
- ahi = c - (c - aex);
527
- alo = aex - ahi;
528
- c = splitter * bey;
529
- bhi = c - (c - bey);
530
- blo = bey - bhi;
531
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
532
- t1 = bex * aey;
533
- c = splitter * bex;
534
- ahi = c - (c - bex);
535
- alo = bex - ahi;
536
- c = splitter * aey;
537
- bhi = c - (c - aey);
538
- blo = aey - bhi;
539
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
540
- _i = s0 - t0;
541
- bvirt = s0 - _i;
542
- ab[0] = s0 - (_i + bvirt) + (bvirt - t0);
543
- _j = s1 + _i;
544
- bvirt = _j - s1;
545
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
546
- _i = _0 - t1;
547
- bvirt = _0 - _i;
548
- ab[1] = _0 - (_i + bvirt) + (bvirt - t1);
549
- ab3 = _j + _i;
550
- bvirt = ab3 - _j;
551
- ab[2] = _j - (ab3 - bvirt) + (_i - bvirt);
552
- ab[3] = ab3;
553
- s1 = bex * cey;
554
- c = splitter * bex;
555
- ahi = c - (c - bex);
556
- alo = bex - ahi;
557
- c = splitter * cey;
558
- bhi = c - (c - cey);
559
- blo = cey - bhi;
560
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
561
- t1 = cex * bey;
562
- c = splitter * cex;
563
- ahi = c - (c - cex);
564
- alo = cex - ahi;
565
- c = splitter * bey;
566
- bhi = c - (c - bey);
567
- blo = bey - bhi;
568
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
569
- _i = s0 - t0;
570
- bvirt = s0 - _i;
571
- bc[0] = s0 - (_i + bvirt) + (bvirt - t0);
572
- _j = s1 + _i;
573
- bvirt = _j - s1;
574
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
575
- _i = _0 - t1;
576
- bvirt = _0 - _i;
577
- bc[1] = _0 - (_i + bvirt) + (bvirt - t1);
578
- bc3 = _j + _i;
579
- bvirt = bc3 - _j;
580
- bc[2] = _j - (bc3 - bvirt) + (_i - bvirt);
581
- bc[3] = bc3;
582
- s1 = cex * dey;
583
- c = splitter * cex;
584
- ahi = c - (c - cex);
585
- alo = cex - ahi;
586
- c = splitter * dey;
587
- bhi = c - (c - dey);
588
- blo = dey - bhi;
589
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
590
- t1 = dex * cey;
591
- c = splitter * dex;
592
- ahi = c - (c - dex);
593
- alo = dex - ahi;
594
- c = splitter * cey;
595
- bhi = c - (c - cey);
596
- blo = cey - bhi;
597
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
598
- _i = s0 - t0;
599
- bvirt = s0 - _i;
600
- cd[0] = s0 - (_i + bvirt) + (bvirt - t0);
601
- _j = s1 + _i;
602
- bvirt = _j - s1;
603
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
604
- _i = _0 - t1;
605
- bvirt = _0 - _i;
606
- cd[1] = _0 - (_i + bvirt) + (bvirt - t1);
607
- cd3 = _j + _i;
608
- bvirt = cd3 - _j;
609
- cd[2] = _j - (cd3 - bvirt) + (_i - bvirt);
610
- cd[3] = cd3;
611
- s1 = dex * aey;
612
- c = splitter * dex;
613
- ahi = c - (c - dex);
614
- alo = dex - ahi;
615
- c = splitter * aey;
616
- bhi = c - (c - aey);
617
- blo = aey - bhi;
618
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
619
- t1 = aex * dey;
620
- c = splitter * aex;
621
- ahi = c - (c - aex);
622
- alo = aex - ahi;
623
- c = splitter * dey;
624
- bhi = c - (c - dey);
625
- blo = dey - bhi;
626
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
627
- _i = s0 - t0;
628
- bvirt = s0 - _i;
629
- da[0] = s0 - (_i + bvirt) + (bvirt - t0);
630
- _j = s1 + _i;
631
- bvirt = _j - s1;
632
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
633
- _i = _0 - t1;
634
- bvirt = _0 - _i;
635
- da[1] = _0 - (_i + bvirt) + (bvirt - t1);
636
- da3 = _j + _i;
637
- bvirt = da3 - _j;
638
- da[2] = _j - (da3 - bvirt) + (_i - bvirt);
639
- da[3] = da3;
640
- s1 = aex * cey;
641
- c = splitter * aex;
642
- ahi = c - (c - aex);
643
- alo = aex - ahi;
644
- c = splitter * cey;
645
- bhi = c - (c - cey);
646
- blo = cey - bhi;
647
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
648
- t1 = cex * aey;
649
- c = splitter * cex;
650
- ahi = c - (c - cex);
651
- alo = cex - ahi;
652
- c = splitter * aey;
653
- bhi = c - (c - aey);
654
- blo = aey - bhi;
655
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
656
- _i = s0 - t0;
657
- bvirt = s0 - _i;
658
- ac[0] = s0 - (_i + bvirt) + (bvirt - t0);
659
- _j = s1 + _i;
660
- bvirt = _j - s1;
661
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
662
- _i = _0 - t1;
663
- bvirt = _0 - _i;
664
- ac[1] = _0 - (_i + bvirt) + (bvirt - t1);
665
- ac3 = _j + _i;
666
- bvirt = ac3 - _j;
667
- ac[2] = _j - (ac3 - bvirt) + (_i - bvirt);
668
- ac[3] = ac3;
669
- s1 = bex * dey;
670
- c = splitter * bex;
671
- ahi = c - (c - bex);
672
- alo = bex - ahi;
673
- c = splitter * dey;
674
- bhi = c - (c - dey);
675
- blo = dey - bhi;
676
- s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
677
- t1 = dex * bey;
678
- c = splitter * dex;
679
- ahi = c - (c - dex);
680
- alo = dex - ahi;
681
- c = splitter * bey;
682
- bhi = c - (c - bey);
683
- blo = bey - bhi;
684
- t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
685
- _i = s0 - t0;
686
- bvirt = s0 - _i;
687
- bd[0] = s0 - (_i + bvirt) + (bvirt - t0);
688
- _j = s1 + _i;
689
- bvirt = _j - s1;
690
- _0 = s1 - (_j - bvirt) + (_i - bvirt);
691
- _i = _0 - t1;
692
- bvirt = _0 - _i;
693
- bd[1] = _0 - (_i + bvirt) + (bvirt - t1);
694
- bd3 = _j + _i;
695
- bvirt = bd3 - _j;
696
- bd[2] = _j - (bd3 - bvirt) + (_i - bvirt);
697
- bd[3] = bd3;
698
- const finlen = sum(sum(negate(liftadapt(bc, cd, bd, dez, bez, -cez, aex, aey, aez, adet), adet), adet, liftadapt(cd, da, ac, aez, cez, dez, bex, bey, bez, bdet), bdet, abdet), abdet, sum(negate(liftadapt(da, ab, bd, bez, dez, aez, cex, cey, cez, cdet), cdet), cdet, liftadapt(ab, bc, ac, cez, aez, -bez, dex, dey, dez, ddet), ddet, cddet), cddet, fin);
699
- let det = estimate(finlen, fin);
700
- let errbound = isperrboundB * permanent;
701
- if (det >= errbound || -det >= errbound) {
702
- return det;
703
- }
704
- bvirt = ax - aex;
705
- aextail = ax - (aex + bvirt) + (bvirt - ex);
706
- bvirt = ay - aey;
707
- aeytail = ay - (aey + bvirt) + (bvirt - ey);
708
- bvirt = az - aez;
709
- aeztail = az - (aez + bvirt) + (bvirt - ez);
710
- bvirt = bx - bex;
711
- bextail = bx - (bex + bvirt) + (bvirt - ex);
712
- bvirt = by - bey;
713
- beytail = by - (bey + bvirt) + (bvirt - ey);
714
- bvirt = bz - bez;
715
- beztail = bz - (bez + bvirt) + (bvirt - ez);
716
- bvirt = cx - cex;
717
- cextail = cx - (cex + bvirt) + (bvirt - ex);
718
- bvirt = cy - cey;
719
- ceytail = cy - (cey + bvirt) + (bvirt - ey);
720
- bvirt = cz - cez;
721
- ceztail = cz - (cez + bvirt) + (bvirt - ez);
722
- bvirt = dx - dex;
723
- dextail = dx - (dex + bvirt) + (bvirt - ex);
724
- bvirt = dy - dey;
725
- deytail = dy - (dey + bvirt) + (bvirt - ey);
726
- bvirt = dz - dez;
727
- deztail = dz - (dez + bvirt) + (bvirt - ez);
728
- if (aextail === 0 && aeytail === 0 && aeztail === 0 && bextail === 0 && beytail === 0 && beztail === 0 && cextail === 0 && ceytail === 0 && ceztail === 0 && dextail === 0 && deytail === 0 && deztail === 0) {
729
- return det;
730
- }
731
- errbound = isperrboundC * permanent + resulterrbound * Math.abs(det);
732
- const abeps = aex * beytail + bey * aextail - (aey * bextail + bex * aeytail);
733
- const bceps = bex * ceytail + cey * bextail - (bey * cextail + cex * beytail);
734
- const cdeps = cex * deytail + dey * cextail - (cey * dextail + dex * ceytail);
735
- const daeps = dex * aeytail + aey * dextail - (dey * aextail + aex * deytail);
736
- const aceps = aex * ceytail + cey * aextail - (aey * cextail + cex * aeytail);
737
- const bdeps = bex * deytail + dey * bextail - (bey * dextail + dex * beytail);
738
- det += (bex * bex + bey * bey + bez * bez) * (cez * daeps + dez * aceps + aez * cdeps + (ceztail * da3 + deztail * ac3 + aeztail * cd3)) + (dex * dex + dey * dey + dez * dez) * (aez * bceps - bez * aceps + cez * abeps + (aeztail * bc3 - beztail * ac3 + ceztail * ab3)) - ((aex * aex + aey * aey + aez * aez) * (bez * cdeps - cez * bdeps + dez * bceps + (beztail * cd3 - ceztail * bd3 + deztail * bc3)) + (cex * cex + cey * cey + cez * cez) * (dez * abeps + aez * bdeps + bez * daeps + (deztail * ab3 + aeztail * bd3 + beztail * da3))) + 2 * ((bex * bextail + bey * beytail + bez * beztail) * (cez * da3 + dez * ac3 + aez * cd3) + (dex * dextail + dey * deytail + dez * deztail) * (aez * bc3 - bez * ac3 + cez * ab3) - ((aex * aextail + aey * aeytail + aez * aeztail) * (bez * cd3 - cez * bd3 + dez * bc3) + (cex * cextail + cey * ceytail + cez * ceztail) * (dez * ab3 + aez * bd3 + bez * da3)));
739
- if (det >= errbound || -det >= errbound) {
740
- return det;
741
- }
742
- return insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez);
743
- }
744
- function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
745
- const aex = ax - ex;
746
- const bex = bx - ex;
747
- const cex = cx - ex;
748
- const dex = dx - ex;
749
- const aey = ay - ey;
750
- const bey = by - ey;
751
- const cey = cy - ey;
752
- const dey = dy - ey;
753
- const aez = az - ez;
754
- const bez = bz - ez;
755
- const cez = cz - ez;
756
- const dez = dz - ez;
757
- const aexbey = aex * bey;
758
- const bexaey = bex * aey;
759
- const ab = aexbey - bexaey;
760
- const bexcey = bex * cey;
761
- const cexbey = cex * bey;
762
- const bc = bexcey - cexbey;
763
- const cexdey = cex * dey;
764
- const dexcey = dex * cey;
765
- const cd = cexdey - dexcey;
766
- const dexaey = dex * aey;
767
- const aexdey = aex * dey;
768
- const da = dexaey - aexdey;
769
- const aexcey = aex * cey;
770
- const cexaey = cex * aey;
771
- const ac = aexcey - cexaey;
772
- const bexdey = bex * dey;
773
- const dexbey = dex * bey;
774
- const bd = bexdey - dexbey;
775
- const alift = aex * aex + aey * aey + aez * aez;
776
- const blift = bex * bex + bey * bey + bez * bez;
777
- const clift = cex * cex + cey * cey + cez * cez;
778
- const dlift = dex * dex + dey * dey + dez * dez;
779
- const det = clift * (dez * ab + aez * bd + bez * da) - dlift * (aez * bc - bez * ac + cez * ab) + (alift * (bez * cd - cez * bd + dez * bc) - blift * (cez * da + dez * ac + aez * cd));
780
- const aezplus = Math.abs(aez);
781
- const bezplus = Math.abs(bez);
782
- const cezplus = Math.abs(cez);
783
- const dezplus = Math.abs(dez);
784
- const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey);
785
- const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey);
786
- const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey);
787
- const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey);
788
- const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey);
789
- const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey);
790
- const permanent = (cexdeyplus * bezplus + bexdeyplus * cezplus + bexceyplus * dezplus) * alift + (dexaeyplus * cezplus + aexceyplus * dezplus + cexdeyplus * aezplus) * blift + (aexbeyplus * dezplus + bexdeyplus * aezplus + dexaeyplus * bezplus) * clift + (bexceyplus * aezplus + aexceyplus * bezplus + aexbeyplus * cezplus) * dlift;
791
- const errbound = isperrboundA * permanent;
792
- if (det > errbound || -det > errbound) {
793
- return det;
794
- }
795
- return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent);
796
- }
797
- function inspherefast(pax, pay, paz, pbx, pby, pbz, pcx, pcy, pcz, pdx, pdy, pdz, pex, pey, pez) {
798
- const aex = pax - pex;
799
- const bex = pbx - pex;
800
- const cex = pcx - pex;
801
- const dex = pdx - pex;
802
- const aey = pay - pey;
803
- const bey = pby - pey;
804
- const cey = pcy - pey;
805
- const dey = pdy - pey;
806
- const aez = paz - pez;
807
- const bez = pbz - pez;
808
- const cez = pcz - pez;
809
- const dez = pdz - pez;
810
- const ab = aex * bey - bex * aey;
811
- const bc = bex * cey - cex * bey;
812
- const cd = cex * dey - dex * cey;
813
- const da = dex * aey - aex * dey;
814
- const ac = aex * cey - cex * aey;
815
- const bd = bex * dey - dex * bey;
816
- const abc = aez * bc - bez * ac + cez * ab;
817
- const bcd = bez * cd - cez * bd + dez * bc;
818
- const cda = cez * da + dez * ac + aez * cd;
819
- const dab = dez * ab + aez * bd + bez * da;
820
- const alift = aex * aex + aey * aey + aez * aez;
821
- const blift = bex * bex + bey * bey + bez * bez;
822
- const clift = cex * cex + cey * cey + cez * cez;
823
- const dlift = dex * dex + dey * dey + dez * dez;
824
- return clift * dab - dlift * abc + (alift * bcd - blift * cda);
825
- }
826
- exports.insphere = insphere;
827
- exports.inspherefast = inspherefast;
828
- });