long-decimal 0.00.11 → 0.00.12

Sign up to get free protection for your applications and to get access to all the features.
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>