long-decimal 0.00.18 → 0.00.19

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 (151) hide show
  1. data/README +23 -5
  2. data/Rakefile +5 -5
  3. data/VERSION +1 -1
  4. data/doc/classes/LongDecimal.html +10 -9
  5. data/doc/classes/LongDecimal.src/M000034.html +1 -1
  6. data/doc/classes/LongDecimal.src/M000035.html +1 -1
  7. data/doc/classes/LongDecimal.src/M000036.html +1 -1
  8. data/doc/classes/LongDecimal.src/M000037.html +1 -1
  9. data/doc/classes/LongDecimal.src/M000038.html +1 -1
  10. data/doc/classes/LongDecimal.src/M000039.html +1 -1
  11. data/doc/classes/LongDecimal.src/M000040.html +1 -1
  12. data/doc/classes/LongDecimal.src/M000041.html +1 -1
  13. data/doc/classes/LongDecimal.src/M000042.html +1 -1
  14. data/doc/classes/LongDecimal.src/M000043.html +1 -1
  15. data/doc/classes/LongDecimal.src/M000044.html +1 -1
  16. data/doc/classes/LongDecimal.src/M000045.html +1 -1
  17. data/doc/classes/LongDecimal.src/M000046.html +1 -1
  18. data/doc/classes/LongDecimal.src/M000047.html +1 -1
  19. data/doc/classes/LongDecimal.src/M000048.html +1 -1
  20. data/doc/classes/LongDecimal.src/M000049.html +1 -1
  21. data/doc/classes/LongDecimal.src/M000050.html +1 -1
  22. data/doc/classes/LongDecimal.src/M000051.html +1 -1
  23. data/doc/classes/LongDecimal.src/M000052.html +1 -1
  24. data/doc/classes/LongDecimal.src/M000053.html +1 -1
  25. data/doc/classes/LongDecimal.src/M000054.html +1 -1
  26. data/doc/classes/LongDecimal.src/M000055.html +1 -1
  27. data/doc/classes/LongDecimal.src/M000056.html +1 -1
  28. data/doc/classes/LongDecimal.src/M000058.html +1 -1
  29. data/doc/classes/LongDecimal.src/M000059.html +1 -1
  30. data/doc/classes/LongDecimal.src/M000060.html +1 -1
  31. data/doc/classes/LongDecimal.src/M000061.html +1 -1
  32. data/doc/classes/LongDecimal.src/M000062.html +1 -1
  33. data/doc/classes/LongDecimal.src/M000063.html +1 -1
  34. data/doc/classes/LongDecimal.src/M000064.html +1 -1
  35. data/doc/classes/LongDecimal.src/M000065.html +1 -1
  36. data/doc/classes/LongDecimal.src/M000066.html +1 -1
  37. data/doc/classes/LongDecimal.src/M000067.html +1 -1
  38. data/doc/classes/LongDecimal.src/M000068.html +1 -1
  39. data/doc/classes/LongDecimal.src/M000069.html +1 -1
  40. data/doc/classes/LongDecimal.src/M000070.html +1 -1
  41. data/doc/classes/LongDecimal.src/M000071.html +1 -1
  42. data/doc/classes/LongDecimal.src/M000072.html +1 -1
  43. data/doc/classes/LongDecimal.src/M000073.html +1 -1
  44. data/doc/classes/LongDecimal.src/M000074.html +1 -1
  45. data/doc/classes/LongDecimal.src/M000075.html +1 -1
  46. data/doc/classes/LongDecimal.src/M000076.html +1 -1
  47. data/doc/classes/LongDecimal.src/M000077.html +1 -1
  48. data/doc/classes/LongDecimal.src/M000078.html +1 -1
  49. data/doc/classes/LongDecimal.src/M000079.html +1 -1
  50. data/doc/classes/LongDecimal.src/M000080.html +1 -1
  51. data/doc/classes/LongDecimal.src/M000081.html +1 -1
  52. data/doc/classes/LongDecimal.src/M000082.html +1 -1
  53. data/doc/classes/LongDecimal.src/M000083.html +1 -1
  54. data/doc/classes/LongDecimal.src/M000084.html +1 -1
  55. data/doc/classes/LongDecimal.src/M000085.html +1 -1
  56. data/doc/classes/LongDecimal.src/M000086.html +1 -1
  57. data/doc/classes/LongDecimal.src/M000087.html +1 -1
  58. data/doc/classes/LongDecimal.src/M000088.html +1 -1
  59. data/doc/classes/LongDecimal.src/M000089.html +1 -1
  60. data/doc/classes/LongDecimal.src/M000090.html +1 -1
  61. data/doc/classes/LongDecimal.src/M000091.html +1 -1
  62. data/doc/classes/LongDecimal.src/M000094.html +1 -1
  63. data/doc/classes/LongDecimal.src/M000095.html +1 -1
  64. data/doc/classes/LongDecimal.src/M000096.html +1 -1
  65. data/doc/classes/LongDecimal.src/M000097.html +1 -1
  66. data/doc/classes/LongDecimal.src/M000098.html +1 -1
  67. data/doc/classes/LongDecimal.src/M000099.html +1 -1
  68. data/doc/classes/LongDecimalBase.html +10 -9
  69. data/doc/classes/LongDecimalBase.src/M000102.html +1 -1
  70. data/doc/classes/LongDecimalBase.src/M000103.html +1 -1
  71. data/doc/classes/LongDecimalBase.src/M000104.html +1 -1
  72. data/doc/classes/LongDecimalBase.src/M000105.html +1 -1
  73. data/doc/classes/LongDecimalBase.src/M000106.html +1 -1
  74. data/doc/classes/LongDecimalBase.src/M000107.html +1 -1
  75. data/doc/classes/LongDecimalBase.src/M000110.html +1 -1
  76. data/doc/classes/LongDecimalBase.src/M000111.html +1 -1
  77. data/doc/classes/LongDecimalBase.src/M000112.html +1 -1
  78. data/doc/classes/LongDecimalQuot.html +10 -9
  79. data/doc/classes/LongDecimalQuot.src/M000003.html +1 -1
  80. data/doc/classes/LongDecimalQuot.src/M000004.html +1 -1
  81. data/doc/classes/LongDecimalQuot.src/M000005.html +1 -1
  82. data/doc/classes/LongDecimalQuot.src/M000006.html +1 -1
  83. data/doc/classes/LongDecimalQuot.src/M000007.html +1 -1
  84. data/doc/classes/LongDecimalQuot.src/M000008.html +1 -1
  85. data/doc/classes/LongDecimalQuot.src/M000009.html +1 -1
  86. data/doc/classes/LongDecimalQuot.src/M000010.html +1 -1
  87. data/doc/classes/LongDecimalQuot.src/M000011.html +1 -1
  88. data/doc/classes/LongDecimalQuot.src/M000012.html +1 -1
  89. data/doc/classes/LongDecimalQuot.src/M000013.html +1 -1
  90. data/doc/classes/LongDecimalQuot.src/M000014.html +1 -1
  91. data/doc/classes/LongDecimalQuot.src/M000015.html +1 -1
  92. data/doc/classes/LongDecimalQuot.src/M000016.html +1 -1
  93. data/doc/classes/LongDecimalQuot.src/M000017.html +1 -1
  94. data/doc/classes/LongDecimalQuot.src/M000018.html +1 -1
  95. data/doc/classes/LongDecimalQuot.src/M000019.html +1 -1
  96. data/doc/classes/LongDecimalQuot.src/M000020.html +1 -1
  97. data/doc/classes/LongDecimalQuot.src/M000021.html +1 -1
  98. data/doc/classes/LongDecimalQuot.src/M000022.html +1 -1
  99. data/doc/classes/LongDecimalQuot.src/M000023.html +1 -1
  100. data/doc/classes/LongDecimalQuot.src/M000024.html +1 -1
  101. data/doc/classes/LongDecimalQuot.src/M000025.html +1 -1
  102. data/doc/classes/LongDecimalQuot.src/M000026.html +1 -1
  103. data/doc/classes/LongDecimalQuot.src/M000027.html +1 -1
  104. data/doc/classes/LongDecimalQuot.src/M000028.html +1 -1
  105. data/doc/classes/LongDecimalQuot.src/M000029.html +1 -1
  106. data/doc/classes/LongDecimalQuot.src/M000032.html +1 -1
  107. data/doc/classes/LongDecimalQuot.src/M000033.html +1 -1
  108. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +20 -5
  109. data/doc/classes/LongMath.html +119 -64
  110. data/doc/classes/LongMath.src/M000113.html +1 -1
  111. data/doc/classes/LongMath.src/M000114.html +1 -1
  112. data/doc/classes/LongMath.src/M000115.html +1 -1
  113. data/doc/classes/LongMath.src/M000116.html +1 -1
  114. data/doc/classes/LongMath.src/M000117.html +1 -1
  115. data/doc/classes/LongMath.src/M000118.html +1 -1
  116. data/doc/classes/LongMath.src/M000119.html +1 -1
  117. data/doc/classes/LongMath.src/M000120.html +1 -1
  118. data/doc/classes/LongMath.src/M000121.html +1 -1
  119. data/doc/classes/LongMath.src/M000122.html +1 -1
  120. data/doc/classes/LongMath.src/M000123.html +1 -1
  121. data/doc/classes/LongMath.src/M000124.html +1 -1
  122. data/doc/classes/LongMath.src/M000125.html +1 -1
  123. data/doc/classes/LongMath.src/M000126.html +41 -25
  124. data/doc/classes/LongMath.src/M000127.html +1 -1
  125. data/doc/classes/LongMath.src/M000128.html +1 -1
  126. data/doc/classes/LongMath.src/M000129.html +1 -1
  127. data/doc/classes/LongMath.src/M000130.html +10 -38
  128. data/doc/classes/LongMath.src/M000131.html +41 -8
  129. data/doc/classes/LongMath.src/M000132.html +7 -4
  130. data/doc/classes/LongMath.src/M000133.html +4 -18
  131. data/doc/classes/LongMath.src/M000134.html +8 -7
  132. data/doc/classes/LongMath.src/M000135.html +13 -204
  133. data/doc/classes/LongMath.src/M000136.html +35 -39
  134. data/doc/classes/LongMath.src/M000137.html +129 -3
  135. data/doc/classes/Numeric.html +10 -9
  136. data/doc/classes/Numeric.src/M000100.html +1 -1
  137. data/doc/classes/Rational.html +10 -9
  138. data/doc/classes/Rational.src/M000101.html +1 -1
  139. data/doc/created.rid +1 -1
  140. data/doc/dot/f_0.dot +20 -7
  141. data/doc/dot/f_0.png +0 -0
  142. data/doc/dot/m_0_0.dot +20 -1
  143. data/doc/dot/m_0_0.png +0 -0
  144. data/doc/files/lib/long-decimal_rb.html +12 -11
  145. data/doc/files/lib/long-decimal_rb.src/M000001.html +1 -1
  146. data/doc/files/lib/long-decimal_rb.src/M000002.html +1 -1
  147. data/doc/fr_class_index.html +1 -0
  148. data/doc/fr_method_index.html +30 -26
  149. data/lib/long-decimal.rb +201 -53
  150. data/test/testlongdecimal.rb +4 -3
  151. metadata +3 -3
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1217</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1222</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimalQuot</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1225</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1230</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
15
15
  <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">first</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Rational</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">first</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>)) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">second</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">then</span>
