UNPKG

2.61 kBJavaScriptView Raw
1import { acosh, asinh, atanh, cosh, sign, sinh, tanh } from '../../utils/number';
2var n1 = 'number';
3var n2 = 'number, number';
4export function acosNumber(x) {
5 return Math.acos(x);
6}
7acosNumber.signature = n1;
8export function acoshNumber(x) {
9 return acosh(x);
10}
11acoshNumber.signature = n1;
12export function acotNumber(x) {
13 return Math.atan(1 / x);
14}
15acotNumber.signature = n1;
16export function acothNumber(x) {
17 return isFinite(x) ? (Math.log((x + 1) / x) + Math.log(x / (x - 1))) / 2 : 0;
18}
19acothNumber.signature = n1;
20export function acscNumber(x) {
21 return Math.asin(1 / x);
22}
23acscNumber.signature = n1;
24export function acschNumber(x) {
25 var xInv = 1 / x;
26 return Math.log(xInv + Math.sqrt(xInv * xInv + 1));
27}
28acschNumber.signature = n1;
29export function asecNumber(x) {
30 return Math.acos(1 / x);
31}
32asecNumber.signature = n1;
33export function asechNumber(x) {
34 var xInv = 1 / x;
35 var ret = Math.sqrt(xInv * xInv - 1);
36 return Math.log(ret + xInv);
37}
38asechNumber.signature = n1;
39export function asinNumber(x) {
40 return Math.asin(x);
41}
42asinNumber.signature = n1;
43export function asinhNumber(x) {
44 return asinh(x);
45}
46asinhNumber.signature = n1;
47export function atanNumber(x) {
48 return Math.atan(x);
49}
50atanNumber.signature = n1;
51export function atan2Number(y, x) {
52 return Math.atan2(y, x);
53}
54atan2Number.signature = n2;
55export function atanhNumber(x) {
56 return atanh(x);
57}
58atanhNumber.signature = n1;
59export function cosNumber(x) {
60 return Math.cos(x);
61}
62cosNumber.signature = n1;
63export function coshNumber(x) {
64 return cosh(x);
65}
66coshNumber.signature = n1;
67export function cotNumber(x) {
68 return 1 / Math.tan(x);
69}
70cotNumber.signature = n1;
71export function cothNumber(x) {
72 var e = Math.exp(2 * x);
73 return (e + 1) / (e - 1);
74}
75cothNumber.signature = n1;
76export function cscNumber(x) {
77 return 1 / Math.sin(x);
78}
79cscNumber.signature = n1;
80export function cschNumber(x) {
81 // consider values close to zero (+/-)
82 if (x === 0) {
83 return Number.POSITIVE_INFINITY;
84 } else {
85 return Math.abs(2 / (Math.exp(x) - Math.exp(-x))) * sign(x);
86 }
87}
88cschNumber.signature = n1;
89export function secNumber(x) {
90 return 1 / Math.cos(x);
91}
92secNumber.signature = n1;
93export function sechNumber(x) {
94 return 2 / (Math.exp(x) + Math.exp(-x));
95}
96sechNumber.signature = n1;
97export function sinNumber(x) {
98 return Math.sin(x);
99}
100sinNumber.signature = n1;
101export function sinhNumber(x) {
102 return sinh(x);
103}
104sinhNumber.signature = n1;
105export function tanNumber(x) {
106 return Math.tan(x);
107}
108tanNumber.signature = n1;
109export function tanhNumber(x) {
110 return tanh(x);
111}
112tanhNumber.signature = n1;
\No newline at end of file