long-decimal 0.00.10 → 0.00.11

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 (141) hide show
  1. data/VERSION +1 -1
  2. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +12 -5
  3. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000136.html +22 -0
  4. data/doc/classes/LongMath/LongDecimal.html +1624 -0
  5. data/doc/classes/LongMath/LongDecimal.src/M000061.html +18 -0
  6. data/doc/classes/LongMath/LongDecimal.src/M000062.html +18 -0
  7. data/doc/classes/LongMath/LongDecimal.src/M000063.html +18 -0
  8. data/doc/classes/LongMath/LongDecimal.src/M000064.html +20 -0
  9. data/doc/classes/LongMath/LongDecimal.src/M000065.html +109 -0
  10. data/doc/classes/LongMath/LongDecimal.src/M000066.html +34 -0
  11. data/doc/classes/LongMath/LongDecimal.src/M000067.html +41 -0
  12. data/doc/classes/LongMath/LongDecimal.src/M000068.html +35 -0
  13. data/doc/classes/LongMath/LongDecimal.src/M000069.html +18 -0
  14. data/doc/classes/LongMath/LongDecimal.src/M000070.html +29 -0
  15. data/doc/classes/LongMath/LongDecimal.src/M000071.html +18 -0
  16. data/doc/classes/LongMath/LongDecimal.src/M000072.html +38 -0
  17. data/doc/classes/LongMath/LongDecimal.src/M000073.html +18 -0
  18. data/doc/classes/LongMath/LongDecimal.src/M000074.html +18 -0
  19. data/doc/classes/LongMath/LongDecimal.src/M000075.html +20 -0
  20. data/doc/classes/LongMath/LongDecimal.src/M000076.html +18 -0
  21. data/doc/classes/LongMath/LongDecimal.src/M000077.html +29 -0
  22. data/doc/classes/LongMath/LongDecimal.src/M000078.html +46 -0
  23. data/doc/classes/LongMath/LongDecimal.src/M000079.html +29 -0
  24. data/doc/classes/LongMath/LongDecimal.src/M000080.html +27 -0
  25. data/doc/classes/LongMath/LongDecimal.src/M000081.html +18 -0
  26. data/doc/classes/LongMath/LongDecimal.src/M000083.html +18 -0
  27. data/doc/classes/LongMath/LongDecimal.src/M000084.html +18 -0
  28. data/doc/classes/LongMath/LongDecimal.src/M000085.html +18 -0
  29. data/doc/classes/LongMath/LongDecimal.src/M000086.html +18 -0
  30. data/doc/classes/LongMath/LongDecimal.src/M000087.html +18 -0
  31. data/doc/classes/LongMath/LongDecimal.src/M000089.html +18 -0
  32. data/doc/classes/LongMath/LongDecimal.src/M000090.html +22 -0
  33. data/doc/classes/LongMath/LongDecimal.src/M000091.html +23 -0
  34. data/doc/classes/LongMath/LongDecimal.src/M000092.html +23 -0
  35. data/doc/classes/LongMath/LongDecimal.src/M000093.html +23 -0
  36. data/doc/classes/LongMath/LongDecimal.src/M000094.html +18 -0
  37. data/doc/classes/LongMath/LongDecimal.src/M000095.html +29 -0
  38. data/doc/classes/LongMath/LongDecimal.src/M000096.html +23 -0
  39. data/doc/classes/LongMath/LongDecimal.src/M000097.html +23 -0
  40. data/doc/classes/LongMath/LongDecimal.src/M000098.html +34 -0
  41. data/doc/classes/LongMath/LongDecimal.src/M000099.html +22 -0
  42. data/doc/classes/LongMath/LongDecimal.src/M000100.html +19 -0
  43. data/doc/classes/LongMath/LongDecimal.src/M000101.html +23 -0
  44. data/doc/classes/LongMath/LongDecimal.src/M000102.html +23 -0
  45. data/doc/classes/LongMath/LongDecimal.src/M000103.html +23 -0
  46. data/doc/classes/LongMath/LongDecimal.src/M000104.html +18 -0
  47. data/doc/classes/LongMath/LongDecimal.src/M000105.html +21 -0
  48. data/doc/classes/LongMath/LongDecimal.src/M000106.html +21 -0
  49. data/doc/classes/LongMath/LongDecimal.src/M000107.html +18 -0
  50. data/doc/classes/LongMath/LongDecimal.src/M000108.html +18 -0
  51. data/doc/classes/LongMath/LongDecimal.src/M000109.html +23 -0
  52. data/doc/classes/LongMath/LongDecimal.src/M000110.html +23 -0
  53. data/doc/classes/LongMath/LongDecimal.src/M000111.html +19 -0
  54. data/doc/classes/LongMath/LongDecimal.src/M000112.html +23 -0
  55. data/doc/classes/LongMath/LongDecimal.src/M000113.html +18 -0
  56. data/doc/classes/LongMath/LongDecimal.src/M000114.html +30 -0
  57. data/doc/classes/LongMath/LongDecimal.src/M000115.html +18 -0
  58. data/doc/classes/LongMath/LongDecimal.src/M000116.html +23 -0
  59. data/doc/classes/LongMath/LongDecimal.src/M000117.html +18 -0
  60. data/doc/classes/LongMath/LongDecimal.src/M000118.html +30 -0
  61. data/doc/classes/LongMath/LongDecimal.src/M000119.html +23 -0
  62. data/doc/classes/LongMath/LongDecimal.src/M000120.html +19 -0
  63. data/doc/classes/LongMath/LongDecimal.src/M000121.html +18 -0
  64. data/doc/classes/LongMath/LongDecimal.src/M000122.html +47 -0
  65. data/doc/classes/LongMath/LongDecimal.src/M000123.html +18 -0
  66. data/doc/classes/LongMath/LongDecimal.src/M000124.html +18 -0
  67. data/doc/classes/LongMath/LongDecimal.src/M000125.html +47 -0
  68. data/doc/classes/LongMath/LongDecimal.src/M000126.html +18 -0
  69. data/doc/classes/LongMath/LongDecimal.src/M000127.html +19 -0
  70. data/doc/classes/LongMath/LongDecimal.src/M000130.html +18 -0
  71. data/doc/classes/LongMath/LongDecimal.src/M000131.html +18 -0
  72. data/doc/classes/LongMath/LongDecimal.src/M000132.html +18 -0
  73. data/doc/classes/LongMath/LongDecimal.src/M000133.html +18 -0
  74. data/doc/classes/LongMath/LongDecimal.src/M000134.html +18 -0
  75. data/doc/classes/LongMath/LongDecimalQuot.html +797 -0
  76. data/doc/classes/LongMath/LongDecimalQuot.src/M000024.html +18 -0
  77. data/doc/classes/LongMath/LongDecimalQuot.src/M000025.html +28 -0
  78. data/doc/classes/LongMath/LongDecimalQuot.src/M000026.html +18 -0
  79. data/doc/classes/LongMath/LongDecimalQuot.src/M000027.html +18 -0
  80. data/doc/classes/LongMath/LongDecimalQuot.src/M000028.html +19 -0
  81. data/doc/classes/LongMath/LongDecimalQuot.src/M000029.html +18 -0
  82. data/doc/classes/LongMath/LongDecimalQuot.src/M000030.html +18 -0
  83. data/doc/classes/LongMath/LongDecimalQuot.src/M000031.html +18 -0
  84. data/doc/classes/LongMath/LongDecimalQuot.src/M000032.html +18 -0
  85. data/doc/classes/LongMath/LongDecimalQuot.src/M000033.html +18 -0
  86. data/doc/classes/LongMath/LongDecimalQuot.src/M000034.html +22 -0
  87. data/doc/classes/LongMath/LongDecimalQuot.src/M000035.html +23 -0
  88. data/doc/classes/LongMath/LongDecimalQuot.src/M000036.html +23 -0
  89. data/doc/classes/LongMath/LongDecimalQuot.src/M000037.html +23 -0
  90. data/doc/classes/LongMath/LongDecimalQuot.src/M000038.html +23 -0
  91. data/doc/classes/LongMath/LongDecimalQuot.src/M000039.html +35 -0
  92. data/doc/classes/LongMath/LongDecimalQuot.src/M000040.html +22 -0
  93. data/doc/classes/LongMath/LongDecimalQuot.src/M000041.html +19 -0
  94. data/doc/classes/LongMath/LongDecimalQuot.src/M000042.html +18 -0
  95. data/doc/classes/LongMath/LongDecimalQuot.src/M000043.html +18 -0
  96. data/doc/classes/LongMath/LongDecimalQuot.src/M000044.html +18 -0
  97. data/doc/classes/LongMath/LongDecimalQuot.src/M000045.html +18 -0
  98. data/doc/classes/LongMath/LongDecimalQuot.src/M000046.html +77 -0
  99. data/doc/classes/LongMath/LongDecimalQuot.src/M000047.html +36 -0
  100. data/doc/classes/LongMath/LongDecimalQuot.src/M000048.html +18 -0
  101. data/doc/classes/LongMath/LongDecimalQuot.src/M000049.html +23 -0
  102. data/doc/classes/LongMath/LongDecimalQuot.src/M000050.html +19 -0
  103. data/doc/classes/LongMath/LongDecimalQuot.src/M000051.html +18 -0
  104. data/doc/classes/LongMath/LongDecimalQuot.src/M000052.html +18 -0
  105. data/doc/classes/LongMath/LongDecimalQuot.src/M000053.html +18 -0
  106. data/doc/classes/LongMath/LongDecimalQuot.src/M000054.html +18 -0
  107. data/doc/classes/LongMath/LongDecimalQuot.src/M000055.html +18 -0
  108. data/doc/classes/LongMath/LongDecimalQuot.src/M000058.html +18 -0
  109. data/doc/classes/LongMath/LongDecimalQuot.src/M000059.html +18 -0
  110. data/doc/classes/LongMath/LongDecimalQuot.src/M000060.html +18 -0
  111. data/doc/classes/LongMath/Numeric.html +150 -0
  112. data/doc/classes/LongMath/Numeric.src/M000135.html +18 -0
  113. data/doc/classes/LongMath.html +70 -37
  114. data/doc/classes/LongMath.src/M000001.html +19 -0
  115. data/doc/classes/LongMath.src/M000002.html +18 -0
  116. data/doc/classes/LongMath.src/M000003.html +18 -0
  117. data/doc/classes/LongMath.src/M000004.html +19 -0
  118. data/doc/classes/LongMath.src/M000005.html +18 -0
  119. data/doc/classes/LongMath.src/M000006.html +32 -0
  120. data/doc/classes/LongMath.src/M000007.html +32 -0
  121. data/doc/classes/LongMath.src/M000008.html +19 -0
  122. data/doc/classes/LongMath.src/M000009.html +43 -0
  123. data/doc/classes/LongMath.src/M000010.html +19 -0
  124. data/doc/classes/LongMath.src/M000011.html +73 -0
  125. data/doc/classes/LongMath.src/M000012.html +35 -0
  126. data/doc/classes/LongMath.src/M000013.html +50 -0
  127. data/doc/classes/LongMath.src/M000014.html +47 -0
  128. data/doc/classes/LongMath.src/M000015.html +22 -0
  129. data/doc/classes/LongMath.src/M000016.html +25 -0
  130. data/doc/classes/LongMath.src/M000017.html +107 -0
  131. data/doc/classes/LongMath.src/M000018.html +21 -0
  132. data/doc/classes/LongMath.src/M000019.html +30 -0
  133. data/doc/classes/LongMath.src/M000020.html +30 -0
  134. data/doc/classes/LongMath.src/M000021.html +115 -0
  135. data/doc/classes/LongMath.src/M000022.html +22 -0
  136. data/doc/classes/LongMath.src/M000023.html +18 -0
  137. data/doc/created.rid +1 -1
  138. data/doc/files/lib/longdecimal_rb.html +2 -2
  139. data/doc/fr_method_index.html +108 -111
  140. data/lib/longdecimal.rb +333 -93
  141. metadata +139 -2
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>^ (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1470</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>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>~ (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1482</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>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>&lt;&lt; (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1489</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">Integer</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 integer &gt;= 0&quot;</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</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">s</span>.<span class="ruby-identifier">scale</span>)
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>&gt;&gt; (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1499</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">Integer</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 integer &gt;= 0&quot;</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</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">s</span>.<span class="ruby-identifier">scale</span>)
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>[] (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1509</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>]
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>size (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1516</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>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>move_point_left (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1523</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>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>move_point_right (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1535</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>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>move_point_left_int (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1548</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>)
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>move_point_right_int (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1557</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>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>square (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1571</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
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>sqrt (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1575</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">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>
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 &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">new_scale</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;mode #{mode.inspect} must be legal rounding mode&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">rounding_mode</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">RoundingModeClass</span>
18
+
19
+ <span class="ruby-identifier">new_scale1</span> = <span class="ruby-identifier">new_scale</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
20
+ <span class="ruby-identifier">old_scale</span> = (<span class="ruby-identifier">new_scale1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">1</span>)
21
+ <span class="ruby-identifier">x</span> = <span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">old_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
22
+ <span class="ruby-identifier">root</span>, <span class="ruby-identifier">rem</span> = <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">sqrtb_with_remainder</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">int_val</span>)
23
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rem</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">rounding_mode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ROUND_HALF_EVEN</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">rounding_mode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ROUND_HALF_DOWN</span>)) <span class="ruby-keyword kw">then</span>
24
+ <span class="ruby-identifier">rounding_mode</span> = <span class="ruby-constant">ROUND_HALF_UP</span>
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-identifier">y</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">root</span>, <span class="ruby-identifier">new_scale1</span>)
27
+ <span class="ruby-identifier">y</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">end</span></pre>
29
+ </body>
30
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>reciprocal (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1595</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reciprocal</span>
15
+ <span class="ruby-value">1</span> <span class="ruby-operator">/</span> <span class="ruby-keyword kw">self</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>move_point_right_int (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1443</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>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>abs (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1604</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>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>sqrt (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1461</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">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>
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 &gt;= 0&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">new_scale</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;mode #{mode.inspect} must be legal rounding mode&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">rounding_mode</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">RoundingModeClass</span>
18
+
19
+ <span class="ruby-identifier">new_scale1</span> = <span class="ruby-identifier">new_scale</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
20
+ <span class="ruby-identifier">old_scale</span> = (<span class="ruby-identifier">new_scale1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">1</span>)
21
+ <span class="ruby-identifier">x</span> = <span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">old_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
22
+ <span class="ruby-identifier">root</span>, <span class="ruby-identifier">rem</span> = <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">sqrtb_with_remainder</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">int_val</span>)
23
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rem</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">rounding_mode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ROUND_HALF_EVEN</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">rounding_mode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ROUND_HALF_DOWN</span>)) <span class="ruby-keyword kw">then</span>
24
+ <span class="ruby-identifier">rounding_mode</span> = <span class="ruby-constant">ROUND_HALF_UP</span>
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-identifier">y</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">root</span>, <span class="ruby-identifier">new_scale1</span>)
27
+ <span class="ruby-identifier">y</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">end</span></pre>
29
+ </body>
30
+ </html>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>&lt;=&gt; (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1627</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span> (<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-identifier">diff</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">diff</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">diff</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-identifier">diff</span>.<span class="ruby-identifier">sgn</span>
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-identifier">diff</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-value">0</span>
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>scale_ufo (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1639</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scale_ufo</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;only works for LongDecimal and LongDecimalQuot&quot;</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>)
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">scale</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>scale_equal (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1647</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scale_equal</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-identifier">scale_ufo</span>(<span class="ruby-identifier">other</span>).<span class="ruby-identifier">zero?</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,47 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>coerce (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1656</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerce</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">LongDecimal</span> <span class="ruby-keyword kw">then</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">self</span>
17
+ <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>
18
+ <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>)
19
+ <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>
20
+ <span class="ruby-identifier">sc</span> = <span class="ruby-identifier">scale</span>
21
+ <span class="ruby-identifier">o</span> = <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">sc</span>)
22
+ <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>)
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
24
+ <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>
25
+ <span class="ruby-identifier">other</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">other</span>)
26
+ <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>
27
+ <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>)
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">self</span>
30
+ <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>
31
+ <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>)
32
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
33
+ <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>
34
+ <span class="ruby-comment cmt"># s, o = other.coerce(Complex(self.to_bd, 0))</span>
35
+ <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>))
36
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
37
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Float</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">8</span> <span class="ruby-keyword kw">then</span>
38
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerce</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_s</span>))
39
+ <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>
40
+ <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>)
41
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span>
42
+ <span class="ruby-keyword kw">else</span>
43
+ <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>
44
+ <span class="ruby-keyword kw">end</span>
45
+ <span class="ruby-keyword kw">end</span></pre>
46
+ </body>
47
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>is_int? (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1692</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_int?</span>
15
+ <span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</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">scale</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>sgn (LongMath::LongDecimal)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 1702</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sgn</span>
15
+ <span class="ruby-identifier">int_val</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-value">0</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>