long-decimal 0.01.00 → 0.01.01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. data/README +6 -3
  2. data/Rakefile +1 -1
  3. data/VERSION +1 -1
  4. data/doc/classes/LongDecimal.html +207 -189
  5. data/doc/classes/LongDecimal.src/M000036.html +1 -1
  6. data/doc/classes/LongDecimal.src/M000037.html +1 -1
  7. data/doc/classes/LongDecimal.src/M000038.html +1 -1
  8. data/doc/classes/LongDecimal.src/M000039.html +1 -1
  9. data/doc/classes/LongDecimal.src/M000040.html +1 -1
  10. data/doc/classes/LongDecimal.src/M000041.html +1 -1
  11. data/doc/classes/LongDecimal.src/M000042.html +1 -1
  12. data/doc/classes/LongDecimal.src/M000043.html +1 -1
  13. data/doc/classes/LongDecimal.src/M000044.html +1 -1
  14. data/doc/classes/LongDecimal.src/M000045.html +1 -1
  15. data/doc/classes/LongDecimal.src/M000046.html +1 -1
  16. data/doc/classes/LongDecimal.src/M000047.html +1 -1
  17. data/doc/classes/LongDecimal.src/M000048.html +1 -1
  18. data/doc/classes/LongDecimal.src/M000049.html +1 -1
  19. data/doc/classes/LongDecimal.src/M000050.html +15 -2
  20. data/doc/classes/LongDecimal.src/M000051.html +1 -1
  21. data/doc/classes/LongDecimal.src/M000052.html +2 -2
  22. data/doc/classes/LongDecimal.src/M000053.html +1 -1
  23. data/doc/classes/LongDecimal.src/M000054.html +1 -1
  24. data/doc/classes/LongDecimal.src/M000055.html +1 -1
  25. data/doc/classes/LongDecimal.src/M000056.html +1 -1
  26. data/doc/classes/LongDecimal.src/M000057.html +1 -1
  27. data/doc/classes/LongDecimal.src/M000058.html +1 -1
  28. data/doc/classes/LongDecimal.src/M000059.html +1 -1
  29. data/doc/classes/LongDecimal.src/M000060.html +1 -1
  30. data/doc/classes/LongDecimal.src/M000062.html +1 -1
  31. data/doc/classes/LongDecimal.src/M000063.html +1 -1
  32. data/doc/classes/LongDecimal.src/M000064.html +1 -1
  33. data/doc/classes/LongDecimal.src/M000065.html +1 -1
  34. data/doc/classes/LongDecimal.src/M000066.html +4 -8
  35. data/doc/classes/LongDecimal.src/M000067.html +6 -7
  36. data/doc/classes/LongDecimal.src/M000068.html +5 -5
  37. data/doc/classes/LongDecimal.src/M000069.html +6 -6
  38. data/doc/classes/LongDecimal.src/M000070.html +9 -4
  39. data/doc/classes/LongDecimal.src/M000071.html +4 -19
  40. data/doc/classes/LongDecimal.src/M000072.html +15 -5
  41. data/doc/classes/LongDecimal.src/M000073.html +7 -7
  42. data/doc/classes/LongDecimal.src/M000074.html +7 -18
  43. data/doc/classes/LongDecimal.src/M000075.html +20 -7
  44. data/doc/classes/LongDecimal.src/M000076.html +8 -5
  45. data/doc/classes/LongDecimal.src/M000077.html +5 -9
  46. data/doc/classes/LongDecimal.src/M000078.html +5 -5
  47. data/doc/classes/LongDecimal.src/M000079.html +5 -5
  48. data/doc/classes/LongDecimal.src/M000080.html +9 -4
  49. data/doc/classes/LongDecimal.src/M000081.html +4 -7
  50. data/doc/classes/LongDecimal.src/M000082.html +4 -4
  51. data/doc/classes/LongDecimal.src/M000083.html +7 -4
  52. data/doc/classes/LongDecimal.src/M000084.html +4 -4
  53. data/doc/classes/LongDecimal.src/M000085.html +4 -9
  54. data/doc/classes/LongDecimal.src/M000086.html +6 -6
  55. data/doc/classes/LongDecimal.src/M000087.html +9 -5
  56. data/doc/classes/LongDecimal.src/M000088.html +4 -8
  57. data/doc/classes/LongDecimal.src/M000089.html +9 -4
  58. data/doc/classes/LongDecimal.src/M000090.html +4 -4
  59. data/doc/classes/LongDecimal.src/M000091.html +4 -4
  60. data/doc/classes/LongDecimal.src/M000092.html +4 -4
  61. data/doc/classes/LongDecimal.src/M000093.html +4 -59
  62. data/doc/classes/LongDecimal.src/M000094.html +59 -4
  63. data/doc/classes/LongDecimal.src/M000095.html +4 -4
  64. data/doc/classes/LongDecimal.src/M000096.html +4 -5
  65. data/doc/classes/LongDecimal.src/M000099.html +5 -5
  66. data/doc/classes/LongDecimal.src/M000100.html +5 -4
  67. data/doc/classes/LongDecimal.src/M000101.html +4 -4
  68. data/doc/classes/LongDecimal.src/M000102.html +4 -4
  69. data/doc/classes/LongDecimal.src/M000103.html +4 -4
  70. data/doc/classes/LongDecimalBase.html +53 -53
  71. data/doc/classes/LongDecimalBase.src/M000108.html +4 -4
  72. data/doc/classes/LongDecimalBase.src/M000109.html +4 -4
  73. data/doc/classes/LongDecimalBase.src/M000110.html +4 -4
  74. data/doc/classes/LongDecimalBase.src/M000111.html +4 -4
  75. data/doc/classes/LongDecimalBase.src/M000112.html +4 -9
  76. data/doc/classes/LongDecimalBase.src/M000113.html +9 -9
  77. data/doc/classes/LongDecimalBase.src/M000116.html +9 -5
  78. data/doc/classes/LongDecimalBase.src/M000117.html +5 -4
  79. data/doc/classes/LongDecimalQuot.html +1 -1
  80. data/doc/classes/LongDecimalQuot.src/M000003.html +1 -1
  81. data/doc/classes/LongDecimalQuot.src/M000004.html +1 -1
  82. data/doc/classes/LongDecimalQuot.src/M000005.html +1 -1
  83. data/doc/classes/LongDecimalQuot.src/M000006.html +1 -1
  84. data/doc/classes/LongDecimalQuot.src/M000007.html +1 -1
  85. data/doc/classes/LongDecimalQuot.src/M000008.html +1 -1
  86. data/doc/classes/LongDecimalQuot.src/M000009.html +1 -1
  87. data/doc/classes/LongDecimalQuot.src/M000010.html +1 -1
  88. data/doc/classes/LongDecimalQuot.src/M000011.html +1 -1
  89. data/doc/classes/LongDecimalQuot.src/M000012.html +2 -2
  90. data/doc/classes/LongDecimalQuot.src/M000013.html +1 -1
  91. data/doc/classes/LongDecimalQuot.src/M000014.html +1 -1
  92. data/doc/classes/LongDecimalQuot.src/M000015.html +1 -1
  93. data/doc/classes/LongDecimalQuot.src/M000016.html +1 -1
  94. data/doc/classes/LongDecimalQuot.src/M000017.html +1 -1
  95. data/doc/classes/LongDecimalQuot.src/M000018.html +1 -1
  96. data/doc/classes/LongDecimalQuot.src/M000019.html +1 -1
  97. data/doc/classes/LongDecimalQuot.src/M000020.html +1 -1
  98. data/doc/classes/LongDecimalQuot.src/M000021.html +1 -1
  99. data/doc/classes/LongDecimalQuot.src/M000022.html +1 -1
  100. data/doc/classes/LongDecimalQuot.src/M000023.html +1 -1
  101. data/doc/classes/LongDecimalQuot.src/M000024.html +1 -1
  102. data/doc/classes/LongDecimalQuot.src/M000025.html +1 -1
  103. data/doc/classes/LongDecimalQuot.src/M000026.html +1 -1
  104. data/doc/classes/LongDecimalQuot.src/M000027.html +1 -1
  105. data/doc/classes/LongDecimalQuot.src/M000028.html +1 -1
  106. data/doc/classes/LongDecimalQuot.src/M000029.html +1 -1
  107. data/doc/classes/LongDecimalQuot.src/M000030.html +1 -1
  108. data/doc/classes/LongDecimalQuot.src/M000031.html +1 -1
  109. data/doc/classes/LongDecimalQuot.src/M000034.html +1 -1
  110. data/doc/classes/LongDecimalQuot.src/M000035.html +1 -1
  111. data/doc/classes/LongDecimalRoundingMode.html +6 -1
  112. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +37 -16
  113. data/doc/classes/LongMath.html +246 -161
  114. data/doc/classes/LongMath.src/M000119.html +5 -4
  115. data/doc/classes/LongMath.src/M000120.html +4 -4
  116. data/doc/classes/LongMath.src/M000121.html +4 -5
  117. data/doc/classes/LongMath.src/M000122.html +5 -4
  118. data/doc/classes/LongMath.src/M000123.html +4 -18
  119. data/doc/classes/LongMath.src/M000124.html +14 -14
  120. data/doc/classes/LongMath.src/M000125.html +18 -5
  121. data/doc/classes/LongMath.src/M000126.html +5 -29
  122. data/doc/classes/LongMath.src/M000127.html +29 -5
  123. data/doc/classes/LongMath.src/M000128.html +5 -57
  124. data/doc/classes/LongMath.src/M000129.html +55 -19
  125. data/doc/classes/LongMath.src/M000130.html +20 -35
  126. data/doc/classes/LongMath.src/M000131.html +36 -6
  127. data/doc/classes/LongMath.src/M000132.html +6 -33
  128. data/doc/classes/LongMath.src/M000133.html +26 -44
  129. data/doc/classes/LongMath.src/M000134.html +49 -5
  130. data/doc/classes/LongMath.src/M000135.html +7 -4
  131. data/doc/classes/LongMath.src/M000136.html +4 -4
  132. data/doc/classes/LongMath.src/M000137.html +4 -72
  133. data/doc/classes/LongMath.src/M000138.html +67 -39
  134. data/doc/classes/LongMath.src/M000139.html +44 -4
  135. data/doc/classes/LongMath.src/M000140.html +4 -4
  136. data/doc/classes/LongMath.src/M000141.html +4 -6
  137. data/doc/classes/LongMath.src/M000142.html +4 -18
  138. data/doc/classes/LongMath.src/M000143.html +8 -7
  139. data/doc/classes/LongMath.src/M000144.html +10 -35
  140. data/doc/classes/LongMath.src/M000145.html +23 -202
  141. data/doc/classes/LongMath.src/M000146.html +322 -4
  142. data/doc/classes/LongMath.src/M000147.html +22 -63
  143. data/doc/classes/LongMath.src/M000148.html +65 -33
  144. data/doc/classes/LongMath/CacheKey.html +5 -5
  145. data/doc/classes/Numeric.html +11 -11
  146. data/doc/classes/Numeric.src/M000105.html +9 -4
  147. data/doc/classes/Rational.html +6 -6
  148. data/doc/created.rid +1 -1
  149. data/doc/files/lib/long-decimal_rb.html +2 -2
  150. data/doc/files/lib/long-decimal_rb.src/M000001.html +1 -1
  151. data/doc/files/lib/long-decimal_rb.src/M000002.html +1 -1
  152. data/doc/fr_method_index.html +102 -95
  153. data/lib/long-decimal.rb +206 -49
  154. data/test/testlongdecimal.rb +736 -21
  155. data/test/testlongdeclib.rb +136 -25
  156. data/test/testrandlib.rb +87 -0
  157. data/test/testrandom.rb +30 -45
  158. data/test/testrandpower.rb +72 -0
  159. metadata +4 -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/long-decimal.rb, line 207</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 230</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 215</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 238</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">zero!</span>(<span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 224</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 247</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">one!</span>(<span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-value">10</span><span class="ruby-operator">**</span><span class="ruby-identifier">s</span>, <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 233</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 256</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">two!</span>(<span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-value">10</span><span class="ruby-operator">**</span><span class="ruby-identifier">s</span>, <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 242</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 265</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">ten!</span>(<span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-value">10</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">s</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>), <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 251</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 274</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">minus_one!</span>(<span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-identifier">new</span>(<span class="ruby-value">-1</span><span class="ruby-operator">*</span><span class="ruby-value">10</span><span class="ruby-operator">**</span><span class="ruby-identifier">s</span>, <span class="ruby-identifier">s</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 261</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 284</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">power_of_ten!</span>(<span class="ruby-identifier">e</span>, <span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>)
15
15
  <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">e</span>, <span class="ruby-value str">&quot;e&quot;</span>)
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;negative 1st arg \&quot;#{e.inspect}\&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 274</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 297</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">s</span>)
15
15
 
16
16
  <span class="ruby-comment cmt"># handle some obvious errors with x first</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 388</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 411</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scale=</span>(<span class="ruby-identifier">s</span>)
15
15
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;non integer arg \&quot;#{s.inspect}\&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;negative arg \&quot;#{s.inspect}\&quot;&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 414</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 437</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">round_trailing_zeros</span>
15
15
  <span class="ruby-identifier">n</span> = <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">multiplicity_of_10</span>(<span class="ruby-identifier">int_val</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span>.<span class="ruby-identifier">zero?</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 433</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 456</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">ROUND_UNNECESSARY</span>)
15
15
 
16
16
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;new_scale #{new_scale.inspect} must be integer&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 472</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 495</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">shown_scale</span> = <span class="ruby-ivar">@scale</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">ROUND_UNNECESSARY</span>, <span class="ruby-identifier">base</span> = <span class="ruby-value">10</span>)
15
15
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">base</span> <span class="ruby-operator">==</span> <span class="ruby-value">10</span>) <span class="ruby-keyword kw">then</span>
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">shown_scale</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@scale</span>)
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 495</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 518</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s_10</span>
15
15
  <span class="ruby-identifier">to_s_internal</span>(<span class="ruby-value">10</span>, <span class="ruby-identifier">scale</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 502</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 525</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s_internal</span>(<span class="ruby-identifier">b</span>, <span class="ruby-identifier">sc</span>)
15
15
  <span class="ruby-identifier">sg</span> = <span class="ruby-identifier">sgn</span>
16
16
  <span class="ruby-identifier">i</span> = <span class="ruby-identifier">int_val</span>.<span class="ruby-identifier">abs</span>
@@ -10,14 +10,27 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 527</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 550</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_f</span>
15
+ <span class="ruby-comment cmt"># handle overflow: raise exception</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;self=#{self.inspect} cannot be expressed as Float&quot;</span>
18
+ <span class="ruby-keyword kw">end</span>
19
+
20
+ <span class="ruby-comment cmt"># handle underflow: return 0.0</span>
21
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">&lt;</span> <span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MIN_FLOATABLE</span>) <span class="ruby-keyword kw">then</span>
22
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+
15
25
  <span class="ruby-identifier">divisor</span> = <span class="ruby-identifier">denominator</span>
16
26
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">divisor</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
17
27
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">to_f</span>
18
28
  <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span> <span class="ruby-keyword kw">then</span>
19
29
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">divisor</span>.<span class="ruby-identifier">abs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-keyword kw">then</span>
20
- <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
30
+ <span class="ruby-identifier">q</span> = <span class="ruby-value">10</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">scale</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Float</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_10_EXP</span>)
31
+ <span class="ruby-identifier">f</span> = (<span class="ruby-identifier">numerator</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">q</span>).<span class="ruby-identifier">to_f</span>
32
+ <span class="ruby-identifier">d</span> = <span class="ruby-identifier">divisor</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">q</span>
33
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">d</span>
21
34
  <span class="ruby-keyword kw">else</span>
22
35
  <span class="ruby-identifier">f</span> = <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">to_f</span>
23
36
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">divisor</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 561</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 597</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_i</span>
15
15
  <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">div</span>(<span class="ruby-identifier">denominator</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,8 +10,8 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 570</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">prec</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_UP</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 606</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">standard_mode</span>)
15
15
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span>.<span class="ruby-identifier">nil?</span>)
16
16
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
17
17
  <span class="ruby-keyword kw">else</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 581</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 617</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_bd</span>
15
15
  <span class="ruby-comment cmt"># this operation is probably not used so heavily, so we can live with a</span>
16
16
  <span class="ruby-comment cmt"># string as an intermediate step.</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 595</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 631</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">denominator</span>
15
15
  <span class="ruby-value">10</span><span class="ruby-operator">**</span><span class="ruby-identifier">scale</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 617</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 653</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">int_digits2</span>
15
15
  <span class="ruby-identifier">int_part</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">to_i</span>
16
16
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">int_part</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 647</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 683</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sint_digits10</span>
15
15
  <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@digits10</span>.<span class="ruby-identifier">nil?</span>)
16
16
  <span class="ruby-ivar">@digits10</span> = <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">int_digits10</span>(<span class="ruby-identifier">int_val</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">scale</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 663</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 699</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">int_digits10</span>
15
15
  <span class="ruby-keyword kw">return</span> [ <span class="ruby-identifier">sint_digits10</span>, <span class="ruby-value">0</span> ].<span class="ruby-identifier">max</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 673</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 709</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">equalize_scale</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 694</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 730</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">anti_equalize_scale</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 712</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 748</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">succ</span>
15
15
  <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 723</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 759</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pred</span>
15
15
  <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 730</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 766</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inc!</span>
15
15
  <span class="ruby-ivar">@int_val</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">denominator</span>
16
16
  <span class="ruby-ivar">@digits10</span> = <span class="ruby-keyword kw">nil</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 738</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 774</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dec!</span>
15
15
  <span class="ruby-ivar">@int_val</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">denominator</span>
16
16
  <span class="ruby-ivar">@digits10</span> = <span class="ruby-keyword kw">nil</span>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 746</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 782</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unit</span>
15
15
  <span class="ruby-constant">LongDecimal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -5,18 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>-@ (LongDecimal)</title>
8
+ <title>sunit (LongDecimal)</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/long-decimal.rb, line 754</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-@</span>
15
- <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">then</span>
16
- <span class="ruby-keyword kw">self</span>
17
- <span class="ruby-keyword kw">else</span>
18
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span>)
19
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 789</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sunit</span>
15
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">sign</span>, <span class="ruby-identifier">scale</span>)
20
16
  <span class="ruby-keyword kw">end</span></pre>
21
17
  </body>
22
18
  </html>
@@ -5,18 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>+ (LongDecimal)</title>
8
+ <title>-@ (LongDecimal)</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/long-decimal.rb, line 770</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">equalize_scale</span>(<span class="ruby-identifier">other</span>)
16
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 797</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-@</span>
15
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-keyword kw">self</span>
18
17
  <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">s</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>
18
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span>)
20
19
  <span class="ruby-keyword kw">end</span>