16
16
  <span class="ruby-ivar">@rat</span> = <span class="ruby-constant">Rational</span>(<span class="ruby-identifier">first</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">first</span>.<span class="ruby-identifier">denominator</span>)
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1245</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1250</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">numerator</span>
15
15
  <span class="ruby-identifier">rat</span>.<span class="ruby-identifier">numerator</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1253</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1258</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">denominator</span>
15
15
  <span class="ruby-identifier">rat</span>.<span class="ruby-identifier">denominator</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1271</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1276</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
15
  <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@rat</span>.<span class="ruby-identifier">to_s</span>
16
16
  <span class="ruby-identifier">str</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;[&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">scale</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;]&quot;</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1279</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1284</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_f</span>
15
15
  <span class="ruby-identifier">to_r</span>.<span class="ruby-identifier">to_f</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1286</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1291</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_bd</span>
15
15
  <span class="ruby-identifier">to_ld</span>.<span class="ruby-identifier">to_bd</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1293</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1298</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_i</span>
15
15
  <span class="ruby-identifier">to_r</span>.<span class="ruby-identifier">to_i</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1302</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1307</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">prec</span> = <span class="ruby-identifier">scale</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_UP</span>)
15
15
  <span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1309</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1314</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inc!</span>
15
15
  <span class="ruby-ivar">@rat</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1316</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1321</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dec!</span>
15
15
  <span class="ruby-ivar">@rat</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1324</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1329</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-@</span>
15
15
  <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">then</span>
16
16
  <span class="ruby-keyword kw">self</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1338</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1343</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1353</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1358</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1368</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1373</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">*</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1383</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1388</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">/</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1398</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1403</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">**</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-keyword kw">then</span>
16
16
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">is_int?</span> <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1425</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1430</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divmod</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Complex</span>) <span class="ruby-keyword kw">then</span>
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;divmod not supported for Complex&quot;</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1437</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1442</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">%</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">q</span>, <span class="ruby-identifier">r</span> = <span class="ruby-identifier">divmod</span> <span class="ruby-identifier">other</span>
16
16
  <span class="ruby-identifier">r</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1445</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1450</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">abs</span>
15
15
  <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">rat</span>.<span class="ruby-identifier">abs</span>, <span class="ruby-identifier">scale</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1459</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1464</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span> = <span class="ruby-ivar">@scale</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">ROUND_UNNECESSARY</span>)
15
15
 
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;new_scale #{new_scale.inspect} must be integer&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1564</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1569</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
15
15
 
16
16
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1612</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1617</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
15
15
  (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">other</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">scale</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1620</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1625</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">zero?</span>
15
15
  <span class="ruby-ivar">@rat</span>.<span class="ruby-identifier">zero?</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1628</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1633</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">one?</span>
15
15
  (<span class="ruby-ivar">@rat</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1635</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1640</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_int?</span>
15
15
  <span class="ruby-identifier">denominator</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1642</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1647</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sgn</span>
15
15
  <span class="ruby-identifier">numerator</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-value">0</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1651</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1656</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
15
15
  <span class="ruby-identifier">rat</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">scale</span>.<span class="ruby-identifier">hash</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1659</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1664</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
15
15
  <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;LongDecimalQuot(Rational(%s, %s), %s)&quot;</span>, <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">inspect</span>, <span class="ruby-identifier">denominator</span>.<span class="ruby-identifier">inspect</span>, <span class="ruby-identifier">scale</span>.<span class="ruby-identifier">inspect</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -101,7 +101,8 @@ by <a href="../LongDecimal.html">LongDecimal</a>
101
101
  <h3 class="section-bar">Methods</h3>
102
102
 
103
103
  <div class="name-list">
104
- <a href="#M000138">&lt;=&gt;</a>&nbsp;&nbsp;
104
+ <a href="#M000141">&lt;=&gt;</a>&nbsp;&nbsp;
105
+ <a href="#M000142">hash</a>&nbsp;&nbsp;
105
106
  </div>
106
107
  </div>
107
108
 
@@ -130,12 +131,12 @@ by <a href="../LongDecimal.html">LongDecimal</a>
130
131
  <div id="methods">
131
132
  <h3 class="section-bar">Public Instance methods</h3>
132
133
 
133
- <div id="method-M000138" class="method-detail">
134
- <a name="M000138"></a>
134
+ <div id="method-M000141" class="method-detail">
135
+ <a name="M000141"></a>
135
136
 
136
137
  <div class="method-heading">
137
- <a href="RoundingModeClass.src/M000138.html" target="Code" class="method-signature"
138
- onclick="popupCode('RoundingModeClass.src/M000138.html');return false;">
138
+ <a href="RoundingModeClass.src/M000141.html" target="Code" class="method-signature"
139
+ onclick="popupCode('RoundingModeClass.src/M000141.html');return false;">
139
140
  <span class="method-name">&lt;=&gt;</span><span class="method-args">(o)</span>
140
141
  </a>
141
142
  </div>
@@ -147,6 +148,20 @@ introduce some ordering for rounding modes
147
148
  </div>
148
149
  </div>
149
150
 
151
+ <div id="method-M000142" class="method-detail">
152
+ <a name="M000142"></a>
153
+
154
+ <div class="method-heading">
155
+ <a href="RoundingModeClass.src/M000142.html" target="Code" class="method-signature"
156
+ onclick="popupCode('RoundingModeClass.src/M000142.html');return false;">
157
+ <span class="method-name">hash</span><span class="method-args">()</span>
158
+ </a>
159
+ </div>
160
+
161
+ <div class="method-description">
162
+ </div>
163
+ </div>
164
+
150
165
 
151
166
  </div>
152
167
 
@@ -73,8 +73,10 @@
73
73
  <div id="contextContent">
74
74
  <div id="diagram">
75
75
  <map id="map" name="map">
76
- <area shape="RECT" coords="5,5,160,53" href="LongDecimalRoundingMode.html" alt="LongDecimalRoundingMode">
77
- <area shape="RECT" coords="36,68,129,115" href="LongMath.html" alt="LongMath">
76
+ <area shape="RECT" coords="5,6,85,54" href="Comparable.html" alt="Comparable">
77
+ <area shape="RECT" coords="43,102,123,150" href="LongMath/CacheKey.html" alt="CacheKey">
78
+ <area shape="RECT" coords="109,6,264,54" href="LongDecimalRoundingMode.html" alt="LongDecimalRoundingMode">
79
+ <area shape="RECT" coords="32,68,160,160" href="LongMath.html" alt="LongMath">
78
80
  </map>
79
81
  <img src="../dot/m_0_0.png" usemap="#map" border=0 alt="Module: LongMath">
80
82
  </div>
@@ -99,7 +101,6 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
99
101
  <h3 class="section-bar">Methods</h3>
100
102
 
101
103
  <div class="name-list">
102
- <a href="#M000126">calc_pi</a>&nbsp;&nbsp;
103
104
  <a href="#M000114">check_is_int</a>&nbsp;&nbsp;
104
105
  <a href="#M000115">check_is_ld</a>&nbsp;&nbsp;
105
106
  <a href="#M000117">check_is_mode</a>&nbsp;&nbsp;
@@ -109,17 +110,20 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
109
110
  <a href="#M000129">exp10</a>&nbsp;&nbsp;
110
111
  <a href="#M000128">exp2</a>&nbsp;&nbsp;
111
112
  <a href="#M000130">exp_internal</a>&nbsp;&nbsp;
113
+ <a href="#M000131">exp_raw</a>&nbsp;&nbsp;
112
114
  <a href="#M000124">gcd_with_high_power</a>&nbsp;&nbsp;
113
- <a href="#M000132">log</a>&nbsp;&nbsp;
114
- <a href="#M000133">log10</a>&nbsp;&nbsp;
115
- <a href="#M000134">log2</a>&nbsp;&nbsp;
116
- <a href="#M000135">log_internal</a>&nbsp;&nbsp;
115
+ <a href="#M000133">log</a>&nbsp;&nbsp;
116
+ <a href="#M000134">log10</a>&nbsp;&nbsp;
117
+ <a href="#M000135">log2</a>&nbsp;&nbsp;
118
+ <a href="#M000136">log_internal</a>&nbsp;&nbsp;
119
+ <a href="#M000137">log_raw</a>&nbsp;&nbsp;
117
120
  <a href="#M000119">merge_from_words</a>&nbsp;&nbsp;
118
121
  <a href="#M000125">multiplicity_of_factor</a>&nbsp;&nbsp;
119
- <a href="#M000136">power</a>&nbsp;&nbsp;
120
- <a href="#M000137">power_internal</a>&nbsp;&nbsp;
122
+ <a href="#M000126">pi</a>&nbsp;&nbsp;
123
+ <a href="#M000138">power</a>&nbsp;&nbsp;
124
+ <a href="#M000139">power_internal</a>&nbsp;&nbsp;
121
125
  <a href="#M000118">split_to_words</a>&nbsp;&nbsp;
122
- <a href="#M000131">sqrt</a>&nbsp;&nbsp;
126
+ <a href="#M000132">sqrt</a>&nbsp;&nbsp;
123
127
  <a href="#M000120">sqrtb</a>&nbsp;&nbsp;
124
128
  <a href="#M000121">sqrtb_with_remainder</a>&nbsp;&nbsp;
125
129
  <a href="#M000122">sqrtw</a>&nbsp;&nbsp;
@@ -141,6 +145,12 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
141
145
 
142
146
  <div id="section">
143
147
 
148
+ <div id="class-list">
149
+ <h3 class="section-bar">Classes and Modules</h3>
150
+
151
+ Class <a href="LongMath/CacheKey.html" class="link">LongMath::CacheKey</a><br />
152
+
153
+ </div>
144
154
 
145
155
  <div id="constants-list">
146
156
  <h3 class="section-bar">Constants</h3>
@@ -167,6 +177,11 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
167
177
  <td>=</td>
168
178
  <td class="context-item-value">Math.log(10.0)</td>
169
179
  </tr>
180
+ <tr class="top-aligned-row context-row">
181
+ <td class="context-item-name">CacheKey</td>
182
+ <td>=</td>
183
+ <td class="context-item-value">Struct.new(:fname, :arg, :mode)</td>
184
+ </tr>
170
185
  </table>
171
186
  </div>
172
187
  </div>
@@ -180,30 +195,6 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
180
195
  <div id="methods">
181
196
  <h3 class="section-bar">Public Class methods</h3>
182
197
 
183
- <div id="method-M000126" class="method-detail">
184
- <a name="M000126"></a>
185
-
186
- <div class="method-heading">
187
- <a href="LongMath.src/M000126.html" target="Code" class="method-signature"
188
- onclick="popupCode('LongMath.src/M000126.html');return false;">
189
- <span class="method-name">calc_pi</span><span class="method-args">(prec, final_mode = LongDecimal::ROUND_HALF_DOWN)</span>
190
- </a>
191
- </div>
192
-
193
- <div class="method-description">
194
- <p>
195
- method for calculating pi to the given number of digits after the decimal
196
- point. It works fine for 1000 or 2000 digits or so. This method could be
197
- optimized more, but if you really want to go for more digits, you will find
198
- a specialized and optimized program for this specific purpose, probably
199
- written in C or C++. Since calculation of pi is not what should typically
200
- be done with <a href="LongDecimal.html">LongDecimal</a>, you may consider
201
- this method to be the easter egg of <a
202
- href="LongDecimal.html">LongDecimal</a>. ;-)
203
- </p>
204
- </div>
205
- </div>
206
-
207
198
  <div id="method-M000114" class="method-detail">
208
199
  <a name="M000114"></a>
209
200
 
@@ -365,7 +356,7 @@ future versions.
365
356
  <div class="method-heading">
366
357
  <a href="LongMath.src/M000130.html" target="Code" class="method-signature"
367
358
  onclick="popupCode('LongMath.src/M000130.html');return false;">
368
- <span class="method-name">exp_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, j = nil, k = nil, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN)</span>
359
+ <span class="method-name">exp_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, j = nil, k = nil, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN, cache_result = true)</span>
369
360
  </a>
