long-decimal 0.00.19 → 0.00.20

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 (152) hide show
  1. data/README +25 -22
  2. data/Rakefile +1 -1
  3. data/VERSION +1 -1
  4. data/doc/classes/LongDecimal.html +327 -286
  5. data/doc/classes/LongDecimal.src/M000041.html +10 -4
  6. data/doc/classes/LongDecimal.src/M000042.html +3 -2
  7. data/doc/classes/LongDecimal.src/M000043.html +10 -26
  8. data/doc/classes/LongDecimal.src/M000044.html +24 -16
  9. data/doc/classes/LongDecimal.src/M000045.html +19 -4
  10. data/doc/classes/LongDecimal.src/M000046.html +4 -15
  11. data/doc/classes/LongDecimal.src/M000047.html +13 -26
  12. data/doc/classes/LongDecimal.src/M000048.html +28 -4
  13. data/doc/classes/LongDecimal.src/M000049.html +4 -8
  14. data/doc/classes/LongDecimal.src/M000050.html +8 -6
  15. data/doc/classes/LongDecimal.src/M000051.html +6 -4
  16. data/doc/classes/LongDecimal.src/M000052.html +4 -15
  17. data/doc/classes/LongDecimal.src/M000053.html +8 -24
  18. data/doc/classes/LongDecimal.src/M000054.html +6 -14
  19. data/doc/classes/LongDecimal.src/M000055.html +4 -13
  20. data/doc/classes/LongDecimal.src/M000056.html +15 -4
  21. data/doc/classes/LongDecimal.src/M000057.html +27 -0
  22. data/doc/classes/LongDecimal.src/M000058.html +4 -4
  23. data/doc/classes/LongDecimal.src/M000060.html +4 -4
  24. data/doc/classes/LongDecimal.src/M000061.html +5 -4
  25. data/doc/classes/LongDecimal.src/M000062.html +5 -8
  26. data/doc/classes/LongDecimal.src/M000063.html +4 -9
  27. data/doc/classes/LongDecimal.src/M000064.html +6 -7
  28. data/doc/classes/LongDecimal.src/M000065.html +6 -6
  29. data/doc/classes/LongDecimal.src/M000066.html +9 -4
  30. data/doc/classes/LongDecimal.src/M000067.html +7 -13
  31. data/doc/classes/LongDecimal.src/M000068.html +4 -9
  32. data/doc/classes/LongDecimal.src/M000069.html +13 -7
  33. data/doc/classes/LongDecimal.src/M000070.html +7 -18
  34. data/doc/classes/LongDecimal.src/M000071.html +8 -7
  35. data/doc/classes/LongDecimal.src/M000072.html +20 -5
  36. data/doc/classes/LongDecimal.src/M000073.html +6 -7
  37. data/doc/classes/LongDecimal.src/M000074.html +5 -9
  38. data/doc/classes/LongDecimal.src/M000075.html +5 -5
  39. data/doc/classes/LongDecimal.src/M000076.html +9 -4
  40. data/doc/classes/LongDecimal.src/M000077.html +7 -5
  41. data/doc/classes/LongDecimal.src/M000078.html +4 -7
  42. data/doc/classes/LongDecimal.src/M000079.html +7 -4
  43. data/doc/classes/LongDecimal.src/M000080.html +7 -4
  44. data/doc/classes/LongDecimal.src/M000081.html +4 -9
  45. data/doc/classes/LongDecimal.src/M000082.html +3 -8
  46. data/doc/classes/LongDecimal.src/M000083.html +9 -5
  47. data/doc/classes/LongDecimal.src/M000084.html +7 -7
  48. data/doc/classes/LongDecimal.src/M000085.html +5 -4
  49. data/doc/classes/LongDecimal.src/M000086.html +9 -4
  50. data/doc/classes/LongDecimal.src/M000087.html +4 -4
  51. data/doc/classes/LongDecimal.src/M000088.html +4 -4
  52. data/doc/classes/LongDecimal.src/M000089.html +4 -59
  53. data/doc/classes/LongDecimal.src/M000090.html +4 -4
  54. data/doc/classes/LongDecimal.src/M000091.html +59 -4
  55. data/doc/classes/LongDecimal.src/M000092.html +18 -0
  56. data/doc/classes/LongDecimal.src/M000093.html +18 -0
  57. data/doc/classes/LongDecimal.src/M000096.html +5 -4
  58. data/doc/classes/LongDecimal.src/M000097.html +5 -4
  59. data/doc/classes/LongDecimal.src/M000098.html +4 -4
  60. data/doc/classes/LongDecimal.src/M000099.html +4 -4
  61. data/doc/classes/LongDecimal.src/M000100.html +18 -0
  62. data/doc/classes/LongDecimal.src/M000101.html +18 -0
  63. data/doc/classes/LongDecimalBase.html +53 -53
  64. data/doc/classes/LongDecimalBase.src/M000104.html +4 -4
  65. data/doc/classes/LongDecimalBase.src/M000105.html +4 -4
  66. data/doc/classes/LongDecimalBase.src/M000106.html +4 -4
  67. data/doc/classes/LongDecimalBase.src/M000107.html +4 -4
  68. data/doc/classes/LongDecimalBase.src/M000108.html +18 -0
  69. data/doc/classes/LongDecimalBase.src/M000109.html +4 -9
  70. data/doc/classes/LongDecimalBase.src/M000112.html +9 -4
  71. data/doc/classes/LongDecimalBase.src/M000113.html +19 -0
  72. data/doc/classes/LongDecimalBase.src/M000114.html +18 -0
  73. data/doc/classes/LongDecimalQuot.src/M000003.html +1 -1
  74. data/doc/classes/LongDecimalQuot.src/M000004.html +22 -5
  75. data/doc/classes/LongDecimalQuot.src/M000005.html +1 -1
  76. data/doc/classes/LongDecimalQuot.src/M000006.html +1 -1
  77. data/doc/classes/LongDecimalQuot.src/M000007.html +1 -1
  78. data/doc/classes/LongDecimalQuot.src/M000008.html +1 -1
  79. data/doc/classes/LongDecimalQuot.src/M000009.html +1 -1
  80. data/doc/classes/LongDecimalQuot.src/M000010.html +1 -1
  81. data/doc/classes/LongDecimalQuot.src/M000011.html +1 -1
  82. data/doc/classes/LongDecimalQuot.src/M000012.html +1 -1
  83. data/doc/classes/LongDecimalQuot.src/M000013.html +1 -1
  84. data/doc/classes/LongDecimalQuot.src/M000014.html +1 -1
  85. data/doc/classes/LongDecimalQuot.src/M000015.html +1 -1
  86. data/doc/classes/LongDecimalQuot.src/M000016.html +1 -1
  87. data/doc/classes/LongDecimalQuot.src/M000017.html +1 -1
  88. data/doc/classes/LongDecimalQuot.src/M000018.html +1 -1
  89. data/doc/classes/LongDecimalQuot.src/M000019.html +1 -1
  90. data/doc/classes/LongDecimalQuot.src/M000020.html +1 -1
  91. data/doc/classes/LongDecimalQuot.src/M000021.html +1 -1
  92. data/doc/classes/LongDecimalQuot.src/M000022.html +1 -1
  93. data/doc/classes/LongDecimalQuot.src/M000023.html +1 -1
  94. data/doc/classes/LongDecimalQuot.src/M000024.html +1 -1
  95. data/doc/classes/LongDecimalQuot.src/M000025.html +1 -1
  96. data/doc/classes/LongDecimalQuot.src/M000026.html +1 -1
  97. data/doc/classes/LongDecimalQuot.src/M000027.html +1 -1
  98. data/doc/classes/LongDecimalQuot.src/M000028.html +1 -1
  99. data/doc/classes/LongDecimalQuot.src/M000029.html +1 -1
  100. data/doc/classes/LongDecimalQuot.src/M000032.html +1 -1
  101. data/doc/classes/LongDecimalQuot.src/M000033.html +1 -1
  102. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +10 -10
  103. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000141.html +22 -0
  104. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000142.html +18 -0
  105. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000146.html +22 -0
  106. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000147.html +18 -0
  107. data/doc/classes/LongMath.html +191 -137
  108. data/doc/classes/LongMath.src/M000115.html +5 -4
  109. data/doc/classes/LongMath.src/M000116.html +4 -5
  110. data/doc/classes/LongMath.src/M000117.html +4 -4
  111. data/doc/classes/LongMath.src/M000118.html +5 -18
  112. data/doc/classes/LongMath.src/M000119.html +4 -18
  113. data/doc/classes/LongMath.src/M000120.html +18 -5
  114. data/doc/classes/LongMath.src/M000121.html +16 -27
  115. data/doc/classes/LongMath.src/M000122.html +4 -4
  116. data/doc/classes/LongMath.src/M000123.html +17 -44
  117. data/doc/classes/LongMath.src/M000124.html +5 -21
  118. data/doc/classes/LongMath.src/M000125.html +49 -29
  119. data/doc/classes/LongMath.src/M000126.html +20 -47
  120. data/doc/classes/LongMath.src/M000127.html +36 -8
  121. data/doc/classes/LongMath.src/M000128.html +6 -4
  122. data/doc/classes/LongMath.src/M000129.html +33 -4
  123. data/doc/classes/LongMath.src/M000130.html +40 -56
  124. data/doc/classes/LongMath.src/M000131.html +8 -43
  125. data/doc/classes/LongMath.src/M000132.html +4 -10
  126. data/doc/classes/LongMath.src/M000133.html +4 -7
  127. data/doc/classes/LongMath.src/M000134.html +58 -15
  128. data/doc/classes/LongMath.src/M000135.html +39 -16
  129. data/doc/classes/LongMath.src/M000136.html +6 -39
  130. data/doc/classes/LongMath.src/M000137.html +5 -168
  131. data/doc/classes/LongMath.src/M000138.html +34 -0
  132. data/doc/classes/LongMath.src/M000139.html +34 -0
  133. data/doc/classes/LongMath.src/M000140.html +57 -0
  134. data/doc/classes/LongMath.src/M000141.html +219 -0
  135. data/doc/classes/LongMath.src/M000142.html +33 -0
  136. data/doc/classes/LongMath.src/M000143.html +70 -0
  137. data/doc/classes/LongMath.src/M000144.html +58 -0
  138. data/doc/classes/LongMath/CacheKey.html +164 -0
  139. data/doc/classes/LongMath/CacheKey.src/M000140.html +36 -0
  140. data/doc/classes/LongMath/CacheKey.src/M000145.html +36 -0
  141. data/doc/classes/Numeric.html +5 -5
  142. data/doc/classes/Numeric.src/M000102.html +23 -0
  143. data/doc/classes/Rational.html +5 -5
  144. data/doc/classes/Rational.src/M000103.html +23 -0
  145. data/doc/created.rid +1 -1
  146. data/doc/files/lib/long-decimal_rb.html +2 -2
  147. data/doc/files/lib/long-decimal_rb.src/M000001.html +1 -1
  148. data/doc/files/lib/long-decimal_rb.src/M000002.html +1 -1
  149. data/doc/fr_method_index.html +106 -101
  150. data/lib/long-decimal.rb +203 -85
  151. data/test/testlongdecimal.rb +372 -69
  152. metadata +28 -2
