long-decimal 0.01.01 → 0.01.02
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.
- data/README +17 -94
- data/VERSION +1 -1
- data/doc/classes/Integer.html +239 -0
- data/doc/classes/Integer.src/M000036.html +18 -0
- data/doc/classes/Integer.src/M000039.html +145 -0
- data/doc/classes/LongDecimal.html +453 -399
- data/doc/classes/LongDecimal.src/M000040.html +4 -4
- data/doc/classes/LongDecimal.src/M000041.html +4 -4
- data/doc/classes/LongDecimal.src/M000042.html +4 -6
- data/doc/classes/LongDecimal.src/M000043.html +4 -106
- data/doc/classes/LongDecimal.src/M000044.html +4 -21
- data/doc/classes/LongDecimal.src/M000045.html +4 -11
- data/doc/classes/LongDecimal.src/M000046.html +6 -27
- data/doc/classes/LongDecimal.src/M000047.html +103 -16
- data/doc/classes/LongDecimal.src/M000048.html +21 -4
- data/doc/classes/LongDecimal.src/M000049.html +10 -14
- data/doc/classes/LongDecimal.src/M000050.html +22 -36
- data/doc/classes/LongDecimal.src/M000051.html +34 -4
- data/doc/classes/LongDecimal.src/M000052.html +17 -6
- data/doc/classes/LongDecimal.src/M000053.html +4 -6
- data/doc/classes/LongDecimal.src/M000054.html +15 -4
- data/doc/classes/LongDecimal.src/M000055.html +44 -12
- data/doc/classes/LongDecimal.src/M000056.html +4 -7
- data/doc/classes/LongDecimal.src/M000057.html +8 -4
- data/doc/classes/LongDecimal.src/M000058.html +6 -15
- data/doc/classes/LongDecimal.src/M000059.html +4 -13
- data/doc/classes/LongDecimal.src/M000060.html +15 -4
- data/doc/classes/LongDecimal.src/M000061.html +7 -5
- data/doc/classes/LongDecimal.src/M000062.html +4 -4
- data/doc/classes/LongDecimal.src/M000063.html +15 -5
- data/doc/classes/LongDecimal.src/M000064.html +13 -5
- data/doc/classes/LongDecimal.src/M000065.html +4 -4
- data/doc/classes/LongDecimal.src/M000067.html +4 -8
- data/doc/classes/LongDecimal.src/M000068.html +5 -9
- data/doc/classes/LongDecimal.src/M000069.html +5 -9
- data/doc/classes/LongDecimal.src/M000070.html +4 -9
- data/doc/classes/LongDecimal.src/M000071.html +4 -4
- data/doc/classes/LongDecimal.src/M000072.html +6 -17
- data/doc/classes/LongDecimal.src/M000073.html +7 -7
- data/doc/classes/LongDecimal.src/M000074.html +7 -7
- data/doc/classes/LongDecimal.src/M000075.html +7 -19
- data/doc/classes/LongDecimal.src/M000076.html +4 -8
- data/doc/classes/LongDecimal.src/M000077.html +19 -5
- data/doc/classes/LongDecimal.src/M000078.html +7 -7
- data/doc/classes/LongDecimal.src/M000079.html +7 -7
- data/doc/classes/LongDecimal.src/M000080.html +19 -7
- data/doc/classes/LongDecimal.src/M000081.html +8 -4
- data/doc/classes/LongDecimal.src/M000082.html +5 -7
- data/doc/classes/LongDecimal.src/M000083.html +8 -6
- data/doc/classes/LongDecimal.src/M000084.html +9 -4
- data/doc/classes/LongDecimal.src/M000085.html +9 -4
- data/doc/classes/LongDecimal.src/M000086.html +4 -9
- data/doc/classes/LongDecimal.src/M000087.html +6 -8
- data/doc/classes/LongDecimal.src/M000088.html +7 -5
- data/doc/classes/LongDecimal.src/M000089.html +4 -9
- data/doc/classes/LongDecimal.src/M000090.html +4 -4
- data/doc/classes/LongDecimal.src/M000091.html +9 -4
- data/doc/classes/LongDecimal.src/M000092.html +9 -4
- data/doc/classes/LongDecimal.src/M000093.html +5 -4
- data/doc/classes/LongDecimal.src/M000094.html +7 -57
- data/doc/classes/LongDecimal.src/M000095.html +4 -4
- data/doc/classes/LongDecimal.src/M000096.html +4 -4
- data/doc/classes/LongDecimal.src/M000097.html +4 -5
- data/doc/classes/LongDecimal.src/M000098.html +4 -5
- data/doc/classes/LongDecimal.src/M000099.html +59 -5
- data/doc/classes/LongDecimal.src/M000100.html +4 -5
- data/doc/classes/LongDecimal.src/M000101.html +4 -4
- data/doc/classes/LongDecimal.src/M000104.html +19 -0
- data/doc/classes/LongDecimal.src/M000105.html +19 -0
- data/doc/classes/LongDecimal.src/M000106.html +18 -0
- data/doc/classes/LongDecimal.src/M000107.html +18 -0
- data/doc/classes/LongDecimal.src/M000108.html +18 -0
- data/doc/classes/LongDecimal.src/M000109.html +18 -0
- data/doc/classes/LongDecimalBase.html +69 -66
- data/doc/classes/LongDecimalBase.src/M000113.html +4 -9
- data/doc/classes/LongDecimalBase.src/M000114.html +4 -5
- data/doc/classes/LongDecimalBase.src/M000115.html +4 -9
- data/doc/classes/LongDecimalBase.src/M000116.html +4 -9
- data/doc/classes/LongDecimalBase.src/M000117.html +4 -5
- data/doc/classes/LongDecimalBase.src/M000118.html +23 -0
- data/doc/classes/LongDecimalBase.src/M000121.html +23 -0
- data/doc/classes/LongDecimalBase.src/M000122.html +19 -0
- data/doc/classes/LongDecimalBase.src/M000123.html +18 -0
- data/doc/classes/LongDecimalQuot.html +33 -27
- data/doc/classes/LongDecimalQuot.src/M000003.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000004.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000005.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000006.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000007.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000008.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000009.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000010.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000011.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000012.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000013.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000014.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000015.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000016.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000017.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000018.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000019.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000020.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000021.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000022.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000023.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000024.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000025.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000026.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000027.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000028.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000029.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000030.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000031.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000034.html +1 -1
- data/doc/classes/LongDecimalQuot.src/M000035.html +1 -1
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +25 -24
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000156.html +22 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000157.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000158.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000159.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000161.html +25 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000162.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000163.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000164.html +18 -0
- data/doc/classes/LongDecimalRoundingMode/ZeroRoundingModeClass.html +178 -0
- data/doc/classes/LongDecimalRoundingMode/ZeroRoundingModeClass.src/M000165.html +25 -0
- data/doc/classes/LongDecimalRoundingMode/ZeroRoundingModeClass.src/M000166.html +18 -0
- data/doc/classes/LongDecimalRoundingMode.html +41 -4
- data/doc/classes/LongMath/CacheKey.html +10 -10
- data/doc/classes/LongMath/CacheKey.src/M000155.html +36 -0
- data/doc/classes/LongMath/CacheKey.src/M000160.html +36 -0
- data/doc/classes/LongMath.html +246 -235
- data/doc/classes/LongMath.src/M000124.html +5 -18
- data/doc/classes/LongMath.src/M000125.html +4 -18
- data/doc/classes/LongMath.src/M000126.html +4 -5
- data/doc/classes/LongMath.src/M000127.html +5 -29
- data/doc/classes/LongMath.src/M000128.html +4 -5
- data/doc/classes/LongMath.src/M000129.html +14 -53
- data/doc/classes/LongMath.src/M000130.html +17 -20
- data/doc/classes/LongMath.src/M000131.html +5 -36
- data/doc/classes/LongMath.src/M000132.html +29 -6
- data/doc/classes/LongMath.src/M000133.html +5 -33
- data/doc/classes/LongMath.src/M000134.html +47 -41
- data/doc/classes/LongMath.src/M000135.html +21 -7
- data/doc/classes/LongMath.src/M000136.html +36 -4
- data/doc/classes/LongMath.src/M000137.html +6 -4
- data/doc/classes/LongMath.src/M000138.html +31 -70
- data/doc/classes/LongMath.src/M000139.html +45 -38
- data/doc/classes/LongMath.src/M000140.html +7 -4
- data/doc/classes/LongMath.src/M000141.html +4 -4
- data/doc/classes/LongMath.src/M000142.html +4 -6
- data/doc/classes/LongMath.src/M000143.html +67 -14
- data/doc/classes/LongMath.src/M000144.html +39 -14
- data/doc/classes/LongMath.src/M000145.html +4 -44
- data/doc/classes/LongMath.src/M000146.html +5 -339
- data/doc/classes/LongMath.src/M000147.html +6 -25
- data/doc/classes/LongMath.src/M000148.html +14 -75
- data/doc/classes/LongMath.src/M000149.html +33 -0
- data/doc/classes/LongMath.src/M000150.html +58 -0
- data/doc/classes/LongMath.src/M000151.html +406 -0
- data/doc/classes/LongMath.src/M000152.html +63 -0
- data/doc/classes/LongMath.src/M000153.html +117 -0
- data/doc/classes/LongMath.src/M000154.html +150 -0
- data/doc/classes/LongMath.src/M000155.html +63 -0
- data/doc/classes/LongMath.src/M000156.html +18 -0
- data/doc/classes/LongMath.src/M000157.html +19 -0
- data/doc/classes/LongMath.src/M000158.html +18 -0
- data/doc/classes/LongMath.src/M000159.html +19 -0
- data/doc/classes/Numeric.html +23 -21
- data/doc/classes/Numeric.src/M000106.html +18 -0
- data/doc/classes/Numeric.src/M000110.html +23 -0
- data/doc/classes/Numeric.src/M000111.html +18 -0
- data/doc/classes/Rational.html +18 -16
- data/doc/classes/Rational.src/M000107.html +23 -0
- data/doc/classes/Rational.src/M000112.html +23 -0
- data/doc/created.rid +1 -1
- data/doc/dot/f_0.dot +23 -1
- data/doc/dot/f_0.png +0 -0
- data/doc/dot/m_0_0.png +0 -0
- data/doc/dot/m_0_1.dot +13 -0
- data/doc/dot/m_0_1.png +0 -0
- data/doc/files/lib/long-decimal_rb.html +15 -13
- data/doc/files/lib/long-decimal_rb.src/M000001.html +1 -1
- data/doc/files/lib/long-decimal_rb.src/M000002.html +1 -1
- data/doc/fr_class_index.html +2 -0
- data/doc/fr_method_index.html +131 -124
- data/lib/long-decimal.rb +373 -49
- data/test/testlongdecimal.rb +689 -7
- data/test/testlongdeclib.rb +51 -11
- data/test/testrandlib.rb +23 -7
- data/test/testrandom.rb +4 -4
- data/test/testrandpower.rb +11 -9
- metadata +48 -3
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>int_digits10 (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 968</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">int_digits10</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> [ <span class="ruby-identifier">sint_digits10</span>, <span class="ruby-value">0</span> ].<span class="ruby-identifier">max</span>
|
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -5,15 +5,25 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>equalize_scale (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
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">equalize_scale</span>(<span class="ruby-identifier">other</span>)
|
|
15
|
+
<span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
|
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-comment cmt"># make sure Floats do not mess up our number of significant digits when adding</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">Float</span>) <span class="ruby-keyword kw">then</span>
|
|
19
|
+
<span class="ruby-identifier">o</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>, <span class="ruby-constant">ROUND_HALF_UP</span>)
|
|
20
|
+
<span class="ruby-keyword kw">else</span>
|
|
21
|
+
<span class="ruby-identifier">new_scale</span> = [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>, <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>].<span class="ruby-identifier">max</span>
|
|
22
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>)
|
|
23
|
+
<span class="ruby-identifier">o</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>)
|
|
24
|
+
<span class="ruby-keyword kw">end</span>
|
|
25
|
+
<span class="ruby-keyword kw">end</span>
|
|
26
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span>
|
|
17
27
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
28
|
</body>
|
|
19
29
|
</html>
|
|
@@ -5,15 +5,23 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>anti_equalize_scale (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 999</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">anti_equalize_scale</span>(<span class="ruby-identifier">other</span>)
|
|
15
|
+
<span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
|
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-identifier">exponent</span> = [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span>, <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>].<span class="ruby-identifier">max</span>
|
|
18
|
+
<span class="ruby-identifier">factor</span> = <span class="ruby-value">10</span><span class="ruby-operator">**</span><span class="ruby-identifier">exponent</span>
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">*=</span> <span class="ruby-identifier">factor</span>
|
|
20
|
+
<span class="ruby-identifier">o</span> <span class="ruby-operator">*=</span> <span class="ruby-identifier">factor</span>
|
|
21
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-value">0</span>)
|
|
22
|
+
<span class="ruby-identifier">o</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-value">0</span>)
|
|
23
|
+
<span class="ruby-keyword kw">end</span>
|
|
24
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span>
|
|
17
25
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
26
|
</body>
|
|
19
27
|
</html>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>succ (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
|
|
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">succ</span>
|
|
15
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
|
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -5,18 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>pred (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-keyword kw">self</span>
|
|
17
|
-
<span class="ruby-keyword kw">else</span>
|
|
18
|
-
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span>)
|
|
19
|
-
<span class="ruby-keyword kw">end</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1028</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pred</span>
|
|
15
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">int_val</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
|
|
20
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
21
17
|
</body>
|
|
22
18
|
</html>
|
|
@@ -5,19 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>inc! (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
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 1035</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inc!</span>
|
|
15
|
+
<span class="ruby-ivar">@int_val</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">denominator</span>
|
|
16
|
+
<span class="ruby-ivar">@digits10</span> = <span class="ruby-keyword kw">nil</span>
|
|
21
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
18
|
</body>
|
|
23
19
|
</html>
|
|
@@ -5,19 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>dec! (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
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 1043</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dec!</span>
|
|
15
|
+
<span class="ruby-ivar">@int_val</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">denominator</span>
|
|
16
|
+
<span class="ruby-ivar">@digits10</span> = <span class="ruby-keyword kw">nil</span>
|
|
21
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
18
|
</body>
|
|
23
19
|
</html>
|
|
@@ -5,19 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>unit (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
|
|
17
|
-
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>)
|
|
18
|
-
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>
|
|
20
|
-
<span class="ruby-keyword kw">end</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1051</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unit</span>
|
|
15
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">scale</span>)
|
|
21
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
17
|
</body>
|
|
23
18
|
</html>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>sunit (LongDecimal)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1058</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sunit</span>
|
|
15
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">sign</span>, <span class="ruby-identifier">scale</span>)
|
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -5,28 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
|
|
17
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
|
|
18
|
-
<span class="ruby-identifier">q</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">q</span>)
|
|
19
|
-
<span class="ruby-keyword kw">else</span>
|
|
20
|
-
<span class="ruby-identifier">q</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
21
|
-
<span class="ruby-keyword kw">end</span>
|
|
22
|
-
<span class="ruby-keyword kw">end</span>
|
|
23
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-keyword kw">then</span>
|
|
24
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
|
|
25
|
-
<span class="ruby-identifier">new_scale</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">scale</span>
|
|
26
|
-
<span class="ruby-keyword kw">end</span>
|
|
27
|
-
<span class="ruby-identifier">q</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1066</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator">-@</span>
|
|
15
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">then</span>
|
|
16
|
+
<span class="ruby-keyword kw">self</span>
|
|
28
17
|
<span class="ruby-keyword kw">else</span>
|
|
29
|
-
<span class="ruby-identifier">
|
|
18
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">scale</span>)
|
|
30
19
|
<span class="ruby-keyword kw">end</span>
|
|
31
20
|
<span class="ruby-keyword kw">end</span></pre>
|
|
32
21
|
</body>
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
<span class="ruby-keyword kw">if</span>
|
|
17
|
-
<span class="ruby-identifier">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1082</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
18
|
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>
|
|
20
20
|
<span class="ruby-keyword kw">end</span>
|
|
21
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
22
|
</body>
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-operator"
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
<span class="ruby-keyword kw">if</span>
|
|
17
|
-
<span class="ruby-constant">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1099</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
18
|
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">s</span> <span class="ruby-operator"
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">o</span>
|
|
20
20
|
<span class="ruby-keyword kw">end</span>
|
|
21
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
22
|
</body>
|
|
@@ -5,30 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-operator"
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
|
|
17
|
-
|
|
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">>=</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-comment cmt"># puts("other=#{other} abs_other=#{abs_other} int_val=#{int_val} new_scale=#{new_scale} scale=#{scale}")</span>
|
|
25
|
-
<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>)
|
|
26
|
-
<span class="ruby-keyword kw">end</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1116</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator">*</span>(<span class="ruby-identifier">other</span>)
|
|
15
|
+
<span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
|
|
16
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span> <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">int_val</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">int_val</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scale</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">scale</span>)
|
|
27
18
|
<span class="ruby-keyword kw">else</span>
|
|
28
|
-
<span class="ruby-
|
|
29
|
-
<span class="ruby-identifier">other</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_r</span>
|
|
30
|
-
<span class="ruby-keyword kw">end</span>
|
|
31
|
-
<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>
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">o</span>
|
|
32
20
|
<span class="ruby-keyword kw">end</span>
|
|
33
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
34
22
|
</body>
|
|
@@ -5,18 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>divide (LongDecimal)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">"divmod not supported for Complex"</span>
|
|
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>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1129</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
15
|
+
<span class="ruby-identifier">divide_s</span>(<span class="ruby-identifier">other</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
20
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
21
17
|
</body>
|
|
22
18
|
</html>
|
|
@@ -5,15 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>divide_s (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-identifier">q</span
|
|
16
|
-
<span class="ruby-identifier">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1137</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide_s</span>(<span class="ruby-identifier">other</span>, <span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
15
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-keyword kw">self</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">other</span>
|
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Float</span>) <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
|
|
18
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">q</span>)
|
|
19
|
+
<span class="ruby-keyword kw">else</span>
|
|
20
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">to_ld</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
21
|
+
<span class="ruby-keyword kw">end</span>
|
|
22
|
+
<span class="ruby-keyword kw">end</span>
|
|
23
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalBase</span>) <span class="ruby-keyword kw">then</span>
|
|
24
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">new_scale</span>.<span class="ruby-identifier">nil?</span>) <span class="ruby-keyword kw">then</span>
|
|
25
|
+
<span class="ruby-identifier">new_scale</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">scale</span>
|
|
26
|
+
<span class="ruby-keyword kw">end</span>
|
|
27
|
+
<span class="ruby-identifier">q</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">new_scale</span>, <span class="ruby-identifier">rounding_mode</span>)
|
|
28
|
+
<span class="ruby-keyword kw">else</span>
|
|
29
|
+
<span class="ruby-identifier">q</span>
|
|
30
|
+
<span class="ruby-keyword kw">end</span>
|
|
17
31
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
32
|
</body>
|
|
19
33
|
</html>
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
8
|
+
<title>rdiv (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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">
|
|
17
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1160</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rdiv</span>(<span class="ruby-identifier">other</span>)
|
|
15
|
+
<span class="ruby-identifier">q</span> = <span class="ruby-keyword kw">self</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">other</span>
|
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">q</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-identifier">q</span>.<span class="ruby-identifier">to_r</span>
|
|
18
18
|
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">
|
|
19
|
+
<span class="ruby-identifier">q</span>
|
|
20
20
|
<span class="ruby-keyword kw">end</span>
|
|
21
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
22
|
</body>
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title
|
|
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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-operator"
|
|
15
|
-
<span class="ruby-identifier">
|
|
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">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1179</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator">/</span>(<span class="ruby-identifier">other</span>)
|
|
15
|
+
<span class="ruby-identifier">o</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
|
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
|
|
17
|
+
<span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">o</span>)
|
|
18
18
|
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">s</span> <span class="ruby-operator"
|
|
19
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">o</span>
|
|
20
20
|
<span class="ruby-keyword kw">end</span>
|
|
21
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
22
|
</body>
|
|
@@ -5,18 +5,30 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<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
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-operator"
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1199</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">&&</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">>=</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-comment cmt"># puts("other=#{other} abs_other=#{abs_other} int_val=#{int_val} new_scale=#{new_scale} scale=#{scale}")</span>
|
|
25
|
+
<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>)
|
|
26
|
+
<span class="ruby-keyword kw">end</span>
|
|
18
27
|
<span class="ruby-keyword kw">else</span>
|
|
19
|
-
<span class="ruby-identifier">
|
|
28
|
+
<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>
|
|
29
|
+
<span class="ruby-identifier">other</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_r</span>
|
|
30
|
+
<span class="ruby-keyword kw">end</span>
|
|
31
|
+
<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>
|
|
20
32
|
<span class="ruby-keyword kw">end</span>
|
|
21
33
|
<span class="ruby-keyword kw">end</span></pre>
|
|
22
34
|
</body>
|