370
361
  </div>
371
362
 
@@ -379,6 +370,24 @@ if the default settings for the parameters do not work correctly
379
370
  </div>
380
371
  </div>
381
372
 
373
+ <div id="method-M000131" class="method-detail">
374
+ <a name="M000131"></a>
375
+
376
+ <div class="method-heading">
377
+ <a href="LongMath.src/M000131.html" target="Code" class="method-signature"
378
+ onclick="popupCode('LongMath.src/M000131.html');return false;">
379
+ <span class="method-name">exp_raw</span><span class="method-args">(x, prec, j, k, iprec, mode)</span>
380
+ </a>
381
+ </div>
382
+
383
+ <div class="method-description">
384
+ <p>
385
+ calculation of exp(x) with precision used internally. Needs to be rounded
386
+ to be accurate to all digits that are provided.
387
+ </p>
388
+ </div>
389
+ </div>
390
+
382
391
  <div id="method-M000124" class="method-detail">
383
392
  <a name="M000124"></a>
384
393
 
@@ -397,12 +406,12 @@ exponent such that gcd(x, b**m) = gcd(x, b**n) for all m, n &gt;= n0
397
406
  </div>
398
407
  </div>
399
408
 
400
- <div id="method-M000132" class="method-detail">
401
- <a name="M000132"></a>
409
+ <div id="method-M000133" class="method-detail">
410
+ <a name="M000133"></a>
402
411
 