@@ -5,15 +5,30 @@
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 874</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">q</span>, <span class="ruby-identifier">r</span> = <span class="ruby-identifier">divmod</span> <span class="ruby-identifier">other</span>
16
- <span class="ruby-identifier">r</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 859</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">**</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">is_int?</span> <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-identifier">other</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_i</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span> <span class="ruby-keyword kw">then</span>
19
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
20
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">other</span>, <span class="ruby-identifier">scale</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">other</span>)
21
+ <span class="ruby-keyword kw">else</span>
22
+ <span class="ruby-identifier">abs_other</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">other</span>
23
+ <span class="ruby-identifier">new_scale</span> = <span class="ruby-identifier">abs_other</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">scale</span>
24
+ <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-constant">Rational</span>(<span class="ruby-value">10</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">int_val</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">abs_other</span>), <span class="ruby-identifier">new_scale</span>)
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-keyword kw">else</span>
27
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-keyword kw">then</span>
28
+ <span class="ruby-identifier">other</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_r</span>
29
+ <span class="ruby-keyword kw">end</span>
30
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_r</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">other</span>
31
+ <span class="ruby-keyword kw">end</span>
17
32
  <span class="ruby-keyword kw">end</span></pre>
18
33
  </body>
19
34
  </html>
@@ -5,19 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>&amp; (LongDecimal)</title>
8
+ <title>divmod (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
13
  <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 882</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&amp;</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">&amp;</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
- <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">s</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">o</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divmod</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Complex</span>) <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;divmod not supported for Complex&quot;</span>
20
17
  <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-identifier">q</span> = (<span class="ruby-keyword kw">self</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">other</span>).<span class="ruby-identifier">to_i</span>
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">q</span>, <span class="ruby-keyword kw">self</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">q</span>
21
20
  <span class="ruby-keyword kw">end</span></pre>