21
20
  <span class="ruby-keyword kw">end</span></pre>
22
21
  </body>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>- (LongDecimal)</title>
8
+ <title>+ (LongDecimal)</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/long-decimal.rb, line 787</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">other</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 813</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">other</span>)
15
15
  <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">equalize_scale</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>)
17
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>)
18
18
  <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">s</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">o</span>
19
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>
20
20
  <span class="ruby-keyword kw">end</span>
21
21
  <span class="ruby-keyword kw">end</span></pre>
22
22
  </body>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>* (LongDecimal)</title>
8
+ <title>- (LongDecimal)</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/long-decimal.rb, line 804</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">*</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 830</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">equalize_scale</span>(<span class="ruby-identifier">other</span>)
16
16
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>)
17
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>)
18
18
  <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>
19
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">o</span>
20
20
  <span class="ruby-keyword kw">end</span>
21
21
  <span class="ruby-keyword kw">end</span></pre>
22
22
  </body>
@@ -5,14 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>divide (LongDecimal)</title>
8
+ <title>* (LongDecimal)</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/long-decimal.rb, line 817</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">rounding_mode</span>)
15
- <span class="ruby-identifier">divide_s</span>(<span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">rounding_mode</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 847</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">*</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
16
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>)
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>
20
+ <span class="ruby-keyword kw">end</span>
16
21
  <span class="ruby-keyword kw">end</span></pre>
17
22
  </body>
18
23
  </html>
@@ -5,29 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>divide_s (LongDecimal)</title>
8
+ <title>divide (LongDecimal)</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/long-decimal.rb, line 825</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide_s</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
15
- <span class="ruby-identifier">q</span> = <span class="ruby-keyword kw">self</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">other</span>
16
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Float</span>) <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
18
- <span class="ruby-identifier">q</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">q</span>)
19
- <span class="ruby-keyword kw">else</span>
20
- <span class="ruby-identifier">q</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
21
- <span class="ruby-keyword kw">end</span>
22
- <span class="ruby-keyword kw">end</span>
23
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-keyword kw">then</span>
24
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
25
- <span class="ruby-identifier">new_scale</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">scale</span>
26
- <span class="ruby-keyword kw">end</span>
27
- <span class="ruby-identifier">q</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
28
- <span class="ruby-keyword kw">else</span>
29
- <span class="ruby-identifier">q</span>
30
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 860</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">rounding_mode</span>)
15
+ <span class="ruby-identifier">divide_s</span>(<span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">rounding_mode</span>)
31
16
  <span class="ruby-keyword kw">end</span></pre>
32
17
  </body>
33
18
  </html>