bigdecimal-math_r 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CODE_OF_CONDUCT.md +132 -0
  4. data/LICENSE +21 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +41 -0
  7. data/Rakefile +13 -0
  8. data/changelog.md +24 -0
  9. data/ext/bigdecimal/math_r/algofunc.h +203 -0
  10. data/ext/bigdecimal/math_r/api/bigdecimal/check_precise.h +12 -0
  11. data/ext/bigdecimal/math_r/api/bigdecimal/infinity.h +6 -0
  12. data/ext/bigdecimal/math_r/api/bigdecimal/minus_infinity.h +5 -0
  13. data/ext/bigdecimal/math_r/api/bigdecimal/minus_one.h +6 -0
  14. data/ext/bigdecimal/math_r/api/bigdecimal/minus_zero.h +6 -0
  15. data/ext/bigdecimal/math_r/api/bigdecimal/nan.h +6 -0
  16. data/ext/bigdecimal/math_r/api/bigdecimal/one.h +6 -0
  17. data/ext/bigdecimal/math_r/api/bigdecimal/sign.h +10 -0
  18. data/ext/bigdecimal/math_r/api/bigdecimal/zero.h +6 -0
  19. data/ext/bigdecimal/math_r/api/bigmath/api_call1.h +5 -0
  20. data/ext/bigdecimal/math_r/api/bigmath/api_call2.h +6 -0
  21. data/ext/bigdecimal/math_r/api/bigmath/atan.h +7 -0
  22. data/ext/bigdecimal/math_r/api/bigmath/atan_adopt.h +42 -0
  23. data/ext/bigdecimal/math_r/api/bigmath/cabs.h +5 -0
  24. data/ext/bigdecimal/math_r/api/bigmath/carg.h +5 -0
  25. data/ext/bigdecimal/math_r/api/bigmath/cexp.h +5 -0
  26. data/ext/bigdecimal/math_r/api/bigmath/clog.h +5 -0
  27. data/ext/bigdecimal/math_r/api/bigmath/const.h +39 -0
  28. data/ext/bigdecimal/math_r/api/bigmath/const_e.h +5 -0
  29. data/ext/bigdecimal/math_r/api/bigmath/const_log10.h +5 -0
  30. data/ext/bigdecimal/math_r/api/bigmath/const_log2.h +5 -0
  31. data/ext/bigdecimal/math_r/api/bigmath/const_log_pi.h +5 -0
  32. data/ext/bigdecimal/math_r/api/bigmath/const_pi.h +5 -0
  33. data/ext/bigdecimal/math_r/api/bigmath/const_sqrt2.h +5 -0
  34. data/ext/bigdecimal/math_r/api/bigmath/const_sqrt3.h +5 -0
  35. data/ext/bigdecimal/math_r/api/bigmath/cpow.h +5 -0
  36. data/ext/bigdecimal/math_r/api/bigmath/csqrt.h +5 -0
  37. data/ext/bigdecimal/math_r/api/bigmath/degree_sparg.h +199 -0
  38. data/ext/bigdecimal/math_r/api/bigmath/escalb.h +5 -0
  39. data/ext/bigdecimal/math_r/api/bigmath/exp.h +5 -0
  40. data/ext/bigdecimal/math_r/api/bigmath/expxt.h +18 -0
  41. data/ext/bigdecimal/math_r/api/bigmath/hypot.h +10 -0
  42. data/ext/bigdecimal/math_r/api/bigmath/ipow.h +14 -0
  43. data/ext/bigdecimal/math_r/api/bigmath/l2norm.h +5 -0
  44. data/ext/bigdecimal/math_r/api/bigmath/log.h +7 -0
  45. data/ext/bigdecimal/math_r/api/bigmath/pow.h +5 -0
  46. data/ext/bigdecimal/math_r/api/bigmath/quadrant.h +5 -0
  47. data/ext/bigdecimal/math_r/api/bigmath/sincos.h +5 -0
  48. data/ext/bigdecimal/math_r/api/bigmath/sqrt.h +5 -0
  49. data/ext/bigdecimal/math_r/api/bigmath/to_rad.h +41 -0
  50. data/ext/bigdecimal/math_r/api/kernel/rb_BigDecimal.h +6 -0
  51. data/ext/bigdecimal/math_r/api/kernel/rb_BigDecimal1.h +6 -0
  52. data/ext/bigdecimal/math_r/api/kernel/rb_BigDecimal_flo.h +9 -0
  53. data/ext/bigdecimal/math_r/api/kernel/rb_ImaginaryZ.h +8 -0
  54. data/ext/bigdecimal/math_r/api/numanalysis/condition_p.h +26 -0
  55. data/ext/bigdecimal/math_r/api/numanalysis/make_n.h +9 -0
  56. data/ext/bigdecimal/math_r/api/numeric/abs.h +7 -0
  57. data/ext/bigdecimal/math_r/api/numeric/canonicalize.h +140 -0
  58. data/ext/bigdecimal/math_r/api/numeric/cmpeql.h +6 -0
  59. data/ext/bigdecimal/math_r/api/numeric/equal_p.h +6 -0
  60. data/ext/bigdecimal/math_r/api/numeric/finite_p.h +6 -0
  61. data/ext/bigdecimal/math_r/api/numeric/imag.h +6 -0
  62. data/ext/bigdecimal/math_r/api/numeric/infinite_p.h +7 -0
  63. data/ext/bigdecimal/math_r/api/numeric/nan_p.h +5 -0
  64. data/ext/bigdecimal/math_r/api/numeric/negative_p.h +6 -0
  65. data/ext/bigdecimal/math_r/api/numeric/nonzero_p.h +6 -0
  66. data/ext/bigdecimal/math_r/api/numeric/notequal_p.h +6 -0
  67. data/ext/bigdecimal/math_r/api/numeric/numeric_p.h +5 -0
  68. data/ext/bigdecimal/math_r/api/numeric/positive_p.h +6 -0
  69. data/ext/bigdecimal/math_r/api/numeric/real.h +6 -0
  70. data/ext/bigdecimal/math_r/api/numeric/real_p.h +6 -0
  71. data/ext/bigdecimal/math_r/api/numeric/round.h +56 -0
  72. data/ext/bigdecimal/math_r/api/numeric/uminus.h +6 -0
  73. data/ext/bigdecimal/math_r/api/numeric/zero_p.h +6 -0
  74. data/ext/bigdecimal/math_r/api.c +13 -0
  75. data/ext/bigdecimal/math_r/api.h +69 -0
  76. data/ext/bigdecimal/math_r/const.c +186 -0
  77. data/ext/bigdecimal/math_r/decl.h +203 -0
  78. data/ext/bigdecimal/math_r/edf.c +180 -0
  79. data/ext/bigdecimal/math_r/erf.c +80 -0
  80. data/ext/bigdecimal/math_r/euler_f.c +572 -0
  81. data/ext/bigdecimal/math_r/exp.c +72 -0
  82. data/ext/bigdecimal/math_r/extconf.rb +185 -0
  83. data/ext/bigdecimal/math_r/gamma_r.c +251 -0
  84. data/ext/bigdecimal/math_r/hyperb.c +172 -0
  85. data/ext/bigdecimal/math_r/internal/algo/bigmath/E/ser.h +22 -0
  86. data/ext/bigdecimal/math_r/internal/algo/bigmath/LOG10/ser.h +16 -0
  87. data/ext/bigdecimal/math_r/internal/algo/bigmath/LOG2/BBP2002.h +36 -0
  88. data/ext/bigdecimal/math_r/internal/algo/bigmath/LOG_PI/builtin.h +7 -0
  89. data/ext/bigdecimal/math_r/internal/algo/bigmath/PI/machin.h +48 -0
  90. data/ext/bigdecimal/math_r/internal/algo/bigmath/SQRT2/builtin.h +5 -0
  91. data/ext/bigdecimal/math_r/internal/algo/bigmath/SQRT3/builtin.h +5 -0
  92. data/ext/bigdecimal/math_r/internal/algo/bigmath/acos/branch.h +25 -0
  93. data/ext/bigdecimal/math_r/internal/algo/bigmath/acos/edom.h +15 -0
  94. data/ext/bigdecimal/math_r/internal/algo/bigmath/acos/logrep.h +19 -0
  95. data/ext/bigdecimal/math_r/internal/algo/bigmath/acos/ser.h +34 -0
  96. data/ext/bigdecimal/math_r/internal/algo/bigmath/acosh/branch.h +19 -0
  97. data/ext/bigdecimal/math_r/internal/algo/bigmath/acosh/edom.h +17 -0
  98. data/ext/bigdecimal/math_r/internal/algo/bigmath/acosh/logrep.h +14 -0
  99. data/ext/bigdecimal/math_r/internal/algo/bigmath/acot/branch.h +16 -0
  100. data/ext/bigdecimal/math_r/internal/algo/bigmath/acot/logrep.h +13 -0
  101. data/ext/bigdecimal/math_r/internal/algo/bigmath/acoth/branch.h +20 -0
  102. data/ext/bigdecimal/math_r/internal/algo/bigmath/acoth/edom.h +18 -0
  103. data/ext/bigdecimal/math_r/internal/algo/bigmath/acoth/logrep.h +33 -0
  104. data/ext/bigdecimal/math_r/internal/algo/bigmath/acsc/branch.h +21 -0
  105. data/ext/bigdecimal/math_r/internal/algo/bigmath/acsc/edom.h +20 -0
  106. data/ext/bigdecimal/math_r/internal/algo/bigmath/acsc/logrep.h +16 -0
  107. data/ext/bigdecimal/math_r/internal/algo/bigmath/acsch/branch.h +25 -0
  108. data/ext/bigdecimal/math_r/internal/algo/bigmath/acsch/logrep.h +25 -0
  109. data/ext/bigdecimal/math_r/internal/algo/bigmath/asec/branch.h +22 -0
  110. data/ext/bigdecimal/math_r/internal/algo/bigmath/asec/edom.h +16 -0
  111. data/ext/bigdecimal/math_r/internal/algo/bigmath/asec/logrep.h +21 -0
  112. data/ext/bigdecimal/math_r/internal/algo/bigmath/asech/branch.h +18 -0
  113. data/ext/bigdecimal/math_r/internal/algo/bigmath/asech/edom.h +19 -0
  114. data/ext/bigdecimal/math_r/internal/algo/bigmath/asech/logrep.h +16 -0
  115. data/ext/bigdecimal/math_r/internal/algo/bigmath/asin/branch.h +22 -0
  116. data/ext/bigdecimal/math_r/internal/algo/bigmath/asin/edom.h +20 -0
  117. data/ext/bigdecimal/math_r/internal/algo/bigmath/asin/logrep.h +15 -0
  118. data/ext/bigdecimal/math_r/internal/algo/bigmath/asin/ser.h +32 -0
  119. data/ext/bigdecimal/math_r/internal/algo/bigmath/asinh/branch.h +26 -0
  120. data/ext/bigdecimal/math_r/internal/algo/bigmath/asinh/logrep.h +24 -0
  121. data/ext/bigdecimal/math_r/internal/algo/bigmath/asinh/ser.h +48 -0
  122. data/ext/bigdecimal/math_r/internal/algo/bigmath/atan/branch.h +16 -0
  123. data/ext/bigdecimal/math_r/internal/algo/bigmath/atan/logrep.h +14 -0
  124. data/ext/bigdecimal/math_r/internal/algo/bigmath/atan/ser_euler.h +84 -0
  125. data/ext/bigdecimal/math_r/internal/algo/bigmath/atan/ser_usual.h +41 -0
  126. data/ext/bigdecimal/math_r/internal/algo/bigmath/atanh/branch.h +24 -0
  127. data/ext/bigdecimal/math_r/internal/algo/bigmath/atanh/edom.h +16 -0
  128. data/ext/bigdecimal/math_r/internal/algo/bigmath/atanh/logrep.h +16 -0
  129. data/ext/bigdecimal/math_r/internal/algo/bigmath/atanh/ser.h +33 -0
  130. data/ext/bigdecimal/math_r/internal/algo/bigmath/cabs/formula.h +8 -0
  131. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacos/branch.h +38 -0
  132. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacos/logrep.h +16 -0
  133. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacosh/branch.h +34 -0
  134. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacosh/logrep.h +17 -0
  135. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacot/branch.h +39 -0
  136. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacot/logrep.h +17 -0
  137. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacoth/branch.h +29 -0
  138. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacoth/logrep.h +11 -0
  139. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacsc/branch.h +28 -0
  140. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacsc/logrep.h +19 -0
  141. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacsch/branch.h +18 -0
  142. data/ext/bigdecimal/math_r/internal/algo/bigmath/cacsch/logrep.h +11 -0
  143. data/ext/bigdecimal/math_r/internal/algo/bigmath/carg/formula.h +8 -0
  144. data/ext/bigdecimal/math_r/internal/algo/bigmath/casec/branch.h +29 -0
  145. data/ext/bigdecimal/math_r/internal/algo/bigmath/casec/logrep.h +18 -0
  146. data/ext/bigdecimal/math_r/internal/algo/bigmath/casech/branch.h +38 -0
  147. data/ext/bigdecimal/math_r/internal/algo/bigmath/casech/logrep.h +9 -0
  148. data/ext/bigdecimal/math_r/internal/algo/bigmath/casin/branch.h +35 -0
  149. data/ext/bigdecimal/math_r/internal/algo/bigmath/casin/logrep.h +14 -0
  150. data/ext/bigdecimal/math_r/internal/algo/bigmath/casinh/branch.h +59 -0
  151. data/ext/bigdecimal/math_r/internal/algo/bigmath/casinh/logrep.h +13 -0
  152. data/ext/bigdecimal/math_r/internal/algo/bigmath/catan/branch.h +46 -0
  153. data/ext/bigdecimal/math_r/internal/algo/bigmath/catan/logrep.h +17 -0
  154. data/ext/bigdecimal/math_r/internal/algo/bigmath/catanh/branch.h +26 -0
  155. data/ext/bigdecimal/math_r/internal/algo/bigmath/catanh/logrep.h +10 -0
  156. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccbrt/formula.h +11 -0
  157. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccos/branch.h +41 -0
  158. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccos/eulerf.h +11 -0
  159. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccosh/branch.h +37 -0
  160. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccosh/eulerf.h +11 -0
  161. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccot/branch.h +46 -0
  162. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccot/eulerf.h +11 -0
  163. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccoth/branch.h +43 -0
  164. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccoth/eulerf.h +11 -0
  165. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccsc/branch.h +42 -0
  166. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccsc/eulerf.h +11 -0
  167. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccsch/branch.h +38 -0
  168. data/ext/bigdecimal/math_r/internal/algo/bigmath/ccsch/eulerf.h +11 -0
  169. data/ext/bigdecimal/math_r/internal/algo/bigmath/cexp/branch.h +42 -0
  170. data/ext/bigdecimal/math_r/internal/algo/bigmath/cexp/eulerf.h +21 -0
  171. data/ext/bigdecimal/math_r/internal/algo/bigmath/cexp2/branch.h +42 -0
  172. data/ext/bigdecimal/math_r/internal/algo/bigmath/cexp2/eulerf.h +12 -0
  173. data/ext/bigdecimal/math_r/internal/algo/bigmath/clog/branch.h +54 -0
  174. data/ext/bigdecimal/math_r/internal/algo/bigmath/clog/formula.h +13 -0
  175. data/ext/bigdecimal/math_r/internal/algo/bigmath/clog10/formula.h +12 -0
  176. data/ext/bigdecimal/math_r/internal/algo/bigmath/clog1p/branch.h +34 -0
  177. data/ext/bigdecimal/math_r/internal/algo/bigmath/clog2/formula.h +12 -0
  178. data/ext/bigdecimal/math_r/internal/algo/bigmath/cos/branch.h +21 -0
  179. data/ext/bigdecimal/math_r/internal/algo/bigmath/cos/eulerf.h +11 -0
  180. data/ext/bigdecimal/math_r/internal/algo/bigmath/cos/ser.h +12 -0
  181. data/ext/bigdecimal/math_r/internal/algo/bigmath/cosh/branch.h +22 -0
  182. data/ext/bigdecimal/math_r/internal/algo/bigmath/cosh/eulerf.h +11 -0
  183. data/ext/bigdecimal/math_r/internal/algo/bigmath/cosh/formula.h +30 -0
  184. data/ext/bigdecimal/math_r/internal/algo/bigmath/cosh/ser.h +11 -0
  185. data/ext/bigdecimal/math_r/internal/algo/bigmath/cot/branch.h +28 -0
  186. data/ext/bigdecimal/math_r/internal/algo/bigmath/cot/eulerf.h +11 -0
  187. data/ext/bigdecimal/math_r/internal/algo/bigmath/cot/ser.h +12 -0
  188. data/ext/bigdecimal/math_r/internal/algo/bigmath/coth/branch.h +23 -0
  189. data/ext/bigdecimal/math_r/internal/algo/bigmath/coth/eulerf.h +11 -0
  190. data/ext/bigdecimal/math_r/internal/algo/bigmath/coth/formula.h +30 -0
  191. data/ext/bigdecimal/math_r/internal/algo/bigmath/coth/ser.h +13 -0
  192. data/ext/bigdecimal/math_r/internal/algo/bigmath/cpow/formula.h +20 -0
  193. data/ext/bigdecimal/math_r/internal/algo/bigmath/csc/branch.h +28 -0
  194. data/ext/bigdecimal/math_r/internal/algo/bigmath/csc/eulerf.h +11 -0
  195. data/ext/bigdecimal/math_r/internal/algo/bigmath/csc/ser.h +11 -0
  196. data/ext/bigdecimal/math_r/internal/algo/bigmath/csch/branch.h +23 -0
  197. data/ext/bigdecimal/math_r/internal/algo/bigmath/csch/eulerf.h +11 -0
  198. data/ext/bigdecimal/math_r/internal/algo/bigmath/csch/formula.h +31 -0
  199. data/ext/bigdecimal/math_r/internal/algo/bigmath/csch/ser.h +11 -0
  200. data/ext/bigdecimal/math_r/internal/algo/bigmath/csec/branch.h +42 -0
  201. data/ext/bigdecimal/math_r/internal/algo/bigmath/csec/eulerf.h +11 -0
  202. data/ext/bigdecimal/math_r/internal/algo/bigmath/csech/branch.h +38 -0
  203. data/ext/bigdecimal/math_r/internal/algo/bigmath/csech/eulerf.h +11 -0
  204. data/ext/bigdecimal/math_r/internal/algo/bigmath/csin/branch.h +44 -0
  205. data/ext/bigdecimal/math_r/internal/algo/bigmath/csin/eulerf.h +11 -0
  206. data/ext/bigdecimal/math_r/internal/algo/bigmath/csinh/branch.h +41 -0
  207. data/ext/bigdecimal/math_r/internal/algo/bigmath/csinh/eulerf.h +11 -0
  208. data/ext/bigdecimal/math_r/internal/algo/bigmath/csqrt/formula.h +66 -0
  209. data/ext/bigdecimal/math_r/internal/algo/bigmath/ctan/branch.h +46 -0
  210. data/ext/bigdecimal/math_r/internal/algo/bigmath/ctan/eulerf.h +11 -0
  211. data/ext/bigdecimal/math_r/internal/algo/bigmath/ctanh/branch.h +43 -0
  212. data/ext/bigdecimal/math_r/internal/algo/bigmath/ctanh/eulerf.h +11 -0
  213. data/ext/bigdecimal/math_r/internal/algo/bigmath/cuberoot/newton.h +42 -0
  214. data/ext/bigdecimal/math_r/internal/algo/bigmath/erf/algo911.h +41 -0
  215. data/ext/bigdecimal/math_r/internal/algo/bigmath/erf/branch.h +18 -0
  216. data/ext/bigdecimal/math_r/internal/algo/bigmath/erf/cf.h +51 -0
  217. data/ext/bigdecimal/math_r/internal/algo/bigmath/erf/ser_inf.h +53 -0
  218. data/ext/bigdecimal/math_r/internal/algo/bigmath/erf/ser_zero.h +45 -0
  219. data/ext/bigdecimal/math_r/internal/algo/bigmath/erfc/algo911.h +27 -0
  220. data/ext/bigdecimal/math_r/internal/algo/bigmath/erfc/branch.h +18 -0
  221. data/ext/bigdecimal/math_r/internal/algo/bigmath/erfc/cf.h +49 -0
  222. data/ext/bigdecimal/math_r/internal/algo/bigmath/escalb/edf.h +87 -0
  223. data/ext/bigdecimal/math_r/internal/algo/bigmath/exp/branch.h +29 -0
  224. data/ext/bigdecimal/math_r/internal/algo/bigmath/exp/builtin.h +6 -0
  225. data/ext/bigdecimal/math_r/internal/algo/bigmath/exp/edf.h +23 -0
  226. data/ext/bigdecimal/math_r/internal/algo/bigmath/exp2/branch.h +29 -0
  227. data/ext/bigdecimal/math_r/internal/algo/bigmath/exp2/edf.h +19 -0
  228. data/ext/bigdecimal/math_r/internal/algo/bigmath/expxt/edf.h +31 -0
  229. data/ext/bigdecimal/math_r/internal/algo/bigmath/f_euler/formula.h +11 -0
  230. data/ext/bigdecimal/math_r/internal/algo/bigmath/hypot/branch.h +25 -0
  231. data/ext/bigdecimal/math_r/internal/algo/bigmath/hypot/l2norm.h +11 -0
  232. data/ext/bigdecimal/math_r/internal/algo/bigmath/hypot/mmm.h +38 -0
  233. data/ext/bigdecimal/math_r/internal/algo/bigmath/ipow/edf.h +33 -0
  234. data/ext/bigdecimal/math_r/internal/algo/bigmath/l2norm/formula.h +48 -0
  235. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/branch.h +40 -0
  236. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/builtin.h +12 -0
  237. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/edf.h +10 -0
  238. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/edom.h +10 -0
  239. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/mercator.h +34 -0
  240. data/ext/bigdecimal/math_r/internal/algo/bigmath/log/ser_okumura.h +57 -0
  241. data/ext/bigdecimal/math_r/internal/algo/bigmath/log10/branch.h +40 -0
  242. data/ext/bigdecimal/math_r/internal/algo/bigmath/log10/edf.h +11 -0
  243. data/ext/bigdecimal/math_r/internal/algo/bigmath/log10/mercator.h +35 -0
  244. data/ext/bigdecimal/math_r/internal/algo/bigmath/log1p/branch.h +34 -0
  245. data/ext/bigdecimal/math_r/internal/algo/bigmath/log1p/p_adic.h +37 -0
  246. data/ext/bigdecimal/math_r/internal/algo/bigmath/log1p/ser_mercator.h +35 -0
  247. data/ext/bigdecimal/math_r/internal/algo/bigmath/log2/branch.h +40 -0
  248. data/ext/bigdecimal/math_r/internal/algo/bigmath/log2/edf.h +11 -0
  249. data/ext/bigdecimal/math_r/internal/algo/bigmath/log2/mercator.h +35 -0
  250. data/ext/bigdecimal/math_r/internal/algo/bigmath/logxt/edf.h +33 -0
  251. data/ext/bigdecimal/math_r/internal/algo/bigmath/pow/formula.h +30 -0
  252. data/ext/bigdecimal/math_r/internal/algo/bigmath/quadrant/formula.h +352 -0
  253. data/ext/bigdecimal/math_r/internal/algo/bigmath/rcm10/edf.h +34 -0
  254. data/ext/bigdecimal/math_r/internal/algo/bigmath/rcm2/edf.h +34 -0
  255. data/ext/bigdecimal/math_r/internal/algo/bigmath/sec/branch.h +27 -0
  256. data/ext/bigdecimal/math_r/internal/algo/bigmath/sec/eulerf.h +11 -0
  257. data/ext/bigdecimal/math_r/internal/algo/bigmath/sec/ser.h +11 -0
  258. data/ext/bigdecimal/math_r/internal/algo/bigmath/sech/branch.h +21 -0
  259. data/ext/bigdecimal/math_r/internal/algo/bigmath/sech/eulerf.h +11 -0
  260. data/ext/bigdecimal/math_r/internal/algo/bigmath/sech/formula.h +25 -0
  261. data/ext/bigdecimal/math_r/internal/algo/bigmath/sech/ser.h +11 -0
  262. data/ext/bigdecimal/math_r/internal/algo/bigmath/sin/branch.h +23 -0
  263. data/ext/bigdecimal/math_r/internal/algo/bigmath/sin/eulerf.h +11 -0
  264. data/ext/bigdecimal/math_r/internal/algo/bigmath/sin/ser.h +13 -0
  265. data/ext/bigdecimal/math_r/internal/algo/bigmath/sincos/ser.h +50 -0
  266. data/ext/bigdecimal/math_r/internal/algo/bigmath/sinh/branch.h +23 -0
  267. data/ext/bigdecimal/math_r/internal/algo/bigmath/sinh/eulerf.h +11 -0
  268. data/ext/bigdecimal/math_r/internal/algo/bigmath/sinh/formula.h +26 -0
  269. data/ext/bigdecimal/math_r/internal/algo/bigmath/sinh/ser.h +11 -0
  270. data/ext/bigdecimal/math_r/internal/algo/bigmath/sinhcosh/ser.h +70 -0
  271. data/ext/bigdecimal/math_r/internal/algo/bigmath/sqrt/branch.h +16 -0
  272. data/ext/bigdecimal/math_r/internal/algo/bigmath/sqrt/builtin.h +12 -0
  273. data/ext/bigdecimal/math_r/internal/algo/bigmath/sqrt/edom.h +9 -0
  274. data/ext/bigdecimal/math_r/internal/algo/bigmath/sqrt/newton.h +36 -0
  275. data/ext/bigdecimal/math_r/internal/algo/bigmath/tan/branch.h +26 -0
  276. data/ext/bigdecimal/math_r/internal/algo/bigmath/tan/eulerf.h +11 -0
  277. data/ext/bigdecimal/math_r/internal/algo/bigmath/tan/ser.h +18 -0
  278. data/ext/bigdecimal/math_r/internal/algo/bigmath/tanh/branch.h +23 -0
  279. data/ext/bigdecimal/math_r/internal/algo/bigmath/tanh/eulerf.h +11 -0
  280. data/ext/bigdecimal/math_r/internal/algo/bigmath/tanh/formula.h +27 -0
  281. data/ext/bigdecimal/math_r/internal/algo/bigmath/tanh/ser.h +14 -0
  282. data/ext/bigdecimal/math_r/internal/algo/bigmath/trig/f_euler.h +290 -0
  283. data/ext/bigdecimal/math_r/log.c +256 -0
  284. data/ext/bigdecimal/math_r/logrep.c +537 -0
  285. data/ext/bigdecimal/math_r/math_r/bigdecimal.h +30 -0
  286. data/ext/bigdecimal/math_r/math_r/bigmath.h +61 -0
  287. data/ext/bigdecimal/math_r/math_r/bigmath_r.h +9 -0
  288. data/ext/bigdecimal/math_r/math_r/ext_extern.h +18 -0
  289. data/ext/bigdecimal/math_r/math_r/globals.h +71 -0
  290. data/ext/bigdecimal/math_r/math_r/numdiff.h +18 -0
  291. data/ext/bigdecimal/math_r/math_r/numeric.h +63 -0
  292. data/ext/bigdecimal/math_r/math_r.c +130 -0
  293. data/ext/bigdecimal/math_r/nucomp.c +158 -0
  294. data/ext/bigdecimal/math_r/overrides.c +91 -0
  295. data/ext/bigdecimal/math_r/power.c +207 -0
  296. data/ext/bigdecimal/math_r/solver.c +1516 -0
  297. data/ext/bigdecimal/math_r/trig.c +205 -0
  298. data/lib/bigdecimal/math_r/const/EulerGamma_engel.rb +46 -0
  299. data/lib/bigdecimal/math_r/const/LOG2_bbp2007.rb +39 -0
  300. data/lib/bigdecimal/math_r/const/PI_chudnovsky.rb +59 -0
  301. data/lib/bigdecimal/math_r/const/PI_euler.rb +40 -0
  302. data/lib/bigdecimal/math_r/const/PI_ramanujan1.rb +45 -0
  303. data/lib/bigdecimal/math_r/const/PI_ramanujan2.rb +46 -0
  304. data/lib/bigdecimal/math_r/const/b053977/b053977.txt +306 -0
  305. data/lib/bigdecimal/math_r/version.rb +7 -0
  306. data/lib/bigdecimal/math_r.rb +12 -0
  307. data/lib/bigdecimal/math_r.so +0 -0
  308. data/sig/bigdecimal/math_r.rbs +6 -0
  309. metadata +393 -0
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_finite_p(VALUE z)
3
+ {
4
+ const ID finite_p = rb_intern("finite?");
5
+ return RTEST(rb_funcall(z, finite_p, 0));
6
+ }
@@ -0,0 +1,6 @@
1
+ VALUE
2
+ rb_num_imag(VALUE z)
3
+ {
4
+ const ID imag = rb_intern("imag");
5
+ return rb_funcall(z, imag, 0);
6
+ }
@@ -0,0 +1,7 @@
1
+ int
2
+ rb_num_infinite_p(VALUE z)
3
+ {
4
+ const ID infinite_p = rb_intern("infinite?");
5
+ VALUE y = rb_funcall(z, infinite_p, 0);
6
+ return NIL_P(y) ? 0 : NUM2INT(y);
7
+ }
@@ -0,0 +1,5 @@
1
+ bool
2
+ rb_num_nan_p(VALUE z)
3
+ {
4
+ return rb_num_notequal_p(z, z);
5
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_negative_p(VALUE z)
3
+ {
4
+ const ID negative_p = rb_intern("negative?");
5
+ return RTEST(rb_funcall(z, negative_p, 0));
6
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_nonzero_p(VALUE z)
3
+ {
4
+ const ID nonzero_p = rb_intern("nonzero?");
5
+ return RTEST(rb_funcall(z, nonzero_p, 0));
6
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_notequal_p(VALUE lhs, VALUE rhs)
3
+ {
4
+ const ID notequal = rb_intern("!=");
5
+ return RTEST(rb_num_coerce_cmp(lhs, rhs, notequal));
6
+ }
@@ -0,0 +1,5 @@
1
+ bool
2
+ rb_num_numeric_p(VALUE self)
3
+ {
4
+ return rb_class_superclass(CLASS_OF(self)) == rb_cNumeric;
5
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_positive_p(VALUE z)
3
+ {
4
+ const ID positive_p = rb_intern("positive?");
5
+ return RTEST(rb_funcall(z, positive_p, 0));
6
+ }
@@ -0,0 +1,6 @@
1
+ VALUE
2
+ rb_num_real(VALUE z)
3
+ {
4
+ const ID real = rb_intern("real");
5
+ return rb_funcall(z, real, 0);
6
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_real_p(VALUE z)
3
+ {
4
+ const ID real_p = rb_intern("real?");
5
+ return RTEST(rb_funcall(z, real_p, 0));
6
+ }
@@ -0,0 +1,56 @@
1
+ static inline VALUE
2
+ decimal_round_iter(RB_BLOCK_CALL_FUNC_ARGLIST(val, prec))
3
+ {
4
+ const ID exponent = rb_intern("exponent");
5
+ const ID round = rb_intern("round");
6
+ VALUE exp;
7
+ if (TYPE(val) == T_FIXNUM || TYPE(val) == T_BIGNUM)
8
+ return val;
9
+ RUBY_ASSERT(CLASS_OF(val) != rb_cBigDecimal);
10
+ switch (NUM2INT(rb_BigDecimal_sign(val))) {
11
+ case 0: case 1: case -1: case 3: case -3:
12
+ goto retval;
13
+ break;
14
+ default:
15
+ break;
16
+ }
17
+ exp = rb_funcall(val, exponent, 0);
18
+ switch (FIX2INT(rb_dbl_cmp(NUM2DBL(exp), 0.))) {
19
+ case 1: // up to integer-part
20
+ val = rb_funcall(val, round, 1,
21
+ LONG2NUM(NUM2LONG(prec)-NUM2LONG(exp)));
22
+ break;
23
+ case 0:
24
+ case -1: // down to fraction-part
25
+ val = rb_funcall(val, round, 1, prec);
26
+ break;
27
+ }
28
+ retval:
29
+ return val;
30
+ }
31
+
32
+ VALUE
33
+ rb_num_round(VALUE x, VALUE prec)
34
+ {
35
+ const ID map = rb_intern("map");
36
+ VALUE arglist = rb_ary_new();
37
+ if (rb_num_real_p(x))
38
+ {
39
+ rb_ary_store(arglist, 0, rb_num_real(x));
40
+ arglist = rb_block_call(arglist, map, 0, NULL,
41
+ decimal_round_iter, prec);
42
+
43
+ x = rb_ary_entry(arglist, 0);
44
+ }
45
+ else
46
+ {
47
+ rb_ary_store(arglist, 0, rb_num_real(x));
48
+ rb_ary_store(arglist, 1, rb_num_imag(x));
49
+ arglist = rb_block_call(arglist, map, 0, NULL,
50
+ decimal_round_iter, prec);
51
+ x = rb_Complex(
52
+ rb_ary_entry(arglist, 0),
53
+ rb_ary_entry(arglist, 1));
54
+ }
55
+ return x;
56
+ }
@@ -0,0 +1,6 @@
1
+ VALUE
2
+ rb_num_uminus(VALUE x)
3
+ {
4
+ const ID uminus = rb_intern("-@");
5
+ return rb_funcall(x, uminus, 0);
6
+ }
@@ -0,0 +1,6 @@
1
+ bool
2
+ rb_num_zero_p(VALUE z)
3
+ {
4
+ const ID zero_p = rb_intern("zero?");
5
+ return RTEST(rb_funcall(z, zero_p, 0));
6
+ }
@@ -0,0 +1,13 @@
1
+ /*******************************************************************************
2
+ api.c -- API for BigMathR
3
+
4
+ Author: tribusonz
5
+ Licence: MIT
6
+ *******************************************************************************/
7
+ #include <ruby.h>
8
+ #include "math_r/globals.h"
9
+ #include "math_r/bigmath_r.h"
10
+
11
+ #include "decl.h"
12
+ #include "api.h"
13
+ #include "algofunc.h"
@@ -0,0 +1,69 @@
1
+ #ifndef BIGMATH_API_H
2
+ #define BIGMATH_API_H
3
+
4
+ #include "api/bigdecimal/check_precise.h"
5
+ #include "api/bigdecimal/infinity.h"
6
+ #include "api/bigdecimal/minus_infinity.h"
7
+ #include "api/bigdecimal/minus_one.h"
8
+ #include "api/bigdecimal/minus_zero.h"
9
+ #include "api/bigdecimal/nan.h"
10
+ #include "api/bigdecimal/one.h"
11
+ #include "api/bigdecimal/sign.h"
12
+ #include "api/bigdecimal/zero.h"
13
+ #include "api/bigmath/api_call1.h"
14
+ #include "api/bigmath/api_call2.h"
15
+ #include "api/bigmath/atan.h"
16
+ #include "api/bigmath/atan_adopt.h"
17
+ #include "api/bigmath/cabs.h"
18
+ #include "api/bigmath/carg.h"
19
+ #include "api/bigmath/cexp.h"
20
+ #include "api/bigmath/clog.h"
21
+ #include "api/bigmath/const.h"
22
+ #include "api/bigmath/const_e.h"
23
+ #include "api/bigmath/const_log10.h"
24
+ #include "api/bigmath/const_log2.h"
25
+ #include "api/bigmath/const_log_pi.h"
26
+ #include "api/bigmath/const_pi.h"
27
+ #include "api/bigmath/const_sqrt2.h"
28
+ #include "api/bigmath/const_sqrt3.h"
29
+ #include "api/bigmath/cpow.h"
30
+ #include "api/bigmath/csqrt.h"
31
+ #include "api/bigmath/degree_sparg.h"
32
+ #include "api/bigmath/escalb.h"
33
+ #include "api/bigmath/exp.h"
34
+ #include "api/bigmath/expxt.h"
35
+ #include "api/bigmath/hypot.h"
36
+ #include "api/bigmath/ipow.h"
37
+ #include "api/bigmath/l2norm.h"
38
+ #include "api/bigmath/log.h"
39
+ #include "api/bigmath/pow.h"
40
+ #include "api/bigmath/quadrant.h"
41
+ #include "api/bigmath/sincos.h"
42
+ #include "api/bigmath/sqrt.h"
43
+ #include "api/bigmath/to_rad.h"
44
+ #include "api/kernel/rb_BigDecimal.h"
45
+ #include "api/kernel/rb_BigDecimal1.h"
46
+ #include "api/kernel/rb_BigDecimal_flo.h"
47
+ #include "api/kernel/rb_ImaginaryZ.h"
48
+ #include "api/numanalysis/condition_p.h"
49
+ #include "api/numanalysis/make_n.h"
50
+ #include "api/numeric/abs.h"
51
+ #include "api/numeric/canonicalize.h"
52
+ #include "api/numeric/cmpeql.h"
53
+ #include "api/numeric/equal_p.h"
54
+ #include "api/numeric/finite_p.h"
55
+ #include "api/numeric/imag.h"
56
+ #include "api/numeric/infinite_p.h"
57
+ #include "api/numeric/nan_p.h"
58
+ #include "api/numeric/negative_p.h"
59
+ #include "api/numeric/nonzero_p.h"
60
+ #include "api/numeric/notequal_p.h"
61
+ #include "api/numeric/numeric_p.h"
62
+ #include "api/numeric/positive_p.h"
63
+ #include "api/numeric/real.h"
64
+ #include "api/numeric/real_p.h"
65
+ #include "api/numeric/round.h"
66
+ #include "api/numeric/uminus.h"
67
+ #include "api/numeric/zero_p.h"
68
+
69
+ #endif /* BIGMATH_API_H */
@@ -0,0 +1,186 @@
1
+ /*******************************************************************************
2
+ constant.c -- Mathematical constants
3
+
4
+ Author: tribusonz
5
+ Licence: MIT
6
+ *******************************************************************************/
7
+ #include <ruby.h>
8
+ #include "math_r/globals.h"
9
+ #include "math_r/bigmath_r.h"
10
+ #include "decl.h"
11
+
12
+ /**
13
+ * The constant pi.
14
+ * @example
15
+ * BigMathR.PI(20) #=> 0.314159265358979323846e1
16
+ * @param prec [Integer] Arbitrary precision
17
+ * @return [BigDecimal] Real solution
18
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
19
+ * @since 0.1.0
20
+ */
21
+ static VALUE
22
+ __impl_const_pi(VALUE unused_obj, VALUE prec)
23
+ {
24
+ return rb_bigmath_const_pi(prec);
25
+ }
26
+
27
+ /**
28
+ * The natural logarithm of pi.
29
+ * @example
30
+ * BigMathR.LOG_PI(20) #=> 0.11447298858494001741e1
31
+ * @param prec [Integer] Arbitrary precision
32
+ * @return [BigDecimal] Real solution
33
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
34
+ * @since 0.1.0
35
+ */
36
+ static VALUE
37
+ __impl_const_log_pi(VALUE unused_obj, VALUE prec)
38
+ {
39
+ return rb_bigmath_const_log_pi(prec);
40
+ }
41
+
42
+ /**
43
+ * The constant e.
44
+ * @example
45
+ * BigMathR.E(20) #=> 0.27182818284590452354e1
46
+ * @param prec [Integer] Arbitrary precision
47
+ * @return [BigDecimal] Real solution
48
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
49
+ * @since 0.1.0
50
+ */
51
+ static VALUE
52
+ __impl_const_e(VALUE unused_obj, VALUE prec)
53
+ {
54
+ return rb_bigmath_const_e(prec);
55
+ }
56
+
57
+ /**
58
+ * The natural logarithm of 2.
59
+ * @example
60
+ * BigMathR.LOG2(20) #=> 0.69314718055994530942e0
61
+ * @param prec [Integer] Arbitrary precision
62
+ * @return [BigDecimal] Real solution
63
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
64
+ * @since 0.1.0
65
+ */
66
+ static VALUE
67
+ __impl_const_log2(VALUE unused_obj, VALUE prec)
68
+ {
69
+ return rb_bigmath_const_log2(prec);
70
+ }
71
+
72
+ /**
73
+ * The natural logarithm of 10.
74
+ * @example
75
+ * BigMathR.LOG10(20) #=> 0.2302585092994045684e1
76
+ * @param prec [Integer] Arbitrary precision
77
+ * @return [BigDecimal] Real solution
78
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
79
+ * @since 0.1.0
80
+ */
81
+ static VALUE
82
+ __impl_const_log10(VALUE unused_obj, VALUE prec)
83
+ {
84
+ return rb_bigmath_const_log10(prec);
85
+ }
86
+
87
+ /**
88
+ * The square root of 2.
89
+ * @example
90
+ * BigMathR.SQRT2(20) #=> 0.14142135623730950488e1
91
+ * @param prec [Integer] Arbitrary precision
92
+ * @return [BigDecimal] Real solution
93
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
94
+ * @since 0.1.0
95
+ */
96
+ static VALUE
97
+ __impl_const_sqrt2(VALUE unused_obj, VALUE prec)
98
+ {
99
+ return rb_bigmath_const_sqrt2(prec);
100
+ }
101
+
102
+ /**
103
+ * The square root of 3.
104
+ * @example
105
+ * BigMathR.SQRT3(20) #=> 0.17320508075688772935e1
106
+ * @param prec [Integer] Arbitrary precision
107
+ * @return [BigDecimal] Real solution
108
+ * @raise [ArgumentError] Occurs when +prec+ is not a positive integer.
109
+ * @since 0.1.0
110
+ */
111
+ static VALUE
112
+ __impl_const_sqrt3(VALUE unused_obj, VALUE prec)
113
+ {
114
+ return rb_bigmath_const_sqrt3(prec);
115
+ }
116
+
117
+ /**
118
+ * Implement by Machin's formula.
119
+ *
120
+ * @example
121
+ * BigMathR::Const::PI.machin(20)
122
+ * #=> 0.31415926535897932385e1
123
+ * @param prec [Integer] Arbitrary precision
124
+ * @return [BigDecimal] Constant PI
125
+ * @raise [TypeError] not an Integer
126
+ * @raise [RangeError] Zero or negative precision
127
+ */
128
+ static VALUE
129
+ __impl_const_pi_machin(VALUE unused_obj, VALUE prec)
130
+ {
131
+ return PI_machin(prec);
132
+ }
133
+
134
+ /**
135
+ * Implement by series expansion: sum_(n=0)^infty 1/n!
136
+ *
137
+ * @example
138
+ * BigMathR::Const::E.ser(20)
139
+ * #=> 0.27182818284590452354e1
140
+ * @param prec [Integer] Arbitrary precision
141
+ * @return [BigDecimal] Natural logarithm of 2
142
+ * @raise [TypeError] not an Integer
143
+ * @raise [RangeError] Zero or negative precision
144
+ */
145
+ static VALUE
146
+ __impl_const_e_ser(VALUE unused_obj, VALUE prec)
147
+ {
148
+ return E_ser(prec);
149
+ }
150
+
151
+ /**
152
+ * Implement by BBP's formula (Borwein and Bailey 2002)
153
+ *
154
+ * @example
155
+ * BigMathR::Const::LOG2.bbp2002(20)
156
+ * #=> 0.69314718055994530942e0
157
+ * @param prec [Integer] Arbitrary precision
158
+ * @return [BigDecimal] Natural logarithm of 2
159
+ * @raise [TypeError] not an Integer
160
+ * @raise [RangeError] Zero or negative precision
161
+ */
162
+ static VALUE
163
+ __impl_const_log2_bbp2002(VALUE unused_obj, VALUE prec)
164
+ {
165
+ return LOG2_BBP2002(prec);
166
+ }
167
+
168
+
169
+ /* :nodoc: */
170
+ void
171
+ InitVM_Const(void)
172
+ {
173
+ rb_define_module_function(rb_mBigMathR, "PI", __impl_const_pi, 1);
174
+ rb_define_module_function(rb_mBigMathR, "E", __impl_const_e, 1);
175
+ rb_define_module_function(rb_mBigMathR, "LOG2", __impl_const_log2, 1);
176
+ rb_define_module_function(rb_mBigMathR, "LOG_PI", __impl_const_log_pi, 1);
177
+ rb_define_module_function(rb_mBigMathR, "LOG10", __impl_const_log10, 1);
178
+ rb_define_module_function(rb_mBigMathR, "SQRT2", __impl_const_sqrt2, 1);
179
+ rb_define_module_function(rb_mBigMathR, "SQRT3", __impl_const_sqrt3, 1);
180
+
181
+ rb_define_module_function(rb_mConstPI, "machin", __impl_const_pi_machin, 1);
182
+ rb_define_module_function(rb_mConstE, "ser", __impl_const_e_ser, 1);
183
+ rb_define_module_function(rb_mConstLOG2, "bbp2002", __impl_const_log2_bbp2002, 1);
184
+
185
+ }
186
+
@@ -0,0 +1,203 @@
1
+ #ifndef BIGMATH_MATHFUNC_H
2
+ #define BIGMATH_MATHFUNC_H
3
+
4
+ VALUE E_ser(VALUE prec);
5
+ VALUE LOG10_ser(VALUE prec);
6
+ VALUE LOG2_BBP2002(VALUE prec);
7
+ VALUE LOG_PI_builtin(VALUE prec);
8
+ VALUE PI_machin(VALUE prec);
9
+ VALUE SQRT2_builtin(VALUE prec);
10
+ VALUE SQRT3_builtin(VALUE prec);
11
+ VALUE acos_branch(VALUE x, VALUE prec, bigmath_func1 cb);
12
+ VALUE acos_edom(VALUE x, VALUE prec);
13
+ VALUE acos_logrep(VALUE x, VALUE prec);
14
+ VALUE acos_ser(VALUE x, VALUE prec);
15
+ VALUE acosh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
16
+ VALUE acosh_edom(VALUE x, VALUE prec);
17
+ VALUE acosh_logrep(VALUE x, VALUE prec);
18
+ VALUE acot_branch(VALUE x, VALUE prec, bigmath_func1 cb);
19
+ VALUE acot_logrep(VALUE x, VALUE prec);
20
+ VALUE acoth_branch(VALUE x, VALUE prec, bigmath_func1 cb);
21
+ VALUE acoth_edom(VALUE x, VALUE prec);
22
+ VALUE acoth_logrep(VALUE x, VALUE prec);
23
+ VALUE acsc_branch(VALUE x, VALUE prec, bigmath_func1 cb);
24
+ VALUE acsc_edom(VALUE x, VALUE prec);
25
+ VALUE acsc_logrep(VALUE x, VALUE prec);
26
+ VALUE acsch_branch(VALUE x, VALUE prec, bigmath_func1 cb);
27
+ VALUE acsch_logrep(VALUE x, VALUE prec);
28
+ VALUE asec_branch(VALUE x, VALUE prec, bigmath_func1 cb);
29
+ VALUE asec_edom(VALUE x, VALUE prec);
30
+ VALUE asec_logrep(VALUE x, VALUE prec);
31
+ VALUE asech_branch(VALUE x, VALUE prec, bigmath_func1 cb);
32
+ VALUE asech_edom(VALUE x, VALUE prec);
33
+ VALUE asech_logrep(VALUE x, VALUE prec);
34
+ VALUE asin_branch(VALUE x, VALUE prec, bigmath_func1 cb);
35
+ VALUE asin_edom(VALUE x, VALUE prec);
36
+ VALUE asin_logrep(VALUE x, VALUE prec);
37
+ VALUE asin_ser(VALUE x, VALUE prec);
38
+ VALUE asinh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
39
+ VALUE asinh_logrep(VALUE x, VALUE prec);
40
+ VALUE asinh_ser(VALUE x, VALUE prec);
41
+ VALUE atan_branch(VALUE x, VALUE prec, bigmath_func1 cb);
42
+ VALUE atan_logrep(VALUE x, VALUE prec);
43
+ VALUE atan_ser_euler(VALUE x, VALUE prec);
44
+ VALUE atan_ser_usual(VALUE x, VALUE prec);
45
+ VALUE atanh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
46
+ VALUE atanh_edom(VALUE x, VALUE prec);
47
+ VALUE atanh_logrep(VALUE x, VALUE prec);
48
+ VALUE atanh_ser(VALUE x, VALUE prec);
49
+ VALUE cabs_formula(VALUE x, VALUE prec);
50
+ VALUE cacos_branch(VALUE x, VALUE prec, bigmath_func1 cb);
51
+ VALUE cacos_logrep(VALUE x, VALUE prec);
52
+ VALUE cacosh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
53
+ VALUE cacosh_logrep(VALUE x, VALUE prec);
54
+ VALUE cacot_branch(VALUE x, VALUE prec, bigmath_func1 cb);
55
+ VALUE cacot_logrep(VALUE x, VALUE prec);
56
+ VALUE cacoth_branch(VALUE x, VALUE prec, bigmath_func1 cb);
57
+ VALUE cacoth_logrep(VALUE x, VALUE prec);
58
+ VALUE cacsc_branch(VALUE x, VALUE prec, bigmath_func1 cb);
59
+ VALUE cacsc_logrep(VALUE x, VALUE prec);
60
+ VALUE cacsch_branch(VALUE x, VALUE prec, bigmath_func1 cb);
61
+ VALUE cacsch_logrep(VALUE x, VALUE prec);
62
+ VALUE carg_formula(VALUE x, VALUE prec);
63
+ VALUE casec_branch(VALUE x, VALUE prec, bigmath_func1 cb);
64
+ VALUE casec_logrep(VALUE x, VALUE prec);
65
+ VALUE casech_branch(VALUE x, VALUE prec, bigmath_func1 cb);
66
+ VALUE casech_logrep(VALUE x, VALUE prec);
67
+ VALUE casin_branch(VALUE x, VALUE prec, bigmath_func1 cb);
68
+ VALUE casin_logrep(VALUE x, VALUE prec);
69
+ VALUE casinh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
70
+ VALUE casinh_logrep(VALUE x, VALUE prec);
71
+ VALUE catan_branch(VALUE x, VALUE prec, bigmath_func1 cb);
72
+ VALUE catan_logrep(VALUE x, VALUE prec);
73
+ VALUE catanh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
74
+ VALUE catanh_logrep(VALUE x, VALUE prec);
75
+ VALUE ccbrt_formula(VALUE x, VALUE prec);
76
+ VALUE ccos_branch(VALUE x, VALUE prec, bigmath_func1 cb);
77
+ VALUE ccos_eulerf(VALUE x, VALUE prec);
78
+ VALUE ccosh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
79
+ VALUE ccosh_eulerf(VALUE x, VALUE prec);
80
+ VALUE ccot_branch(VALUE x, VALUE prec, bigmath_func1 cb);
81
+ VALUE ccot_eulerf(VALUE x, VALUE prec);
82
+ VALUE ccoth_branch(VALUE x, VALUE prec, bigmath_func1 cb);
83
+ VALUE ccoth_eulerf(VALUE x, VALUE prec);
84
+ VALUE ccsc_branch(VALUE x, VALUE prec, bigmath_func1 cb);
85
+ VALUE ccsc_eulerf(VALUE x, VALUE prec);
86
+ VALUE ccsch_branch(VALUE x, VALUE prec, bigmath_func1 cb);
87
+ VALUE ccsch_eulerf(VALUE x, VALUE prec);
88
+ VALUE cexp_branch(VALUE x, VALUE prec, bigmath_func1 cb);
89
+ VALUE cexp_eulerf(VALUE x, VALUE prec);
90
+ VALUE cexp2_branch(VALUE x, VALUE prec, bigmath_func1 cb);
91
+ VALUE cexp2_eulerf(VALUE x, VALUE prec);
92
+ VALUE clog_branch(VALUE x, VALUE prec, bigmath_func1 cb);
93
+ VALUE clog_formula(VALUE x, VALUE prec);
94
+ VALUE clog10_formula(VALUE x, VALUE prec);
95
+ VALUE clog1p_branch(VALUE x, VALUE prec, bigmath_func1 cb);
96
+ VALUE clog2_formula(VALUE x, VALUE prec);
97
+ VALUE cos_branch(VALUE x, VALUE prec, bigmath_func1 cb);
98
+ VALUE cos_eulerf(VALUE x, VALUE prec);
99
+ VALUE cos_ser(VALUE x, VALUE prec);
100
+ VALUE cosh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
101
+ VALUE cosh_eulerf(VALUE x, VALUE prec);
102
+ VALUE cosh_formula(VALUE x, VALUE prec);
103
+ VALUE cosh_ser(VALUE x, VALUE prec);
104
+ VALUE cot_branch(VALUE x, VALUE prec, bigmath_func1 cb);
105
+ VALUE cot_eulerf(VALUE x, VALUE prec);
106
+ VALUE cot_ser(VALUE x, VALUE prec);
107
+ VALUE coth_branch(VALUE x, VALUE prec, bigmath_func1 cb);
108
+ VALUE coth_eulerf(VALUE x, VALUE prec);
109
+ VALUE coth_formula(VALUE x, VALUE prec);
110
+ VALUE coth_ser(VALUE x, VALUE prec);
111
+ VALUE cpow_formula(VALUE x, VALUE y, VALUE prec);
112
+ VALUE csc_branch(VALUE x, VALUE prec, bigmath_func1 cb);
113
+ VALUE csc_eulerf(VALUE x, VALUE prec);
114
+ VALUE csc_ser(VALUE x, VALUE prec);
115
+ VALUE csch_branch(VALUE x, VALUE prec, bigmath_func1 cb);
116
+ VALUE csch_eulerf(VALUE x, VALUE prec);
117
+ VALUE csch_formula(VALUE x, VALUE prec);
118
+ VALUE csch_ser(VALUE x, VALUE prec);
119
+ VALUE csec_branch(VALUE x, VALUE prec, bigmath_func1 cb);
120
+ VALUE csec_eulerf(VALUE x, VALUE prec);
121
+ VALUE csech_branch(VALUE x, VALUE prec, bigmath_func1 cb);
122
+ VALUE csech_eulerf(VALUE x, VALUE prec);
123
+ VALUE csin_branch(VALUE x, VALUE prec, bigmath_func1 cb);
124
+ VALUE csin_eulerf(VALUE x, VALUE prec);
125
+ VALUE csinh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
126
+ VALUE csinh_eulerf(VALUE x, VALUE prec);
127
+ VALUE csqrt_formula(VALUE x, VALUE prec);
128
+ VALUE ctan_branch(VALUE x, VALUE prec, bigmath_func1 cb);
129
+ VALUE ctan_eulerf(VALUE x, VALUE prec);
130
+ VALUE ctanh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
131
+ VALUE ctanh_eulerf(VALUE x, VALUE prec);
132
+ VALUE cuberoot_newton(VALUE x, VALUE prec);
133
+ VALUE erf_algo911(VALUE x, VALUE prec);
134
+ VALUE erf_branch(VALUE x, VALUE prec, bigmath_func1 cb);
135
+ VALUE erf_cf(VALUE x, VALUE prec);
136
+ VALUE erf_ser_inf(VALUE x, VALUE prec);
137
+ VALUE erf_ser_zero(VALUE x, VALUE prec);
138
+ VALUE erfc_algo911(VALUE x, VALUE prec);
139
+ VALUE erfc_branch(VALUE x, VALUE prec, bigmath_func1 cb);
140
+ VALUE erfc_cf(VALUE x, VALUE prec);
141
+ void escalb_edf(VALUE x, VALUE y, VALUE prec, VALUE *a, VALUE *b);
142
+ VALUE exp_branch(VALUE x, VALUE prec, bigmath_func1 cb);
143
+ VALUE exp_builtin(VALUE x, VALUE prec);
144
+ VALUE exp_edf(VALUE x, VALUE prec);
145
+ VALUE exp2_branch(VALUE x, VALUE prec, bigmath_func1 cb);
146
+ VALUE exp2_edf(VALUE x, VALUE prec);
147
+ VALUE expxt_edf(VALUE x, VALUE y, VALUE prec);
148
+ VALUE f_euler_formula(VALUE x, VALUE prec);
149
+ VALUE hypot_branch(VALUE x, VALUE y, VALUE prec, bigmath_func2 cb);
150
+ VALUE hypot_l2norm(VALUE x, VALUE y, VALUE prec);
151
+ VALUE hypot_mmm(VALUE x, VALUE y, VALUE prec);
152
+ VALUE ipow_edf(VALUE x, VALUE y, VALUE prec);
153
+ VALUE l2norm_formula(VALUE x, VALUE prec);
154
+ VALUE log_branch(VALUE x, VALUE prec, bigmath_func1 cb);
155
+ VALUE log_builtin(VALUE x, VALUE prec);
156
+ VALUE log_edf(VALUE x, VALUE prec);
157
+ VALUE log_edom(VALUE x, VALUE prec);
158
+ VALUE log_mercator(VALUE x, VALUE prec);
159
+ VALUE log_ser_okumura(VALUE x, VALUE prec);
160
+ VALUE log10_branch(VALUE x, VALUE prec, bigmath_func1 cb);
161
+ VALUE log10_edf(VALUE x, VALUE prec);
162
+ VALUE log10_mercator(VALUE x, VALUE prec);
163
+ VALUE log1p_branch(VALUE x, VALUE prec, bigmath_func1 cb);
164
+ VALUE log1p_p_adic(VALUE x, VALUE prec);
165
+ VALUE log1p_ser_mercator(VALUE x, VALUE prec);
166
+ VALUE log2_branch(VALUE x, VALUE prec, bigmath_func1 cb);
167
+ VALUE log2_edf(VALUE x, VALUE prec);
168
+ VALUE log2_mercator(VALUE x, VALUE prec);
169
+ VALUE logxt_edf(VALUE x, VALUE y, VALUE prec);
170
+ VALUE pow_formula(VALUE x, VALUE y, VALUE prec);
171
+ VALUE quadrant_formula(VALUE x, VALUE y, VALUE prec);
172
+ VALUE rcm10_edf(VALUE x, VALUE *reso);
173
+ VALUE rcm2_edf(VALUE x, VALUE *reso);
174
+ VALUE sec_branch(VALUE x, VALUE prec, bigmath_func1 cb);
175
+ VALUE sec_eulerf(VALUE x, VALUE prec);
176
+ VALUE sec_ser(VALUE x, VALUE prec);
177
+ VALUE sech_branch(VALUE x, VALUE prec, bigmath_func1 cb);
178
+ VALUE sech_eulerf(VALUE x, VALUE prec);
179
+ VALUE sech_formula(VALUE x, VALUE prec);
180
+ VALUE sech_ser(VALUE x, VALUE prec);
181
+ VALUE sin_branch(VALUE x, VALUE prec, bigmath_func1 cb);
182
+ VALUE sin_eulerf(VALUE x, VALUE prec);
183
+ VALUE sin_ser(VALUE x, VALUE prec);
184
+ void sincos_ser(VALUE x, VALUE prec, VALUE *a, VALUE *b);
185
+ VALUE sinh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
186
+ VALUE sinh_eulerf(VALUE x, VALUE prec);
187
+ VALUE sinh_formula(VALUE x, VALUE prec);
188
+ VALUE sinh_ser(VALUE x, VALUE prec);
189
+ void sinhcosh_ser(VALUE x, VALUE prec, VALUE *a, VALUE *b);
190
+ VALUE sqrt_branch(VALUE x, VALUE prec, bigmath_func1 cb);
191
+ VALUE sqrt_builtin(VALUE x, VALUE prec);
192
+ VALUE sqrt_edom(VALUE x, VALUE prec);
193
+ VALUE sqrt_newton(VALUE x, VALUE prec);
194
+ VALUE tan_branch(VALUE x, VALUE prec, bigmath_func1 cb);
195
+ VALUE tan_eulerf(VALUE x, VALUE prec);
196
+ VALUE tan_ser(VALUE x, VALUE prec);
197
+ VALUE tanh_branch(VALUE x, VALUE prec, bigmath_func1 cb);
198
+ VALUE tanh_eulerf(VALUE x, VALUE prec);
199
+ VALUE tanh_formula(VALUE x, VALUE prec);
200
+ VALUE tanh_ser(VALUE x, VALUE prec);
201
+ VALUE trig_f_euler(ID func, VALUE theta, VALUE prec);
202
+
203
+ #endif /* BIGMATH_MATHFUNC_H */