trigonometry.js (3448B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.acosNumber = acosNumber; 7 exports.acoshNumber = acoshNumber; 8 exports.acotNumber = acotNumber; 9 exports.acothNumber = acothNumber; 10 exports.acscNumber = acscNumber; 11 exports.acschNumber = acschNumber; 12 exports.asecNumber = asecNumber; 13 exports.asechNumber = asechNumber; 14 exports.asinNumber = asinNumber; 15 exports.asinhNumber = asinhNumber; 16 exports.atan2Number = atan2Number; 17 exports.atanNumber = atanNumber; 18 exports.atanhNumber = atanhNumber; 19 exports.cosNumber = cosNumber; 20 exports.coshNumber = coshNumber; 21 exports.cotNumber = cotNumber; 22 exports.cothNumber = cothNumber; 23 exports.cscNumber = cscNumber; 24 exports.cschNumber = cschNumber; 25 exports.secNumber = secNumber; 26 exports.sechNumber = sechNumber; 27 exports.sinNumber = sinNumber; 28 exports.sinhNumber = sinhNumber; 29 exports.tanNumber = tanNumber; 30 exports.tanhNumber = tanhNumber; 31 32 var _number = require("../../utils/number.js"); 33 34 var n1 = 'number'; 35 var n2 = 'number, number'; 36 37 function acosNumber(x) { 38 return Math.acos(x); 39 } 40 41 acosNumber.signature = n1; 42 43 function acoshNumber(x) { 44 return (0, _number.acosh)(x); 45 } 46 47 acoshNumber.signature = n1; 48 49 function acotNumber(x) { 50 return Math.atan(1 / x); 51 } 52 53 acotNumber.signature = n1; 54 55 function acothNumber(x) { 56 return isFinite(x) ? (Math.log((x + 1) / x) + Math.log(x / (x - 1))) / 2 : 0; 57 } 58 59 acothNumber.signature = n1; 60 61 function acscNumber(x) { 62 return Math.asin(1 / x); 63 } 64 65 acscNumber.signature = n1; 66 67 function acschNumber(x) { 68 var xInv = 1 / x; 69 return Math.log(xInv + Math.sqrt(xInv * xInv + 1)); 70 } 71 72 acschNumber.signature = n1; 73 74 function asecNumber(x) { 75 return Math.acos(1 / x); 76 } 77 78 asecNumber.signature = n1; 79 80 function asechNumber(x) { 81 var xInv = 1 / x; 82 var ret = Math.sqrt(xInv * xInv - 1); 83 return Math.log(ret + xInv); 84 } 85 86 asechNumber.signature = n1; 87 88 function asinNumber(x) { 89 return Math.asin(x); 90 } 91 92 asinNumber.signature = n1; 93 94 function asinhNumber(x) { 95 return (0, _number.asinh)(x); 96 } 97 98 asinhNumber.signature = n1; 99 100 function atanNumber(x) { 101 return Math.atan(x); 102 } 103 104 atanNumber.signature = n1; 105 106 function atan2Number(y, x) { 107 return Math.atan2(y, x); 108 } 109 110 atan2Number.signature = n2; 111 112 function atanhNumber(x) { 113 return (0, _number.atanh)(x); 114 } 115 116 atanhNumber.signature = n1; 117 118 function cosNumber(x) { 119 return Math.cos(x); 120 } 121 122 cosNumber.signature = n1; 123 124 function coshNumber(x) { 125 return (0, _number.cosh)(x); 126 } 127 128 coshNumber.signature = n1; 129 130 function cotNumber(x) { 131 return 1 / Math.tan(x); 132 } 133 134 cotNumber.signature = n1; 135 136 function cothNumber(x) { 137 var e = Math.exp(2 * x); 138 return (e + 1) / (e - 1); 139 } 140 141 cothNumber.signature = n1; 142 143 function cscNumber(x) { 144 return 1 / Math.sin(x); 145 } 146 147 cscNumber.signature = n1; 148 149 function cschNumber(x) { 150 // consider values close to zero (+/-) 151 if (x === 0) { 152 return Number.POSITIVE_INFINITY; 153 } else { 154 return Math.abs(2 / (Math.exp(x) - Math.exp(-x))) * (0, _number.sign)(x); 155 } 156 } 157 158 cschNumber.signature = n1; 159 160 function secNumber(x) { 161 return 1 / Math.cos(x); 162 } 163 164 secNumber.signature = n1; 165 166 function sechNumber(x) { 167 return 2 / (Math.exp(x) + Math.exp(-x)); 168 } 169 170 sechNumber.signature = n1; 171 172 function sinNumber(x) { 173 return Math.sin(x); 174 } 175 176 sinNumber.signature = n1; 177 178 function sinhNumber(x) { 179 return (0, _number.sinh)(x); 180 } 181 182 sinhNumber.signature = n1; 183 184 function tanNumber(x) { 185 return Math.tan(x); 186 } 187 188 tanNumber.signature = n1; 189 190 function tanhNumber(x) { 191 return (0, _number.tanh)(x); 192 } 193 194 tanhNumber.signature = n1;