@mui/x-charts-vendor 7.12.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 (312) hide show
  1. package/README.md +76 -0
  2. package/d3-color.d.ts +5 -0
  3. package/d3-color.js +7 -0
  4. package/d3-delaunay.d.ts +5 -0
  5. package/d3-delaunay.js +7 -0
  6. package/d3-interpolate.d.ts +5 -0
  7. package/d3-interpolate.js +7 -0
  8. package/d3-scale.d.ts +5 -0
  9. package/d3-scale.js +7 -0
  10. package/d3-shape.d.ts +5 -0
  11. package/d3-shape.js +7 -0
  12. package/d3-time.d.ts +5 -0
  13. package/d3-time.js +7 -0
  14. package/es/d3-array.js +6 -0
  15. package/es/d3-color.js +6 -0
  16. package/es/d3-delaunay.js +6 -0
  17. package/es/d3-format.js +6 -0
  18. package/es/d3-interpolate.js +6 -0
  19. package/es/d3-path.js +6 -0
  20. package/es/d3-scale.js +6 -0
  21. package/es/d3-shape.js +6 -0
  22. package/es/d3-time-format.js +6 -0
  23. package/es/d3-time.js +6 -0
  24. package/es/delaunator.js +6 -0
  25. package/es/internmap.js +6 -0
  26. package/es/robust-predicates.js +6 -0
  27. package/lib/d3-array.js +6 -0
  28. package/lib/d3-color.js +6 -0
  29. package/lib/d3-delaunay.js +6 -0
  30. package/lib/d3-format.js +6 -0
  31. package/lib/d3-interpolate.js +6 -0
  32. package/lib/d3-path.js +6 -0
  33. package/lib/d3-scale.js +6 -0
  34. package/lib/d3-shape.js +6 -0
  35. package/lib/d3-time-format.js +6 -0
  36. package/lib/d3-time.js +6 -0
  37. package/lib/delaunator.js +6 -0
  38. package/lib/internmap.js +6 -0
  39. package/lib/robust-predicates.js +6 -0
  40. package/lib-vendor/d3-array/LICENSE +13 -0
  41. package/lib-vendor/d3-array/dist/d3-array.js +1349 -0
  42. package/lib-vendor/d3-array/dist/d3-array.min.js +777 -0
  43. package/lib-vendor/d3-array/src/array.js +9 -0
  44. package/lib-vendor/d3-array/src/ascending.js +9 -0
  45. package/lib-vendor/d3-array/src/bin.js +126 -0
  46. package/lib-vendor/d3-array/src/bisect.js +15 -0
  47. package/lib-vendor/d3-array/src/bisector.js +59 -0
  48. package/lib-vendor/d3-array/src/blur.js +122 -0
  49. package/lib-vendor/d3-array/src/constant.js +9 -0
  50. package/lib-vendor/d3-array/src/count.js +24 -0
  51. package/lib-vendor/d3-array/src/cross.js +35 -0
  52. package/lib-vendor/d3-array/src/cumsum.js +11 -0
  53. package/lib-vendor/d3-array/src/descending.js +9 -0
  54. package/lib-vendor/d3-array/src/deviation.js +12 -0
  55. package/lib-vendor/d3-array/src/difference.js +16 -0
  56. package/lib-vendor/d3-array/src/disjoint.js +24 -0
  57. package/lib-vendor/d3-array/src/every.js +16 -0
  58. package/lib-vendor/d3-array/src/extent.js +35 -0
  59. package/lib-vendor/d3-array/src/filter.js +17 -0
  60. package/lib-vendor/d3-array/src/fsum.js +77 -0
  61. package/lib-vendor/d3-array/src/greatest.js +31 -0
  62. package/lib-vendor/d3-array/src/greatestIndex.js +23 -0
  63. package/lib-vendor/d3-array/src/group.js +67 -0
  64. package/lib-vendor/d3-array/src/groupSort.js +15 -0
  65. package/lib-vendor/d3-array/src/identity.js +9 -0
  66. package/lib-vendor/d3-array/src/index.js +539 -0
  67. package/lib-vendor/d3-array/src/intersection.js +23 -0
  68. package/lib-vendor/d3-array/src/least.js +31 -0
  69. package/lib-vendor/d3-array/src/leastIndex.js +23 -0
  70. package/lib-vendor/d3-array/src/map.js +11 -0
  71. package/lib-vendor/d3-array/src/max.js +24 -0
  72. package/lib-vendor/d3-array/src/maxIndex.js +26 -0
  73. package/lib-vendor/d3-array/src/mean.js +25 -0
  74. package/lib-vendor/d3-array/src/median.js +16 -0
  75. package/lib-vendor/d3-array/src/merge.js +14 -0
  76. package/lib-vendor/d3-array/src/min.js +24 -0
  77. package/lib-vendor/d3-array/src/minIndex.js +26 -0
  78. package/lib-vendor/d3-array/src/mode.js +33 -0
  79. package/lib-vendor/d3-array/src/nice.js +23 -0
  80. package/lib-vendor/d3-array/src/number.js +26 -0
  81. package/lib-vendor/d3-array/src/pairs.js +21 -0
  82. package/lib-vendor/d3-array/src/permute.js +9 -0
  83. package/lib-vendor/d3-array/src/quantile.js +55 -0
  84. package/lib-vendor/d3-array/src/quickselect.js +47 -0
  85. package/lib-vendor/d3-array/src/range.js +16 -0
  86. package/lib-vendor/d3-array/src/rank.js +30 -0
  87. package/lib-vendor/d3-array/src/reduce.js +28 -0
  88. package/lib-vendor/d3-array/src/reverse.js +10 -0
  89. package/lib-vendor/d3-array/src/scan.js +12 -0
  90. package/lib-vendor/d3-array/src/shuffle.js +20 -0
  91. package/lib-vendor/d3-array/src/some.js +16 -0
  92. package/lib-vendor/d3-array/src/sort.js +45 -0
  93. package/lib-vendor/d3-array/src/subset.js +11 -0
  94. package/lib-vendor/d3-array/src/sum.js +24 -0
  95. package/lib-vendor/d3-array/src/superset.js +28 -0
  96. package/lib-vendor/d3-array/src/threshold/freedmanDiaconis.js +14 -0
  97. package/lib-vendor/d3-array/src/threshold/scott.js +14 -0
  98. package/lib-vendor/d3-array/src/threshold/sturges.js +11 -0
  99. package/lib-vendor/d3-array/src/ticks.js +60 -0
  100. package/lib-vendor/d3-array/src/transpose.js +20 -0
  101. package/lib-vendor/d3-array/src/union.js +16 -0
  102. package/lib-vendor/d3-array/src/variance.js +31 -0
  103. package/lib-vendor/d3-array/src/zip.js +11 -0
  104. package/lib-vendor/d3-color/LICENSE +13 -0
  105. package/lib-vendor/d3-color/dist/d3-color.js +532 -0
  106. package/lib-vendor/d3-color/dist/d3-color.min.js +446 -0
  107. package/lib-vendor/d3-color/src/color.js +366 -0
  108. package/lib-vendor/d3-color/src/cubehelix.js +61 -0
  109. package/lib-vendor/d3-color/src/define.js +16 -0
  110. package/lib-vendor/d3-color/src/index.js +59 -0
  111. package/lib-vendor/d3-color/src/lab.js +117 -0
  112. package/lib-vendor/d3-color/src/math.js +8 -0
  113. package/lib-vendor/d3-delaunay/LICENSE +14 -0
  114. package/lib-vendor/d3-delaunay/dist/d3-delaunay.js +1398 -0
  115. package/lib-vendor/d3-delaunay/dist/d3-delaunay.min.js +853 -0
  116. package/lib-vendor/d3-delaunay/src/delaunay.js +282 -0
  117. package/lib-vendor/d3-delaunay/src/index.js +20 -0
  118. package/lib-vendor/d3-delaunay/src/path.js +43 -0
  119. package/lib-vendor/d3-delaunay/src/polygon.js +24 -0
  120. package/lib-vendor/d3-delaunay/src/voronoi.js +390 -0
  121. package/lib-vendor/d3-format/LICENSE +13 -0
  122. package/lib-vendor/d3-format/dist/d3-format.js +313 -0
  123. package/lib-vendor/d3-format/dist/d3-format.min.js +193 -0
  124. package/lib-vendor/d3-format/src/defaultLocale.js +23 -0
  125. package/lib-vendor/d3-format/src/exponent.js +10 -0
  126. package/lib-vendor/d3-format/src/formatDecimal.js +23 -0
  127. package/lib-vendor/d3-format/src/formatGroup.js +22 -0
  128. package/lib-vendor/d3-format/src/formatNumerals.js +13 -0
  129. package/lib-vendor/d3-format/src/formatPrefixAuto.js +18 -0
  130. package/lib-vendor/d3-format/src/formatRounded.js +14 -0
  131. package/lib-vendor/d3-format/src/formatSpecifier.js +42 -0
  132. package/lib-vendor/d3-format/src/formatTrim.js +25 -0
  133. package/lib-vendor/d3-format/src/formatTypes.js +25 -0
  134. package/lib-vendor/d3-format/src/identity.js +9 -0
  135. package/lib-vendor/d3-format/src/index.js +68 -0
  136. package/lib-vendor/d3-format/src/locale.js +152 -0
  137. package/lib-vendor/d3-format/src/precisionFixed.js +11 -0
  138. package/lib-vendor/d3-format/src/precisionPrefix.js +11 -0
  139. package/lib-vendor/d3-format/src/precisionRound.js +12 -0
  140. package/lib-vendor/d3-interpolate/LICENSE +13 -0
  141. package/lib-vendor/d3-interpolate/dist/d3-interpolate.js +543 -0
  142. package/lib-vendor/d3-interpolate/dist/d3-interpolate.min.js +362 -0
  143. package/lib-vendor/d3-interpolate/src/array.js +28 -0
  144. package/lib-vendor/d3-interpolate/src/basis.js +23 -0
  145. package/lib-vendor/d3-interpolate/src/basisClosed.js +18 -0
  146. package/lib-vendor/d3-interpolate/src/color.js +33 -0
  147. package/lib-vendor/d3-interpolate/src/constant.js +8 -0
  148. package/lib-vendor/d3-interpolate/src/cubehelix.js +32 -0
  149. package/lib-vendor/d3-interpolate/src/date.js +12 -0
  150. package/lib-vendor/d3-interpolate/src/discrete.js +12 -0
  151. package/lib-vendor/d3-interpolate/src/hcl.js +27 -0
  152. package/lib-vendor/d3-interpolate/src/hsl.js +27 -0
  153. package/lib-vendor/d3-interpolate/src/hue.js +14 -0
  154. package/lib-vendor/d3-interpolate/src/index.js +191 -0
  155. package/lib-vendor/d3-interpolate/src/lab.js +22 -0
  156. package/lib-vendor/d3-interpolate/src/number.js +11 -0
  157. package/lib-vendor/d3-interpolate/src/numberArray.js +20 -0
  158. package/lib-vendor/d3-interpolate/src/object.js +26 -0
  159. package/lib-vendor/d3-interpolate/src/piecewise.js +20 -0
  160. package/lib-vendor/d3-interpolate/src/quantize.js +11 -0
  161. package/lib-vendor/d3-interpolate/src/rgb.js +59 -0
  162. package/lib-vendor/d3-interpolate/src/round.js +11 -0
  163. package/lib-vendor/d3-interpolate/src/string.js +75 -0
  164. package/lib-vendor/d3-interpolate/src/transform/decompose.js +31 -0
  165. package/lib-vendor/d3-interpolate/src/transform/index.js +83 -0
  166. package/lib-vendor/d3-interpolate/src/transform/parse.js +25 -0
  167. package/lib-vendor/d3-interpolate/src/value.js +23 -0
  168. package/lib-vendor/d3-interpolate/src/zoom.js +66 -0
  169. package/lib-vendor/d3-path/LICENSE +13 -0
  170. package/lib-vendor/d3-path/dist/d3-path.js +161 -0
  171. package/lib-vendor/d3-path/dist/d3-path.min.js +92 -0
  172. package/lib-vendor/d3-path/src/index.js +24 -0
  173. package/lib-vendor/d3-path/src/path.js +158 -0
  174. package/lib-vendor/d3-scale/LICENSE +13 -0
  175. package/lib-vendor/d3-scale/dist/d3-scale.js +944 -0
  176. package/lib-vendor/d3-scale/dist/d3-scale.min.js +690 -0
  177. package/lib-vendor/d3-scale/src/band.js +87 -0
  178. package/lib-vendor/d3-scale/src/colors.js +11 -0
  179. package/lib-vendor/d3-scale/src/constant.js +11 -0
  180. package/lib-vendor/d3-scale/src/continuous.js +116 -0
  181. package/lib-vendor/d3-scale/src/diverging.js +91 -0
  182. package/lib-vendor/d3-scale/src/identity.js +27 -0
  183. package/lib-vendor/d3-scale/src/index.js +193 -0
  184. package/lib-vendor/d3-scale/src/init.js +38 -0
  185. package/lib-vendor/d3-scale/src/linear.js +67 -0
  186. package/lib-vendor/d3-scale/src/log.js +123 -0
  187. package/lib-vendor/d3-scale/src/nice.js +21 -0
  188. package/lib-vendor/d3-scale/src/number.js +9 -0
  189. package/lib-vendor/d3-scale/src/ordinal.js +44 -0
  190. package/lib-vendor/d3-scale/src/pow.js +44 -0
  191. package/lib-vendor/d3-scale/src/quantile.js +48 -0
  192. package/lib-vendor/d3-scale/src/quantize.js +46 -0
  193. package/lib-vendor/d3-scale/src/radial.js +53 -0
  194. package/lib-vendor/d3-scale/src/sequential.js +90 -0
  195. package/lib-vendor/d3-scale/src/sequentialQuantile.js +38 -0
  196. package/lib-vendor/d3-scale/src/symlog.js +35 -0
  197. package/lib-vendor/d3-scale/src/threshold.js +34 -0
  198. package/lib-vendor/d3-scale/src/tickFormat.js +37 -0
  199. package/lib-vendor/d3-scale/src/time.js +62 -0
  200. package/lib-vendor/d3-scale/src/utcTime.js +13 -0
  201. package/lib-vendor/d3-shape/LICENSE +13 -0
  202. package/lib-vendor/d3-shape/dist/d3-shape.js +2004 -0
  203. package/lib-vendor/d3-shape/dist/d3-shape.min.js +1389 -0
  204. package/lib-vendor/d3-shape/src/arc.js +250 -0
  205. package/lib-vendor/d3-shape/src/area.js +98 -0
  206. package/lib-vendor/d3-shape/src/areaRadial.js +42 -0
  207. package/lib-vendor/d3-shape/src/array.js +12 -0
  208. package/lib-vendor/d3-shape/src/constant.js +11 -0
  209. package/lib-vendor/d3-shape/src/curve/basis.js +62 -0
  210. package/lib-vendor/d3-shape/src/curve/basisClosed.js +70 -0
  211. package/lib-vendor/d3-shape/src/curve/basisOpen.js +54 -0
  212. package/lib-vendor/d3-shape/src/curve/bump.js +81 -0
  213. package/lib-vendor/d3-shape/src/curve/bundle.js +50 -0
  214. package/lib-vendor/d3-shape/src/curve/cardinal.js +69 -0
  215. package/lib-vendor/d3-shape/src/curve/cardinalClosed.js +76 -0
  216. package/lib-vendor/d3-shape/src/curve/cardinalOpen.js +60 -0
  217. package/lib-vendor/d3-shape/src/curve/catmullRom.js +92 -0
  218. package/lib-vendor/d3-shape/src/curve/catmullRomClosed.js +83 -0
  219. package/lib-vendor/d3-shape/src/curve/catmullRomOpen.js +67 -0
  220. package/lib-vendor/d3-shape/src/curve/linear.js +42 -0
  221. package/lib-vendor/d3-shape/src/curve/linearClosed.js +28 -0
  222. package/lib-vendor/d3-shape/src/curve/monotone.js +121 -0
  223. package/lib-vendor/d3-shape/src/curve/natural.js +67 -0
  224. package/lib-vendor/d3-shape/src/curve/radial.js +37 -0
  225. package/lib-vendor/d3-shape/src/curve/step.js +63 -0
  226. package/lib-vendor/d3-shape/src/descending.js +9 -0
  227. package/lib-vendor/d3-shape/src/identity.js +9 -0
  228. package/lib-vendor/d3-shape/src/index.js +436 -0
  229. package/lib-vendor/d3-shape/src/line.js +52 -0
  230. package/lib-vendor/d3-shape/src/lineRadial.js +24 -0
  231. package/lib-vendor/d3-shape/src/link.js +70 -0
  232. package/lib-vendor/d3-shape/src/math.js +26 -0
  233. package/lib-vendor/d3-shape/src/noop.js +7 -0
  234. package/lib-vendor/d3-shape/src/offset/diverging.js +20 -0
  235. package/lib-vendor/d3-shape/src/offset/expand.js +16 -0
  236. package/lib-vendor/d3-shape/src/offset/none.js +15 -0
  237. package/lib-vendor/d3-shape/src/offset/silhouette.js +16 -0
  238. package/lib-vendor/d3-shape/src/offset/wiggle.js +30 -0
  239. package/lib-vendor/d3-shape/src/order/appearance.js +23 -0
  240. package/lib-vendor/d3-shape/src/order/ascending.js +23 -0
  241. package/lib-vendor/d3-shape/src/order/descending.js +11 -0
  242. package/lib-vendor/d3-shape/src/order/insideOut.js +31 -0
  243. package/lib-vendor/d3-shape/src/order/none.js +12 -0
  244. package/lib-vendor/d3-shape/src/order/reverse.js +11 -0
  245. package/lib-vendor/d3-shape/src/path.js +22 -0
  246. package/lib-vendor/d3-shape/src/pie.js +79 -0
  247. package/lib-vendor/d3-shape/src/point.js +13 -0
  248. package/lib-vendor/d3-shape/src/pointRadial.js +9 -0
  249. package/lib-vendor/d3-shape/src/stack.js +55 -0
  250. package/lib-vendor/d3-shape/src/symbol/asterisk.js +21 -0
  251. package/lib-vendor/d3-shape/src/symbol/circle.js +14 -0
  252. package/lib-vendor/d3-shape/src/symbol/cross.js +25 -0
  253. package/lib-vendor/d3-shape/src/symbol/diamond.js +20 -0
  254. package/lib-vendor/d3-shape/src/symbol/diamond2.js +17 -0
  255. package/lib-vendor/d3-shape/src/symbol/plus.js +16 -0
  256. package/lib-vendor/d3-shape/src/symbol/square.js +14 -0
  257. package/lib-vendor/d3-shape/src/symbol/square2.js +17 -0
  258. package/lib-vendor/d3-shape/src/symbol/star.js +28 -0
  259. package/lib-vendor/d3-shape/src/symbol/times.js +16 -0
  260. package/lib-vendor/d3-shape/src/symbol/triangle.js +17 -0
  261. package/lib-vendor/d3-shape/src/symbol/triangle2.js +19 -0
  262. package/lib-vendor/d3-shape/src/symbol/wye.js +32 -0
  263. package/lib-vendor/d3-shape/src/symbol.js +50 -0
  264. package/lib-vendor/d3-time/LICENSE +13 -0
  265. package/lib-vendor/d3-time/dist/d3-time.js +367 -0
  266. package/lib-vendor/d3-time/dist/d3-time.min.js +190 -0
  267. package/lib-vendor/d3-time/src/day.js +30 -0
  268. package/lib-vendor/d3-time/src/duration.js +13 -0
  269. package/lib-vendor/d3-time/src/hour.js +28 -0
  270. package/lib-vendor/d3-time/src/index.js +417 -0
  271. package/lib-vendor/d3-time/src/interval.js +61 -0
  272. package/lib-vendor/d3-time/src/millisecond.js +29 -0
  273. package/lib-vendor/d3-time/src/minute.js +28 -0
  274. package/lib-vendor/d3-time/src/month.js +29 -0
  275. package/lib-vendor/d3-time/src/second.js +18 -0
  276. package/lib-vendor/d3-time/src/ticks.js +41 -0
  277. package/lib-vendor/d3-time/src/week.js +56 -0
  278. package/lib-vendor/d3-time/src/year.js +51 -0
  279. package/lib-vendor/d3-time-format/LICENSE +13 -0
  280. package/lib-vendor/d3-time-format/dist/d3-time-format.js +648 -0
  281. package/lib-vendor/d3-time-format/dist/d3-time-format.min.js +528 -0
  282. package/lib-vendor/d3-time-format/src/defaultLocale.js +32 -0
  283. package/lib-vendor/d3-time-format/src/index.js +60 -0
  284. package/lib-vendor/d3-time-format/src/isoFormat.js +13 -0
  285. package/lib-vendor/d3-time-format/src/isoParse.js +14 -0
  286. package/lib-vendor/d3-time-format/src/locale.js +606 -0
  287. package/lib-vendor/delaunator/LICENSE +15 -0
  288. package/lib-vendor/delaunator/delaunator.js +688 -0
  289. package/lib-vendor/delaunator/delaunator.min.js +316 -0
  290. package/lib-vendor/delaunator/index.js +440 -0
  291. package/lib-vendor/internmap/LICENSE +13 -0
  292. package/lib-vendor/internmap/dist/internmap.js +93 -0
  293. package/lib-vendor/internmap/dist/internmap.min.js +81 -0
  294. package/lib-vendor/internmap/src/index.js +87 -0
  295. package/lib-vendor/robust-predicates/LICENSE +24 -0
  296. package/lib-vendor/robust-predicates/esm/incircle.js +667 -0
  297. package/lib-vendor/robust-predicates/esm/insphere.js +693 -0
  298. package/lib-vendor/robust-predicates/esm/orient2d.js +174 -0
  299. package/lib-vendor/robust-predicates/esm/orient3d.js +422 -0
  300. package/lib-vendor/robust-predicates/esm/util.js +147 -0
  301. package/lib-vendor/robust-predicates/index.js +57 -0
  302. package/lib-vendor/robust-predicates/umd/incircle.js +798 -0
  303. package/lib-vendor/robust-predicates/umd/incircle.min.js +170 -0
  304. package/lib-vendor/robust-predicates/umd/insphere.js +828 -0
  305. package/lib-vendor/robust-predicates/umd/insphere.min.js +223 -0
  306. package/lib-vendor/robust-predicates/umd/orient2d.js +260 -0
  307. package/lib-vendor/robust-predicates/umd/orient2d.min.js +69 -0
  308. package/lib-vendor/robust-predicates/umd/orient3d.js +550 -0
  309. package/lib-vendor/robust-predicates/umd/orient3d.min.js +133 -0
  310. package/lib-vendor/robust-predicates/umd/predicates.js +2073 -0
  311. package/lib-vendor/robust-predicates/umd/predicates.min.js +468 -0
  312. package/package.json +63 -0
