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