long-decimal 0.00.11 → 0.00.12

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 (147) hide show
  1. data/README +6 -3
  2. data/VERSION +1 -1
  3. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +5 -5
  4. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000133.html +22 -0
  5. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000135.html +22 -0
  6. data/doc/classes/LongMath.html +78 -29
  7. data/doc/classes/LongMath.src/M000001.html +1 -1
  8. data/doc/classes/LongMath.src/M000002.html +1 -1
  9. data/doc/classes/LongMath.src/M000003.html +1 -1
  10. data/doc/classes/LongMath.src/M000004.html +1 -1
  11. data/doc/classes/LongMath.src/M000005.html +1 -1
  12. data/doc/classes/LongMath.src/M000006.html +1 -1
  13. data/doc/classes/LongMath.src/M000007.html +1 -1
  14. data/doc/classes/LongMath.src/M000008.html +1 -1
  15. data/doc/classes/LongMath.src/M000009.html +1 -1
  16. data/doc/classes/LongMath.src/M000010.html +1 -1
  17. data/doc/classes/LongMath.src/M000011.html +2 -2
  18. data/doc/classes/LongMath.src/M000012.html +1 -1
  19. data/doc/classes/LongMath.src/M000013.html +1 -1
  20. data/doc/classes/LongMath.src/M000014.html +1 -1
  21. data/doc/classes/LongMath.src/M000015.html +1 -1
  22. data/doc/classes/LongMath.src/M000016.html +14 -11
  23. data/doc/classes/LongMath.src/M000017.html +10 -17
  24. data/doc/classes/LongMath.src/M000018.html +1 -1
  25. data/doc/classes/LongMath.src/M000019.html +2 -1
  26. data/doc/classes/LongMath.src/M000021.html +51 -1
  27. data/doc/classes/LongMath.src/M000022.html +12 -9
  28. data/doc/classes/LongMath.src/M000023.html +28 -5
  29. data/doc/classes/LongMath.src/M000024.html +22 -0
  30. data/doc/classes/LongMath.src/M000025.html +18 -0
  31. data/doc/classes/LongMath/LongDecimal.html +371 -371
  32. data/doc/classes/LongMath/LongDecimal.src/M000058.html +18 -0
  33. data/doc/classes/LongMath/LongDecimal.src/M000059.html +18 -0
  34. data/doc/classes/LongMath/LongDecimal.src/M000060.html +18 -0
  35. data/doc/classes/LongMath/LongDecimal.src/M000061.html +4 -4
  36. data/doc/classes/LongMath/LongDecimal.src/M000062.html +4 -4
  37. data/doc/classes/LongMath/LongDecimal.src/M000063.html +4 -4
  38. data/doc/classes/LongMath/LongDecimal.src/M000064.html +4 -6
  39. data/doc/classes/LongMath/LongDecimal.src/M000065.html +4 -95
  40. data/doc/classes/LongMath/LongDecimal.src/M000066.html +6 -20
  41. data/doc/classes/LongMath/LongDecimal.src/M000067.html +92 -24
  42. data/doc/classes/LongMath/LongDecimal.src/M000068.html +17 -18
  43. data/doc/classes/LongMath/LongDecimal.src/M000069.html +27 -4
  44. data/doc/classes/LongMath/LongDecimal.src/M000070.html +19 -13
  45. data/doc/classes/LongMath/LongDecimal.src/M000071.html +4 -4
  46. data/doc/classes/LongMath/LongDecimal.src/M000072.html +13 -22
  47. data/doc/classes/LongMath/LongDecimal.src/M000073.html +4 -4
  48. data/doc/classes/LongMath/LongDecimal.src/M000074.html +24 -4
  49. data/doc/classes/LongMath/LongDecimal.src/M000075.html +4 -6
  50. data/doc/classes/LongMath/LongDecimal.src/M000076.html +4 -4
  51. data/doc/classes/LongMath/LongDecimal.src/M000077.html +6 -15
  52. data/doc/classes/LongMath/LongDecimal.src/M000078.html +4 -32
  53. data/doc/classes/LongMath/LongDecimal.src/M000079.html +14 -14
  54. data/doc/classes/LongMath/LongDecimal.src/M000080.html +31 -12
  55. data/doc/classes/LongMath/LongDecimal.src/M000081.html +15 -4
  56. data/doc/classes/LongMath/LongDecimal.src/M000082.html +27 -0
  57. data/doc/classes/LongMath/LongDecimal.src/M000083.html +4 -4
  58. data/doc/classes/LongMath/LongDecimal.src/M000085.html +4 -4
  59. data/doc/classes/LongMath/LongDecimal.src/M000086.html +4 -4
  60. data/doc/classes/LongMath/LongDecimal.src/M000087.html +4 -4
  61. data/doc/classes/LongMath/LongDecimal.src/M000088.html +18 -0
  62. data/doc/classes/LongMath/LongDecimal.src/M000089.html +4 -4
  63. data/doc/classes/LongMath/LongDecimal.src/M000090.html +4 -8
  64. data/doc/classes/LongMath/LongDecimal.src/M000091.html +4 -9
  65. data/doc/classes/LongMath/LongDecimal.src/M000092.html +6 -7
  66. data/doc/classes/LongMath/LongDecimal.src/M000093.html +6 -6
  67. data/doc/classes/LongMath/LongDecimal.src/M000094.html +9 -4
  68. data/doc/classes/LongMath/LongDecimal.src/M000095.html +7 -13
  69. data/doc/classes/LongMath/LongDecimal.src/M000096.html +4 -9
  70. data/doc/classes/LongMath/LongDecimal.src/M000097.html +13 -7
  71. data/doc/classes/LongMath/LongDecimal.src/M000098.html +7 -18
  72. data/doc/classes/LongMath/LongDecimal.src/M000099.html +8 -7
  73. data/doc/classes/LongMath/LongDecimal.src/M000100.html +20 -5
  74. data/doc/classes/LongMath/LongDecimal.src/M000101.html +7 -8
  75. data/doc/classes/LongMath/LongDecimal.src/M000102.html +5 -9
  76. data/doc/classes/LongMath/LongDecimal.src/M000103.html +5 -5
  77. data/doc/classes/LongMath/LongDecimal.src/M000104.html +9 -4
  78. data/doc/classes/LongMath/LongDecimal.src/M000105.html +8 -6
  79. data/doc/classes/LongMath/LongDecimal.src/M000106.html +4 -7
  80. data/doc/classes/LongMath/LongDecimal.src/M000107.html +7 -4
  81. data/doc/classes/LongMath/LongDecimal.src/M000108.html +7 -4
  82. data/doc/classes/LongMath/LongDecimal.src/M000109.html +4 -9
  83. data/doc/classes/LongMath/LongDecimal.src/M000110.html +4 -9
  84. data/doc/classes/LongMath/LongDecimal.src/M000111.html +9 -5
  85. data/doc/classes/LongMath/LongDecimal.src/M000112.html +7 -7
  86. data/doc/classes/LongMath/LongDecimal.src/M000113.html +5 -4
  87. data/doc/classes/LongMath/LongDecimal.src/M000114.html +8 -15
  88. data/doc/classes/LongMath/LongDecimal.src/M000115.html +4 -4
  89. data/doc/classes/LongMath/LongDecimal.src/M000116.html +15 -8
  90. data/doc/classes/LongMath/LongDecimal.src/M000117.html +4 -4
  91. data/doc/classes/LongMath/LongDecimal.src/M000119.html +4 -9
  92. data/doc/classes/LongMath/LongDecimal.src/M000121.html +9 -4
  93. data/doc/classes/LongMath/LongDecimal.src/M000122.html +5 -33
  94. data/doc/classes/LongMath/LongDecimal.src/M000123.html +4 -4
  95. data/doc/classes/LongMath/LongDecimal.src/M000124.html +33 -4
  96. data/doc/classes/LongMath/LongDecimal.src/M000125.html +4 -33
  97. data/doc/classes/LongMath/LongDecimal.src/M000126.html +4 -4
  98. data/doc/classes/LongMath/LongDecimal.src/M000128.html +18 -0
  99. data/doc/classes/LongMath/LongDecimal.src/M000129.html +19 -0
  100. data/doc/classes/LongMath/LongDecimal.src/M000130.html +4 -4
  101. data/doc/classes/LongMath/LongDecimal.src/M000131.html +4 -4
  102. data/doc/classes/LongMath/LongDecimal.src/M000132.html +4 -4
  103. data/doc/classes/LongMath/LongDecimal.src/M000133.html +4 -4
  104. data/doc/classes/LongMath/LongDecimalQuot.html +168 -168
  105. data/doc/classes/LongMath/LongDecimalQuot.src/M000026.html +4 -4
  106. data/doc/classes/LongMath/LongDecimalQuot.src/M000027.html +14 -4
  107. data/doc/classes/LongMath/LongDecimalQuot.src/M000028.html +4 -5
  108. data/doc/classes/LongMath/LongDecimalQuot.src/M000029.html +4 -4
  109. data/doc/classes/LongMath/LongDecimalQuot.src/M000030.html +5 -4
  110. data/doc/classes/LongMath/LongDecimalQuot.src/M000031.html +4 -4
  111. data/doc/classes/LongMath/LongDecimalQuot.src/M000032.html +4 -4
  112. data/doc/classes/LongMath/LongDecimalQuot.src/M000033.html +4 -4
  113. data/doc/classes/LongMath/LongDecimalQuot.src/M000034.html +4 -8
  114. data/doc/classes/LongMath/LongDecimalQuot.src/M000035.html +4 -9
  115. data/doc/classes/LongMath/LongDecimalQuot.src/M000036.html +6 -7
  116. data/doc/classes/LongMath/LongDecimalQuot.src/M000037.html +5 -5
  117. data/doc/classes/LongMath/LongDecimalQuot.src/M000038.html +5 -5
  118. data/doc/classes/LongMath/LongDecimalQuot.src/M000039.html +7 -19
  119. data/doc/classes/LongMath/LongDecimalQuot.src/M000040.html +8 -7
  120. data/doc/classes/LongMath/LongDecimalQuot.src/M000041.html +21 -5
  121. data/doc/classes/LongMath/LongDecimalQuot.src/M000042.html +8 -4
  122. data/doc/classes/LongMath/LongDecimalQuot.src/M000043.html +5 -4
  123. data/doc/classes/LongMath/LongDecimalQuot.src/M000044.html +4 -4
  124. data/doc/classes/LongMath/LongDecimalQuot.src/M000045.html +4 -4
  125. data/doc/classes/LongMath/LongDecimalQuot.src/M000046.html +4 -63
  126. data/doc/classes/LongMath/LongDecimalQuot.src/M000047.html +4 -22
  127. data/doc/classes/LongMath/LongDecimalQuot.src/M000048.html +63 -4
  128. data/doc/classes/LongMath/LongDecimalQuot.src/M000049.html +20 -7
  129. data/doc/classes/LongMath/LongDecimalQuot.src/M000050.html +4 -5
  130. data/doc/classes/LongMath/LongDecimalQuot.src/M000051.html +9 -4
  131. data/doc/classes/LongMath/LongDecimalQuot.src/M000052.html +5 -4
  132. data/doc/classes/LongMath/LongDecimalQuot.src/M000053.html +4 -4
  133. data/doc/classes/LongMath/LongDecimalQuot.src/M000054.html +1 -1
  134. data/doc/classes/LongMath/LongDecimalQuot.src/M000055.html +1 -1
  135. data/doc/classes/LongMath/LongDecimalQuot.src/M000056.html +18 -0
  136. data/doc/classes/LongMath/LongDecimalQuot.src/M000057.html +18 -0
  137. data/doc/classes/LongMath/LongDecimalQuot.src/M000058.html +1 -1
  138. data/doc/classes/LongMath/LongDecimalQuot.src/M000059.html +4 -4
  139. data/doc/classes/LongMath/Numeric.html +5 -5
  140. data/doc/classes/LongMath/Numeric.src/M000132.html +18 -0
  141. data/doc/classes/LongMath/Numeric.src/M000134.html +18 -0
  142. data/doc/created.rid +1 -1
  143. data/doc/files/lib/longdecimal_rb.html +2 -2
  144. data/doc/fr_method_index.html +115 -113
  145. data/lib/longdecimal.rb +84 -34
  146. data/test/testlongdecimal.rb +271 -15
  147. metadata +17 -2
@@ -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/longdecimal.rb, line 288</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 290</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">gcd_with_high_power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">b</span>)
15
15
  <span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">ZeroDivisionError</span>, <span class="ruby-node">&quot;gcd_with_high_power of zero with \&quot;#{b.inspect}\&quot; would be infinity&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">zero?</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/longdecimal.rb, line 317</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 319</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">multiplicity_of_factor</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prime_number</span>)
15
15
 
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Rational</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">x</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/longdecimal.rb, line 364</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 366</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">calc_pi</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
15
  <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
