trigonometry.js 3.3 KB

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