403
412
  <div class="method-heading">
404
- <a href="LongMath.src/M000132.html" target="Code" class="method-signature"
405
- onclick="popupCode('LongMath.src/M000132.html');return false;">
413
+ <a href="LongMath.src/M000133.html" target="Code" class="method-signature"
414
+ onclick="popupCode('LongMath.src/M000133.html');return false;">
406
415
  <span class="method-name">log</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
407
416
  </a>
408
417
  </div>
@@ -415,12 +424,12 @@ href="LongDecimal.html">LongDecimal</a>.
415
424
  </div>
416
425
  </div>
417
426
 
418
- <div id="method-M000133" class="method-detail">
419
- <a name="M000133"></a>
427
+ <div id="method-M000134" class="method-detail">
428
+ <a name="M000134"></a>
420
429
 
421
430
  <div class="method-heading">
422
- <a href="LongMath.src/M000133.html" target="Code" class="method-signature"
423
- onclick="popupCode('LongMath.src/M000133.html');return false;">
431
+ <a href="LongMath.src/M000134.html" target="Code" class="method-signature"
432
+ onclick="popupCode('LongMath.src/M000134.html');return false;">
424
433
  <span class="method-name">log10</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
425
434
  </a>
426
435
  </div>
@@ -433,12 +442,12 @@ href="LongDecimal.html">LongDecimal</a>.
433
442
  </div>