16
16
  <span class="ruby-identifier">iprec</span> = <span class="ruby-value">5</span><span class="ruby-operator">*</span>(<span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">1</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/longdecimal.rb, line 405</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 407</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
15
  <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;x=#{x.inspect} must not be greater #{MAX_EXP_ABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
@@ -5,21 +5,24 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>power (LongMath)</title>
8
+ <title>calc_iprec_for_exp (LongMath)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/longdecimal.rb, line 418</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
- <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
- <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">y</span>, <span class="ruby-value str">&quot;y&quot;</span>)
17
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;y=#{y.inspect} must not be greater #{MAX_EXP_ABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
18
- <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
19
- <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">&quot;mode&quot;</span>)
20
- <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>
21
- <span class="ruby-identifier">logx</span> = <span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
22
- <span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">logx</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 419</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>)
15
+ <span class="ruby-identifier">iprec_extra</span> = <span class="ruby-value">0</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>
18
+ <span class="ruby-identifier">iprec_extra</span> = (<span class="ruby-identifier">xf</span> <span class="ruby-operator">/</span> <span class="ruby-constant">LOG10</span>).<span class="ruby-identifier">abs</span>
19
+ <span class="ruby-keyword kw">end</span>
20
+ <span class="ruby-identifier">iprec</span> = ((<span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">10</span>)<span class="ruby-operator">*</span><span class="ruby-value">1.20</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">iprec_extra</span>).<span class="ruby-identifier">round</span>
21
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">prec</span>) <span class="ruby-keyword kw">then</span>
22
+ <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+ <span class="ruby-comment cmt"># puts(&quot;calc_iprec_for_exp: x=#{x} prec=#{prec} iprec=#{iprec} iprec_extra=#{iprec_extra}\n&quot;)</span>
25
+ <span class="ruby-identifier">iprec</span>
23
26
  <span class="ruby-keyword kw">end</span></pre>
24
27
  </body>
25
28
  </html>
@@ -10,9 +10,9 @@
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/longdecimal.rb, line 436</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 442</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">j</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">k</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
- <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>)
15
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
17
17
  <span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
18
18
  <span class="ruby-keyword kw">end</span>
@@ -26,19 +26,20 @@
26
26
 
27
27
  <span class="ruby-comment cmt"># if the result would come out to zero anyway, cut the work</span>
28
28
  <span class="ruby-identifier">xi</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_i</span>
29
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">xi</span> <span class="ruby-operator">&lt;</span> <span class="ruby-operator">-</span><span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-operator">||</span> <span class="ruby-operator">-</span>((<span class="ruby-identifier">xi</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">10</span>)) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span>
29
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">xi</span> <span class="ruby-operator">&lt;</span> <span class="ruby-operator">-</span><span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-operator">||</span> <span class="ruby-operator">-</span>((<span class="ruby-identifier">xi</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG10</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span>
30
30
  <span class="ruby-keyword kw">return</span> <span class="ruby-constant">LongDecimal</span>(<span class="ruby-value">25</span>, <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>).<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
31
31
  <span class="ruby-keyword kw">end</span>
32
32
 
33
33
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">j</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span>
34
- <span class="ruby-identifier">l2</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">2.0</span>)
35
- <span class="ruby-identifier">lb</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">10.0</span>)
36
- <span class="ruby-identifier">s1</span> = (<span class="ruby-identifier">prec</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">lb</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">l2</span>) <span class="ruby-operator">**</span> (<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">3.0</span>)
34
+ <span class="ruby-identifier">s1</span> = (<span class="ruby-identifier">prec</span> <span class="ruby-operator">*</span> <span class="ruby-constant">LOG10</span> <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>) <span class="ruby-operator">**</span> (<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">3.0</span>)
37
35
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">j</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
38
36
  <span class="ruby-identifier">j</span> = <span class="ruby-identifier">s1</span>.<span class="ruby-identifier">round</span>
39
37
  <span class="ruby-keyword kw">end</span>
40
38
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
41
- <span class="ruby-identifier">k</span> = (<span class="ruby-identifier">s1</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>([<span class="ruby-value">1</span>, <span class="ruby-identifier">prec</span>].<span class="ruby-identifier">max</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">l2</span>).<span class="ruby-identifier">round</span>
39
+ <span class="ruby-identifier">k</span> = (<span class="ruby-identifier">s1</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>([<span class="ruby-value">1</span>, <span class="ruby-identifier">prec</span>].<span class="ruby-identifier">max</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>).<span class="ruby-identifier">round</span>
40
+ <span class="ruby-keyword kw">end</span>
41
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
42
+ <span class="ruby-identifier">k</span> <span class="ruby-operator">+=</span> (<span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>).<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">round</span>
42
43
  <span class="ruby-keyword kw">end</span>
43
44
  <span class="ruby-keyword kw">end</span>
44
45
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">j</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
@@ -50,19 +51,11 @@
50
51
  <span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">j</span>, <span class="ruby-value str">&quot;j&quot;</span>)
51
52
  <span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">k</span>, <span class="ruby-value str">&quot;k&quot;</span>)
52
53
 
53
- <span class="ruby-identifier">iprec_extra</span> = <span class="ruby-value">0</span>
54
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
55
- <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>
56
- <span class="ruby-identifier">k</span> <span class="ruby-operator">+=</span> (<span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">xf</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">2</span>)).<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">round</span>
57
- <span class="ruby-identifier">iprec_extra</span> = (<span class="ruby-identifier">xf</span> <span class="ruby-operator">/</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">10</span>)).<span class="ruby-identifier">abs</span>
58
- <span class="ruby-keyword kw">end</span>
59
54
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
60
- <span class="ruby-identifier">iprec</span> = ((<span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">10</span>)<span class="ruby-operator">*</span><span class="ruby-value">1.20</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">iprec_extra</span>).<span class="ruby-identifier">round</span>
61
- <span class="ruby-keyword kw">end</span>
62
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">prec</span>) <span class="ruby-keyword kw">then</span>
63
- <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span>
55
+ <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>)
64
56
  <span class="ruby-keyword kw">end</span>
65
57
  <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">iprec</span>, <span class="ruby-value str">&quot;iprec&quot;</span>)
58
+ <span class="ruby-comment cmt"># puts(&quot;exp_internal: x=#{x} prec=#{prec} iprec=#{iprec}\n&quot;)</span>
66
59
 
67
60
  <span class="ruby-identifier">dprec</span> = [ <span class="ruby-identifier">iprec</span>, (<span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">1</span> ].<span class="ruby-identifier">min</span>
68
61
 
@@ -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/longdecimal.rb, line 533</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 532</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
15
  <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
16
  <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&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/longdecimal.rb, line 544</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 543</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">log10</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
15
  <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
16
  <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
@@ -25,6 +25,7 @@
25
25
  <span class="ruby-identifier">lnxx</span> = <span class="ruby-identifier">log_internal</span>(<span class="ruby-identifier">xx</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
26
26
  <span class="ruby-identifier">ln10</span> = <span class="ruby-identifier">log_internal</span>(<span class="ruby-value">10</span>.<span class="ruby-identifier">to_ld</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
27
27
  <span class="ruby-identifier">y</span> = <span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">lnxx</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">ln10</span>).<span class="ruby-identifier">to_ld</span>
28
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
28
29
  <span class="ruby-keyword kw">end</span></pre>
29
30
  </body>
30
31
  </html>
@@ -100,7 +100,7 @@
100
100
  <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
101
101
  <span class="ruby-identifier">sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">d</span>
102
102
 
103
- <span class="ruby-comment cmt"># puts(&quot;s=#{sum} d=#{d} x=#{x} i=#{i}\n&quot;)</span>
103
+ <span class="ruby-comment cmt"># puts(&quot;log_internal: s=#{sum} d=#{d} x=#{x} i=#{i} p=#{p} iprec=#{iprec} dprec=#{dprec}\n&quot;) if (i &amp; 0x0f == 0x0f)</span>
104
104
  <span class="ruby-keyword kw">end</span>
105
105
 
106
106
  <span class="ruby-comment cmt"># puts(&quot;y=#{y} s=#{s} f=#{factor} sum=#{sum}\n&quot;)</span>
@@ -110,6 +110,56 @@
110
110
 
111
111
  <span class="ruby-keyword kw">end</span>
112
112
 
113
+ <span class="ruby-comment cmt">#</span>
114
+ <span class="ruby-comment cmt"># calc the power of x with exponent y to the given precision as</span>
115
+ <span class="ruby-comment cmt"># LongDecimal. Only supports values of y such that exp(y) still</span>
116
+ <span class="ruby-comment cmt"># fits into a float (y &lt;= 709)</span>
117
+ <span class="ruby-comment cmt">#</span>
118
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
119
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
120
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">y</span>, <span class="ruby-value str">&quot;y&quot;</span>)
121
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;y=#{y.inspect} must not be greater #{MAX_EXP_ABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
122
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;x=#{x.inspect} must not be greater #{MAX_FLOATABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_FLOATABLE</span>
123
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;x=#{x.inspect} must not positive&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
124
+ <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
125
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">&quot;mode&quot;</span>)
126
+ <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
127
+ <span class="ruby-keyword kw">end</span>
128
+
129
+ <span class="ruby-comment cmt">#</span>
130
+ <span class="ruby-comment cmt"># internal functionality of exp. exposes some more parameters, that</span>
131
+ <span class="ruby-comment cmt"># should usually be set to defaut values, in order to allow better testing.</span>
132
+ <span class="ruby-comment cmt"># do not actually call this method unless you are testing exp.</span>
133
+ <span class="ruby-comment cmt"># create a bug report, if the default settings for the parameters do</span>
134
+ <span class="ruby-comment cmt"># not work correctly</span>
135
+ <span class="ruby-comment cmt">#</span>
136
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
137
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
138
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
139
+ <span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
140
+ <span class="ruby-keyword kw">end</span>
141
+ <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
142
+
143
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">final_mode</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
144
+ <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
145
+ <span class="ruby-keyword kw">end</span>
146
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">final_mode</span>, <span class="ruby-value str">&quot;final_mode&quot;</span>)
147
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">&quot;mode&quot;</span>)
148
+
149
+ <span class="ruby-identifier">logx_y_f</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">*</span> (<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_f</span>)
150
+
151
+ <span class="ruby-comment cmt"># iprec = (prec * 1.2 + 20 + (y.abs.to_f) * 1.5 * x.int_digits2).round</span>
152
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
153
+ <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">logx_y_f</span>, <span class="ruby-identifier">prec</span>) <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
154
+ <span class="ruby-keyword kw">end</span>
155
+ <span class="ruby-comment cmt"># puts(&quot;power_internal: x=#{x} y=#{y} logx_y=#{logx_y_f} iprec=#{iprec} prec=#{prec}\n&quot;)</span>
156
+ <span class="ruby-identifier">logx</span> = <span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
157
+ <span class="ruby-identifier">logx_y</span> = <span class="ruby-identifier">logx</span><span class="ruby-operator">*</span><span class="ruby-identifier">y</span>
158
+ <span class="ruby-identifier">xy</span> = <span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">logx_y</span>, <span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">mode</span>)
159
+ <span class="ruby-comment cmt"># puts(&quot;power_internal: x=#{x} logx=#{logx} y=#{y} logx_y=#{logx_y} xy=#{xy} iprec=#{iprec} prec=#{prec}\n&quot;)</span>
160
+ <span class="ruby-identifier">xy</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
161
+ <span class="ruby-keyword kw">end</span>
162
+
113
163
  <span class="ruby-keyword kw">end</span></pre>
114
164
  </body>
115
165
  </html>
@@ -5,18 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>LongDecimal (LongMath)</title>
8
+ <title>power (LongMath)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/longdecimal.rb, line 2167</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span> = <span class="ruby-value">0</span>)
15
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">a</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
16
- <span class="ruby-identifier">a</span>
17
- <span class="ruby-keyword kw">else</span>
18
- <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>)
19
- <span class="ruby-keyword kw">end</span>
20
- <span class="ruby-keyword kw">end</span></pre>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 691</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">y</span>, <span class="ruby-value str">&quot;y&quot;</span>)
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;y=#{y.inspect} must not be greater #{MAX_EXP_ABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
18
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;x=#{x.inspect} must not be greater #{MAX_FLOATABLE}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">MAX_FLOATABLE</span>
19
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;x=#{x.inspect} must not positive&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
20
+ <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
21
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">&quot;mode&quot;</span>)
22
+ <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
23
+ <span class="ruby-keyword kw">end</span></pre>
21
24
  </body>
22
25
  </html>
@@ -5,14 +5,37 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>LongDecimalQuot (LongMath)</title>
8
+ <title>power_internal (LongMath)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
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/longdecimal.rb, line 2180</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
15
- <span class="ruby-constant">LongDecimalQuot</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
16
- <span class="ruby-keyword kw">end</span></pre>
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 709</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
15
+ <span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">&quot;x&quot;</span>)
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
18
+ <span class="ruby-keyword kw">end</span>
19
+ <span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">&quot;prec&quot;</span>)
20
+
21
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">final_mode</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
22
+ <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">final_mode</span>, <span class="ruby-value str">&quot;final_mode&quot;</span>)
25
+ <span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">&quot;mode&quot;</span>)
26
+
27
+ <span class="ruby-identifier">logx_y_f</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">*</span> (<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_f</span>)
28
+
29
+ <span class="ruby-comment cmt"># iprec = (prec * 1.2 + 20 + (y.abs.to_f) * 1.5 * x.int_digits2).round</span>
30
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
31
+ <span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">logx_y_f</span>, <span class="ruby-identifier">prec</span>) <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-comment cmt"># puts(&quot;power_internal: x=#{x} y=#{y} logx_y=#{logx_y_f} iprec=#{iprec} prec=#{prec}\n&quot;)</span>
34
+ <span class="ruby-identifier">logx</span> = <span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
35
+ <span class="ruby-identifier">logx_y</span> = <span class="ruby-identifier">logx</span><span class="ruby-operator">*</span><span class="ruby-identifier">y</span>
36
+ <span class="ruby-identifier">xy</span> = <span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">logx_y</span>, <span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">mode</span>)
37
+ <span class="ruby-comment cmt"># puts(&quot;power_internal: x=#{x} logx=#{logx} y=#{y} logx_y=#{logx_y} xy=#{xy} iprec=#{iprec} prec=#{prec}\n&quot;)</span>
38
+ <span class="ruby-identifier">xy</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
39
+ <span class="ruby-keyword kw">end</span></pre>
17
40
  </body>
18
41
  </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>LongDecimal (LongMath)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 2217</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span> = <span class="ruby-value">0</span>)
15
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">a</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-identifier">a</span>
17
+ <span class="ruby-keyword kw">else</span>
18
+ <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>)
19
+ <span class="ruby-keyword kw">end</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>LongDecimalQuot (LongMath)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 2230</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
15
+ <span class="ruby-constant">LongDecimalQuot</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -106,80 +106,80 @@ position of the decimal point.
106
106
  <h3 class="section-bar">Methods</h3>
107
107
 
108
108
  <div class="name-list">
109
- <a href="#M000100">%</a>&nbsp;&nbsp;
110
- <a href="#M000101">&amp;</a>&nbsp;&nbsp;
111
- <a href="#M000093">*</a>&nbsp;&nbsp;
112
- <a href="#M000098">**</a>&nbsp;&nbsp;
113
- <a href="#M000091">+</a>&nbsp;&nbsp;
114
- <a href="#M000089">+@</a>&nbsp;&nbsp;
115
- <a href="#M000092">-</a>&nbsp;&nbsp;
116
- <a href="#M000090">-@</a>&nbsp;&nbsp;
117
- <a href="#M000097">/</a>&nbsp;&nbsp;
118
- <a href="#M000105">&lt;&lt;</a>&nbsp;&nbsp;
119
- <a href="#M000119">&lt;=&gt;</a>&nbsp;&nbsp;
120
- <a href="#M000127">==</a>&nbsp;&nbsp;
121
- <a href="#M000106">&gt;&gt;</a>&nbsp;&nbsp;
122
- <a href="#M000107">[]</a>&nbsp;&nbsp;
123
- <a href="#M000103">^</a>&nbsp;&nbsp;
124
- <a href="#M000117">abs</a>&nbsp;&nbsp;
125
- <a href="#M000118">abs2</a>&nbsp;&nbsp;
126
- <a href="#M000080">anti_equalize_scale</a>&nbsp;&nbsp;
127
- <a href="#M000122">coerce</a>&nbsp;&nbsp;
128
- <a href="#M000085">dec</a>&nbsp;&nbsp;
129
- <a href="#M000087">dec!</a>&nbsp;&nbsp;
130
- <a href="#M000076">denominator</a>&nbsp;&nbsp;
131
- <a href="#M000094">divide</a>&nbsp;&nbsp;
132
- <a href="#M000095">divide_s</a>&nbsp;&nbsp;
133
- <a href="#M000099">divmod</a>&nbsp;&nbsp;
134
- <a href="#M000079">equalize_scale</a>&nbsp;&nbsp;
135
- <a href="#M000130">hash</a>&nbsp;&nbsp;
136
- <a href="#M000084">inc</a>&nbsp;&nbsp;
137
- <a href="#M000086">inc!</a>&nbsp;&nbsp;
138
- <a href="#M000131">inspect</a>&nbsp;&nbsp;
139
- <a href="#M000078">int_digits10</a>&nbsp;&nbsp;
140
- <a href="#M000077">int_digits2</a>&nbsp;&nbsp;
141
- <a href="#M000116">inverse</a>&nbsp;&nbsp;
142
- <a href="#M000123">is_int?</a>&nbsp;&nbsp;
143
- <a href="#M000063">minus_one!</a>&nbsp;&nbsp;
144
- <a href="#M000109">move_point_left</a>&nbsp;&nbsp;
145
- <a href="#M000111">move_point_left_int</a>&nbsp;&nbsp;
146
- <a href="#M000110">move_point_right</a>&nbsp;&nbsp;
147
- <a href="#M000112">move_point_right_int</a>&nbsp;&nbsp;
148
- <a href="#M000065">new</a>&nbsp;&nbsp;
149
- <a href="#M000058">new!</a>&nbsp;&nbsp;
150
- <a href="#M000082">next</a>&nbsp;&nbsp;
151
- <a href="#M000060">one!</a>&nbsp;&nbsp;
152
- <a href="#M000129">one?</a>&nbsp;&nbsp;
153
- <a href="#M000064">power_of_ten!</a>&nbsp;&nbsp;
154
- <a href="#M000083">pred</a>&nbsp;&nbsp;
155
- <a href="#M000096">rdiv</a>&nbsp;&nbsp;
156
- <a href="#M000115">reciprocal</a>&nbsp;&nbsp;
157
- <a href="#M000067">round_to_scale</a>&nbsp;&nbsp;
158
- <a href="#M000066">scale=</a>&nbsp;&nbsp;
159
- <a href="#M000121">scale_equal</a>&nbsp;&nbsp;
160
- <a href="#M000120">scale_ufo</a>&nbsp;&nbsp;
161
- <a href="#M000124">sgn</a>&nbsp;&nbsp;
162
- <a href="#M000126">sign</a>&nbsp;&nbsp;
163
- <a href="#M000125">signum</a>&nbsp;&nbsp;
164
- <a href="#M000108">size</a>&nbsp;&nbsp;
165
- <a href="#M000114">sqrt</a>&nbsp;&nbsp;
166
- <a href="#M000113">square</a>&nbsp;&nbsp;
167
- <a href="#M000081">succ</a>&nbsp;&nbsp;
168
- <a href="#M000062">ten!</a>&nbsp;&nbsp;
169
- <a href="#M000075">to_bd</a>&nbsp;&nbsp;
170
- <a href="#M000072">to_f</a>&nbsp;&nbsp;
171
- <a href="#M000073">to_i</a>&nbsp;&nbsp;
172
- <a href="#M000074">to_ld</a>&nbsp;&nbsp;
173
- <a href="#M000071">to_r</a>&nbsp;&nbsp;
174
- <a href="#M000068">to_s</a>&nbsp;&nbsp;
175
- <a href="#M000069">to_s_10</a>&nbsp;&nbsp;
176
- <a href="#M000070">to_s_internal</a>&nbsp;&nbsp;
177
- <a href="#M000061">two!</a>&nbsp;&nbsp;
178
- <a href="#M000088">unit</a>&nbsp;&nbsp;
179
- <a href="#M000059">zero!</a>&nbsp;&nbsp;
180
- <a href="#M000128">zero?</a>&nbsp;&nbsp;
181
- <a href="#M000102">|</a>&nbsp;&nbsp;
182
- <a href="#M000104">~</a>&nbsp;&nbsp;
109
+ <a href="#M000102">%</a>&nbsp;&nbsp;
110
+ <a href="#M000103">&amp;</a>&nbsp;&nbsp;
111
+ <a href="#M000095">*</a>&nbsp;&nbsp;
112
+ <a href="#M000100">**</a>&nbsp;&nbsp;
113
+ <a href="#M000093">+</a>&nbsp;&nbsp;
114
+ <a href="#M000091">+@</a>&nbsp;&nbsp;
115
+ <a href="#M000094">-</a>&nbsp;&nbsp;
116
+ <a href="#M000092">-@</a>&nbsp;&nbsp;
117
+ <a href="#M000099">/</a>&nbsp;&nbsp;
118
+ <a href="#M000107">&lt;&lt;</a>&nbsp;&nbsp;
119
+ <a href="#M000121">&lt;=&gt;</a>&nbsp;&nbsp;
120
+ <a href="#M000129">==</a>&nbsp;&nbsp;
121
+ <a href="#M000108">&gt;&gt;</a>&nbsp;&nbsp;
122
+ <a href="#M000109">[]</a>&nbsp;&nbsp;
123
+ <a href="#M000105">^</a>&nbsp;&nbsp;
124
+ <a href="#M000119">abs</a>&nbsp;&nbsp;
125
+ <a href="#M000120">abs2</a>&nbsp;&nbsp;
126
+ <a href="#M000082">anti_equalize_scale</a>&nbsp;&nbsp;
127
+ <a href="#M000124">coerce</a>&nbsp;&nbsp;
128
+ <a href="#M000087">dec</a>&nbsp;&nbsp;
129
+ <a href="#M000089">dec!</a>&nbsp;&nbsp;
130
+ <a href="#M000078">denominator</a>&nbsp;&nbsp;
131
+ <a href="#M000096">divide</a>&nbsp;&nbsp;
132
+ <a href="#M000097">divide_s</a>&nbsp;&nbsp;
133
+ <a href="#M000101">divmod</a>&nbsp;&nbsp;
134
+ <a href="#M000081">equalize_scale</a>&nbsp;&nbsp;
135
+ <a href="#M000132">hash</a>&nbsp;&nbsp;
136
+ <a href="#M000086">inc</a>&nbsp;&nbsp;
137
+ <a href="#M000088">inc!</a>&nbsp;&nbsp;
138
+ <a href="#M000133">inspect</a>&nbsp;&nbsp;
139
+ <a href="#M000080">int_digits10</a>&nbsp;&nbsp;
140
+ <a href="#M000079">int_digits2</a>&nbsp;&nbsp;
141
+ <a href="#M000118">inverse</a>&nbsp;&nbsp;
142
+ <a href="#M000125">is_int?</a>&nbsp;&nbsp;
143
+ <a href="#M000065">minus_one!</a>&nbsp;&nbsp;
144
+ <a href="#M000111">move_point_left</a>&nbsp;&nbsp;
145
+ <a href="#M000113">move_point_left_int</a>&nbsp;&nbsp;
146
+ <a href="#M000112">move_point_right</a>&nbsp;&nbsp;
147
+ <a href="#M000114">move_point_right_int</a>&nbsp;&nbsp;
148
+ <a href="#M000067">new</a>&nbsp;&nbsp;
149
+ <a href="#M000060">new!</a>&nbsp;&nbsp;
150
+ <a href="#M000084">next</a>&nbsp;&nbsp;
151
+ <a href="#M000062">one!</a>&nbsp;&nbsp;
152
+ <a href="#M000131">one?</a>&nbsp;&nbsp;
153
+ <a href="#M000066">power_of_ten!</a>&nbsp;&nbsp;
154
+ <a href="#M000085">pred</a>&nbsp;&nbsp;
155
+ <a href="#M000098">rdiv</a>&nbsp;&nbsp;
156
+ <a href="#M000117">reciprocal</a>&nbsp;&nbsp;
157
+ <a href="#M000069">round_to_scale</a>&nbsp;&nbsp;
158
+ <a href="#M000068">scale=</a>&nbsp;&nbsp;
159
+ <a href="#M000123">scale_equal</a>&nbsp;&nbsp;
160
+ <a href="#M000122">scale_ufo</a>&nbsp;&nbsp;
161
+ <a href="#M000126">sgn</a>&nbsp;&nbsp;
162
+ <a href="#M000128">sign</a>&nbsp;&nbsp;
163
+ <a href="#M000127">signum</a>&nbsp;&nbsp;
164
+ <a href="#M000110">size</a>&nbsp;&nbsp;
165
+ <a href="#M000116">sqrt</a>&nbsp;&nbsp;
166
+ <a href="#M000115">square</a>&nbsp;&nbsp;
167
+ <a href="#M000083">succ</a>&nbsp;&nbsp;
168
+ <a href="#M000064">ten!</a>&nbsp;&nbsp;
169
+ <a href="#M000077">to_bd</a>&nbsp;&nbsp;
170
+ <a href="#M000074">to_f</a>&nbsp;&nbsp;
171
+ <a href="#M000075">to_i</a>&nbsp;&nbsp;
172
+ <a href="#M000076">to_ld</a>&nbsp;&nbsp;
173
+ <a href="#M000073">to_r</a>&nbsp;&nbsp;
174
+ <a href="#M000070">to_s</a>&nbsp;&nbsp;
175
+ <a href="#M000071">to_s_10</a>&nbsp;&nbsp;
176
+ <a href="#M000072">to_s_internal</a>&nbsp;&nbsp;
177
+ <a href="#M000063">two!</a>&nbsp;&nbsp;
178
+ <a href="#M000090">unit</a>&nbsp;&nbsp;
179
+ <a href="#M000061">zero!</a>&nbsp;&nbsp;
180
+ <a href="#M000130">zero?</a>&nbsp;&nbsp;
181
+ <a href="#M000104">|</a>&nbsp;&nbsp;
182
+ <a href="#M000106">~</a>&nbsp;&nbsp;
183
183
  </div>
184
184
  </div>
185
185
 
@@ -249,12 +249,12 @@ does not occur in case of Rational
249
249
  <div id="methods">
250
250
  <h3 class="section-bar">Public Class methods</h3>
251
251
 
252
- <div id="method-M000063" class="method-detail">
253
- <a name="M000063"></a>
252
+ <div id="method-M000065" class="method-detail">
253
+ <a name="M000065"></a>
254
254
 
255
255
  <div class="method-heading">
256
- <a href="LongDecimal.src/M000063.html" target="Code" class="method-signature"
257
- onclick="popupCode('LongDecimal.src/M000063.html');return false;">
256
+ <a href="LongDecimal.src/M000065.html" target="Code" class="method-signature"
257
+ onclick="popupCode('LongDecimal.src/M000065.html');return false;">
258
258
  <span class="method-name">minus_one!</span><span class="method-args">(s = 0)</span>
259
259
  </a>
260
260
  </div>
@@ -267,12 +267,12 @@ with the given number of digits after the decimal point (scale=s)
267
267
  </div>
268
268
  </div>
269
269
 
270
- <div id="method-M000065" class="method-detail">
271
- <a name="M000065"></a>
270
+ <div id="method-M000067" class="method-detail">
271
+ <a name="M000067"></a>
272
272
 
273
273
  <div class="method-heading">
274
- <a href="LongDecimal.src/M000065.html" target="Code" class="method-signature"
275
- onclick="popupCode('LongDecimal.src/M000065.html');return false;">
274
+ <a href="LongDecimal.src/M000067.html" target="Code" class="method-signature"
275
+ onclick="popupCode('LongDecimal.src/M000067.html');return false;">
276
276
  <span class="method-name">new</span><span class="method-args">(x, s)</span>
277
277
  </a>
278
278
  </div>
@@ -280,19 +280,19 @@ with the given number of digits after the decimal point (scale=s)
280
280
  <div class="method-description">
281
281
  <p>
282
282
  initialization parameters: <a
283
- href="LongDecimal.html#M000065">LongDecimal.new</a>(x, s) where x is a
283
+ href="LongDecimal.html#M000067">LongDecimal.new</a>(x, s) where x is a
284
284
  string or a number and s is the scale the resulting <a
285
285
  href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
286
286
  </p>
287
287
  </div>
288
288
  </div>
289
289
 
290
- <div id="method-M000058" class="method-detail">
291
- <a name="M000058"></a>
290
+ <div id="method-M000060" class="method-detail">
291
+ <a name="M000060"></a>
292
292
 
293
293
  <div class="method-heading">
294
- <a href="LongDecimal.src/M000058.html" target="Code" class="method-signature"
295
- onclick="popupCode('LongDecimal.src/M000058.html');return false;">
294
+ <a href="LongDecimal.src/M000060.html" target="Code" class="method-signature"
295
+ onclick="popupCode('LongDecimal.src/M000060.html');return false;">
296
296
  <span class="method-name">new!</span><span class="method-args">(x, s = 0)</span>
297
297
  </a>
298
298
  </div>
@@ -302,12 +302,12 @@ href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
302
302
  initialization parameters:
303
303
  </p>
304
304
  <ol>
305
- <li><a href="LongDecimal.html#M000065">LongDecimal.new</a>!(x) where x is a
305
+ <li><a href="LongDecimal.html#M000067">LongDecimal.new</a>!(x) where x is a
306
306
  string or a number the resulting <a href="LongDecimal.html">LongDecimal</a>
307
307
  holds the number x, possibly rounded
308
308
 
309
309
  </li>
310
- <li><a href="LongDecimal.html#M000065">LongDecimal.new</a>!(x, s) where x is a
310
+ <li><a href="LongDecimal.html#M000067">LongDecimal.new</a>!(x, s) where x is a
311
311
  string or a number and s is the scale the resulting <a
312
312
  href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
313
313
 
@@ -316,12 +316,12 @@ href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
316
316
  </div>
317
317
  </div>
318
318
 
319
- <div id="method-M000060" class="method-detail">
320
- <a name="M000060"></a>
319
+ <div id="method-M000062" class="method-detail">
320
+ <a name="M000062"></a>
321
321
 
322
322
  <div class="method-heading">
323
- <a href="LongDecimal.src/M000060.html" target="Code" class="method-signature"
324
- onclick="popupCode('LongDecimal.src/M000060.html');return false;">
323
+ <a href="LongDecimal.src/M000062.html" target="Code" class="method-signature"
324
+ onclick="popupCode('LongDecimal.src/M000062.html');return false;">
325
325
  <span class="method-name">one!</span><span class="method-args">(s = 0)</span>
326
326
  </a>
327
327
  </div>
@@ -334,12 +334,12 @@ the given number of digits after the decimal point (scale=s)
334
334
  </div>
335
335
  </div>
336
336
 
337
- <div id="method-M000064" class="method-detail">
338
- <a name="M000064"></a>
337
+ <div id="method-M000066" class="method-detail">
338
+ <a name="M000066"></a>
339
339
 
340
340
  <div class="method-heading">
341
- <a href="LongDecimal.src/M000064.html" target="Code" class="method-signature"
342
- onclick="popupCode('LongDecimal.src/M000064.html');return false;">
341
+ <a href="LongDecimal.src/M000066.html" target="Code" class="method-signature"
342
+ onclick="popupCode('LongDecimal.src/M000066.html');return false;">
343
343
  <span class="method-name">power_of_ten!</span><span class="method-args">(e, s = 0)</span>
344
344
  </a>
345
345
  </div>
@@ -353,12 +353,12 @@ the decimal point (scale=s)
353
353
  </div>
354
354
  </div>
355
355
 
356
- <div id="method-M000062" class="method-detail">
357
- <a name="M000062"></a>
356
+ <div id="method-M000064" class="method-detail">
357
+ <a name="M000064"></a>
358
358
 
359
359
  <div class="method-heading">
360
- <a href="LongDecimal.src/M000062.html" target="Code" class="method-signature"
361
- onclick="popupCode('LongDecimal.src/M000062.html');return false;">
360
+ <a href="LongDecimal.src/M000064.html" target="Code" class="method-signature"
361
+ onclick="popupCode('LongDecimal.src/M000064.html');return false;">
362
362
  <span class="method-name">ten!</span><span class="method-args">(s = 0)</span>
363
363
  </a>
364
364
  </div>
@@ -371,12 +371,12 @@ the given number of digits after the decimal point (scale=s)
371
371
  </div>
372
372
  </div>
373
373
 
374
- <div id="method-M000061" class="method-detail">
375
- <a name="M000061"></a>
374
+ <div id="method-M000063" class="method-detail">
375
+ <a name="M000063"></a>
376
376
 
377
377
  <div class="method-heading">
378
- <a href="LongDecimal.src/M000061.html" target="Code" class="method-signature"
379
- onclick="popupCode('LongDecimal.src/M000061.html');return false;">
378
+ <a href="LongDecimal.src/M000063.html" target="Code" class="method-signature"
379
+ onclick="popupCode('LongDecimal.src/M000063.html');return false;">
380
380
  <span class="method-name">two!</span><span class="method-args">(s = 0)</span>
381
381
  </a>
382
382
  </div>
@@ -389,12 +389,12 @@ the given number of digits after the decimal point (scale=s)
389
389
  </div>
390
390
  </div>
391
391
 
392
- <div id="method-M000059" class="method-detail">
393
- <a name="M000059"></a>
392
+ <div id="method-M000061" class="method-detail">
393
+ <a name="M000061"></a>
394
394
 
395
395
  <div class="method-heading">
396
- <a href="LongDecimal.src/M000059.html" target="Code" class="method-signature"
397
- onclick="popupCode('LongDecimal.src/M000059.html');return false;">
396
+ <a href="LongDecimal.src/M000061.html" target="Code" class="method-signature"
397
+ onclick="popupCode('LongDecimal.src/M000061.html');return false;">
398
398
  <span class="method-name">zero!</span><span class="method-args">(s = 0)</span>
399
399
  </a>
400
400
  </div>
@@ -409,12 +409,12 @@ the given number of digits after the decimal point (scale=s)
409
409
 
410
410
  <h3 class="section-bar">Public Instance methods</h3>
411
411
 
412
- <div id="method-M000100" class="method-detail">
413
- <a name="M000100"></a>
412
+ <div id="method-M000102" class="method-detail">
413
+ <a name="M000102"></a>
414
414
 
415
415
  <div class="method-heading">
416
- <a href="LongDecimal.src/M000100.html" target="Code" class="method-signature"
417
- onclick="popupCode('LongDecimal.src/M000100.html');return false;">
416
+ <a href="LongDecimal.src/M000102.html" target="Code" class="method-signature"
417
+ onclick="popupCode('LongDecimal.src/M000102.html');return false;">
418
418
  <span class="method-name">%</span><span class="method-args">(other)</span>
419
419
  </a>
420
420
  </div>
@@ -426,12 +426,12 @@ remainder of integer division by other
426
426
  </div>
427
427
  </div>
428
428
 
429
- <div id="method-M000101" class="method-detail">
430
- <a name="M000101"></a>
429
+ <div id="method-M000103" class="method-detail">
430
+ <a name="M000103"></a>
431
431
 
432
432
  <div class="method-heading">
433
- <a href="LongDecimal.src/M000101.html" target="Code" class="method-signature"
434
- onclick="popupCode('LongDecimal.src/M000101.html');return false;">
433
+ <a href="LongDecimal.src/M000103.html" target="Code" class="method-signature"
434
+ onclick="popupCode('LongDecimal.src/M000103.html');return false;">
435
435
  <span class="method-name">&amp;</span><span class="method-args">(other)</span>
436
436
  </a>
437
437
  </div>
@@ -443,12 +443,12 @@ performs bitwise AND between self and other
443
443
  </div>
444
444
  </div>
445
445
 
446
- <div id="method-M000093" class="method-detail">
447
- <a name="M000093"></a>
446
+ <div id="method-M000095" class="method-detail">
447
+ <a name="M000095"></a>
448
448
 
449
449
  <div class="method-heading">
450
- <a href="LongDecimal.src/M000093.html" target="Code" class="method-signature"
451
- onclick="popupCode('LongDecimal.src/M000093.html');return false;">
450
+ <a href="LongDecimal.src/M000095.html" target="Code" class="method-signature"
451
+ onclick="popupCode('LongDecimal.src/M000095.html');return false;">
452
452
  <span class="method-name">*</span><span class="method-args">(other)</span>
453
453
  </a>
454
454
  </div>
@@ -465,12 +465,12 @@ multiplication of Complex, Float or LongRationalQuot is used
465
465
  </div>
466
466
  </div>
467
467
 
468
- <div id="method-M000098" class="method-detail">
469
- <a name="M000098"></a>
468
+ <div id="method-M000100" class="method-detail">
469
+ <a name="M000100"></a>
470
470
 
471
471
  <div class="method-heading">
472
- <a href="LongDecimal.src/M000098.html" target="Code" class="method-signature"
473
- onclick="popupCode('LongDecimal.src/M000098.html');return false;">
472
+ <a href="LongDecimal.src/M000100.html" target="Code" class="method-signature"
473
+ onclick="popupCode('LongDecimal.src/M000100.html');return false;">
474
474
  <span class="method-name">**</span><span class="method-args">(other)</span>
475
475
  </a>
476
476
  </div>
@@ -490,12 +490,12 @@ Float as power.
490
490
  </div>
491
491
  </div>
492
492
 
493
- <div id="method-M000091" class="method-detail">
494
- <a name="M000091"></a>
493
+ <div id="method-M000093" class="method-detail">
494
+ <a name="M000093"></a>
495
495
 
496
496
  <div class="method-heading">
497
- <a href="LongDecimal.src/M000091.html" target="Code" class="method-signature"
498
- onclick="popupCode('LongDecimal.src/M000091.html');return false;">
497
+ <a href="LongDecimal.src/M000093.html" target="Code" class="method-signature"
498
+ onclick="popupCode('LongDecimal.src/M000093.html');return false;">
499
499
  <span class="method-name">+</span><span class="method-args">(other)</span>
500
500
  </a>
501
501
  </div>
@@ -512,12 +512,12 @@ call addition of Complex, Float or LongRationalQuot
512
512
  </div>
513
513
  </div>
514
514
 
515
- <div id="method-M000089" class="method-detail">
516
- <a name="M000089"></a>
515
+ <div id="method-M000091" class="method-detail">
516
+ <a name="M000091"></a>
517
517
 
518
518
  <div class="method-heading">
519
- <a href="LongDecimal.src/M000089.html" target="Code" class="method-signature"
520
- onclick="popupCode('LongDecimal.src/M000089.html');return false;">
519
+ <a href="LongDecimal.src/M000091.html" target="Code" class="method-signature"
520
+ onclick="popupCode('LongDecimal.src/M000091.html');return false;">
521
521
  <span class="method-name">+@</span><span class="method-args">()</span>
522
522
  </a>
523
523
  </div>
@@ -529,12 +529,12 @@ apply unary + (returns self)
529
529
  </div>
530
530
  </div>
531
531
 
532
- <div id="method-M000092" class="method-detail">
533
- <a name="M000092"></a>
532
+ <div id="method-M000094" class="method-detail">
533
+ <a name="M000094"></a>
534
534
 
535
535
  <div class="method-heading">
536
- <a href="LongDecimal.src/M000092.html" target="Code" class="method-signature"
537
- onclick="popupCode('LongDecimal.src/M000092.html');return false;">
536
+ <a href="LongDecimal.src/M000094.html" target="Code" class="method-signature"
537
+ onclick="popupCode('LongDecimal.src/M000094.html');return false;">
538
538
  <span class="method-name">-</span><span class="method-args">(other)</span>
539
539
  </a>
540
540
  </div>
@@ -551,12 +551,12 @@ subtraction of Complex, Float or LongRationalQuot is used
551
551
  </div>
552
552
  </div>
553
553
 
554
- <div id="method-M000090" class="method-detail">
555
- <a name="M000090"></a>
554
+ <div id="method-M000092" class="method-detail">
555
+ <a name="M000092"></a>
556
556
 
557
557
  <div class="method-heading">
558
- <a href="LongDecimal.src/M000090.html" target="Code" class="method-signature"
559
- onclick="popupCode('LongDecimal.src/M000090.html');return false;">
558
+ <a href="LongDecimal.src/M000092.html" target="Code" class="method-signature"
559
+ onclick="popupCode('LongDecimal.src/M000092.html');return false;">
560
560
  <span class="method-name">-@</span><span class="method-args">()</span>
561
561
  </a>
562
562
  </div>
@@ -568,12 +568,12 @@ apply unary - (returns negated self)
568
568
  </div>
569
569
  </div>
570
570
 
571
- <div id="method-M000097" class="method-detail">
572
- <a name="M000097"></a>
571
+ <div id="method-M000099" class="method-detail">
572
+ <a name="M000099"></a>
573
573
 
574
574
  <div class="method-heading">
575
- <a href="LongDecimal.src/M000097.html" target="Code" class="method-signature"
576
- onclick="popupCode('LongDecimal.src/M000097.html');return false;">
575
+ <a href="LongDecimal.src/M000099.html" target="Code" class="method-signature"
576
+ onclick="popupCode('LongDecimal.src/M000099.html');return false;">
577
577
  <span class="method-name">/</span><span class="method-args">(other)</span>
578
578
  </a>
579
579
  </div>
@@ -593,12 +593,12 @@ having performed a division.
593
593
  </div>
594
594
  </div>
595
595
 
596
- <div id="method-M000105" class="method-detail">
597
- <a name="M000105"></a>
596
+ <div id="method-M000107" class="method-detail">
597
+ <a name="M000107"></a>
598
598
 
599
599
  <div class="method-heading">
600
- <a href="LongDecimal.src/M000105.html" target="Code" class="method-signature"
601
- onclick="popupCode('LongDecimal.src/M000105.html');return false;">
600
+ <a href="LongDecimal.src/M000107.html" target="Code" class="method-signature"
601
+ onclick="popupCode('LongDecimal.src/M000107.html');return false;">
602
602
  <span class="method-name">&lt;&lt;</span><span class="method-args">(other)</span>
603
603
  </a>
604
604
  </div>
@@ -610,12 +610,12 @@ performs bitwise left shift of self by other
610
610
  </div>
611
611
  </div>
612
612
 
613
- <div id="method-M000119" class="method-detail">
614
- <a name="M000119"></a>
613
+ <div id="method-M000121" class="method-detail">
614
+ <a name="M000121"></a>
615
615
 
616
616
  <div class="method-heading">
617
- <a href="LongDecimal.src/M000119.html" target="Code" class="method-signature"
618
- onclick="popupCode('LongDecimal.src/M000119.html');return false;">
617
+ <a href="LongDecimal.src/M000121.html" target="Code" class="method-signature"
618
+ onclick="popupCode('LongDecimal.src/M000121.html');return false;">
619
619
  <span class="method-name">&lt;=&gt;</span><span class="method-args">(other)</span>
620
620
  </a>
621
621
  </div>
@@ -637,12 +637,12 @@ of potentially zero digits after the decimal point.
637
637
  </div>
638
638
  </div>
639
639
 
640
- <div id="method-M000127" class="method-detail">
641
- <a name="M000127"></a>
640
+ <div id="method-M000129" class="method-detail">
641
+ <a name="M000129"></a>
642
642
 
643
643
  <div class="method-heading">
644
- <a href="LongDecimal.src/M000127.html" target="Code" class="method-signature"
645
- onclick="popupCode('LongDecimal.src/M000127.html');return false;">
644
+ <a href="LongDecimal.src/M000129.html" target="Code" class="method-signature"
645
+ onclick="popupCode('LongDecimal.src/M000129.html');return false;">
646
646
  <span class="method-name">==</span><span class="method-args">(other)</span>
647
647
  </a>
648
648
  </div>
@@ -655,12 +655,12 @@ expressed by self and other and the equality of the number of digits.
655
655
  </div>
656
656
  </div>
657
657
 
658
- <div id="method-M000106" class="method-detail">
659
- <a name="M000106"></a>
658
+ <div id="method-M000108" class="method-detail">
659
+ <a name="M000108"></a>
660
660
 
661
661
  <div class="method-heading">
662
- <a href="LongDecimal.src/M000106.html" target="Code" class="method-signature"
663
- onclick="popupCode('LongDecimal.src/M000106.html');return false;">
662
+ <a href="LongDecimal.src/M000108.html" target="Code" class="method-signature"
663
+ onclick="popupCode('LongDecimal.src/M000108.html');return false;">
664
664
  <span class="method-name">&gt;&gt;</span><span class="method-args">(other)</span>
665
665
  </a>
666
666
  </div>
@@ -672,12 +672,12 @@ performs bitwise right shift of self by other
672
672
  </div>
673
673
  </div>
674
674
 
675
- <div id="method-M000107" class="method-detail">
676
- <a name="M000107"></a>
675
+ <div id="method-M000109" class="method-detail">
676
+ <a name="M000109"></a>
677
677
 
678
678
  <div class="method-heading">
679
- <a href="LongDecimal.src/M000107.html" target="Code" class="method-signature"
680
- onclick="popupCode('LongDecimal.src/M000107.html');return false;">
679
+ <a href="LongDecimal.src/M000109.html" target="Code" class="method-signature"
680
+ onclick="popupCode('LongDecimal.src/M000109.html');return false;">
681
681
  <span class="method-name">[]</span><span class="method-args">(other)</span>
682
682
  </a>
683
683
  </div>
@@ -689,12 +689,12 @@ gets binary digit of self
689
689
  </div>
690
690
  </div>
691
691
 
692
- <div id="method-M000103" class="method-detail">
693
- <a name="M000103"></a>
692
+ <div id="method-M000105" class="method-detail">
693
+ <a name="M000105"></a>
694
694
 
695
695
  <div class="method-heading">
696
- <a href="LongDecimal.src/M000103.html" target="Code" class="method-signature"
697
- onclick="popupCode('LongDecimal.src/M000103.html');return false;">
696
+ <a href="LongDecimal.src/M000105.html" target="Code" class="method-signature"
697
+ onclick="popupCode('LongDecimal.src/M000105.html');return false;">
698
698
  <span class="method-name">^</span><span class="method-args">(other)</span>
699
699
  </a>
700
700
  </div>
@@ -706,12 +706,12 @@ performs bitwise XOR between self and other
706
706
  </div>
707
707
  </div>
708
708
 
709
- <div id="method-M000117" class="method-detail">
710
- <a name="M000117"></a>
709
+ <div id="method-M000119" class="method-detail">
710
+ <a name="M000119"></a>
711
711
 
712
712
  <div class="method-heading">
713
- <a href="LongDecimal.src/M000117.html" target="Code" class="method-signature"
714
- onclick="popupCode('LongDecimal.src/M000117.html');return false;">
713
+ <a href="LongDecimal.src/M000119.html" target="Code" class="method-signature"
714
+ onclick="popupCode('LongDecimal.src/M000119.html');return false;">
715
715
  <span class="method-name">abs</span><span class="method-args">()</span>
716
716
  </a>
717
717
  </div>
@@ -723,8 +723,8 @@ Absolute value
723
723
  </div>
724
724
  </div>
725
725
 
726
- <div id="method-M000118" class="method-detail">
727
- <a name="M000118"></a>
726
+ <div id="method-M000120" class="method-detail">
727
+ <a name="M000120"></a>
728
728
 
729
729
  <div class="method-heading">
730
730
  <span class="method-name">abs2</span><span class="method-args">()</span>
@@ -732,17 +732,17 @@ Absolute value
732
732
 
733
733
  <div class="method-description">
734
734
  <p>
735
- Alias for <a href="LongDecimal.html#M000113">square</a>
735
+ Alias for <a href="LongDecimal.html#M000115">square</a>
736
736
  </p>
737
737
  </div>
738
738
  </div>
739
739
 
740
- <div id="method-M000080" class="method-detail">
741
- <a name="M000080"></a>
740
+ <div id="method-M000082" class="method-detail">
741
+ <a name="M000082"></a>
742
742
 
743
743
  <div class="method-heading">
744
- <a href="LongDecimal.src/M000080.html" target="Code" class="method-signature"
745
- onclick="popupCode('LongDecimal.src/M000080.html');return false;">
744
+ <a href="LongDecimal.src/M000082.html" target="Code" class="method-signature"
745
+ onclick="popupCode('LongDecimal.src/M000082.html');return false;">
746
746
  <span class="method-name">anti_equalize_scale</span><span class="method-args">(other)</span>
747
747
  </a>
748
748
  </div>
@@ -756,12 +756,12 @@ expressable as a rational this method is mostly for internal use
756
756
  </div>
757
757
  </div>
758
758
 
759
- <div id="method-M000122" class="method-detail">
760
- <a name="M000122"></a>
759
+ <div id="method-M000124" class="method-detail">
760
+ <a name="M000124"></a>
761
761
 
762
762
  <div class="method-heading">
763
- <a href="LongDecimal.src/M000122.html" target="Code" class="method-signature"
764
- onclick="popupCode('LongDecimal.src/M000122.html');return false;">
763
+ <a href="LongDecimal.src/M000124.html" target="Code" class="method-signature"
764
+ onclick="popupCode('LongDecimal.src/M000124.html');return false;">
765
765
  <span class="method-name">coerce</span><span class="method-args">(other)</span>
766
766
  </a>
767
767
  </div>
@@ -774,12 +774,12 @@ compatible types and ready for arithmetic operations.
774
774
  </div>
775
775
  </div>
776
776
 
777
- <div id="method-M000085" class="method-detail">
778
- <a name="M000085"></a>
777
+ <div id="method-M000087" class="method-detail">
778
+ <a name="M000087"></a>
779
779
 
780
780
  <div class="method-heading">
781
- <a href="LongDecimal.src/M000085.html" target="Code" class="method-signature"
782
- onclick="popupCode('LongDecimal.src/M000085.html');return false;">
781
+ <a href="LongDecimal.src/M000087.html" target="Code" class="method-signature"
782
+ onclick="popupCode('LongDecimal.src/M000087.html');return false;">
783
783
  <span class="method-name">dec</span><span class="method-args">()</span>
784
784
  </a>
785
785
  </div>
@@ -791,12 +791,12 @@ self - 1
791
791
  </div>
792
792
  </div>
793
793
 
794
- <div id="method-M000087" class="method-detail">
795
- <a name="M000087"></a>
794
+ <div id="method-M000089" class="method-detail">
795
+ <a name="M000089"></a>
796
796
 
797
797
  <div class="method-heading">
798
- <a href="LongDecimal.src/M000087.html" target="Code" class="method-signature"
799
- onclick="popupCode('LongDecimal.src/M000087.html');return false;">
798
+ <a href="LongDecimal.src/M000089.html" target="Code" class="method-signature"
799
+ onclick="popupCode('LongDecimal.src/M000089.html');return false;">
800
800
  <span class="method-name">dec!</span><span class="method-args">()</span>
801
801
  </a>
802
802
  </div>
@@ -808,12 +808,12 @@ self -= 1
808
808
  </div>
809
809
  </div>
810
810
 
811
- <div id="method-M000076" class="method-detail">
812
- <a name="M000076"></a>
811
+ <div id="method-M000078" class="method-detail">
812
+ <a name="M000078"></a>
813
813
 
814
814
  <div class="method-heading">
815
- <a href="LongDecimal.src/M000076.html" target="Code" class="method-signature"
816
- onclick="popupCode('LongDecimal.src/M000076.html');return false;">
815
+ <a href="LongDecimal.src/M000078.html" target="Code" class="method-signature"
816
+ onclick="popupCode('LongDecimal.src/M000078.html');return false;">
817
817
  <span class="method-name">denominator</span><span class="method-args">()</span>
818
818
  </a>
819
819
  </div>
@@ -830,12 +830,12 @@ Rational
830
830
  </div>
831
831
  </div>
832
832
 
833
- <div id="method-M000094" class="method-detail">
834
- <a name="M000094"></a>
833
+ <div id="method-M000096" class="method-detail">
834
+ <a name="M000096"></a>
835
835
 
836
836
  <div class="method-heading">
837
- <a href="LongDecimal.src/M000094.html" target="Code" class="method-signature"
838
- onclick="popupCode('LongDecimal.src/M000094.html');return false;">
837
+ <a href="LongDecimal.src/M000096.html" target="Code" class="method-signature"
838
+ onclick="popupCode('LongDecimal.src/M000096.html');return false;">
839
839
  <span class="method-name">divide</span><span class="method-args">(other, rounding_mode)</span>
840
840
  </a>
841
841
  </div>
@@ -848,12 +848,12 @@ rounding mode
848
848
  </div>
849
849
  </div>
850
850
 
851
- <div id="method-M000095" class="method-detail">
852
- <a name="M000095"></a>
851
+ <div id="method-M000097" class="method-detail">
852
+ <a name="M000097"></a>
853
853
 
854
854
  <div class="method-heading">
855
- <a href="LongDecimal.src/M000095.html" target="Code" class="method-signature"
856
- onclick="popupCode('LongDecimal.src/M000095.html');return false;">
855
+ <a href="LongDecimal.src/M000097.html" target="Code" class="method-signature"
856
+ onclick="popupCode('LongDecimal.src/M000097.html');return false;">
857
857
  <span class="method-name">divide_s</span><span class="method-args">(other, new_scale, rounding_mode)</span>
858
858
  </a>
859
859
  </div>
@@ -866,12 +866,12 @@ mode. If new_scale is nil, use scale of self.
866
866
  </div>
867
867
  </div>
868
868
 
869
- <div id="method-M000099" class="method-detail">
870
- <a name="M000099"></a>
869
+ <div id="method-M000101" class="method-detail">
870
+ <a name="M000101"></a>
871
871
 
872
872
  <div class="method-heading">
873
- <a href="LongDecimal.src/M000099.html" target="Code" class="method-signature"
874
- onclick="popupCode('LongDecimal.src/M000099.html');return false;">
873
+ <a href="LongDecimal.src/M000101.html" target="Code" class="method-signature"
874
+ onclick="popupCode('LongDecimal.src/M000101.html');return false;">
875
875
  <span class="method-name">divmod</span><span class="method-args">(other)</span>
876
876
  </a>
877
877
  </div>
@@ -883,12 +883,12 @@ do integer division with remainder, returning two values
883
883
  </div>
884
884
  </div>
885
885
 
886
- <div id="method-M000079" class="method-detail">
887
- <a name="M000079"></a>
886
+ <div id="method-M000081" class="method-detail">
887
+ <a name="M000081"></a>
888
888
 
889
889
  <div class="method-heading">
890
- <a href="LongDecimal.src/M000079.html" target="Code" class="method-signature"
891
- onclick="popupCode('LongDecimal.src/M000079.html');return false;">
890
+ <a href="LongDecimal.src/M000081.html" target="Code" class="method-signature"
891
+ onclick="popupCode('LongDecimal.src/M000081.html');return false;">
892
892
  <span class="method-name">equalize_scale</span><span class="method-args">(other)</span>
893
893
  </a>
894
894
  </div>
@@ -903,12 +903,12 @@ method is mostly for internal use
903
903
  </div>
904
904
  </div>
905
905
 
906
- <div id="method-M000130" class="method-detail">
907
- <a name="M000130"></a>
906
+ <div id="method-M000132" class="method-detail">
907
+ <a name="M000132"></a>
908
908
 
909
909
  <div class="method-heading">
910
- <a href="LongDecimal.src/M000130.html" target="Code" class="method-signature"
911
- onclick="popupCode('LongDecimal.src/M000130.html');return false;">
910
+ <a href="LongDecimal.src/M000132.html" target="Code" class="method-signature"
911
+ onclick="popupCode('LongDecimal.src/M000132.html');return false;">
912
912
  <span class="method-name">hash</span><span class="method-args">()</span>
913
913
  </a>
914
914
  </div>
@@ -920,12 +920,12 @@ Returns a hash code for the complex number.
920
920
  </div>
921
921
  </div>
922
922
 
923
- <div id="method-M000084" class="method-detail">
924
- <a name="M000084"></a>
923
+ <div id="method-M000086" class="method-detail">
924
+ <a name="M000086"></a>
925
925
 
926
926
  <div class="method-heading">
927
- <a href="LongDecimal.src/M000084.html" target="Code" class="method-signature"
928
- onclick="popupCode('LongDecimal.src/M000084.html');return false;">
927
+ <a href="LongDecimal.src/M000086.html" target="Code" class="method-signature"
928
+ onclick="popupCode('LongDecimal.src/M000086.html');return false;">
929
929
  <span class="method-name">inc</span><span class="method-args">()</span>
930
930
  </a>
931
931
  </div>
@@ -937,12 +937,12 @@ self + 1
937
937
  </div>
938
938
  </div>
939
939
 
940
- <div id="method-M000086" class="method-detail">
941
- <a name="M000086"></a>
940
+ <div id="method-M000088" class="method-detail">
941
+ <a name="M000088"></a>
942
942
 
943
943
  <div class="method-heading">
944
- <a href="LongDecimal.src/M000086.html" target="Code" class="method-signature"
945
- onclick="popupCode('LongDecimal.src/M000086.html');return false;">
944
+ <a href="LongDecimal.src/M000088.html" target="Code" class="method-signature"
945
+ onclick="popupCode('LongDecimal.src/M000088.html');return false;">
946
946
  <span class="method-name">inc!</span><span class="method-args">()</span>
947
947
  </a>
948
948
  </div>
@@ -954,12 +954,12 @@ self += 1
954
954
  </div>
955
955
  </div>
956
956
 
957
- <div id="method-M000131" class="method-detail">
958
- <a name="M000131"></a>
957
+ <div id="method-M000133" class="method-detail">
958
+ <a name="M000133"></a>
959
959
 
960
960
  <div class="method-heading">
961
- <a href="LongDecimal.src/M000131.html" target="Code" class="method-signature"
962
- onclick="popupCode('LongDecimal.src/M000131.html');return false;">
961
+ <a href="LongDecimal.src/M000133.html" target="Code" class="method-signature"
962
+ onclick="popupCode('LongDecimal.src/M000133.html');return false;">
963
963
  <span class="method-name">inspect</span><span class="method-args">()</span>
964
964
  </a>
965
965
  </div>
@@ -973,12 +973,12 @@ href="LongDecimal.html">LongDecimal</a>(<em>int_val</em>,
973
973
  </div>
974
974
  </div>
975
975
 
976
- <div id="method-M000078" class="method-detail">
977
- <a name="M000078"></a>
976
+ <div id="method-M000080" class="method-detail">
977
+ <a name="M000080"></a>
978
978
 
979
979
  <div class="method-heading">
980
- <a href="LongDecimal.src/M000078.html" target="Code" class="method-signature"
981
- onclick="popupCode('LongDecimal.src/M000078.html');return false;">
980
+ <a href="LongDecimal.src/M000080.html" target="Code" class="method-signature"
981
+ onclick="popupCode('LongDecimal.src/M000080.html');return false;">
982
982
  <span class="method-name">int_digits10</span><span class="method-args">()</span>
983
983
  </a>
984
984
  </div>
@@ -991,12 +991,12 @@ number of decimal digits before the decimal point, not counting a single 0.
991
991
  </div>
992
992
  </div>
993
993
 
994
- <div id="method-M000077" class="method-detail">
995
- <a name="M000077"></a>
994
+ <div id="method-M000079" class="method-detail">
995
+ <a name="M000079"></a>
996
996
 
997
997
  <div class="method-heading">
998
- <a href="LongDecimal.src/M000077.html" target="Code" class="method-signature"
999
- onclick="popupCode('LongDecimal.src/M000077.html');return false;">
998
+ <a href="LongDecimal.src/M000079.html" target="Code" class="method-signature"
999
+ onclick="popupCode('LongDecimal.src/M000079.html');return false;">
1000
1000
  <span class="method-name">int_digits2</span><span class="method-args">()</span>
1001
1001
  </a>
1002
1002
  </div>
@@ -1010,8 +1010,8 @@ number of binary digits before the decimal point, not counting a single 0.
1010
1010
  </div>
1011
1011
  </div>
1012
1012
 
1013
- <div id="method-M000116" class="method-detail">
1014
- <a name="M000116"></a>
1013
+ <div id="method-M000118" class="method-detail">
1014
+ <a name="M000118"></a>
1015
1015
 
1016
1016
  <div class="method-heading">
1017
1017
  <span class="method-name">inverse</span><span class="method-args">()</span>
@@ -1019,17 +1019,17 @@ number of binary digits before the decimal point, not counting a single 0.
1019
1019
 
1020
1020
  <div class="method-description">
1021
1021
  <p>
1022
- Alias for <a href="LongDecimal.html#M000115">reciprocal</a>
1022
+ Alias for <a href="LongDecimal.html#M000117">reciprocal</a>
1023
1023
  </p>
1024
1024
  </div>
1025
1025
  </div>
1026
1026
 
1027
- <div id="method-M000123" class="method-detail">
1028
- <a name="M000123"></a>
1027
+ <div id="method-M000125" class="method-detail">
1028
+ <a name="M000125"></a>
1029
1029
 
1030
1030
  <div class="method-heading">
1031
- <a href="LongDecimal.src/M000123.html" target="Code" class="method-signature"
1032
- onclick="popupCode('LongDecimal.src/M000123.html');return false;">
1031
+ <a href="LongDecimal.src/M000125.html" target="Code" class="method-signature"
1032
+ onclick="popupCode('LongDecimal.src/M000125.html');return false;">
1033
1033
  <span class="method-name">is_int?</span><span class="method-args">()</span>
1034
1034
  </a>
1035
1035
  </div>
@@ -1041,12 +1041,12 @@ is self expressable as an integer without loss of digits?
1041
1041
  </div>
1042
1042
  </div>
1043
1043
 
1044
- <div id="method-M000109" class="method-detail">
1045
- <a name="M000109"></a>
1044
+ <div id="method-M000111" class="method-detail">
1045
+ <a name="M000111"></a>
1046
1046
 
1047
1047
  <div class="method-heading">
1048
- <a href="LongDecimal.src/M000109.html" target="Code" class="method-signature"
1049
- onclick="popupCode('LongDecimal.src/M000109.html');return false;">
1048
+ <a href="LongDecimal.src/M000111.html" target="Code" class="method-signature"
1049
+ onclick="popupCode('LongDecimal.src/M000111.html');return false;">
1050
1050
  <span class="method-name">move_point_left</span><span class="method-args">(n)</span>
1051
1051
  </a>
1052
1052
  </div>
@@ -1058,12 +1058,12 @@ divide by 10**n
1058
1058
  </div>
1059
1059
  </div>
1060
1060
 
1061
- <div id="method-M000110" class="method-detail">
1062
- <a name="M000110"></a>
1061
+ <div id="method-M000112" class="method-detail">
1062
+ <a name="M000112"></a>
1063
1063
 
1064
1064
  <div class="method-heading">
1065
- <a href="LongDecimal.src/M000110.html" target="Code" class="method-signature"
1066
- onclick="popupCode('LongDecimal.src/M000110.html');return false;">
1065
+ <a href="LongDecimal.src/M000112.html" target="Code" class="method-signature"
1066
+ onclick="popupCode('LongDecimal.src/M000112.html');return false;">
1067
1067
  <span class="method-name">move_point_right</span><span class="method-args">(n)</span>
1068
1068
  </a>
1069
1069
  </div>
@@ -1075,8 +1075,8 @@ multiply by 10**n
1075
1075
  </div>
1076
1076
  </div>
1077
1077
 
1078
- <div id="method-M000082" class="method-detail">
1079
- <a name="M000082"></a>
1078
+ <div id="method-M000084" class="method-detail">
1079
+ <a name="M000084"></a>
1080
1080
 
1081
1081
  <div class="method-heading">
1082
1082
  <span class="method-name">next</span><span class="method-args">()</span>
@@ -1084,17 +1084,17 @@ multiply by 10**n
1084
1084
 
1085
1085
  <div class="method-description">
1086
1086
  <p>
1087
- Alias for <a href="LongDecimal.html#M000081">succ</a>
1087
+ Alias for <a href="LongDecimal.html#M000083">succ</a>
1088
1088
  </p>
1089
1089
  </div>
1090
1090
  </div>
1091
1091
 
1092
- <div id="method-M000129" class="method-detail">
1093
- <a name="M000129"></a>
1092
+ <div id="method-M000131" class="method-detail">
1093
+ <a name="M000131"></a>
1094
1094
 
1095
1095
  <div class="method-heading">
1096
- <a href="LongDecimal.src/M000129.html" target="Code" class="method-signature"
1097
- onclick="popupCode('LongDecimal.src/M000129.html');return false;">
1096
+ <a href="LongDecimal.src/M000131.html" target="Code" class="method-signature"
1097
+ onclick="popupCode('LongDecimal.src/M000131.html');return false;">
1098
1098
  <span class="method-name">one?</span><span class="method-args">()</span>
1099
1099
  </a>
1100
1100
  </div>
@@ -1107,12 +1107,12 @@ after the decimal point.
1107
1107
  </div>
1108
1108
  </div>
1109
1109
 
1110
- <div id="method-M000083" class="method-detail">
1111
- <a name="M000083"></a>
1110
+ <div id="method-M000085" class="method-detail">
1111
+ <a name="M000085"></a>
1112
1112
 
1113
1113
  <div class="method-heading">
1114
- <a href="LongDecimal.src/M000083.html" target="Code" class="method-signature"
1115
- onclick="popupCode('LongDecimal.src/M000083.html');return false;">
1114
+ <a href="LongDecimal.src/M000085.html" target="Code" class="method-signature"
1115
+ onclick="popupCode('LongDecimal.src/M000085.html');return false;">
1116
1116
  <span class="method-name">pred</span><span class="method-args">()</span>
1117
1117
  </a>
1118
1118
  </div>
@@ -1125,12 +1125,12 @@ usually not an decrement by 1, but by 1/10**scale.
1125
1125
  </div>
1126
1126
  </div>
1127
1127
 
1128
- <div id="method-M000096" class="method-detail">
1129
- <a name="M000096"></a>
1128
+ <div id="method-M000098" class="method-detail">
1129
+ <a name="M000098"></a>
1130
1130
 
1131
1131
  <div class="method-heading">
1132
- <a href="LongDecimal.src/M000096.html" target="Code" class="method-signature"
1133
- onclick="popupCode('LongDecimal.src/M000096.html');return false;">
1132
+ <a href="LongDecimal.src/M000098.html" target="Code" class="method-signature"
1133
+ onclick="popupCode('LongDecimal.src/M000098.html');return false;">
1134
1134
  <span class="method-name">rdiv</span><span class="method-args">(other)</span>
1135
1135
  </a>
1136
1136
  </div>
@@ -1143,12 +1143,12 @@ calculations.
1143
1143
  </div>
1144
1144
  </div>
1145
1145
 
1146
- <div id="method-M000115" class="method-detail">
1147
- <a name="M000115"></a>
1146
+ <div id="method-M000117" class="method-detail">
1147
+ <a name="M000117"></a>
1148
1148
 
1149
1149
  <div class="method-heading">
1150
- <a href="LongDecimal.src/M000115.html" target="Code" class="method-signature"
1151
- onclick="popupCode('LongDecimal.src/M000115.html');return false;">
1150
+ <a href="LongDecimal.src/M000117.html" target="Code" class="method-signature"
1151
+ onclick="popupCode('LongDecimal.src/M000117.html');return false;">
1152
1152
  <span class="method-name">reciprocal</span><span class="method-args">()</span>
1153
1153
  </a>
1154
1154
  </div>
@@ -1160,12 +1160,12 @@ calculate the multiplicative inverse
1160
1160
  </div>
1161
1161
  </div>
1162
1162
 
1163
- <div id="method-M000067" class="method-detail">
1164
- <a name="M000067"></a>
1163
+ <div id="method-M000069" class="method-detail">
1164
+ <a name="M000069"></a>
1165
1165
 
1166
1166
  <div class="method-heading">
1167
- <a href="LongDecimal.src/M000067.html" target="Code" class="method-signature"
1168
- onclick="popupCode('LongDecimal.src/M000067.html');return false;">
1167
+ <a href="LongDecimal.src/M000069.html" target="Code" class="method-signature"
1168
+ onclick="popupCode('LongDecimal.src/M000069.html');return false;">
1169
1169
  <span class="method-name">round_to_scale</span><span class="method-args">(new_scale, mode = ROUND_UNNECESSARY)</span>
1170
1170
  </a>
1171
1171
  </div>
@@ -1183,12 +1183,12 @@ result param2: mode rounding mode to be applied when information is
1183
1183
  </div>
1184
1184
  </div>
1185
1185
 
1186
- <div id="method-M000121" class="method-detail">
1187
- <a name="M000121"></a>
1186
+ <div id="method-M000123" class="method-detail">
1187
+ <a name="M000123"></a>
1188
1188
 
1189
1189
  <div class="method-heading">
1190
- <a href="LongDecimal.src/M000121.html" target="Code" class="method-signature"
1191
- onclick="popupCode('LongDecimal.src/M000121.html');return false;">
1190
+ <a href="LongDecimal.src/M000123.html" target="Code" class="method-signature"
1191
+ onclick="popupCode('LongDecimal.src/M000123.html');return false;">
1192
1192
  <span class="method-name">scale_equal</span><span class="method-args">(other)</span>
1193
1193
  </a>
1194
1194
  </div>
@@ -1198,12 +1198,12 @@ result param2: mode rounding mode to be applied when information is
1198
1198
  </div>
1199
1199
  </div>
1200
1200
 
1201
- <div id="method-M000120" class="method-detail">
1202
- <a name="M000120"></a>
1201
+ <div id="method-M000122" class="method-detail">
1202
+ <a name="M000122"></a>
1203
1203
 
1204
1204
  <div class="method-heading">
1205
- <a href="LongDecimal.src/M000120.html" target="Code" class="method-signature"
1206
- onclick="popupCode('LongDecimal.src/M000120.html');return false;">
1205
+ <a href="LongDecimal.src/M000122.html" target="Code" class="method-signature"
1206
+ onclick="popupCode('LongDecimal.src/M000122.html');return false;">
1207
1207
  <span class="method-name">scale_ufo</span><span class="method-args">(other)</span>
1208
1208
  </a>
1209
1209
  </div>
@@ -1215,12 +1215,12 @@ result param2: mode rounding mode to be applied when information is
1215
1215
  </div>
1216
1216
  </div>
1217
1217
 
1218
- <div id="method-M000124" class="method-detail">
1219
- <a name="M000124"></a>
1218
+ <div id="method-M000126" class="method-detail">
1219
+ <a name="M000126"></a>
1220
1220
 
1221
1221
  <div class="method-heading">
1222
- <a href="LongDecimal.src/M000124.html" target="Code" class="method-signature"
1223
- onclick="popupCode('LongDecimal.src/M000124.html');return false;">
1222
+ <a href="LongDecimal.src/M000126.html" target="Code" class="method-signature"
1223
+ onclick="popupCode('LongDecimal.src/M000126.html');return false;">
1224
1224
  <span class="method-name">sgn</span><span class="method-args">()</span>
1225
1225
  </a>
1226
1226
  </div>
@@ -1238,8 +1238,8 @@ get the sign of self -1 if self &lt; 0
1238
1238
  </div>
1239
1239
  </div>
1240
1240
 
1241
- <div id="method-M000126" class="method-detail">
1242
- <a name="M000126"></a>
1241
+ <div id="method-M000128" class="method-detail">
1242
+ <a name="M000128"></a>
1243
1243
 
1244
1244
  <div class="method-heading">
1245
1245
  <span class="method-name">sign</span><span class="method-args">()</span>
@@ -1247,13 +1247,13 @@ get the sign of self -1 if self &lt; 0
1247
1247
 
1248
1248
  <div class="method-description">
1249
1249
  <p>
1250
- Alias for <a href="LongDecimal.html#M000124">sgn</a>
1250
+ Alias for <a href="LongDecimal.html#M000126">sgn</a>
1251
1251
  </p>
1252
1252
  </div>
1253
1253
  </div>
1254
1254
 
1255
- <div id="method-M000125" class="method-detail">
1256
- <a name="M000125"></a>
1255
+ <div id="method-M000127" class="method-detail">
1256
+ <a name="M000127"></a>
1257
1257
 
1258
1258
  <div class="method-heading">
1259
1259
  <span class="method-name">signum</span><span class="method-args">()</span>
@@ -1261,17 +1261,17 @@ Alias for <a href="LongDecimal.html#M000124">sgn</a>
1261
1261
 
1262
1262
  <div class="method-description">
1263
1263
  <p>
1264
- Alias for <a href="LongDecimal.html#M000124">sgn</a>
1264
+ Alias for <a href="LongDecimal.html#M000126">sgn</a>
1265
1265
  </p>
1266
1266
  </div>
1267
1267
  </div>
1268
1268
 
1269
- <div id="method-M000108" class="method-detail">
1270
- <a name="M000108"></a>
1269
+ <div id="method-M000110" class="method-detail">
1270
+ <a name="M000110"></a>
1271
1271
 
1272
1272
  <div class="method-heading">
1273
- <a href="LongDecimal.src/M000108.html" target="Code" class="method-signature"
1274
- onclick="popupCode('LongDecimal.src/M000108.html');return false;">
1273
+ <a href="LongDecimal.src/M000110.html" target="Code" class="method-signature"
1274
+ onclick="popupCode('LongDecimal.src/M000110.html');return false;">
1275
1275
  <span class="method-name">size</span><span class="method-args">()</span>
1276
1276
  </a>
1277
1277
  </div>
@@ -1283,12 +1283,12 @@ gets size of int_val
1283
1283
  </div>
1284
1284
  </div>
1285
1285
 
1286
- <div id="method-M000114" class="method-detail">
1287
- <a name="M000114"></a>
1286
+ <div id="method-M000116" class="method-detail">
1287
+ <a name="M000116"></a>
1288
1288
 
1289
1289
  <div class="method-heading">
1290
- <a href="LongDecimal.src/M000114.html" target="Code" class="method-signature"
1291
- onclick="popupCode('LongDecimal.src/M000114.html');return false;">
1290
+ <a href="LongDecimal.src/M000116.html" target="Code" class="method-signature"
1291
+ onclick="popupCode('LongDecimal.src/M000116.html');return false;">
1292
1292
  <span class="method-name">sqrt</span><span class="method-args">(new_scale, rounding_mode)</span>
1293
1293
  </a>
1294
1294
  </div>
@@ -1297,12 +1297,12 @@ gets size of int_val
1297
1297
  </div>
1298
1298
  </div>
1299
1299
 
1300
- <div id="method-M000113" class="method-detail">
1301
- <a name="M000113"></a>
1300
+ <div id="method-M000115" class="method-detail">
1301
+ <a name="M000115"></a>
1302
1302
 
1303
1303
  <div class="method-heading">
1304
- <a href="LongDecimal.src/M000113.html" target="Code" class="method-signature"
1305
- onclick="popupCode('LongDecimal.src/M000113.html');return false;">
1304
+ <a href="LongDecimal.src/M000115.html" target="Code" class="method-signature"
1305
+ onclick="popupCode('LongDecimal.src/M000115.html');return false;">
1306
1306
  <span class="method-name">square</span><span class="method-args">()</span>
1307
1307
  </a>
1308
1308
  </div>
@@ -1314,12 +1314,12 @@ calculate the square of self
1314
1314
  </div>
1315
1315
  </div>
1316
1316
 
1317
- <div id="method-M000081" class="method-detail">
1318
- <a name="M000081"></a>
1317
+ <div id="method-M000083" class="method-detail">
1318
+ <a name="M000083"></a>
1319
1319
 
1320
1320
  <div class="method-heading">
1321
- <a href="LongDecimal.src/M000081.html" target="Code" class="method-signature"
1322
- onclick="popupCode('LongDecimal.src/M000081.html');return false;">
1321
+ <a href="LongDecimal.src/M000083.html" target="Code" class="method-signature"
1322
+ onclick="popupCode('LongDecimal.src/M000083.html');return false;">
1323
1323
  <span class="method-name">succ</span><span class="method-args">()</span>
1324
1324
  </a>
1325
1325
  </div>
@@ -1333,12 +1333,12 @@ but by 1/10**scale.
1333
1333
  </div>
1334
1334
  </div>
1335
1335
 
1336
- <div id="method-M000075" class="method-detail">
1337
- <a name="M000075"></a>
1336
+ <div id="method-M000077" class="method-detail">
1337
+ <a name="M000077"></a>
1338
1338
 
1339
1339
  <div class="method-heading">
1340
- <a href="LongDecimal.src/M000075.html" target="Code" class="method-signature"
1341
- onclick="popupCode('LongDecimal.src/M000075.html');return false;">
1340
+ <a href="LongDecimal.src/M000077.html" target="Code" class="method-signature"
1341
+ onclick="popupCode('LongDecimal.src/M000077.html');return false;">
1342
1342
  <span class="method-name">to_bd</span><span class="method-args">()</span>
1343
1343
  </a>
1344
1344
  </div>
@@ -1350,12 +1350,12 @@ convert selt into BigDecimal
1350
1350
  </div>
1351
1351
  </div>
1352
1352
 
1353
- <div id="method-M000072" class="method-detail">
1354
- <a name="M000072"></a>
1353
+ <div id="method-M000074" class="method-detail">
1354
+ <a name="M000074"></a>
1355
1355
 
1356
1356
  <div class="method-heading">
1357
- <a href="LongDecimal.src/M000072.html" target="Code" class="method-signature"
1358
- onclick="popupCode('LongDecimal.src/M000072.html');return false;">
1357
+ <a href="LongDecimal.src/M000074.html" target="Code" class="method-signature"
1358
+ onclick="popupCode('LongDecimal.src/M000074.html');return false;">
1359
1359
  <span class="method-name">to_f</span><span class="method-args">()</span>
1360
1360
  </a>
1361
1361
  </div>
@@ -1370,12 +1370,12 @@ representation otherwise.
1370
1370
  </div>
1371
1371
  </div>
1372
1372
 
1373
- <div id="method-M000073" class="method-detail">
1374
- <a name="M000073"></a>
1373
+ <div id="method-M000075" class="method-detail">
1374
+ <a name="M000075"></a>
1375
1375
 
1376
1376
  <div class="method-heading">
1377
- <a href="LongDecimal.src/M000073.html" target="Code" class="method-signature"
1378
- onclick="popupCode('LongDecimal.src/M000073.html');return false;">
1377
+ <a href="LongDecimal.src/M000075.html" target="Code" class="method-signature"
1378
+ onclick="popupCode('LongDecimal.src/M000075.html');return false;">
1379
1379
  <span class="method-name">to_i</span><span class="method-args">()</span>
1380
1380
  </a>
1381
1381
  </div>
@@ -1384,19 +1384,19 @@ representation otherwise.
1384
1384
  <p>
1385
1385
  convert self into Integer This may loose information. In most cases it is
1386
1386
  preferred to control this by calling <a
1387
- href="LongDecimal.html#M000067">round_to_scale</a> first and then applying
1388
- <a href="LongDecimal.html#M000073">to_i</a> when the number represented by
1387
+ href="LongDecimal.html#M000069">round_to_scale</a> first and then applying
1388
+ <a href="LongDecimal.html#M000075">to_i</a> when the number represented by
1389
1389
  self is actually an integer.
1390
1390
  </p>
1391
1391
  </div>
1392
1392
  </div>
1393
1393
 
1394
- <div id="method-M000074" class="method-detail">
1395
- <a name="M000074"></a>
1394
+ <div id="method-M000076" class="method-detail">
1395
+ <a name="M000076"></a>
1396
1396
 
1397
1397
  <div class="method-heading">
1398
- <a href="LongDecimal.src/M000074.html" target="Code" class="method-signature"
1399
- onclick="popupCode('LongDecimal.src/M000074.html');return false;">
1398
+ <a href="LongDecimal.src/M000076.html" target="Code" class="method-signature"
1399
+ onclick="popupCode('LongDecimal.src/M000076.html');return false;">
1400
1400
  <span class="method-name">to_ld</span><span class="method-args">()</span>
1401
1401
  </a>
1402
1402
  </div>
@@ -1408,12 +1408,12 @@ convert self into <a href="LongDecimal.html">LongDecimal</a> (returns self)
1408
1408
  </div>
1409
1409
  </div>
1410
1410
 
1411
- <div id="method-M000071" class="method-detail">
1412
- <a name="M000071"></a>
1411
+ <div id="method-M000073" class="method-detail">
1412
+ <a name="M000073"></a>
1413
1413
 
1414
1414
  <div class="method-heading">
1415
- <a href="LongDecimal.src/M000071.html" target="Code" class="method-signature"
1416
- onclick="popupCode('LongDecimal.src/M000071.html');return false;">
1415
+ <a href="LongDecimal.src/M000073.html" target="Code" class="method-signature"
1416
+ onclick="popupCode('LongDecimal.src/M000073.html');return false;">
1417
1417
  <span class="method-name">to_r</span><span class="method-args">()</span>
1418
1418
  </a>
1419
1419
  </div>
@@ -1426,12 +1426,12 @@ numerator and a power of 10 as denominator
1426
1426
  </div>
1427
1427
  </div>
1428
1428
 
1429
- <div id="method-M000068" class="method-detail">
1430
- <a name="M000068"></a>
1429
+ <div id="method-M000070" class="method-detail">
1430
+ <a name="M000070"></a>
1431
1431
 
1432
1432
  <div class="method-heading">
1433
- <a href="LongDecimal.src/M000068.html" target="Code" class="method-signature"
1434
- onclick="popupCode('LongDecimal.src/M000068.html');return false;">
1433
+ <a href="LongDecimal.src/M000070.html" target="Code" class="method-signature"
1434
+ onclick="popupCode('LongDecimal.src/M000070.html');return false;">
1435
1435
  <span class="method-name">to_s</span><span class="method-args">(shown_scale = @scale, mode = ROUND_UNNECESSARY, base = 10)</span>
1436
1436
  </a>
1437
1437
  </div>
@@ -1448,12 +1448,12 @@ defaults to 10.
1448
1448
  </div>
1449
1449
  </div>
1450
1450
 
1451
- <div id="method-M000088" class="method-detail">
1452
- <a name="M000088"></a>
1451
+ <div id="method-M000090" class="method-detail">
1452
+ <a name="M000090"></a>
1453
1453
 
1454
1454
  <div class="method-heading">
1455
- <a href="LongDecimal.src/M000088.html" target="Code" class="method-signature"
1456
- onclick="popupCode('LongDecimal.src/M000088.html');return false;">
1455
+ <a href="LongDecimal.src/M000090.html" target="Code" class="method-signature"
1456
+ onclick="popupCode('LongDecimal.src/M000090.html');return false;">
1457
1457
  <span class="method-name">unit</span><span class="method-args">()</span>
1458
1458
  </a>
1459
1459
  </div>
@@ -1465,12 +1465,12 @@ return the unit by which self is incremented by succ
1465
1465
  </div>
1466
1466
  </div>
1467
1467
 
1468
- <div id="method-M000128" class="method-detail">
1469
- <a name="M000128"></a>
1468
+ <div id="method-M000130" class="method-detail">
1469
+ <a name="M000130"></a>
1470
1470
 
1471
1471
  <div class="method-heading">
1472
- <a href="LongDecimal.src/M000128.html" target="Code" class="method-signature"
1473
- onclick="popupCode('LongDecimal.src/M000128.html');return false;">
1472
+ <a href="LongDecimal.src/M000130.html" target="Code" class="method-signature"
1473
+ onclick="popupCode('LongDecimal.src/M000130.html');return false;">
1474
1474
  <span class="method-name">zero?</span><span class="method-args">()</span>
1475
1475
  </a>
1476
1476
  </div>
@@ -1483,12 +1483,12 @@ after the decimal point.
1483
1483
  </div>
1484
1484
  </div>
1485
1485
 
1486
- <div id="method-M000102" class="method-detail">
1487
- <a name="M000102"></a>
1486
+ <div id="method-M000104" class="method-detail">
1487
+ <a name="M000104"></a>
1488
1488
 
1489
1489
  <div class="method-heading">
1490
- <a href="LongDecimal.src/M000102.html" target="Code" class="method-signature"
1491
- onclick="popupCode('LongDecimal.src/M000102.html');return false;">
1490
+ <a href="LongDecimal.src/M000104.html" target="Code" class="method-signature"
1491
+ onclick="popupCode('LongDecimal.src/M000104.html');return false;">
1492
1492
  <span class="method-name">|</span><span class="method-args">(other)</span>
1493
1493
  </a>
1494
1494
  </div>
@@ -1500,12 +1500,12 @@ performs bitwise OR between self and other
1500
1500
  </div>
1501
1501
  </div>
1502
1502
 
1503
- <div id="method-M000104" class="method-detail">
1504
- <a name="M000104"></a>
1503
+ <div id="method-M000106" class="method-detail">
1504
+ <a name="M000106"></a>
1505
1505
 
1506
1506
  <div class="method-heading">
1507
- <a href="LongDecimal.src/M000104.html" target="Code" class="method-signature"
1508
- onclick="popupCode('LongDecimal.src/M000104.html');return false;">
1507
+ <a href="LongDecimal.src/M000106.html" target="Code" class="method-signature"
1508
+ onclick="popupCode('LongDecimal.src/M000106.html');return false;">
1509
1509
  <span class="method-name">~</span><span class="method-args">()</span>
1510
1510
  </a>
1511
1511
  </div>
@@ -1519,12 +1519,12 @@ bitwise inversion
1519
1519
 
1520
1520
  <h3 class="section-bar">Protected Instance methods</h3>
1521
1521
 
1522
- <div id="method-M000111" class="method-detail">
1523
- <a name="M000111"></a>
1522
+ <div id="method-M000113" class="method-detail">
1523
+ <a name="M000113"></a>
1524
1524
 
1525
1525
  <div class="method-heading">
1526
- <a href="LongDecimal.src/M000111.html" target="Code" class="method-signature"
1527
- onclick="popupCode('LongDecimal.src/M000111.html');return false;">
1526
+ <a href="LongDecimal.src/M000113.html" target="Code" class="method-signature"
1527
+ onclick="popupCode('LongDecimal.src/M000113.html');return false;">
1528
1528
  <span class="method-name">move_point_left_int</span><span class="method-args">(n)</span>
1529
1529
  </a>
1530
1530
  </div>
@@ -1536,12 +1536,12 @@ internal method divide by 10**n
1536
1536
  </div>
1537
1537
  </div>
1538
1538
 
1539
- <div id="method-M000112" class="method-detail">
1540
- <a name="M000112"></a>
1539
+ <div id="method-M000114" class="method-detail">
1540
+ <a name="M000114"></a>
1541
1541
 
1542
1542
  <div class="method-heading">
1543
- <a href="LongDecimal.src/M000112.html" target="Code" class="method-signature"
1544
- onclick="popupCode('LongDecimal.src/M000112.html');return false;">
1543
+ <a href="LongDecimal.src/M000114.html" target="Code" class="method-signature"
1544
+ onclick="popupCode('LongDecimal.src/M000114.html');return false;">
1545
1545
  <span class="method-name">move_point_right_int</span><span class="method-args">(n)</span>
1546
1546
  </a>
1547
1547
  </div>
@@ -1553,12 +1553,12 @@ internal method multiply by 10**n
1553
1553
  </div>
1554
1554
  </div>
1555
1555
 
1556
- <div id="method-M000066" class="method-detail">
1557
- <a name="M000066"></a>
1556
+ <div id="method-M000068" class="method-detail">
1557
+ <a name="M000068"></a>
1558
1558
 
1559
1559
  <div class="method-heading">
1560
- <a href="LongDecimal.src/M000066.html" target="Code" class="method-signature"
1561
- onclick="popupCode('LongDecimal.src/M000066.html');return false;">
1560
+ <a href="LongDecimal.src/M000068.html" target="Code" class="method-signature"
1561
+ onclick="popupCode('LongDecimal.src/M000068.html');return false;">
1562
1562
  <span class="method-name">scale=</span><span class="method-args">(s)</span>
1563
1563
  </a>
1564
1564
  </div>
@@ -1569,17 +1569,17 @@ alter scale (changes self)
1569
1569
  </p>
1570
1570
  <p>
1571
1571
  only for internal use: use <a
1572
- href="LongDecimal.html#M000067">round_to_scale</a> instead
1572
+ href="LongDecimal.html#M000069">round_to_scale</a> instead
1573
1573
  </p>
1574
1574
  </div>
1575
1575
  </div>
1576
1576
 
1577
- <div id="method-M000069" class="method-detail">
1578
- <a name="M000069"></a>
1577
+ <div id="method-M000071" class="method-detail">
1578
+ <a name="M000071"></a>
1579
1579
 
1580
1580
  <div class="method-heading">
1581
- <a href="LongDecimal.src/M000069.html" target="Code" class="method-signature"
1582
- onclick="popupCode('LongDecimal.src/M000069.html');return false;">
1581
+ <a href="LongDecimal.src/M000071.html" target="Code" class="method-signature"
1582
+ onclick="popupCode('LongDecimal.src/M000071.html');return false;">
1583
1583
  <span class="method-name">to_s_10</span><span class="method-args">()</span>
1584
1584
  </a>
1585
1585
  </div>
@@ -1592,12 +1592,12 @@ default settings.
1592
1592
  </div>
1593
1593
  </div>
1594
1594
 
1595
- <div id="method-M000070" class="method-detail">
1596
- <a name="M000070"></a>
1595
+ <div id="method-M000072" class="method-detail">
1596
+ <a name="M000072"></a>
1597
1597
 
1598
1598
  <div class="method-heading">
1599
- <a href="LongDecimal.src/M000070.html" target="Code" class="method-signature"
1600
- onclick="popupCode('LongDecimal.src/M000070.html');return false;">
1599
+ <a href="LongDecimal.src/M000072.html" target="Code" class="method-signature"
1600
+ onclick="popupCode('LongDecimal.src/M000072.html');return false;">
1601
1601
  <span class="method-name">to_s_internal</span><span class="method-args">(b, sc)</span>
1602
1602
  </a>
1603
1603
  </div>