1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
8 |
|
9 | exports.smallest = smallest;
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | function smallest(c1, c2, c3) {
|
36 |
|
37 | var cd1 = Math.cos(c1.dec);
|
38 | var cd2 = Math.cos(c2.dec);
|
39 | var cd3 = Math.cos(c3.dec);
|
40 | var a = 2 * Math.asin(Math.sqrt(hav(c2.dec - c1.dec) + cd1 * cd2 * hav(c2.ra - c1.ra)));
|
41 | var b = 2 * Math.asin(Math.sqrt(hav(c3.dec - c2.dec) + cd2 * cd3 * hav(c3.ra - c2.ra)));
|
42 | var c = 2 * Math.asin(Math.sqrt(hav(c1.dec - c3.dec) + cd3 * cd1 * hav(c1.ra - c3.ra)));
|
43 | if (b > a) {
|
44 | var _noswap = noswap(b, a);
|
45 |
|
46 | var _noswap2 = _slicedToArray(_noswap, 2);
|
47 |
|
48 | a = _noswap2[0];
|
49 | b = _noswap2[1];
|
50 | }
|
51 | if (c > a) {
|
52 | var _noswap3 = noswap(c, a);
|
53 |
|
54 | var _noswap4 = _slicedToArray(_noswap3, 2);
|
55 |
|
56 | a = _noswap4[0];
|
57 | c = _noswap4[1];
|
58 | }
|
59 | if (a * a >= b * b + c * c) {
|
60 | return [a, true];
|
61 | }
|
62 |
|
63 | return [2 * a * b * c / Math.sqrt((a + b + c) * (a + b - c) * (b + c - a) * (a + c - b)), false];
|
64 | }
|
65 |
|
66 | var noswap = function noswap(a, b) {
|
67 | return [a, b];
|
68 | };
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | var hav = function hav(a) {
|
74 | return 0.5 * (1 - Math.cos(a));
|
75 | };
|
76 |
|
77 | exports.default = {
|
78 | smallest: smallest
|
79 | }; |
\ | No newline at end of file |