434
443
  </div>
435
444
 
436
- <div id="method-M000134" class="method-detail">
437
- <a name="M000134"></a>
445
+ <div id="method-M000135" class="method-detail">
446
+ <a name="M000135"></a>
438
447
 
439
448
  <div class="method-heading">
440
- <a href="LongMath.src/M000134.html" target="Code" class="method-signature"
441
- onclick="popupCode('LongMath.src/M000134.html');return false;">
449
+ <a href="LongMath.src/M000135.html" target="Code" class="method-signature"
450
+ onclick="popupCode('LongMath.src/M000135.html');return false;">
442
451
  <span class="method-name">log2</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
443
452
  </a>
444
453
  </div>
@@ -451,13 +460,13 @@ href="LongDecimal.html">LongDecimal</a>.
451
460
  </div>
452
461
  </div>
453
462
 
454
- <div id="method-M000135" class="method-detail">
455
- <a name="M000135"></a>
463
+ <div id="method-M000136" class="method-detail">
464
+ <a name="M000136"></a>
456
465
 
457
466
  <div class="method-heading">
458
- <a href="LongMath.src/M000135.html" target="Code" class="method-signature"
459
- onclick="popupCode('LongMath.src/M000135.html');return false;">
460
- <span class="method-name">log_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN)</span>
467
+ <a href="LongMath.src/M000136.html" target="Code" class="method-signature"
468
+ onclick="popupCode('LongMath.src/M000136.html');return false;">
469
+ <span class="method-name">log_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN, cache_result = true)</span>
461
470
  </a>