22
21
  </body>
23
22
  </html>
@@ -5,19 +5,15 @@
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 894</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>)
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>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 893</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">q</span>, <span class="ruby-identifier">r</span> = <span class="ruby-identifier">divmod</span> <span class="ruby-identifier">other</span>
16
+ <span class="ruby-identifier">r</span>
21
17
  <span class="ruby-keyword kw">end</span></pre>
22
18
  </body>
23
19
  </html>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>^ (LongDecimal)</title>
8
+ <title>&amp; (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 906</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 901</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&amp;</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">&amp;</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">&amp;</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>~ (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 918</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">~</span>
15
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-operator">~</span><span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 913</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>)
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,17 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>&lt;&lt; (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
13
  <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 925</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
16
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;cannot shift by something other than Fixnum &gt;= 0&quot;</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>)
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>
17
20
  <span class="ruby-keyword kw">end</span>
18
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">other</span>, <span class="ruby-identifier">scale</span>)
19
21
  <span class="ruby-keyword kw">end</span></pre>
20
22
  </body>
21
23
  </html>
@@ -5,17 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>&gt;&gt; (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 935</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;&gt;</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
16
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;cannot shift by something other than Fixnum &gt;= 0&quot;</span>
17
- <span class="ruby-keyword kw">end</span>
18
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-identifier">other</span>, <span class="ruby-identifier">scale</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 937</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">~</span>
15
+ <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
16
  <span class="ruby-keyword kw">end</span></pre>
20
17
  </body>
21
18
  </html>
@@ -5,14 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>[] (LongDecimal)</title>
8
+ <title>&lt;&lt; (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 945</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">int_val</span>[<span class="ruby-identifier">other</span>]
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 944</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;cannot shift by something other than Fixnum &gt;= 0&quot;</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">other</span>, <span class="ruby-identifier">scale</span>)
16
19
  <span class="ruby-keyword kw">end</span></pre>
17
20
  </body>
18
21
  </html>
@@ -5,14 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>size (LongDecimal)</title>
8
+ <title>&gt;&gt; (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 952</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">size</span>
15
- <span class="ruby-identifier">int_val</span>.<span class="ruby-identifier">size</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 954</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;&gt;</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;cannot shift by something other than Fixnum &gt;= 0&quot;</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-identifier">other</span>, <span class="ruby-identifier">scale</span>)
16
19
  <span class="ruby-keyword kw">end</span></pre>
17
20
  </body>
18
21
  </html>
@@ -5,19 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>move_point_left (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 959</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_left</span>(<span class="ruby-identifier">n</span>)
15
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>
16
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-identifier">n</span>)
18
- <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
20
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 964</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">int_val</span>[<span class="ruby-identifier">other</span>]
21
16
  <span class="ruby-keyword kw">end</span></pre>
22
17
  </body>
23
18
  </html>
@@ -5,19 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>move_point_right (LongDecimal)</title>
8
+ <title>size (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
13
  <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 971</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_right</span>(<span class="ruby-identifier">n</span>)
15
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>
16
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
18
- <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-identifier">n</span>)
20
- <span class="ruby-keyword kw">end</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">size</span>
15
+ <span class="ruby-identifier">int_val</span>.<span class="ruby-identifier">size</span>
21
16
  <span class="ruby-keyword kw">end</span></pre>
22
17
  </body>
23
18
  </html>
@@ -5,15 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>move_point_left_int (LongDecimal)</title>
8
+ <title>move_point_left (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 984</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-identifier">n</span>)
15
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
16
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">n</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 978</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_left</span>(<span class="ruby-identifier">n</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-identifier">n</span>)
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
20
+ <span class="ruby-keyword kw">end</span>
17
21
  <span class="ruby-keyword kw">end</span></pre>
18
22
  </body>
19
23
  </html>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>move_point_right_int (LongDecimal)</title>
8
+ <title>move_point_right (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 993</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-identifier">n</span>)
15
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
16
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scale</span>) <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-value">10</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">n</span><span class="ruby-operator">-</span><span class="ruby-identifier">scale</span>), <span class="ruby-value">0</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 990</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_right</span>(<span class="ruby-identifier">n</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Fixnum</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
18
18
  <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span><span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
19
+ <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-identifier">n</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,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>square (LongDecimal)</title>
8
+ <title>move_point_left_int (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 1007</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">square</span>
15
- <span class="ruby-keyword kw">self</span> <span class="ruby-operator">*</span> <span class="ruby-keyword kw">self</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1003</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_left_int</span>(<span class="ruby-identifier">n</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
16
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">n</span>)
16
17
  <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -5,14 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>sqrt (LongDecimal)</title>
8
+ <title>move_point_right_int (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 1017</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sqrt</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
15
- <span class="ruby-identifier">sqrt_internal</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>, <span class="ruby-keyword kw">false</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1012</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">move_point_right_int</span>(<span class="ruby-identifier">n</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only implemented for Fixnum &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scale</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-value">10</span><span class="ruby-operator">**</span>(<span class="ruby-identifier">n</span><span class="ruby-operator">-</span><span class="ruby-identifier">scale</span>), <span class="ruby-value">0</span>)
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span><span class="ruby-operator">-</span><span class="ruby-identifier">n</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,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>sqrt_with_remainder (LongDecimal)</title>
8
+ <title>square (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 1027</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sqrt_with_remainder</span>(<span class="ruby-identifier">new_scale</span>)
15
- <span class="ruby-identifier">sqrt_internal</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-constant">ROUND_DOWN</span>, <span class="ruby-keyword kw">true</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1026</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">square</span>
15
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">*</span> <span class="ruby-keyword kw">self</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>abs (LongDecimal)</title>
8
+ <title>sqrt (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 1065</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">abs</span>
15
- <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span>.<span class="ruby-identifier">abs</span>, <span class="ruby-identifier">scale</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1036</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sqrt</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
15
+ <span class="ruby-identifier">sqrt_internal</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>, <span class="ruby-keyword kw">false</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,69 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>coerce (LongDecimal)</title>
8
+ <title>sqrt_with_remainder (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 1074</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
15
-
16
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
17
- <span class="ruby-comment cmt"># if other is LongDecimal as well, nothing to do</span>
18
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">self</span>
19
-
20
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span> <span class="ruby-keyword kw">then</span>
21
- <span class="ruby-comment cmt"># if other is LongDecimalQuot, convert self to LongDecimalQuot</span>
22
- <span class="ruby-comment cmt"># as well</span>
23
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">other</span>, <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_r</span>, <span class="ruby-identifier">scale</span>)
24
-
25
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Rational</span> <span class="ruby-keyword kw">then</span>
26
- <span class="ruby-comment cmt"># if other is Rational, convert self and other to</span>
27
- <span class="ruby-comment cmt"># LongDecimalQuot. This is well adapted to cover both.</span>
28
- <span class="ruby-identifier">sc</span> = <span class="ruby-identifier">scale</span>
29
- <span class="ruby-identifier">o</span> = <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">sc</span>)
30
- <span class="ruby-identifier">s</span> = <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_r</span>, <span class="ruby-identifier">sc</span>)
31
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
32
-
33
- <span class="ruby-comment cmt"># we could use BigDecimal as common type for combining Float and</span>
34
- <span class="ruby-comment cmt"># LongDecimal, but this needs a lot of consideration. For the</span>
35
- <span class="ruby-comment cmt"># time being we assume that we live well enough with converting</span>
36
- <span class="ruby-comment cmt"># Float into LongDecimal</span>
37
- <span class="ruby-comment cmt"># elsif (other.kind_of? Float) &amp;&amp; size &gt; 8 then</span>
38
- <span class="ruby-comment cmt"># return coerce(BigDecimal(other.to_s))</span>
39
-
40
- <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Float</span>) <span class="ruby-keyword kw">then</span>
41
- <span class="ruby-comment cmt"># if other is Integer or Float, convert it to LongDecimal</span>
42
- <span class="ruby-identifier">other</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">other</span>)
43
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scale</span>) <span class="ruby-keyword kw">then</span>
44
- <span class="ruby-identifier">other</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">scale</span>, <span class="ruby-constant">ROUND_HALF_UP</span>)
45
- <span class="ruby-keyword kw">end</span>
46
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">self</span>
47
-
48
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">BigDecimal</span> <span class="ruby-keyword kw">then</span>
49
- <span class="ruby-comment cmt"># if other is BigDecimal convert self to BigDecimal</span>
50
- <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">coerce</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_bd</span>)
51
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
52
-
53
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Complex</span> <span class="ruby-keyword kw">then</span>
54
- <span class="ruby-comment cmt"># if other is Complex, convert self to Float and then to</span>
55
- <span class="ruby-comment cmt"># Complex. It need to be observed that this will fail if self</span>
56
- <span class="ruby-comment cmt"># has too many digits before the decimal point to be expressed</span>
57
- <span class="ruby-comment cmt"># as Float.</span>
58
- <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">coerce</span>(<span class="ruby-constant">Complex</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_f</span>, <span class="ruby-value">0</span>))
59
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
60
-
61
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Numeric</span> <span class="ruby-keyword kw">then</span>
62
- <span class="ruby-comment cmt"># all other go by expressing self as Float and seeing how it</span>
63
- <span class="ruby-comment cmt"># combines with other.</span>
64
- <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">coerce</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_f</span>)
65
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
66
-
67
- <span class="ruby-keyword kw">else</span>
68
- <span class="ruby-comment cmt"># non-numeric types do not work here</span>
69
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;unsupported type #{other.inspect} for coerce of LongDecimal&quot;</span>
70
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1046</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sqrt_with_remainder</span>(<span class="ruby-identifier">new_scale</span>)
15
+ <span class="ruby-identifier">sqrt_internal</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-constant">ROUND_DOWN</span>, <span class="ruby-keyword kw">true</span>)
71
16
  <span class="ruby-keyword kw">end</span></pre>
72
17
  </body>
73
18
  </html>