@@ -0,0 +1,693 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.insphere = insphere;
7
+ exports.inspherefast = inspherefast;
8
+ var _util = require("./util.js");
9
+ const isperrboundA = (16 + 224 * _util.epsilon) * _util.epsilon;
10
+ const isperrboundB = (5 + 72 * _util.epsilon) * _util.epsilon;
11
+ const isperrboundC = (71 + 1408 * _util.epsilon) * _util.epsilon * _util.epsilon;
12
+ const ab = (0, _util.vec)(4);
13
+ const bc = (0, _util.vec)(4);
14
+ const cd = (0, _util.vec)(4);
15
+ const de = (0, _util.vec)(4);
16
+ const ea = (0, _util.vec)(4);
17
+ const ac = (0, _util.vec)(4);
18
+ const bd = (0, _util.vec)(4);
19
+ const ce = (0, _util.vec)(4);
20
+ const da = (0, _util.vec)(4);
21
+ const eb = (0, _util.vec)(4);
22
+ const abc = (0, _util.vec)(24);
23
+ const bcd = (0, _util.vec)(24);
24
+ const cde = (0, _util.vec)(24);
25
+ const dea = (0, _util.vec)(24);
26
+ const eab = (0, _util.vec)(24);
27
+ const abd = (0, _util.vec)(24);
28
+ const bce = (0, _util.vec)(24);
29
+ const cda = (0, _util.vec)(24);
30
+ const deb = (0, _util.vec)(24);
31
+ const eac = (0, _util.vec)(24);
32
+ const adet = (0, _util.vec)(1152);
33
+ const bdet = (0, _util.vec)(1152);
34
+ const cdet = (0, _util.vec)(1152);
35
+ const ddet = (0, _util.vec)(1152);
36
+ const edet = (0, _util.vec)(1152);
37
+ const abdet = (0, _util.vec)(2304);
38
+ const cddet = (0, _util.vec)(2304);
39
+ const cdedet = (0, _util.vec)(3456);
40
+ const deter = (0, _util.vec)(5760);
41
+ const _8 = (0, _util.vec)(8);
42
+ const _8b = (0, _util.vec)(8);
43
+ const _8c = (0, _util.vec)(8);
44
+ const _16 = (0, _util.vec)(16);
45
+ const _24 = (0, _util.vec)(24);
46
+ const _48 = (0, _util.vec)(48);
47
+ const _48b = (0, _util.vec)(48);
48
+ const _96 = (0, _util.vec)(96);
49
+ const _192 = (0, _util.vec)(192);
50
+ const _384x = (0, _util.vec)(384);
51
+ const _384y = (0, _util.vec)(384);
52
+ const _384z = (0, _util.vec)(384);
53
+ const _768 = (0, _util.vec)(768);
54
+ function sum_three_scale(a, b, c, az, bz, cz, out) {
55
+ return (0, _util.sum_three)((0, _util.scale)(4, a, az, _8), _8, (0, _util.scale)(4, b, bz, _8b), _8b, (0, _util.scale)(4, c, cz, _8c), _8c, _16, out);
56
+ }
57
+ function liftexact(alen, a, blen, b, clen, c, dlen, d, x, y, z, out) {
58
+ const len = (0, _util.sum)((0, _util.sum)(alen, a, blen, b, _48), _48, (0, _util.negate)((0, _util.sum)(clen, c, dlen, d, _48b), _48b), _48b, _96);
59
+ return (0, _util.sum_three)((0, _util.scale)((0, _util.scale)(len, _96, x, _192), _192, x, _384x), _384x, (0, _util.scale)((0, _util.scale)(len, _96, y, _192), _192, y, _384y), _384y, (0, _util.scale)((0, _util.scale)(len, _96, z, _192), _192, z, _384z), _384z, _768, out);
60
+ }
61
+ function insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
62
+ let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;
63
+ s1 = ax * by;
64
+ c = _util.splitter * ax;
65
+ ahi = c - (c - ax);
66
+ alo = ax - ahi;
67
+ c = _util.splitter * by;
68
+ bhi = c - (c - by);
69
+ blo = by - bhi;
70
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
71
+ t1 = bx * ay;
72
+ c = _util.splitter * bx;
73
+ ahi = c - (c - bx);
74
+ alo = bx - ahi;
75
+ c = _util.splitter * ay;
76
+ bhi = c - (c - ay);
77
+ blo = ay - bhi;
78
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
79
+ _i = s0 - t0;
80
+ bvirt = s0 - _i;
81
+ ab[0] = s0 - (_i + bvirt) + (bvirt - t0);
82
+ _j = s1 + _i;
83
+ bvirt = _j - s1;
84
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
85
+ _i = _0 - t1;
86
+ bvirt = _0 - _i;
87
+ ab[1] = _0 - (_i + bvirt) + (bvirt - t1);
88
+ u3 = _j + _i;
89
+ bvirt = u3 - _j;
90
+ ab[2] = _j - (u3 - bvirt) + (_i - bvirt);
91
+ ab[3] = u3;
92
+ s1 = bx * cy;
93
+ c = _util.splitter * bx;
94
+ ahi = c - (c - bx);
95
+ alo = bx - ahi;
96
+ c = _util.splitter * cy;
97
+ bhi = c - (c - cy);
98
+ blo = cy - bhi;
99
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
100
+ t1 = cx * by;
101
+ c = _util.splitter * cx;
102
+ ahi = c - (c - cx);
103
+ alo = cx - ahi;
104
+ c = _util.splitter * by;
105
+ bhi = c - (c - by);
106
+ blo = by - bhi;
107
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
108
+ _i = s0 - t0;
109
+ bvirt = s0 - _i;
110
+ bc[0] = s0 - (_i + bvirt) + (bvirt - t0);
111
+ _j = s1 + _i;
112
+ bvirt = _j - s1;
113
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
114
+ _i = _0 - t1;
115
+ bvirt = _0 - _i;
116
+ bc[1] = _0 - (_i + bvirt) + (bvirt - t1);
117
+ u3 = _j + _i;
118
+ bvirt = u3 - _j;
119
+ bc[2] = _j - (u3 - bvirt) + (_i - bvirt);
120
+ bc[3] = u3;
121
+ s1 = cx * dy;
122
+ c = _util.splitter * cx;
123
+ ahi = c - (c - cx);
124
+ alo = cx - ahi;
125
+ c = _util.splitter * dy;
126
+ bhi = c - (c - dy);
127
+ blo = dy - bhi;
128
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
129
+ t1 = dx * cy;
130
+ c = _util.splitter * dx;
131
+ ahi = c - (c - dx);
132
+ alo = dx - ahi;
133
+ c = _util.splitter * cy;
134
+ bhi = c - (c - cy);
135
+ blo = cy - bhi;
136
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
137
+ _i = s0 - t0;
138
+ bvirt = s0 - _i;
139
+ cd[0] = s0 - (_i + bvirt) + (bvirt - t0);
140
+ _j = s1 + _i;
141
+ bvirt = _j - s1;
142
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
143
+ _i = _0 - t1;
144
+ bvirt = _0 - _i;
145
+ cd[1] = _0 - (_i + bvirt) + (bvirt - t1);
146
+ u3 = _j + _i;
147
+ bvirt = u3 - _j;
148
+ cd[2] = _j - (u3 - bvirt) + (_i - bvirt);
149
+ cd[3] = u3;
150
+ s1 = dx * ey;
151
+ c = _util.splitter * dx;
152
+ ahi = c - (c - dx);
153
+ alo = dx - ahi;
154
+ c = _util.splitter * ey;
155
+ bhi = c - (c - ey);
156
+ blo = ey - bhi;
157
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
158
+ t1 = ex * dy;
159
+ c = _util.splitter * ex;
160
+ ahi = c - (c - ex);
161
+ alo = ex - ahi;
162
+ c = _util.splitter * dy;
163
+ bhi = c - (c - dy);
164
+ blo = dy - bhi;
165
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
166
+ _i = s0 - t0;
167
+ bvirt = s0 - _i;
168
+ de[0] = s0 - (_i + bvirt) + (bvirt - t0);
169
+ _j = s1 + _i;
170
+ bvirt = _j - s1;
171
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
172
+ _i = _0 - t1;
173
+ bvirt = _0 - _i;
174
+ de[1] = _0 - (_i + bvirt) + (bvirt - t1);
175
+ u3 = _j + _i;
176
+ bvirt = u3 - _j;
177
+ de[2] = _j - (u3 - bvirt) + (_i - bvirt);
178
+ de[3] = u3;
179
+ s1 = ex * ay;
180
+ c = _util.splitter * ex;
181
+ ahi = c - (c - ex);
182
+ alo = ex - ahi;
183
+ c = _util.splitter * ay;
184
+ bhi = c - (c - ay);
185
+ blo = ay - bhi;
186
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
187
+ t1 = ax * ey;
188
+ c = _util.splitter * ax;
189
+ ahi = c - (c - ax);
190
+ alo = ax - ahi;
191
+ c = _util.splitter * ey;
192
+ bhi = c - (c - ey);
193
+ blo = ey - bhi;
194
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
195
+ _i = s0 - t0;
196
+ bvirt = s0 - _i;
197
+ ea[0] = s0 - (_i + bvirt) + (bvirt - t0);
198
+ _j = s1 + _i;
199
+ bvirt = _j - s1;
200
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
201
+ _i = _0 - t1;
202
+ bvirt = _0 - _i;
203
+ ea[1] = _0 - (_i + bvirt) + (bvirt - t1);
204
+ u3 = _j + _i;
205
+ bvirt = u3 - _j;
206
+ ea[2] = _j - (u3 - bvirt) + (_i - bvirt);
207
+ ea[3] = u3;
208
+ s1 = ax * cy;
209
+ c = _util.splitter * ax;
210
+ ahi = c - (c - ax);
211
+ alo = ax - ahi;
212
+ c = _util.splitter * cy;
213
+ bhi = c - (c - cy);
214
+ blo = cy - bhi;
215
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
216
+ t1 = cx * ay;
217
+ c = _util.splitter * cx;
218
+ ahi = c - (c - cx);
219
+ alo = cx - ahi;
220
+ c = _util.splitter * ay;
221
+ bhi = c - (c - ay);
222
+ blo = ay - bhi;
223
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
224
+ _i = s0 - t0;
225
+ bvirt = s0 - _i;
226
+ ac[0] = s0 - (_i + bvirt) + (bvirt - t0);
227
+ _j = s1 + _i;
228
+ bvirt = _j - s1;
229
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
230
+ _i = _0 - t1;
231
+ bvirt = _0 - _i;
232
+ ac[1] = _0 - (_i + bvirt) + (bvirt - t1);
233
+ u3 = _j + _i;
234
+ bvirt = u3 - _j;
235
+ ac[2] = _j - (u3 - bvirt) + (_i - bvirt);
236
+ ac[3] = u3;
237
+ s1 = bx * dy;
238
+ c = _util.splitter * bx;
239
+ ahi = c - (c - bx);
240
+ alo = bx - ahi;
241
+ c = _util.splitter * dy;
242
+ bhi = c - (c - dy);
243
+ blo = dy - bhi;
244
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
245
+ t1 = dx * by;
246
+ c = _util.splitter * dx;
247
+ ahi = c - (c - dx);
248
+ alo = dx - ahi;
249
+ c = _util.splitter * by;
250
+ bhi = c - (c - by);
251
+ blo = by - bhi;
252
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
253
+ _i = s0 - t0;
254
+ bvirt = s0 - _i;
255
+ bd[0] = s0 - (_i + bvirt) + (bvirt - t0);
256
+ _j = s1 + _i;
257
+ bvirt = _j - s1;
258
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
259
+ _i = _0 - t1;
260
+ bvirt = _0 - _i;
261
+ bd[1] = _0 - (_i + bvirt) + (bvirt - t1);
262
+ u3 = _j + _i;
263
+ bvirt = u3 - _j;
264
+ bd[2] = _j - (u3 - bvirt) + (_i - bvirt);
265
+ bd[3] = u3;
266
+ s1 = cx * ey;
267
+ c = _util.splitter * cx;
268
+ ahi = c - (c - cx);
269
+ alo = cx - ahi;
270
+ c = _util.splitter * ey;
271
+ bhi = c - (c - ey);
272
+ blo = ey - bhi;
273
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
274
+ t1 = ex * cy;
275
+ c = _util.splitter * ex;
276
+ ahi = c - (c - ex);
277
+ alo = ex - ahi;
278
+ c = _util.splitter * cy;
279
+ bhi = c - (c - cy);
280
+ blo = cy - bhi;
281
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
282
+ _i = s0 - t0;
283
+ bvirt = s0 - _i;
284
+ ce[0] = s0 - (_i + bvirt) + (bvirt - t0);
285
+ _j = s1 + _i;
286
+ bvirt = _j - s1;
287
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
288
+ _i = _0 - t1;
289
+ bvirt = _0 - _i;
290
+ ce[1] = _0 - (_i + bvirt) + (bvirt - t1);
291
+ u3 = _j + _i;
292
+ bvirt = u3 - _j;
293
+ ce[2] = _j - (u3 - bvirt) + (_i - bvirt);
294
+ ce[3] = u3;
295
+ s1 = dx * ay;
296
+ c = _util.splitter * dx;
297
+ ahi = c - (c - dx);
298
+ alo = dx - ahi;
299
+ c = _util.splitter * ay;
300
+ bhi = c - (c - ay);
301
+ blo = ay - bhi;
302
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
303
+ t1 = ax * dy;
304
+ c = _util.splitter * ax;
305
+ ahi = c - (c - ax);
306
+ alo = ax - ahi;
307
+ c = _util.splitter * dy;
308
+ bhi = c - (c - dy);
309
+ blo = dy - bhi;
310
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
311
+ _i = s0 - t0;
312
+ bvirt = s0 - _i;
313
+ da[0] = s0 - (_i + bvirt) + (bvirt - t0);
314
+ _j = s1 + _i;
315
+ bvirt = _j - s1;
316
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
317
+ _i = _0 - t1;
318
+ bvirt = _0 - _i;
319
+ da[1] = _0 - (_i + bvirt) + (bvirt - t1);
320
+ u3 = _j + _i;
321
+ bvirt = u3 - _j;
322
+ da[2] = _j - (u3 - bvirt) + (_i - bvirt);
323
+ da[3] = u3;
324
+ s1 = ex * by;
325
+ c = _util.splitter * ex;
326
+ ahi = c - (c - ex);
327
+ alo = ex - ahi;
328
+ c = _util.splitter * by;
329
+ bhi = c - (c - by);
330
+ blo = by - bhi;
331
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
332
+ t1 = bx * ey;
333
+ c = _util.splitter * bx;
334
+ ahi = c - (c - bx);
335
+ alo = bx - ahi;
336
+ c = _util.splitter * ey;
337
+ bhi = c - (c - ey);
338
+ blo = ey - bhi;
339
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
340
+ _i = s0 - t0;
341
+ bvirt = s0 - _i;
342
+ eb[0] = s0 - (_i + bvirt) + (bvirt - t0);
343
+ _j = s1 + _i;
344
+ bvirt = _j - s1;
345
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
346
+ _i = _0 - t1;
347
+ bvirt = _0 - _i;
348
+ eb[1] = _0 - (_i + bvirt) + (bvirt - t1);
349
+ u3 = _j + _i;
350
+ bvirt = u3 - _j;
351
+ eb[2] = _j - (u3 - bvirt) + (_i - bvirt);
352
+ eb[3] = u3;
353
+ const abclen = sum_three_scale(ab, bc, ac, cz, az, -bz, abc);
354
+ const bcdlen = sum_three_scale(bc, cd, bd, dz, bz, -cz, bcd);
355
+ const cdelen = sum_three_scale(cd, de, ce, ez, cz, -dz, cde);
356
+ const dealen = sum_three_scale(de, ea, da, az, dz, -ez, dea);
357
+ const eablen = sum_three_scale(ea, ab, eb, bz, ez, -az, eab);
358
+ const abdlen = sum_three_scale(ab, bd, da, dz, az, bz, abd);
359
+ const bcelen = sum_three_scale(bc, ce, eb, ez, bz, cz, bce);
360
+ const cdalen = sum_three_scale(cd, da, ac, az, cz, dz, cda);
361
+ const deblen = sum_three_scale(de, eb, bd, bz, dz, ez, deb);
362
+ const eaclen = sum_three_scale(ea, ac, ce, cz, ez, az, eac);
363
+ const deterlen = (0, _util.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, (0, _util.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);
364
+ return deter[deterlen - 1];
365
+ }
366
+ const xdet = (0, _util.vec)(96);
367
+ const ydet = (0, _util.vec)(96);
368
+ const zdet = (0, _util.vec)(96);
369
+ const fin = (0, _util.vec)(1152);
370
+ function liftadapt(a, b, c, az, bz, cz, x, y, z, out) {
371
+ const len = sum_three_scale(a, b, c, az, bz, cz, _24);
372
+ return (0, _util.sum_three)((0, _util.scale)((0, _util.scale)(len, _24, x, _48), _48, x, xdet), xdet, (0, _util.scale)((0, _util.scale)(len, _24, y, _48), _48, y, ydet), ydet, (0, _util.scale)((0, _util.scale)(len, _24, z, _48), _48, z, zdet), zdet, _192, out);
373
+ }
374
+ function insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent) {
375
+ let ab3, bc3, cd3, da3, ac3, bd3;
376
+ let aextail, bextail, cextail, dextail;
377
+ let aeytail, beytail, ceytail, deytail;
378
+ let aeztail, beztail, ceztail, deztail;
379
+ let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0;
380
+ const aex = ax - ex;
381
+ const bex = bx - ex;
382
+ const cex = cx - ex;
383
+ const dex = dx - ex;
384
+ const aey = ay - ey;
385
+ const bey = by - ey;
386
+ const cey = cy - ey;
387
+ const dey = dy - ey;
388
+ const aez = az - ez;
389
+ const bez = bz - ez;
390
+ const cez = cz - ez;
391
+ const dez = dz - ez;
392
+ s1 = aex * bey;
393
+ c = _util.splitter * aex;
394
+ ahi = c - (c - aex);
395
+ alo = aex - ahi;
396
+ c = _util.splitter * bey;
397
+ bhi = c - (c - bey);
398
+ blo = bey - bhi;
399
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
400
+ t1 = bex * aey;
401
+ c = _util.splitter * bex;
402
+ ahi = c - (c - bex);
403
+ alo = bex - ahi;
404
+ c = _util.splitter * aey;
405
+ bhi = c - (c - aey);
406
+ blo = aey - bhi;
407
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
408
+ _i = s0 - t0;
409
+ bvirt = s0 - _i;
410
+ ab[0] = s0 - (_i + bvirt) + (bvirt - t0);
411
+ _j = s1 + _i;
412
+ bvirt = _j - s1;
413
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
414
+ _i = _0 - t1;
415
+ bvirt = _0 - _i;
416
+ ab[1] = _0 - (_i + bvirt) + (bvirt - t1);
417
+ ab3 = _j + _i;
418
+ bvirt = ab3 - _j;
419
+ ab[2] = _j - (ab3 - bvirt) + (_i - bvirt);
420
+ ab[3] = ab3;
421
+ s1 = bex * cey;
422
+ c = _util.splitter * bex;
423
+ ahi = c - (c - bex);
424
+ alo = bex - ahi;
425
+ c = _util.splitter * cey;
426
+ bhi = c - (c - cey);
427
+ blo = cey - bhi;
428
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
429
+ t1 = cex * bey;
430
+ c = _util.splitter * cex;
431
+ ahi = c - (c - cex);
432
+ alo = cex - ahi;
433
+ c = _util.splitter * bey;
434
+ bhi = c - (c - bey);
435
+ blo = bey - bhi;
436
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
437
+ _i = s0 - t0;
438
+ bvirt = s0 - _i;
439
+ bc[0] = s0 - (_i + bvirt) + (bvirt - t0);
440
+ _j = s1 + _i;
441
+ bvirt = _j - s1;
442
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
443
+ _i = _0 - t1;
444
+ bvirt = _0 - _i;
445
+ bc[1] = _0 - (_i + bvirt) + (bvirt - t1);
446
+ bc3 = _j + _i;
447
+ bvirt = bc3 - _j;
448
+ bc[2] = _j - (bc3 - bvirt) + (_i - bvirt);
449
+ bc[3] = bc3;
450
+ s1 = cex * dey;
451
+ c = _util.splitter * cex;
452
+ ahi = c - (c - cex);
453
+ alo = cex - ahi;
454
+ c = _util.splitter * dey;
455
+ bhi = c - (c - dey);
456
+ blo = dey - bhi;
457
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
458
+ t1 = dex * cey;
459
+ c = _util.splitter * dex;
460
+ ahi = c - (c - dex);
461
+ alo = dex - ahi;
462
+ c = _util.splitter * cey;
463
+ bhi = c - (c - cey);
464
+ blo = cey - bhi;
465
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
466
+ _i = s0 - t0;
467
+ bvirt = s0 - _i;
468
+ cd[0] = s0 - (_i + bvirt) + (bvirt - t0);
469
+ _j = s1 + _i;
470
+ bvirt = _j - s1;
471
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
472
+ _i = _0 - t1;
473
+ bvirt = _0 - _i;
474
+ cd[1] = _0 - (_i + bvirt) + (bvirt - t1);
475
+ cd3 = _j + _i;
476
+ bvirt = cd3 - _j;
477
+ cd[2] = _j - (cd3 - bvirt) + (_i - bvirt);
478
+ cd[3] = cd3;
479
+ s1 = dex * aey;
480
+ c = _util.splitter * dex;
481
+ ahi = c - (c - dex);
482
+ alo = dex - ahi;
483
+ c = _util.splitter * aey;
484
+ bhi = c - (c - aey);
485
+ blo = aey - bhi;
486
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
487
+ t1 = aex * dey;
488
+ c = _util.splitter * aex;
489
+ ahi = c - (c - aex);
490
+ alo = aex - ahi;
491
+ c = _util.splitter * dey;
492
+ bhi = c - (c - dey);
493
+ blo = dey - bhi;
494
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
495
+ _i = s0 - t0;
496
+ bvirt = s0 - _i;
497
+ da[0] = s0 - (_i + bvirt) + (bvirt - t0);
498
+ _j = s1 + _i;
499
+ bvirt = _j - s1;
500
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
501
+ _i = _0 - t1;
502
+ bvirt = _0 - _i;
503
+ da[1] = _0 - (_i + bvirt) + (bvirt - t1);
504
+ da3 = _j + _i;
505
+ bvirt = da3 - _j;
506
+ da[2] = _j - (da3 - bvirt) + (_i - bvirt);
507
+ da[3] = da3;
508
+ s1 = aex * cey;
509
+ c = _util.splitter * aex;
510
+ ahi = c - (c - aex);
511
+ alo = aex - ahi;
512
+ c = _util.splitter * cey;
513
+ bhi = c - (c - cey);
514
+ blo = cey - bhi;
515
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
516
+ t1 = cex * aey;
517
+ c = _util.splitter * cex;
518
+ ahi = c - (c - cex);
519
+ alo = cex - ahi;
520
+ c = _util.splitter * aey;
521
+ bhi = c - (c - aey);
522
+ blo = aey - bhi;
523
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
524
+ _i = s0 - t0;
525
+ bvirt = s0 - _i;
526
+ ac[0] = s0 - (_i + bvirt) + (bvirt - t0);
527
+ _j = s1 + _i;
528
+ bvirt = _j - s1;
529
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
530
+ _i = _0 - t1;
531
+ bvirt = _0 - _i;
532
+ ac[1] = _0 - (_i + bvirt) + (bvirt - t1);
533
+ ac3 = _j + _i;
534
+ bvirt = ac3 - _j;
535
+ ac[2] = _j - (ac3 - bvirt) + (_i - bvirt);
536
+ ac[3] = ac3;
537
+ s1 = bex * dey;
538
+ c = _util.splitter * bex;
539
+ ahi = c - (c - bex);
540
+ alo = bex - ahi;
541
+ c = _util.splitter * dey;
542
+ bhi = c - (c - dey);
543
+ blo = dey - bhi;
544
+ s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
545
+ t1 = dex * bey;
546
+ c = _util.splitter * dex;
547
+ ahi = c - (c - dex);
548
+ alo = dex - ahi;
549
+ c = _util.splitter * bey;
550
+ bhi = c - (c - bey);
551
+ blo = bey - bhi;
552
+ t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
553
+ _i = s0 - t0;
554
+ bvirt = s0 - _i;
555
+ bd[0] = s0 - (_i + bvirt) + (bvirt - t0);
556
+ _j = s1 + _i;
557
+ bvirt = _j - s1;
558
+ _0 = s1 - (_j - bvirt) + (_i - bvirt);
559
+ _i = _0 - t1;
560
+ bvirt = _0 - _i;
561
+ bd[1] = _0 - (_i + bvirt) + (bvirt - t1);
562
+ bd3 = _j + _i;
563
+ bvirt = bd3 - _j;
564
+ bd[2] = _j - (bd3 - bvirt) + (_i - bvirt);
565
+ bd[3] = bd3;
566
+ const finlen = (0, _util.sum)((0, _util.sum)((0, _util.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, (0, _util.sum)((0, _util.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);
567
+ let det = (0, _util.estimate)(finlen, fin);
568
+ let errbound = isperrboundB * permanent;
569
+ if (det >= errbound || -det >= errbound) {
570
+ return det;
571
+ }
572
+ bvirt = ax - aex;
573
+ aextail = ax - (aex + bvirt) + (bvirt - ex);
574
+ bvirt = ay - aey;
575
+ aeytail = ay - (aey + bvirt) + (bvirt - ey);
576
+ bvirt = az - aez;
577
+ aeztail = az - (aez + bvirt) + (bvirt - ez);
578
+ bvirt = bx - bex;
579
+ bextail = bx - (bex + bvirt) + (bvirt - ex);
580
+ bvirt = by - bey;
581
+ beytail = by - (bey + bvirt) + (bvirt - ey);
582
+ bvirt = bz - bez;
583
+ beztail = bz - (bez + bvirt) + (bvirt - ez);
584
+ bvirt = cx - cex;
585
+ cextail = cx - (cex + bvirt) + (bvirt - ex);
586
+ bvirt = cy - cey;
587
+ ceytail = cy - (cey + bvirt) + (bvirt - ey);
588
+ bvirt = cz - cez;
589
+ ceztail = cz - (cez + bvirt) + (bvirt - ez);
590
+ bvirt = dx - dex;
591
+ dextail = dx - (dex + bvirt) + (bvirt - ex);
592
+ bvirt = dy - dey;
593
+ deytail = dy - (dey + bvirt) + (bvirt - ey);
594
+ bvirt = dz - dez;
595
+ deztail = dz - (dez + bvirt) + (bvirt - ez);
596
+ 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) {
597
+ return det;
598
+ }
599
+ errbound = isperrboundC * permanent + _util.resulterrbound * Math.abs(det);
600
+ const abeps = aex * beytail + bey * aextail - (aey * bextail + bex * aeytail);
601
+ const bceps = bex * ceytail + cey * bextail - (bey * cextail + cex * beytail);
602
+ const cdeps = cex * deytail + dey * cextail - (cey * dextail + dex * ceytail);
603
+ const daeps = dex * aeytail + aey * dextail - (dey * aextail + aex * deytail);
604
+ const aceps = aex * ceytail + cey * aextail - (aey * cextail + cex * aeytail);
605
+ const bdeps = bex * deytail + dey * bextail - (bey * dextail + dex * beytail);
606
+ 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)));
607
+ if (det >= errbound || -det >= errbound) {
608
+ return det;
609
+ }
610
+ return insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez);
611
+ }
612
+ function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
613
+ const aex = ax - ex;
614
+ const bex = bx - ex;
615
+ const cex = cx - ex;
616
+ const dex = dx - ex;
617
+ const aey = ay - ey;
618
+ const bey = by - ey;
619
+ const cey = cy - ey;
620
+ const dey = dy - ey;
621
+ const aez = az - ez;
622
+ const bez = bz - ez;
623
+ const cez = cz - ez;
624
+ const dez = dz - ez;
625
+ const aexbey = aex * bey;
626
+ const bexaey = bex * aey;
627
+ const ab = aexbey - bexaey;
628
+ const bexcey = bex * cey;
629
+ const cexbey = cex * bey;
630
+ const bc = bexcey - cexbey;
631
+ const cexdey = cex * dey;
632
+ const dexcey = dex * cey;
633
+ const cd = cexdey - dexcey;
634
+ const dexaey = dex * aey;
635
+ const aexdey = aex * dey;
636
+ const da = dexaey - aexdey;
637
+ const aexcey = aex * cey;
638
+ const cexaey = cex * aey;
639
+ const ac = aexcey - cexaey;
640
+ const bexdey = bex * dey;
641
+ const dexbey = dex * bey;
642
+ const bd = bexdey - dexbey;
643
+ const alift = aex * aex + aey * aey + aez * aez;
644
+ const blift = bex * bex + bey * bey + bez * bez;
645
+ const clift = cex * cex + cey * cey + cez * cez;
646
+ const dlift = dex * dex + dey * dey + dez * dez;
647
+ 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));
648
+ const aezplus = Math.abs(aez);
649
+ const bezplus = Math.abs(bez);
650
+ const cezplus = Math.abs(cez);
651
+ const dezplus = Math.abs(dez);
652
+ const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey);
653
+ const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey);
654
+ const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey);
655
+ const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey);
656
+ const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey);
657
+ const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey);
658
+ 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;
659
+ const errbound = isperrboundA * permanent;
660
+ if (det > errbound || -det > errbound) {
661
+ return det;
662
+ }
663
+ return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent);
664
+ }
665
+ function inspherefast(pax, pay, paz, pbx, pby, pbz, pcx, pcy, pcz, pdx, pdy, pdz, pex, pey, pez) {
666
+ const aex = pax - pex;
667
+ const bex = pbx - pex;
668
+ const cex = pcx - pex;
669
+ const dex = pdx - pex;
670
+ const aey = pay - pey;
671
+ const bey = pby - pey;
672
+ const cey = pcy - pey;
673
+ const dey = pdy - pey;
674
+ const aez = paz - pez;
675
+ const bez = pbz - pez;
676
+ const cez = pcz - pez;
677
+ const dez = pdz - pez;
678
+ const ab = aex * bey - bex * aey;
679
+ const bc = bex * cey - cex * bey;
680
+ const cd = cex * dey - dex * cey;
681
+ const da = dex * aey - aex * dey;
682
+ const ac = aex * cey - cex * aey;
683
+ const bd = bex * dey - dex * bey;
684
+ const abc = aez * bc - bez * ac + cez * ab;
685
+ const bcd = bez * cd - cez * bd + dez * bc;
686
+ const cda = cez * da + dez * ac + aez * cd;
687
+ const dab = dez * ab + aez * bd + bez * da;
688
+ const alift = aex * aex + aey * aey + aez * aez;
689
+ const blift = bex * bex + bey * bey + bez * bez;
690
+ const clift = cex * cex + cey * cey + cez * cez;
691
+ const dlift = dex * dex + dey * dey + dez * dez;
692
+ return clift * dab - dlift * abc + (alift * bcd - blift * cda);
693
+ }