462
471
  </div>
463
472
 
@@ -471,6 +480,24 @@ if the default settings for the parameters do not work correctly
471
480
  </div>
472
481
  </div>
473
482
 
483
+ <div id="method-M000137" class="method-detail">
484
+ <a name="M000137"></a>
485
+
486
+ <div class="method-heading">
487
+ <a href="LongMath.src/M000137.html" target="Code" class="method-signature"
488
+ onclick="popupCode('LongMath.src/M000137.html');return false;">
489
+ <span class="method-name">log_raw</span><span class="method-args">(x, prec, iprec, mode)</span>
490
+ </a>
491
+ </div>
492
+
493
+ <div class="method-description">
494
+ <p>
495
+ calculate log with all digits used internally. result needs to be rounded
496
+ in order to ensure that all digits that are provided are correct.
497
+ </p>
498
+ </div>
499
+ </div>
500
+
474
501
  <div id="method-M000119" class="method-detail">
475
502
  <a name="M000119"></a>
476
503
 
@@ -511,12 +538,40 @@ that exceed the range of Float
511
538
  </div>
512
539
  </div>
513
540
 
514
- <div id="method-M000136" class="method-detail">
515
- <a name="M000136"></a>
541
+ <div id="method-M000126" class="method-detail">
542
+ <a name="M000126"></a>
516
543
 
517
544
  <div class="method-heading">
518
- <a href="LongMath.src/M000136.html" target="Code" class="method-signature"
519
- onclick="popupCode('LongMath.src/M000136.html');return false;">
545
+ <a href="LongMath.src/M000126.html" target="Code" class="method-signature"
546
+ onclick="popupCode('LongMath.src/M000126.html');return false;">
547
+ <span class="method-name">pi</span><span class="method-args">(prec, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = nil, cache_result = true)</span>
548
+ </a>
549
+ </div>
550
+
551
+ <div class="method-description">
552
+ <p>
553
+ method for calculating pi to the given number of digits after the decimal
554
+ point. It works fine for 1000 or 2000 digits or so. This method could be
555
+ optimized more, but if you really want to go for more digits, you will find
556
+ a specialized and optimized program for this specific purpose, probably
557
+ written in C or C++. Since calculation of pi is not what should typically
558
+ be done with <a href="LongDecimal.html">LongDecimal</a>, you may consider
559
+ this method to be the easter egg of <a
560
+ href="LongDecimal.html">LongDecimal</a>. ;-) parameters prec precision of
561
+ the end result final_mode rounding mode to be used when creating the end
562
+ result iprec precision used internally mode rounding_mode used internally
563
+ cache_result should the result be cached? Set to false, if an extraordinary
564
+ long result is really needed only once
565
+ </p>
566
+ </div>
567
+ </div>
568
+
569
+ <div id="method-M000138" class="method-detail">
570
+ <a name="M000138"></a>
571
+
572
+ <div class="method-heading">
573
+ <a href="LongMath.src/M000138.html" target="Code" class="method-signature"
574
+ onclick="popupCode('LongMath.src/M000138.html');return false;">
520
575
  <span class="method-name">power</span><span class="method-args">(x, y, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
521
576
  </a>
522
577
  </div>
@@ -530,12 +585,12 @@ that exp(y) still fits into a float (y &lt;= 709)
530
585
  </div>
531
586
  </div>
532
587
 
533
- <div id="method-M000137" class="method-detail">
534
- <a name="M000137"></a>
588
+ <div id="method-M000139" class="method-detail">
589
+ <a name="M000139"></a>
535
590
 
536
591
  <div class="method-heading">
537
- <a href="LongMath.src/M000137.html" target="Code" class="method-signature"
538
- onclick="popupCode('LongMath.src/M000137.html');return false;">
592
+ <a href="LongMath.src/M000139.html" target="Code" class="method-signature"
593
+ onclick="popupCode('LongMath.src/M000139.html');return false;">
539
594
  <span class="method-name">power_internal</span><span class="method-args">(x, y, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN)</span>
540
595
  </a>
541
596
  </div>
@@ -569,12 +624,12 @@ href="LongMath.html#M000119">merge_from_words</a>)
569
624
  </div>
570
625
  </div>
571
626
 
572
- <div id="method-M000131" class="method-detail">
573
- <a name="M000131"></a>
627
+ <div id="method-M000132" class="method-detail">
628
+ <a name="M000132"></a>
574
629
 
575
630
  <div class="method-heading">
576
- <a href="LongMath.src/M000131.html" target="Code" class="method-signature"
577
- onclick="popupCode('LongMath.src/M000131.html');return false;">
631
+ <a href="LongMath.src/M000132.html" target="Code" class="method-signature"
632
+ onclick="popupCode('LongMath.src/M000132.html');return false;">
578
633
  <span class="method-name">sqrt</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
579
634
  </a>
580
635
  </div>