long-decimal 0.00.11 → 0.00.12
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 +6 -3
- data/VERSION +1 -1
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +5 -5
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000133.html +22 -0
- data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000135.html +22 -0
- data/doc/classes/LongMath.html +78 -29
- data/doc/classes/LongMath.src/M000001.html +1 -1
- data/doc/classes/LongMath.src/M000002.html +1 -1
- data/doc/classes/LongMath.src/M000003.html +1 -1
- data/doc/classes/LongMath.src/M000004.html +1 -1
- data/doc/classes/LongMath.src/M000005.html +1 -1
- data/doc/classes/LongMath.src/M000006.html +1 -1
- data/doc/classes/LongMath.src/M000007.html +1 -1
- data/doc/classes/LongMath.src/M000008.html +1 -1
- data/doc/classes/LongMath.src/M000009.html +1 -1
- data/doc/classes/LongMath.src/M000010.html +1 -1
- data/doc/classes/LongMath.src/M000011.html +2 -2
- data/doc/classes/LongMath.src/M000012.html +1 -1
- data/doc/classes/LongMath.src/M000013.html +1 -1
- data/doc/classes/LongMath.src/M000014.html +1 -1
- data/doc/classes/LongMath.src/M000015.html +1 -1
- data/doc/classes/LongMath.src/M000016.html +14 -11
- data/doc/classes/LongMath.src/M000017.html +10 -17
- data/doc/classes/LongMath.src/M000018.html +1 -1
- data/doc/classes/LongMath.src/M000019.html +2 -1
- data/doc/classes/LongMath.src/M000021.html +51 -1
- data/doc/classes/LongMath.src/M000022.html +12 -9
- data/doc/classes/LongMath.src/M000023.html +28 -5
- data/doc/classes/LongMath.src/M000024.html +22 -0
- data/doc/classes/LongMath.src/M000025.html +18 -0
- data/doc/classes/LongMath/LongDecimal.html +371 -371
- data/doc/classes/LongMath/LongDecimal.src/M000058.html +18 -0
- data/doc/classes/LongMath/LongDecimal.src/M000059.html +18 -0
- data/doc/classes/LongMath/LongDecimal.src/M000060.html +18 -0
- data/doc/classes/LongMath/LongDecimal.src/M000061.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000062.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000063.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000064.html +4 -6
- data/doc/classes/LongMath/LongDecimal.src/M000065.html +4 -95
- data/doc/classes/LongMath/LongDecimal.src/M000066.html +6 -20
- data/doc/classes/LongMath/LongDecimal.src/M000067.html +92 -24
- data/doc/classes/LongMath/LongDecimal.src/M000068.html +17 -18
- data/doc/classes/LongMath/LongDecimal.src/M000069.html +27 -4
- data/doc/classes/LongMath/LongDecimal.src/M000070.html +19 -13
- data/doc/classes/LongMath/LongDecimal.src/M000071.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000072.html +13 -22
- data/doc/classes/LongMath/LongDecimal.src/M000073.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000074.html +24 -4
- data/doc/classes/LongMath/LongDecimal.src/M000075.html +4 -6
- data/doc/classes/LongMath/LongDecimal.src/M000076.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000077.html +6 -15
- data/doc/classes/LongMath/LongDecimal.src/M000078.html +4 -32
- data/doc/classes/LongMath/LongDecimal.src/M000079.html +14 -14
- data/doc/classes/LongMath/LongDecimal.src/M000080.html +31 -12
- data/doc/classes/LongMath/LongDecimal.src/M000081.html +15 -4
- data/doc/classes/LongMath/LongDecimal.src/M000082.html +27 -0
- data/doc/classes/LongMath/LongDecimal.src/M000083.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000085.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000086.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000087.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000088.html +18 -0
- data/doc/classes/LongMath/LongDecimal.src/M000089.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000090.html +4 -8
- data/doc/classes/LongMath/LongDecimal.src/M000091.html +4 -9
- data/doc/classes/LongMath/LongDecimal.src/M000092.html +6 -7
- data/doc/classes/LongMath/LongDecimal.src/M000093.html +6 -6
- data/doc/classes/LongMath/LongDecimal.src/M000094.html +9 -4
- data/doc/classes/LongMath/LongDecimal.src/M000095.html +7 -13
- data/doc/classes/LongMath/LongDecimal.src/M000096.html +4 -9
- data/doc/classes/LongMath/LongDecimal.src/M000097.html +13 -7
- data/doc/classes/LongMath/LongDecimal.src/M000098.html +7 -18
- data/doc/classes/LongMath/LongDecimal.src/M000099.html +8 -7
- data/doc/classes/LongMath/LongDecimal.src/M000100.html +20 -5
- data/doc/classes/LongMath/LongDecimal.src/M000101.html +7 -8
- data/doc/classes/LongMath/LongDecimal.src/M000102.html +5 -9
- data/doc/classes/LongMath/LongDecimal.src/M000103.html +5 -5
- data/doc/classes/LongMath/LongDecimal.src/M000104.html +9 -4
- data/doc/classes/LongMath/LongDecimal.src/M000105.html +8 -6
- data/doc/classes/LongMath/LongDecimal.src/M000106.html +4 -7
- data/doc/classes/LongMath/LongDecimal.src/M000107.html +7 -4
- data/doc/classes/LongMath/LongDecimal.src/M000108.html +7 -4
- data/doc/classes/LongMath/LongDecimal.src/M000109.html +4 -9
- data/doc/classes/LongMath/LongDecimal.src/M000110.html +4 -9
- data/doc/classes/LongMath/LongDecimal.src/M000111.html +9 -5
- data/doc/classes/LongMath/LongDecimal.src/M000112.html +7 -7
- data/doc/classes/LongMath/LongDecimal.src/M000113.html +5 -4
- data/doc/classes/LongMath/LongDecimal.src/M000114.html +8 -15
- data/doc/classes/LongMath/LongDecimal.src/M000115.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000116.html +15 -8
- data/doc/classes/LongMath/LongDecimal.src/M000117.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000119.html +4 -9
- data/doc/classes/LongMath/LongDecimal.src/M000121.html +9 -4
- data/doc/classes/LongMath/LongDecimal.src/M000122.html +5 -33
- data/doc/classes/LongMath/LongDecimal.src/M000123.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000124.html +33 -4
- data/doc/classes/LongMath/LongDecimal.src/M000125.html +4 -33
- data/doc/classes/LongMath/LongDecimal.src/M000126.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000128.html +18 -0
- data/doc/classes/LongMath/LongDecimal.src/M000129.html +19 -0
- data/doc/classes/LongMath/LongDecimal.src/M000130.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000131.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000132.html +4 -4
- data/doc/classes/LongMath/LongDecimal.src/M000133.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.html +168 -168
- data/doc/classes/LongMath/LongDecimalQuot.src/M000026.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000027.html +14 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000028.html +4 -5
- data/doc/classes/LongMath/LongDecimalQuot.src/M000029.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000030.html +5 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000031.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000032.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000033.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000034.html +4 -8
- data/doc/classes/LongMath/LongDecimalQuot.src/M000035.html +4 -9
- data/doc/classes/LongMath/LongDecimalQuot.src/M000036.html +6 -7
- data/doc/classes/LongMath/LongDecimalQuot.src/M000037.html +5 -5
- data/doc/classes/LongMath/LongDecimalQuot.src/M000038.html +5 -5
- data/doc/classes/LongMath/LongDecimalQuot.src/M000039.html +7 -19
- data/doc/classes/LongMath/LongDecimalQuot.src/M000040.html +8 -7
- data/doc/classes/LongMath/LongDecimalQuot.src/M000041.html +21 -5
- data/doc/classes/LongMath/LongDecimalQuot.src/M000042.html +8 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000043.html +5 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000044.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000045.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000046.html +4 -63
- data/doc/classes/LongMath/LongDecimalQuot.src/M000047.html +4 -22
- data/doc/classes/LongMath/LongDecimalQuot.src/M000048.html +63 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000049.html +20 -7
- data/doc/classes/LongMath/LongDecimalQuot.src/M000050.html +4 -5
- data/doc/classes/LongMath/LongDecimalQuot.src/M000051.html +9 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000052.html +5 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000053.html +4 -4
- data/doc/classes/LongMath/LongDecimalQuot.src/M000054.html +1 -1
- data/doc/classes/LongMath/LongDecimalQuot.src/M000055.html +1 -1
- data/doc/classes/LongMath/LongDecimalQuot.src/M000056.html +18 -0
- data/doc/classes/LongMath/LongDecimalQuot.src/M000057.html +18 -0
- data/doc/classes/LongMath/LongDecimalQuot.src/M000058.html +1 -1
- data/doc/classes/LongMath/LongDecimalQuot.src/M000059.html +4 -4
- data/doc/classes/LongMath/Numeric.html +5 -5
- data/doc/classes/LongMath/Numeric.src/M000132.html +18 -0
- data/doc/classes/LongMath/Numeric.src/M000134.html +18 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/longdecimal_rb.html +2 -2
- data/doc/fr_method_index.html +115 -113
- data/lib/longdecimal.rb +84 -34
- data/test/testlongdecimal.rb +271 -15
- metadata +17 -2
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 290</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">gcd_with_high_power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">b</span>)
|
15
15
|
<span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
16
|
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ZeroDivisionError</span>, <span class="ruby-node">"gcd_with_high_power of zero with \"#{b.inspect}\" would be infinity"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">zero?</span>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 319</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">multiplicity_of_factor</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prime_number</span>)
|
15
15
|
|
16
16
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Rational</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">x</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimalQuot</span>) <span class="ruby-keyword kw">then</span>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 366</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">calc_pi</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
15
|
<span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
|
16
16
|
<span class="ruby-identifier">iprec</span> = <span class="ruby-value">5</span><span class="ruby-operator">*</span>(<span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 407</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
15
|
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
16
|
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"x=#{x.inspect} must not be greater #{MAX_EXP_ABLE}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator"><=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
|
@@ -5,21 +5,24 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>calc_iprec_for_exp (LongMath)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">
|
15
|
-
<span class="ruby-identifier">
|
16
|
-
<span class="ruby-
|
17
|
-
|
18
|
-
|
19
|
-
<span class="ruby-
|
20
|
-
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">
|
21
|
-
<span class="ruby-
|
22
|
-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 419</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>)
|
15
|
+
<span class="ruby-identifier">iprec_extra</span> = <span class="ruby-value">0</span>
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
|
17
|
+
<span class="ruby-identifier">xf</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>
|
18
|
+
<span class="ruby-identifier">iprec_extra</span> = (<span class="ruby-identifier">xf</span> <span class="ruby-operator">/</span> <span class="ruby-constant">LOG10</span>).<span class="ruby-identifier">abs</span>
|
19
|
+
<span class="ruby-keyword kw">end</span>
|
20
|
+
<span class="ruby-identifier">iprec</span> = ((<span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">10</span>)<span class="ruby-operator">*</span><span class="ruby-value">1.20</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">iprec_extra</span>).<span class="ruby-identifier">round</span>
|
21
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">prec</span>) <span class="ruby-keyword kw">then</span>
|
22
|
+
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span>
|
23
|
+
<span class="ruby-keyword kw">end</span>
|
24
|
+
<span class="ruby-comment cmt"># puts("calc_iprec_for_exp: x=#{x} prec=#{prec} iprec=#{iprec} iprec_extra=#{iprec_extra}\n")</span>
|
25
|
+
<span class="ruby-identifier">iprec</span>
|
23
26
|
<span class="ruby-keyword kw">end</span></pre>
|
24
27
|
</body>
|
25
28
|
</html>
|
@@ -10,9 +10,9 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 442</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">j</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">k</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
|
-
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>)
|
15
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
16
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
17
17
|
<span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
|
18
18
|
<span class="ruby-keyword kw">end</span>
|
@@ -26,19 +26,20 @@
|
|
26
26
|
|
27
27
|
<span class="ruby-comment cmt"># if the result would come out to zero anyway, cut the work</span>
|
28
28
|
<span class="ruby-identifier">xi</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_i</span>
|
29
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">xi</span> <span class="ruby-operator"><</span> <span class="ruby-operator">-</span><span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-operator">||</span> <span class="ruby-operator">-</span>((<span class="ruby-identifier">xi</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">
|
29
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">xi</span> <span class="ruby-operator"><</span> <span class="ruby-operator">-</span><span class="ruby-constant">LongMath</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_FLOATABLE</span>) <span class="ruby-operator">||</span> <span class="ruby-operator">-</span>((<span class="ruby-identifier">xi</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG10</span>) <span class="ruby-operator">></span> <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span>
|
30
30
|
<span class="ruby-keyword kw">return</span> <span class="ruby-constant">LongDecimal</span>(<span class="ruby-value">25</span>, <span class="ruby-identifier">prec</span><span class="ruby-operator">+</span><span class="ruby-value">2</span>).<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
|
31
31
|
<span class="ruby-keyword kw">end</span>
|
32
32
|
|
33
33
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">j</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span>
|
34
|
-
<span class="ruby-identifier">
|
35
|
-
<span class="ruby-identifier">lb</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">10.0</span>)
|
36
|
-
<span class="ruby-identifier">s1</span> = (<span class="ruby-identifier">prec</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">lb</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">l2</span>) <span class="ruby-operator">**</span> (<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">3.0</span>)
|
34
|
+
<span class="ruby-identifier">s1</span> = (<span class="ruby-identifier">prec</span> <span class="ruby-operator">*</span> <span class="ruby-constant">LOG10</span> <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>) <span class="ruby-operator">**</span> (<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">3.0</span>)
|
37
35
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">j</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
38
36
|
<span class="ruby-identifier">j</span> = <span class="ruby-identifier">s1</span>.<span class="ruby-identifier">round</span>
|
39
37
|
<span class="ruby-keyword kw">end</span>
|
40
38
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
41
|
-
<span class="ruby-identifier">k</span> = (<span class="ruby-identifier">s1</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>([<span class="ruby-value">1</span>, <span class="ruby-identifier">prec</span>].<span class="ruby-identifier">max</span>) <span class="ruby-operator">/</span> <span class="ruby-
|
39
|
+
<span class="ruby-identifier">k</span> = (<span class="ruby-identifier">s1</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>([<span class="ruby-value">1</span>, <span class="ruby-identifier">prec</span>].<span class="ruby-identifier">max</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>).<span class="ruby-identifier">round</span>
|
40
|
+
<span class="ruby-keyword kw">end</span>
|
41
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
|
42
|
+
<span class="ruby-identifier">k</span> <span class="ruby-operator">+=</span> (<span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">LOG2</span>).<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">round</span>
|
42
43
|
<span class="ruby-keyword kw">end</span>
|
43
44
|
<span class="ruby-keyword kw">end</span>
|
44
45
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">j</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">then</span>
|
@@ -50,19 +51,11 @@
|
|
50
51
|
<span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">j</span>, <span class="ruby-value str">"j"</span>)
|
51
52
|
<span class="ruby-identifier">check_is_int</span>(<span class="ruby-identifier">k</span>, <span class="ruby-value str">"k"</span>)
|
52
53
|
|
53
|
-
<span class="ruby-identifier">iprec_extra</span> = <span class="ruby-value">0</span>
|
54
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">x</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">then</span>
|
55
|
-
<span class="ruby-identifier">xf</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>
|
56
|
-
<span class="ruby-identifier">k</span> <span class="ruby-operator">+=</span> (<span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">xf</span>) <span class="ruby-operator">/</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">2</span>)).<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">round</span>
|
57
|
-
<span class="ruby-identifier">iprec_extra</span> = (<span class="ruby-identifier">xf</span> <span class="ruby-operator">/</span> <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-value">10</span>)).<span class="ruby-identifier">abs</span>
|
58
|
-
<span class="ruby-keyword kw">end</span>
|
59
54
|
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
60
|
-
<span class="ruby-identifier">iprec</span> =
|
61
|
-
<span class="ruby-keyword kw">end</span>
|
62
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">prec</span>) <span class="ruby-keyword kw">then</span>
|
63
|
-
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">prec</span>
|
55
|
+
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>)
|
64
56
|
<span class="ruby-keyword kw">end</span>
|
65
57
|
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">iprec</span>, <span class="ruby-value str">"iprec"</span>)
|
58
|
+
<span class="ruby-comment cmt"># puts("exp_internal: x=#{x} prec=#{prec} iprec=#{iprec}\n")</span>
|
66
59
|
|
67
60
|
<span class="ruby-identifier">dprec</span> = [ <span class="ruby-identifier">iprec</span>, (<span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator"><<</span> <span class="ruby-value">1</span> ].<span class="ruby-identifier">min</span>
|
68
61
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 532</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
15
|
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
16
|
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 543</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">log10</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
15
|
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
16
|
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
@@ -25,6 +25,7 @@
|
|
25
25
|
<span class="ruby-identifier">lnxx</span> = <span class="ruby-identifier">log_internal</span>(<span class="ruby-identifier">xx</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
|
26
26
|
<span class="ruby-identifier">ln10</span> = <span class="ruby-identifier">log_internal</span>(<span class="ruby-value">10</span>.<span class="ruby-identifier">to_ld</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
|
27
27
|
<span class="ruby-identifier">y</span> = <span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">lnxx</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">ln10</span>).<span class="ruby-identifier">to_ld</span>
|
28
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
|
28
29
|
<span class="ruby-keyword kw">end</span></pre>
|
29
30
|
</body>
|
30
31
|
</html>
|
@@ -100,7 +100,7 @@
|
|
100
100
|
<span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
101
101
|
<span class="ruby-identifier">sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">d</span>
|
102
102
|
|
103
|
-
<span class="ruby-comment cmt"># puts("s=#{sum} d=#{d} x=#{x} i=#{i}\n")</span>
|
103
|
+
<span class="ruby-comment cmt"># puts("log_internal: s=#{sum} d=#{d} x=#{x} i=#{i} p=#{p} iprec=#{iprec} dprec=#{dprec}\n") if (i & 0x0f == 0x0f)</span>
|
104
104
|
<span class="ruby-keyword kw">end</span>
|
105
105
|
|
106
106
|
<span class="ruby-comment cmt"># puts("y=#{y} s=#{s} f=#{factor} sum=#{sum}\n")</span>
|
@@ -110,6 +110,56 @@
|
|
110
110
|
|
111
111
|
<span class="ruby-keyword kw">end</span>
|
112
112
|
|
113
|
+
<span class="ruby-comment cmt">#</span>
|
114
|
+
<span class="ruby-comment cmt"># calc the power of x with exponent y to the given precision as</span>
|
115
|
+
<span class="ruby-comment cmt"># LongDecimal. Only supports values of y such that exp(y) still</span>
|
116
|
+
<span class="ruby-comment cmt"># fits into a float (y <= 709)</span>
|
117
|
+
<span class="ruby-comment cmt">#</span>
|
118
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
119
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
120
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">y</span>, <span class="ruby-value str">"y"</span>)
|
121
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"y=#{y.inspect} must not be greater #{MAX_EXP_ABLE}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">y</span> <span class="ruby-operator"><=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
|
122
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"x=#{x.inspect} must not be greater #{MAX_FLOATABLE}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator"><=</span> <span class="ruby-constant">MAX_FLOATABLE</span>
|
123
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"x=#{x.inspect} must not positive"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
124
|
+
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
125
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">"mode"</span>)
|
126
|
+
<span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
|
127
|
+
<span class="ruby-keyword kw">end</span>
|
128
|
+
|
129
|
+
<span class="ruby-comment cmt">#</span>
|
130
|
+
<span class="ruby-comment cmt"># internal functionality of exp. exposes some more parameters, that</span>
|
131
|
+
<span class="ruby-comment cmt"># should usually be set to defaut values, in order to allow better testing.</span>
|
132
|
+
<span class="ruby-comment cmt"># do not actually call this method unless you are testing exp.</span>
|
133
|
+
<span class="ruby-comment cmt"># create a bug report, if the default settings for the parameters do</span>
|
134
|
+
<span class="ruby-comment cmt"># not work correctly</span>
|
135
|
+
<span class="ruby-comment cmt">#</span>
|
136
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
137
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
138
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
139
|
+
<span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
|
140
|
+
<span class="ruby-keyword kw">end</span>
|
141
|
+
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
142
|
+
|
143
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">final_mode</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
|
144
|
+
<span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
|
145
|
+
<span class="ruby-keyword kw">end</span>
|
146
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">final_mode</span>, <span class="ruby-value str">"final_mode"</span>)
|
147
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">"mode"</span>)
|
148
|
+
|
149
|
+
<span class="ruby-identifier">logx_y_f</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">*</span> (<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_f</span>)
|
150
|
+
|
151
|
+
<span class="ruby-comment cmt"># iprec = (prec * 1.2 + 20 + (y.abs.to_f) * 1.5 * x.int_digits2).round</span>
|
152
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
153
|
+
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">logx_y_f</span>, <span class="ruby-identifier">prec</span>) <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
|
154
|
+
<span class="ruby-keyword kw">end</span>
|
155
|
+
<span class="ruby-comment cmt"># puts("power_internal: x=#{x} y=#{y} logx_y=#{logx_y_f} iprec=#{iprec} prec=#{prec}\n")</span>
|
156
|
+
<span class="ruby-identifier">logx</span> = <span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
|
157
|
+
<span class="ruby-identifier">logx_y</span> = <span class="ruby-identifier">logx</span><span class="ruby-operator">*</span><span class="ruby-identifier">y</span>
|
158
|
+
<span class="ruby-identifier">xy</span> = <span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">logx_y</span>, <span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">mode</span>)
|
159
|
+
<span class="ruby-comment cmt"># puts("power_internal: x=#{x} logx=#{logx} y=#{y} logx_y=#{logx_y} xy=#{xy} iprec=#{iprec} prec=#{prec}\n")</span>
|
160
|
+
<span class="ruby-identifier">xy</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
|
161
|
+
<span class="ruby-keyword kw">end</span>
|
162
|
+
|
113
163
|
<span class="ruby-keyword kw">end</span></pre>
|
114
164
|
</body>
|
115
165
|
</html>
|
@@ -5,18 +5,21 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>power (LongMath)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">
|
15
|
-
|
16
|
-
<span class="ruby-identifier">
|
17
|
-
|
18
|
-
<span class="ruby-constant">
|
19
|
-
|
20
|
-
<span class="ruby-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 691</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">y</span>, <span class="ruby-value str">"y"</span>)
|
17
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"y=#{y.inspect} must not be greater #{MAX_EXP_ABLE}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">y</span> <span class="ruby-operator"><=</span> <span class="ruby-constant">MAX_EXP_ABLE</span>
|
18
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"x=#{x.inspect} must not be greater #{MAX_FLOATABLE}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator"><=</span> <span class="ruby-constant">MAX_FLOATABLE</span>
|
19
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"x=#{x.inspect} must not positive"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
20
|
+
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
21
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">"mode"</span>)
|
22
|
+
<span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span>, <span class="ruby-identifier">mode</span>)
|
23
|
+
<span class="ruby-keyword kw">end</span></pre>
|
21
24
|
</body>
|
22
25
|
</html>
|
@@ -5,14 +5,37 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>power_internal (LongMath)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">
|
15
|
-
|
16
|
-
<span class="ruby-keyword kw">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 709</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongMath</span>.<span class="ruby-identifier">power_internal</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">prec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>, <span class="ruby-identifier">iprec</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>)
|
15
|
+
<span class="ruby-identifier">check_is_ld</span>(<span class="ruby-identifier">x</span>, <span class="ruby-value str">"x"</span>)
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">prec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
17
|
+
<span class="ruby-identifier">prec</span> = <span class="ruby-identifier">x</span>.<span class="ruby-identifier">scale</span>
|
18
|
+
<span class="ruby-keyword kw">end</span>
|
19
|
+
<span class="ruby-identifier">check_is_prec</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-value str">"prec"</span>)
|
20
|
+
|
21
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">final_mode</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
|
22
|
+
<span class="ruby-identifier">final_mode</span> = <span class="ruby-constant">LongDecimal</span><span class="ruby-operator">::</span><span class="ruby-constant">ROUND_HALF_DOWN</span>
|
23
|
+
<span class="ruby-keyword kw">end</span>
|
24
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">final_mode</span>, <span class="ruby-value str">"final_mode"</span>)
|
25
|
+
<span class="ruby-identifier">check_is_mode</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-value str">"mode"</span>)
|
26
|
+
|
27
|
+
<span class="ruby-identifier">logx_y_f</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">*</span> (<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_f</span>)
|
28
|
+
|
29
|
+
<span class="ruby-comment cmt"># iprec = (prec * 1.2 + 20 + (y.abs.to_f) * 1.5 * x.int_digits2).round</span>
|
30
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">iprec</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>) <span class="ruby-keyword kw">then</span>
|
31
|
+
<span class="ruby-identifier">iprec</span> = <span class="ruby-identifier">calc_iprec_for_exp</span>(<span class="ruby-identifier">logx_y_f</span>, <span class="ruby-identifier">prec</span>) <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
|
32
|
+
<span class="ruby-keyword kw">end</span>
|
33
|
+
<span class="ruby-comment cmt"># puts("power_internal: x=#{x} y=#{y} logx_y=#{logx_y_f} iprec=#{iprec} prec=#{prec}\n")</span>
|
34
|
+
<span class="ruby-identifier">logx</span> = <span class="ruby-identifier">log</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">iprec</span>, <span class="ruby-identifier">mode</span>)
|
35
|
+
<span class="ruby-identifier">logx_y</span> = <span class="ruby-identifier">logx</span><span class="ruby-operator">*</span><span class="ruby-identifier">y</span>
|
36
|
+
<span class="ruby-identifier">xy</span> = <span class="ruby-identifier">exp_internal</span>(<span class="ruby-identifier">logx_y</span>, <span class="ruby-identifier">prec</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">mode</span>)
|
37
|
+
<span class="ruby-comment cmt"># puts("power_internal: x=#{x} logx=#{logx} y=#{y} logx_y=#{logx_y} xy=#{xy} iprec=#{iprec} prec=#{prec}\n")</span>
|
38
|
+
<span class="ruby-identifier">xy</span>.<span class="ruby-identifier">round_to_scale</span>(<span class="ruby-identifier">prec</span>, <span class="ruby-identifier">final_mode</span>)
|
39
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
40
|
</body>
|
18
41
|
</html>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>LongDecimal (LongMath)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 2217</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimal</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span> = <span class="ruby-value">0</span>)
|
15
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&&</span> (<span class="ruby-identifier">a</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">LongDecimal</span>) <span class="ruby-keyword kw">then</span>
|
16
|
+
<span class="ruby-identifier">a</span>
|
17
|
+
<span class="ruby-keyword kw">else</span>
|
18
|
+
<span class="ruby-constant">LongDecimal</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>)
|
19
|
+
<span class="ruby-keyword kw">end</span>
|
20
|
+
<span class="ruby-keyword kw">end</span></pre>
|
21
|
+
</body>
|
22
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>LongDecimalQuot (LongMath)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/longdecimal.rb, line 2230</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">LongDecimalQuot</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
|
15
|
+
<span class="ruby-constant">LongDecimalQuot</span>.<span class="ruby-identifier">new!</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -106,80 +106,80 @@ position of the decimal point.
|
|
106
106
|
<h3 class="section-bar">Methods</h3>
|
107
107
|
|
108
108
|
<div class="name-list">
|
109
|
-
<a href="#
|
110
|
-
<a href="#
|
111
|
-
<a href="#
|
112
|
-
<a href="#
|
113
|
-
<a href="#
|
114
|
-
<a href="#
|
115
|
-
<a href="#
|
116
|
-
<a href="#
|
117
|
-
<a href="#
|
118
|
-
<a href="#
|
119
|
-
<a href="#
|
120
|
-
<a href="#
|
121
|
-
<a href="#
|
122
|
-
<a href="#
|
123
|
-
<a href="#
|
124
|
-
<a href="#
|
125
|
-
<a href="#
|
126
|
-
<a href="#
|
127
|
-
<a href="#
|
128
|
-
<a href="#
|
129
|
-
<a href="#
|
130
|
-
<a href="#
|
131
|
-
<a href="#
|
132
|
-
<a href="#
|
133
|
-
<a href="#
|
134
|
-
<a href="#
|
135
|
-
<a href="#
|
136
|
-
<a href="#
|
137
|
-
<a href="#
|
138
|
-
<a href="#
|
139
|
-
<a href="#
|
140
|
-
<a href="#
|
141
|
-
<a href="#
|
142
|
-
<a href="#
|
143
|
-
<a href="#
|
144
|
-
<a href="#
|
145
|
-
<a href="#
|
146
|
-
<a href="#
|
147
|
-
<a href="#
|
148
|
-
<a href="#
|
149
|
-
<a href="#
|
150
|
-
<a href="#
|
151
|
-
<a href="#
|
152
|
-
<a href="#
|
153
|
-
<a href="#
|
154
|
-
<a href="#
|
155
|
-
<a href="#
|
156
|
-
<a href="#
|
157
|
-
<a href="#
|
158
|
-
<a href="#
|
159
|
-
<a href="#
|
160
|
-
<a href="#
|
161
|
-
<a href="#
|
162
|
-
<a href="#
|
163
|
-
<a href="#
|
164
|
-
<a href="#
|
165
|
-
<a href="#
|
166
|
-
<a href="#
|
167
|
-
<a href="#
|
168
|
-
<a href="#
|
169
|
-
<a href="#
|
170
|
-
<a href="#
|
171
|
-
<a href="#
|
172
|
-
<a href="#
|
173
|
-
<a href="#
|
174
|
-
<a href="#
|
175
|
-
<a href="#
|
176
|
-
<a href="#
|
177
|
-
<a href="#
|
178
|
-
<a href="#
|
179
|
-
<a href="#
|
180
|
-
<a href="#
|
181
|
-
<a href="#
|
182
|
-
<a href="#
|
109
|
+
<a href="#M000102">%</a>
|
110
|
+
<a href="#M000103">&</a>
|
111
|
+
<a href="#M000095">*</a>
|
112
|
+
<a href="#M000100">**</a>
|
113
|
+
<a href="#M000093">+</a>
|
114
|
+
<a href="#M000091">+@</a>
|
115
|
+
<a href="#M000094">-</a>
|
116
|
+
<a href="#M000092">-@</a>
|
117
|
+
<a href="#M000099">/</a>
|
118
|
+
<a href="#M000107"><<</a>
|
119
|
+
<a href="#M000121"><=></a>
|
120
|
+
<a href="#M000129">==</a>
|
121
|
+
<a href="#M000108">>></a>
|
122
|
+
<a href="#M000109">[]</a>
|
123
|
+
<a href="#M000105">^</a>
|
124
|
+
<a href="#M000119">abs</a>
|
125
|
+
<a href="#M000120">abs2</a>
|
126
|
+
<a href="#M000082">anti_equalize_scale</a>
|
127
|
+
<a href="#M000124">coerce</a>
|
128
|
+
<a href="#M000087">dec</a>
|
129
|
+
<a href="#M000089">dec!</a>
|
130
|
+
<a href="#M000078">denominator</a>
|
131
|
+
<a href="#M000096">divide</a>
|
132
|
+
<a href="#M000097">divide_s</a>
|
133
|
+
<a href="#M000101">divmod</a>
|
134
|
+
<a href="#M000081">equalize_scale</a>
|
135
|
+
<a href="#M000132">hash</a>
|
136
|
+
<a href="#M000086">inc</a>
|
137
|
+
<a href="#M000088">inc!</a>
|
138
|
+
<a href="#M000133">inspect</a>
|
139
|
+
<a href="#M000080">int_digits10</a>
|
140
|
+
<a href="#M000079">int_digits2</a>
|
141
|
+
<a href="#M000118">inverse</a>
|
142
|
+
<a href="#M000125">is_int?</a>
|
143
|
+
<a href="#M000065">minus_one!</a>
|
144
|
+
<a href="#M000111">move_point_left</a>
|
145
|
+
<a href="#M000113">move_point_left_int</a>
|
146
|
+
<a href="#M000112">move_point_right</a>
|
147
|
+
<a href="#M000114">move_point_right_int</a>
|
148
|
+
<a href="#M000067">new</a>
|
149
|
+
<a href="#M000060">new!</a>
|
150
|
+
<a href="#M000084">next</a>
|
151
|
+
<a href="#M000062">one!</a>
|
152
|
+
<a href="#M000131">one?</a>
|
153
|
+
<a href="#M000066">power_of_ten!</a>
|
154
|
+
<a href="#M000085">pred</a>
|
155
|
+
<a href="#M000098">rdiv</a>
|
156
|
+
<a href="#M000117">reciprocal</a>
|
157
|
+
<a href="#M000069">round_to_scale</a>
|
158
|
+
<a href="#M000068">scale=</a>
|
159
|
+
<a href="#M000123">scale_equal</a>
|
160
|
+
<a href="#M000122">scale_ufo</a>
|
161
|
+
<a href="#M000126">sgn</a>
|
162
|
+
<a href="#M000128">sign</a>
|
163
|
+
<a href="#M000127">signum</a>
|
164
|
+
<a href="#M000110">size</a>
|
165
|
+
<a href="#M000116">sqrt</a>
|
166
|
+
<a href="#M000115">square</a>
|
167
|
+
<a href="#M000083">succ</a>
|
168
|
+
<a href="#M000064">ten!</a>
|
169
|
+
<a href="#M000077">to_bd</a>
|
170
|
+
<a href="#M000074">to_f</a>
|
171
|
+
<a href="#M000075">to_i</a>
|
172
|
+
<a href="#M000076">to_ld</a>
|
173
|
+
<a href="#M000073">to_r</a>
|
174
|
+
<a href="#M000070">to_s</a>
|
175
|
+
<a href="#M000071">to_s_10</a>
|
176
|
+
<a href="#M000072">to_s_internal</a>
|
177
|
+
<a href="#M000063">two!</a>
|
178
|
+
<a href="#M000090">unit</a>
|
179
|
+
<a href="#M000061">zero!</a>
|
180
|
+
<a href="#M000130">zero?</a>
|
181
|
+
<a href="#M000104">|</a>
|
182
|
+
<a href="#M000106">~</a>
|
183
183
|
</div>
|
184
184
|
</div>
|
185
185
|
|
@@ -249,12 +249,12 @@ does not occur in case of Rational
|
|
249
249
|
<div id="methods">
|
250
250
|
<h3 class="section-bar">Public Class methods</h3>
|
251
251
|
|
252
|
-
<div id="method-
|
253
|
-
<a name="
|
252
|
+
<div id="method-M000065" class="method-detail">
|
253
|
+
<a name="M000065"></a>
|
254
254
|
|
255
255
|
<div class="method-heading">
|
256
|
-
<a href="LongDecimal.src/
|
257
|
-
onclick="popupCode('LongDecimal.src/
|
256
|
+
<a href="LongDecimal.src/M000065.html" target="Code" class="method-signature"
|
257
|
+
onclick="popupCode('LongDecimal.src/M000065.html');return false;">
|
258
258
|
<span class="method-name">minus_one!</span><span class="method-args">(s = 0)</span>
|
259
259
|
</a>
|
260
260
|
</div>
|
@@ -267,12 +267,12 @@ with the given number of digits after the decimal point (scale=s)
|
|
267
267
|
</div>
|
268
268
|
</div>
|
269
269
|
|
270
|
-
<div id="method-
|
271
|
-
<a name="
|
270
|
+
<div id="method-M000067" class="method-detail">
|
271
|
+
<a name="M000067"></a>
|
272
272
|
|
273
273
|
<div class="method-heading">
|
274
|
-
<a href="LongDecimal.src/
|
275
|
-
onclick="popupCode('LongDecimal.src/
|
274
|
+
<a href="LongDecimal.src/M000067.html" target="Code" class="method-signature"
|
275
|
+
onclick="popupCode('LongDecimal.src/M000067.html');return false;">
|
276
276
|
<span class="method-name">new</span><span class="method-args">(x, s)</span>
|
277
277
|
</a>
|
278
278
|
</div>
|
@@ -280,19 +280,19 @@ with the given number of digits after the decimal point (scale=s)
|
|
280
280
|
<div class="method-description">
|
281
281
|
<p>
|
282
282
|
initialization parameters: <a
|
283
|
-
href="LongDecimal.html#
|
283
|
+
href="LongDecimal.html#M000067">LongDecimal.new</a>(x, s) where x is a
|
284
284
|
string or a number and s is the scale the resulting <a
|
285
285
|
href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
|
286
286
|
</p>
|
287
287
|
</div>
|
288
288
|
</div>
|
289
289
|
|
290
|
-
<div id="method-
|
291
|
-
<a name="
|
290
|
+
<div id="method-M000060" class="method-detail">
|
291
|
+
<a name="M000060"></a>
|
292
292
|
|
293
293
|
<div class="method-heading">
|
294
|
-
<a href="LongDecimal.src/
|
295
|
-
onclick="popupCode('LongDecimal.src/
|
294
|
+
<a href="LongDecimal.src/M000060.html" target="Code" class="method-signature"
|
295
|
+
onclick="popupCode('LongDecimal.src/M000060.html');return false;">
|
296
296
|
<span class="method-name">new!</span><span class="method-args">(x, s = 0)</span>
|
297
297
|
</a>
|
298
298
|
</div>
|
@@ -302,12 +302,12 @@ href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
|
|
302
302
|
initialization parameters:
|
303
303
|
</p>
|
304
304
|
<ol>
|
305
|
-
<li><a href="LongDecimal.html#
|
305
|
+
<li><a href="LongDecimal.html#M000067">LongDecimal.new</a>!(x) where x is a
|
306
306
|
string or a number the resulting <a href="LongDecimal.html">LongDecimal</a>
|
307
307
|
holds the number x, possibly rounded
|
308
308
|
|
309
309
|
</li>
|
310
|
-
<li><a href="LongDecimal.html#
|
310
|
+
<li><a href="LongDecimal.html#M000067">LongDecimal.new</a>!(x, s) where x is a
|
311
311
|
string or a number and s is the scale the resulting <a
|
312
312
|
href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
|
313
313
|
|
@@ -316,12 +316,12 @@ href="LongDecimal.html">LongDecimal</a> holds the number x / 10**s
|
|
316
316
|
</div>
|
317
317
|
</div>
|
318
318
|
|
319
|
-
<div id="method-
|
320
|
-
<a name="
|
319
|
+
<div id="method-M000062" class="method-detail">
|
320
|
+
<a name="M000062"></a>
|
321
321
|
|
322
322
|
<div class="method-heading">
|
323
|
-
<a href="LongDecimal.src/
|
324
|
-
onclick="popupCode('LongDecimal.src/
|
323
|
+
<a href="LongDecimal.src/M000062.html" target="Code" class="method-signature"
|
324
|
+
onclick="popupCode('LongDecimal.src/M000062.html');return false;">
|
325
325
|
<span class="method-name">one!</span><span class="method-args">(s = 0)</span>
|
326
326
|
</a>
|
327
327
|
</div>
|
@@ -334,12 +334,12 @@ the given number of digits after the decimal point (scale=s)
|
|
334
334
|
</div>
|
335
335
|
</div>
|
336
336
|
|
337
|
-
<div id="method-
|
338
|
-
<a name="
|
337
|
+
<div id="method-M000066" class="method-detail">
|
338
|
+
<a name="M000066"></a>
|
339
339
|
|
340
340
|
<div class="method-heading">
|
341
|
-
<a href="LongDecimal.src/
|
342
|
-
onclick="popupCode('LongDecimal.src/
|
341
|
+
<a href="LongDecimal.src/M000066.html" target="Code" class="method-signature"
|
342
|
+
onclick="popupCode('LongDecimal.src/M000066.html');return false;">
|
343
343
|
<span class="method-name">power_of_ten!</span><span class="method-args">(e, s = 0)</span>
|
344
344
|
</a>
|
345
345
|
</div>
|
@@ -353,12 +353,12 @@ the decimal point (scale=s)
|
|
353
353
|
</div>
|
354
354
|
</div>
|
355
355
|
|
356
|
-
<div id="method-
|
357
|
-
<a name="
|
356
|
+
<div id="method-M000064" class="method-detail">
|
357
|
+
<a name="M000064"></a>
|
358
358
|
|
359
359
|
<div class="method-heading">
|
360
|
-
<a href="LongDecimal.src/
|
361
|
-
onclick="popupCode('LongDecimal.src/
|
360
|
+
<a href="LongDecimal.src/M000064.html" target="Code" class="method-signature"
|
361
|
+
onclick="popupCode('LongDecimal.src/M000064.html');return false;">
|
362
362
|
<span class="method-name">ten!</span><span class="method-args">(s = 0)</span>
|
363
363
|
</a>
|
364
364
|
</div>
|
@@ -371,12 +371,12 @@ the given number of digits after the decimal point (scale=s)
|
|
371
371
|
</div>
|
372
372
|
</div>
|
373
373
|
|
374
|
-
<div id="method-
|
375
|
-
<a name="
|
374
|
+
<div id="method-M000063" class="method-detail">
|
375
|
+
<a name="M000063"></a>
|
376
376
|
|
377
377
|
<div class="method-heading">
|
378
|
-
<a href="LongDecimal.src/
|
379
|
-
onclick="popupCode('LongDecimal.src/
|
378
|
+
<a href="LongDecimal.src/M000063.html" target="Code" class="method-signature"
|
379
|
+
onclick="popupCode('LongDecimal.src/M000063.html');return false;">
|
380
380
|
<span class="method-name">two!</span><span class="method-args">(s = 0)</span>
|
381
381
|
</a>
|
382
382
|
</div>
|
@@ -389,12 +389,12 @@ the given number of digits after the decimal point (scale=s)
|
|
389
389
|
</div>
|
390
390
|
</div>
|
391
391
|
|
392
|
-
<div id="method-
|
393
|
-
<a name="
|
392
|
+
<div id="method-M000061" class="method-detail">
|
393
|
+
<a name="M000061"></a>
|
394
394
|
|
395
395
|
<div class="method-heading">
|
396
|
-
<a href="LongDecimal.src/
|
397
|
-
onclick="popupCode('LongDecimal.src/
|
396
|
+
<a href="LongDecimal.src/M000061.html" target="Code" class="method-signature"
|
397
|
+
onclick="popupCode('LongDecimal.src/M000061.html');return false;">
|
398
398
|
<span class="method-name">zero!</span><span class="method-args">(s = 0)</span>
|
399
399
|
</a>
|
400
400
|
</div>
|
@@ -409,12 +409,12 @@ the given number of digits after the decimal point (scale=s)
|
|
409
409
|
|
410
410
|
<h3 class="section-bar">Public Instance methods</h3>
|
411
411
|
|
412
|
-
<div id="method-
|
413
|
-
<a name="
|
412
|
+
<div id="method-M000102" class="method-detail">
|
413
|
+
<a name="M000102"></a>
|
414
414
|
|
415
415
|
<div class="method-heading">
|
416
|
-
<a href="LongDecimal.src/
|
417
|
-
onclick="popupCode('LongDecimal.src/
|
416
|
+
<a href="LongDecimal.src/M000102.html" target="Code" class="method-signature"
|
417
|
+
onclick="popupCode('LongDecimal.src/M000102.html');return false;">
|
418
418
|
<span class="method-name">%</span><span class="method-args">(other)</span>
|
419
419
|
</a>
|
420
420
|
</div>
|
@@ -426,12 +426,12 @@ remainder of integer division by other
|
|
426
426
|
</div>
|
427
427
|
</div>
|
428
428
|
|
429
|
-
<div id="method-
|
430
|
-
<a name="
|
429
|
+
<div id="method-M000103" class="method-detail">
|
430
|
+
<a name="M000103"></a>
|
431
431
|
|
432
432
|
<div class="method-heading">
|
433
|
-
<a href="LongDecimal.src/
|
434
|
-
onclick="popupCode('LongDecimal.src/
|
433
|
+
<a href="LongDecimal.src/M000103.html" target="Code" class="method-signature"
|
434
|
+
onclick="popupCode('LongDecimal.src/M000103.html');return false;">
|
435
435
|
<span class="method-name">&</span><span class="method-args">(other)</span>
|
436
436
|
</a>
|
437
437
|
</div>
|
@@ -443,12 +443,12 @@ performs bitwise AND between self and other
|
|
443
443
|
</div>
|
444
444
|
</div>
|
445
445
|
|
446
|
-
<div id="method-
|
447
|
-
<a name="
|
446
|
+
<div id="method-M000095" class="method-detail">
|
447
|
+
<a name="M000095"></a>
|
448
448
|
|
449
449
|
<div class="method-heading">
|
450
|
-
<a href="LongDecimal.src/
|
451
|
-
onclick="popupCode('LongDecimal.src/
|
450
|
+
<a href="LongDecimal.src/M000095.html" target="Code" class="method-signature"
|
451
|
+
onclick="popupCode('LongDecimal.src/M000095.html');return false;">
|
452
452
|
<span class="method-name">*</span><span class="method-args">(other)</span>
|
453
453
|
</a>
|
454
454
|
</div>
|
@@ -465,12 +465,12 @@ multiplication of Complex, Float or LongRationalQuot is used
|
|
465
465
|
</div>
|
466
466
|
</div>
|
467
467
|
|
468
|
-
<div id="method-
|
469
|
-
<a name="
|
468
|
+
<div id="method-M000100" class="method-detail">
|
469
|
+
<a name="M000100"></a>
|
470
470
|
|
471
471
|
<div class="method-heading">
|
472
|
-
<a href="LongDecimal.src/
|
473
|
-
onclick="popupCode('LongDecimal.src/
|
472
|
+
<a href="LongDecimal.src/M000100.html" target="Code" class="method-signature"
|
473
|
+
onclick="popupCode('LongDecimal.src/M000100.html');return false;">
|
474
474
|
<span class="method-name">**</span><span class="method-args">(other)</span>
|
475
475
|
</a>
|
476
476
|
</div>
|
@@ -490,12 +490,12 @@ Float as power.
|
|
490
490
|
</div>
|
491
491
|
</div>
|
492
492
|
|
493
|
-
<div id="method-
|
494
|
-
<a name="
|
493
|
+
<div id="method-M000093" class="method-detail">
|
494
|
+
<a name="M000093"></a>
|
495
495
|
|
496
496
|
<div class="method-heading">
|
497
|
-
<a href="LongDecimal.src/
|
498
|
-
onclick="popupCode('LongDecimal.src/
|
497
|
+
<a href="LongDecimal.src/M000093.html" target="Code" class="method-signature"
|
498
|
+
onclick="popupCode('LongDecimal.src/M000093.html');return false;">
|
499
499
|
<span class="method-name">+</span><span class="method-args">(other)</span>
|
500
500
|
</a>
|
501
501
|
</div>
|
@@ -512,12 +512,12 @@ call addition of Complex, Float or LongRationalQuot
|
|
512
512
|
</div>
|
513
513
|
</div>
|
514
514
|
|
515
|
-
<div id="method-
|
516
|
-
<a name="
|
515
|
+
<div id="method-M000091" class="method-detail">
|
516
|
+
<a name="M000091"></a>
|
517
517
|
|
518
518
|
<div class="method-heading">
|
519
|
-
<a href="LongDecimal.src/
|
520
|
-
onclick="popupCode('LongDecimal.src/
|
519
|
+
<a href="LongDecimal.src/M000091.html" target="Code" class="method-signature"
|
520
|
+
onclick="popupCode('LongDecimal.src/M000091.html');return false;">
|
521
521
|
<span class="method-name">+@</span><span class="method-args">()</span>
|
522
522
|
</a>
|
523
523
|
</div>
|
@@ -529,12 +529,12 @@ apply unary + (returns self)
|
|
529
529
|
</div>
|
530
530
|
</div>
|
531
531
|
|
532
|
-
<div id="method-
|
533
|
-
<a name="
|
532
|
+
<div id="method-M000094" class="method-detail">
|
533
|
+
<a name="M000094"></a>
|
534
534
|
|
535
535
|
<div class="method-heading">
|
536
|
-
<a href="LongDecimal.src/
|
537
|
-
onclick="popupCode('LongDecimal.src/
|
536
|
+
<a href="LongDecimal.src/M000094.html" target="Code" class="method-signature"
|
537
|
+
onclick="popupCode('LongDecimal.src/M000094.html');return false;">
|
538
538
|
<span class="method-name">-</span><span class="method-args">(other)</span>
|
539
539
|
</a>
|
540
540
|
</div>
|
@@ -551,12 +551,12 @@ subtraction of Complex, Float or LongRationalQuot is used
|
|
551
551
|
</div>
|
552
552
|
</div>
|
553
553
|
|
554
|
-
<div id="method-
|
555
|
-
<a name="
|
554
|
+
<div id="method-M000092" class="method-detail">
|
555
|
+
<a name="M000092"></a>
|
556
556
|
|
557
557
|
<div class="method-heading">
|
558
|
-
<a href="LongDecimal.src/
|
559
|
-
onclick="popupCode('LongDecimal.src/
|
558
|
+
<a href="LongDecimal.src/M000092.html" target="Code" class="method-signature"
|
559
|
+
onclick="popupCode('LongDecimal.src/M000092.html');return false;">
|
560
560
|
<span class="method-name">-@</span><span class="method-args">()</span>
|
561
561
|
</a>
|
562
562
|
</div>
|
@@ -568,12 +568,12 @@ apply unary - (returns negated self)
|
|
568
568
|
</div>
|
569
569
|
</div>
|
570
570
|
|
571
|
-
<div id="method-
|
572
|
-
<a name="
|
571
|
+
<div id="method-M000099" class="method-detail">
|
572
|
+
<a name="M000099"></a>
|
573
573
|
|
574
574
|
<div class="method-heading">
|
575
|
-
<a href="LongDecimal.src/
|
576
|
-
onclick="popupCode('LongDecimal.src/
|
575
|
+
<a href="LongDecimal.src/M000099.html" target="Code" class="method-signature"
|
576
|
+
onclick="popupCode('LongDecimal.src/M000099.html');return false;">
|
577
577
|
<span class="method-name">/</span><span class="method-args">(other)</span>
|
578
578
|
</a>
|
579
579
|
</div>
|
@@ -593,12 +593,12 @@ having performed a division.
|
|
593
593
|
</div>
|
594
594
|
</div>
|
595
595
|
|
596
|
-
<div id="method-
|
597
|
-
<a name="
|
596
|
+
<div id="method-M000107" class="method-detail">
|
597
|
+
<a name="M000107"></a>
|
598
598
|
|
599
599
|
<div class="method-heading">
|
600
|
-
<a href="LongDecimal.src/
|
601
|
-
onclick="popupCode('LongDecimal.src/
|
600
|
+
<a href="LongDecimal.src/M000107.html" target="Code" class="method-signature"
|
601
|
+
onclick="popupCode('LongDecimal.src/M000107.html');return false;">
|
602
602
|
<span class="method-name"><<</span><span class="method-args">(other)</span>
|
603
603
|
</a>
|
604
604
|
</div>
|
@@ -610,12 +610,12 @@ performs bitwise left shift of self by other
|
|
610
610
|
</div>
|
611
611
|
</div>
|
612
612
|
|
613
|
-
<div id="method-
|
614
|
-
<a name="
|
613
|
+
<div id="method-M000121" class="method-detail">
|
614
|
+
<a name="M000121"></a>
|
615
615
|
|
616
616
|
<div class="method-heading">
|
617
|
-
<a href="LongDecimal.src/
|
618
|
-
onclick="popupCode('LongDecimal.src/
|
617
|
+
<a href="LongDecimal.src/M000121.html" target="Code" class="method-signature"
|
618
|
+
onclick="popupCode('LongDecimal.src/M000121.html');return false;">
|
619
619
|
<span class="method-name"><=></span><span class="method-args">(other)</span>
|
620
620
|
</a>
|
621
621
|
</div>
|
@@ -637,12 +637,12 @@ of potentially zero digits after the decimal point.
|
|
637
637
|
</div>
|
638
638
|
</div>
|
639
639
|
|
640
|
-
<div id="method-
|
641
|
-
<a name="
|
640
|
+
<div id="method-M000129" class="method-detail">
|
641
|
+
<a name="M000129"></a>
|
642
642
|
|
643
643
|
<div class="method-heading">
|
644
|
-
<a href="LongDecimal.src/
|
645
|
-
onclick="popupCode('LongDecimal.src/
|
644
|
+
<a href="LongDecimal.src/M000129.html" target="Code" class="method-signature"
|
645
|
+
onclick="popupCode('LongDecimal.src/M000129.html');return false;">
|
646
646
|
<span class="method-name">==</span><span class="method-args">(other)</span>
|
647
647
|
</a>
|
648
648
|
</div>
|
@@ -655,12 +655,12 @@ expressed by self and other and the equality of the number of digits.
|
|
655
655
|
</div>
|
656
656
|
</div>
|
657
657
|
|
658
|
-
<div id="method-
|
659
|
-
<a name="
|
658
|
+
<div id="method-M000108" class="method-detail">
|
659
|
+
<a name="M000108"></a>
|
660
660
|
|
661
661
|
<div class="method-heading">
|
662
|
-
<a href="LongDecimal.src/
|
663
|
-
onclick="popupCode('LongDecimal.src/
|
662
|
+
<a href="LongDecimal.src/M000108.html" target="Code" class="method-signature"
|
663
|
+
onclick="popupCode('LongDecimal.src/M000108.html');return false;">
|
664
664
|
<span class="method-name">>></span><span class="method-args">(other)</span>
|
665
665
|
</a>
|
666
666
|
</div>
|
@@ -672,12 +672,12 @@ performs bitwise right shift of self by other
|
|
672
672
|
</div>
|
673
673
|
</div>
|
674
674
|
|
675
|
-
<div id="method-
|
676
|
-
<a name="
|
675
|
+
<div id="method-M000109" class="method-detail">
|
676
|
+
<a name="M000109"></a>
|
677
677
|
|
678
678
|
<div class="method-heading">
|
679
|
-
<a href="LongDecimal.src/
|
680
|
-
onclick="popupCode('LongDecimal.src/
|
679
|
+
<a href="LongDecimal.src/M000109.html" target="Code" class="method-signature"
|
680
|
+
onclick="popupCode('LongDecimal.src/M000109.html');return false;">
|
681
681
|
<span class="method-name">[]</span><span class="method-args">(other)</span>
|
682
682
|
</a>
|
683
683
|
</div>
|
@@ -689,12 +689,12 @@ gets binary digit of self
|
|
689
689
|
</div>
|
690
690
|
</div>
|
691
691
|
|
692
|
-
<div id="method-
|
693
|
-
<a name="
|
692
|
+
<div id="method-M000105" class="method-detail">
|
693
|
+
<a name="M000105"></a>
|
694
694
|
|
695
695
|
<div class="method-heading">
|
696
|
-
<a href="LongDecimal.src/
|
697
|
-
onclick="popupCode('LongDecimal.src/
|
696
|
+
<a href="LongDecimal.src/M000105.html" target="Code" class="method-signature"
|
697
|
+
onclick="popupCode('LongDecimal.src/M000105.html');return false;">
|
698
698
|
<span class="method-name">^</span><span class="method-args">(other)</span>
|
699
699
|
</a>
|
700
700
|
</div>
|
@@ -706,12 +706,12 @@ performs bitwise XOR between self and other
|
|
706
706
|
</div>
|
707
707
|
</div>
|
708
708
|
|
709
|
-
<div id="method-
|
710
|
-
<a name="
|
709
|
+
<div id="method-M000119" class="method-detail">
|
710
|
+
<a name="M000119"></a>
|
711
711
|
|
712
712
|
<div class="method-heading">
|
713
|
-
<a href="LongDecimal.src/
|
714
|
-
onclick="popupCode('LongDecimal.src/
|
713
|
+
<a href="LongDecimal.src/M000119.html" target="Code" class="method-signature"
|
714
|
+
onclick="popupCode('LongDecimal.src/M000119.html');return false;">
|
715
715
|
<span class="method-name">abs</span><span class="method-args">()</span>
|
716
716
|
</a>
|
717
717
|
</div>
|
@@ -723,8 +723,8 @@ Absolute value
|
|
723
723
|
</div>
|
724
724
|
</div>
|
725
725
|
|
726
|
-
<div id="method-
|
727
|
-
<a name="
|
726
|
+
<div id="method-M000120" class="method-detail">
|
727
|
+
<a name="M000120"></a>
|
728
728
|
|
729
729
|
<div class="method-heading">
|
730
730
|
<span class="method-name">abs2</span><span class="method-args">()</span>
|
@@ -732,17 +732,17 @@ Absolute value
|
|
732
732
|
|
733
733
|
<div class="method-description">
|
734
734
|
<p>
|
735
|
-
Alias for <a href="LongDecimal.html#
|
735
|
+
Alias for <a href="LongDecimal.html#M000115">square</a>
|
736
736
|
</p>
|
737
737
|
</div>
|
738
738
|
</div>
|
739
739
|
|
740
|
-
<div id="method-
|
741
|
-
<a name="
|
740
|
+
<div id="method-M000082" class="method-detail">
|
741
|
+
<a name="M000082"></a>
|
742
742
|
|
743
743
|
<div class="method-heading">
|
744
|
-
<a href="LongDecimal.src/
|
745
|
-
onclick="popupCode('LongDecimal.src/
|
744
|
+
<a href="LongDecimal.src/M000082.html" target="Code" class="method-signature"
|
745
|
+
onclick="popupCode('LongDecimal.src/M000082.html');return false;">
|
746
746
|
<span class="method-name">anti_equalize_scale</span><span class="method-args">(other)</span>
|
747
747
|
</a>
|
748
748
|
</div>
|
@@ -756,12 +756,12 @@ expressable as a rational this method is mostly for internal use
|
|
756
756
|
</div>
|
757
757
|
</div>
|
758
758
|
|
759
|
-
<div id="method-
|
760
|
-
<a name="
|
759
|
+
<div id="method-M000124" class="method-detail">
|
760
|
+
<a name="M000124"></a>
|
761
761
|
|
762
762
|
<div class="method-heading">
|
763
|
-
<a href="LongDecimal.src/
|
764
|
-
onclick="popupCode('LongDecimal.src/
|
763
|
+
<a href="LongDecimal.src/M000124.html" target="Code" class="method-signature"
|
764
|
+
onclick="popupCode('LongDecimal.src/M000124.html');return false;">
|
765
765
|
<span class="method-name">coerce</span><span class="method-args">(other)</span>
|
766
766
|
</a>
|
767
767
|
</div>
|
@@ -774,12 +774,12 @@ compatible types and ready for arithmetic operations.
|
|
774
774
|
</div>
|
775
775
|
</div>
|
776
776
|
|
777
|
-
<div id="method-
|
778
|
-
<a name="
|
777
|
+
<div id="method-M000087" class="method-detail">
|
778
|
+
<a name="M000087"></a>
|
779
779
|
|
780
780
|
<div class="method-heading">
|
781
|
-
<a href="LongDecimal.src/
|
782
|
-
onclick="popupCode('LongDecimal.src/
|
781
|
+
<a href="LongDecimal.src/M000087.html" target="Code" class="method-signature"
|
782
|
+
onclick="popupCode('LongDecimal.src/M000087.html');return false;">
|
783
783
|
<span class="method-name">dec</span><span class="method-args">()</span>
|
784
784
|
</a>
|
785
785
|
</div>
|
@@ -791,12 +791,12 @@ self - 1
|
|
791
791
|
</div>
|
792
792
|
</div>
|
793
793
|
|
794
|
-
<div id="method-
|
795
|
-
<a name="
|
794
|
+
<div id="method-M000089" class="method-detail">
|
795
|
+
<a name="M000089"></a>
|
796
796
|
|
797
797
|
<div class="method-heading">
|
798
|
-
<a href="LongDecimal.src/
|
799
|
-
onclick="popupCode('LongDecimal.src/
|
798
|
+
<a href="LongDecimal.src/M000089.html" target="Code" class="method-signature"
|
799
|
+
onclick="popupCode('LongDecimal.src/M000089.html');return false;">
|
800
800
|
<span class="method-name">dec!</span><span class="method-args">()</span>
|
801
801
|
</a>
|
802
802
|
</div>
|
@@ -808,12 +808,12 @@ self -= 1
|
|
808
808
|
</div>
|
809
809
|
</div>
|
810
810
|
|
811
|
-
<div id="method-
|
812
|
-
<a name="
|
811
|
+
<div id="method-M000078" class="method-detail">
|
812
|
+
<a name="M000078"></a>
|
813
813
|
|
814
814
|
<div class="method-heading">
|
815
|
-
<a href="LongDecimal.src/
|
816
|
-
onclick="popupCode('LongDecimal.src/
|
815
|
+
<a href="LongDecimal.src/M000078.html" target="Code" class="method-signature"
|
816
|
+
onclick="popupCode('LongDecimal.src/M000078.html');return false;">
|
817
817
|
<span class="method-name">denominator</span><span class="method-args">()</span>
|
818
818
|
</a>
|
819
819
|
</div>
|
@@ -830,12 +830,12 @@ Rational
|
|
830
830
|
</div>
|
831
831
|
</div>
|
832
832
|
|
833
|
-
<div id="method-
|
834
|
-
<a name="
|
833
|
+
<div id="method-M000096" class="method-detail">
|
834
|
+
<a name="M000096"></a>
|
835
835
|
|
836
836
|
<div class="method-heading">
|
837
|
-
<a href="LongDecimal.src/
|
838
|
-
onclick="popupCode('LongDecimal.src/
|
837
|
+
<a href="LongDecimal.src/M000096.html" target="Code" class="method-signature"
|
838
|
+
onclick="popupCode('LongDecimal.src/M000096.html');return false;">
|
839
839
|
<span class="method-name">divide</span><span class="method-args">(other, rounding_mode)</span>
|
840
840
|
</a>
|
841
841
|
</div>
|
@@ -848,12 +848,12 @@ rounding mode
|
|
848
848
|
</div>
|
849
849
|
</div>
|
850
850
|
|
851
|
-
<div id="method-
|
852
|
-
<a name="
|
851
|
+
<div id="method-M000097" class="method-detail">
|
852
|
+
<a name="M000097"></a>
|
853
853
|
|
854
854
|
<div class="method-heading">
|
855
|
-
<a href="LongDecimal.src/
|
856
|
-
onclick="popupCode('LongDecimal.src/
|
855
|
+
<a href="LongDecimal.src/M000097.html" target="Code" class="method-signature"
|
856
|
+
onclick="popupCode('LongDecimal.src/M000097.html');return false;">
|
857
857
|
<span class="method-name">divide_s</span><span class="method-args">(other, new_scale, rounding_mode)</span>
|
858
858
|
</a>
|
859
859
|
</div>
|
@@ -866,12 +866,12 @@ mode. If new_scale is nil, use scale of self.
|
|
866
866
|
</div>
|
867
867
|
</div>
|
868
868
|
|
869
|
-
<div id="method-
|
870
|
-
<a name="
|
869
|
+
<div id="method-M000101" class="method-detail">
|
870
|
+
<a name="M000101"></a>
|
871
871
|
|
872
872
|
<div class="method-heading">
|
873
|
-
<a href="LongDecimal.src/
|
874
|
-
onclick="popupCode('LongDecimal.src/
|
873
|
+
<a href="LongDecimal.src/M000101.html" target="Code" class="method-signature"
|
874
|
+
onclick="popupCode('LongDecimal.src/M000101.html');return false;">
|
875
875
|
<span class="method-name">divmod</span><span class="method-args">(other)</span>
|
876
876
|
</a>
|
877
877
|
</div>
|
@@ -883,12 +883,12 @@ do integer division with remainder, returning two values
|
|
883
883
|
</div>
|
884
884
|
</div>
|
885
885
|
|
886
|
-
<div id="method-
|
887
|
-
<a name="
|
886
|
+
<div id="method-M000081" class="method-detail">
|
887
|
+
<a name="M000081"></a>
|
888
888
|
|
889
889
|
<div class="method-heading">
|
890
|
-
<a href="LongDecimal.src/
|
891
|
-
onclick="popupCode('LongDecimal.src/
|
890
|
+
<a href="LongDecimal.src/M000081.html" target="Code" class="method-signature"
|
891
|
+
onclick="popupCode('LongDecimal.src/M000081.html');return false;">
|
892
892
|
<span class="method-name">equalize_scale</span><span class="method-args">(other)</span>
|
893
893
|
</a>
|
894
894
|
</div>
|
@@ -903,12 +903,12 @@ method is mostly for internal use
|
|
903
903
|
</div>
|
904
904
|
</div>
|
905
905
|
|
906
|
-
<div id="method-
|
907
|
-
<a name="
|
906
|
+
<div id="method-M000132" class="method-detail">
|
907
|
+
<a name="M000132"></a>
|
908
908
|
|
909
909
|
<div class="method-heading">
|
910
|
-
<a href="LongDecimal.src/
|
911
|
-
onclick="popupCode('LongDecimal.src/
|
910
|
+
<a href="LongDecimal.src/M000132.html" target="Code" class="method-signature"
|
911
|
+
onclick="popupCode('LongDecimal.src/M000132.html');return false;">
|
912
912
|
<span class="method-name">hash</span><span class="method-args">()</span>
|
913
913
|
</a>
|
914
914
|
</div>
|
@@ -920,12 +920,12 @@ Returns a hash code for the complex number.
|
|
920
920
|
</div>
|
921
921
|
</div>
|
922
922
|
|
923
|
-
<div id="method-
|
924
|
-
<a name="
|
923
|
+
<div id="method-M000086" class="method-detail">
|
924
|
+
<a name="M000086"></a>
|
925
925
|
|
926
926
|
<div class="method-heading">
|
927
|
-
<a href="LongDecimal.src/
|
928
|
-
onclick="popupCode('LongDecimal.src/
|
927
|
+
<a href="LongDecimal.src/M000086.html" target="Code" class="method-signature"
|
928
|
+
onclick="popupCode('LongDecimal.src/M000086.html');return false;">
|
929
929
|
<span class="method-name">inc</span><span class="method-args">()</span>
|
930
930
|
</a>
|
931
931
|
</div>
|
@@ -937,12 +937,12 @@ self + 1
|
|
937
937
|
</div>
|
938
938
|
</div>
|
939
939
|
|
940
|
-
<div id="method-
|
941
|
-
<a name="
|
940
|
+
<div id="method-M000088" class="method-detail">
|
941
|
+
<a name="M000088"></a>
|
942
942
|
|
943
943
|
<div class="method-heading">
|
944
|
-
<a href="LongDecimal.src/
|
945
|
-
onclick="popupCode('LongDecimal.src/
|
944
|
+
<a href="LongDecimal.src/M000088.html" target="Code" class="method-signature"
|
945
|
+
onclick="popupCode('LongDecimal.src/M000088.html');return false;">
|
946
946
|
<span class="method-name">inc!</span><span class="method-args">()</span>
|
947
947
|
</a>
|
948
948
|
</div>
|
@@ -954,12 +954,12 @@ self += 1
|
|
954
954
|
</div>
|
955
955
|
</div>
|
956
956
|
|
957
|
-
<div id="method-
|
958
|
-
<a name="
|
957
|
+
<div id="method-M000133" class="method-detail">
|
958
|
+
<a name="M000133"></a>
|
959
959
|
|
960
960
|
<div class="method-heading">
|
961
|
-
<a href="LongDecimal.src/
|
962
|
-
onclick="popupCode('LongDecimal.src/
|
961
|
+
<a href="LongDecimal.src/M000133.html" target="Code" class="method-signature"
|
962
|
+
onclick="popupCode('LongDecimal.src/M000133.html');return false;">
|
963
963
|
<span class="method-name">inspect</span><span class="method-args">()</span>
|
964
964
|
</a>
|
965
965
|
</div>
|
@@ -973,12 +973,12 @@ href="LongDecimal.html">LongDecimal</a>(<em>int_val</em>,
|
|
973
973
|
</div>
|
974
974
|
</div>
|
975
975
|
|
976
|
-
<div id="method-
|
977
|
-
<a name="
|
976
|
+
<div id="method-M000080" class="method-detail">
|
977
|
+
<a name="M000080"></a>
|
978
978
|
|
979
979
|
<div class="method-heading">
|
980
|
-
<a href="LongDecimal.src/
|
981
|
-
onclick="popupCode('LongDecimal.src/
|
980
|
+
<a href="LongDecimal.src/M000080.html" target="Code" class="method-signature"
|
981
|
+
onclick="popupCode('LongDecimal.src/M000080.html');return false;">
|
982
982
|
<span class="method-name">int_digits10</span><span class="method-args">()</span>
|
983
983
|
</a>
|
984
984
|
</div>
|
@@ -991,12 +991,12 @@ number of decimal digits before the decimal point, not counting a single 0.
|
|
991
991
|
</div>
|
992
992
|
</div>
|
993
993
|
|
994
|
-
<div id="method-
|
995
|
-
<a name="
|
994
|
+
<div id="method-M000079" class="method-detail">
|
995
|
+
<a name="M000079"></a>
|
996
996
|
|
997
997
|
<div class="method-heading">
|
998
|
-
<a href="LongDecimal.src/
|
999
|
-
onclick="popupCode('LongDecimal.src/
|
998
|
+
<a href="LongDecimal.src/M000079.html" target="Code" class="method-signature"
|
999
|
+
onclick="popupCode('LongDecimal.src/M000079.html');return false;">
|
1000
1000
|
<span class="method-name">int_digits2</span><span class="method-args">()</span>
|
1001
1001
|
</a>
|
1002
1002
|
</div>
|
@@ -1010,8 +1010,8 @@ number of binary digits before the decimal point, not counting a single 0.
|
|
1010
1010
|
</div>
|
1011
1011
|
</div>
|
1012
1012
|
|
1013
|
-
<div id="method-
|
1014
|
-
<a name="
|
1013
|
+
<div id="method-M000118" class="method-detail">
|
1014
|
+
<a name="M000118"></a>
|
1015
1015
|
|
1016
1016
|
<div class="method-heading">
|
1017
1017
|
<span class="method-name">inverse</span><span class="method-args">()</span>
|
@@ -1019,17 +1019,17 @@ number of binary digits before the decimal point, not counting a single 0.
|
|
1019
1019
|
|
1020
1020
|
<div class="method-description">
|
1021
1021
|
<p>
|
1022
|
-
Alias for <a href="LongDecimal.html#
|
1022
|
+
Alias for <a href="LongDecimal.html#M000117">reciprocal</a>
|
1023
1023
|
</p>
|
1024
1024
|
</div>
|
1025
1025
|
</div>
|
1026
1026
|
|
1027
|
-
<div id="method-
|
1028
|
-
<a name="
|
1027
|
+
<div id="method-M000125" class="method-detail">
|
1028
|
+
<a name="M000125"></a>
|
1029
1029
|
|
1030
1030
|
<div class="method-heading">
|
1031
|
-
<a href="LongDecimal.src/
|
1032
|
-
onclick="popupCode('LongDecimal.src/
|
1031
|
+
<a href="LongDecimal.src/M000125.html" target="Code" class="method-signature"
|
1032
|
+
onclick="popupCode('LongDecimal.src/M000125.html');return false;">
|
1033
1033
|
<span class="method-name">is_int?</span><span class="method-args">()</span>
|
1034
1034
|
</a>
|
1035
1035
|
</div>
|
@@ -1041,12 +1041,12 @@ is self expressable as an integer without loss of digits?
|
|
1041
1041
|
</div>
|
1042
1042
|
</div>
|
1043
1043
|
|
1044
|
-
<div id="method-
|
1045
|
-
<a name="
|
1044
|
+
<div id="method-M000111" class="method-detail">
|
1045
|
+
<a name="M000111"></a>
|
1046
1046
|
|
1047
1047
|
<div class="method-heading">
|
1048
|
-
<a href="LongDecimal.src/
|
1049
|
-
onclick="popupCode('LongDecimal.src/
|
1048
|
+
<a href="LongDecimal.src/M000111.html" target="Code" class="method-signature"
|
1049
|
+
onclick="popupCode('LongDecimal.src/M000111.html');return false;">
|
1050
1050
|
<span class="method-name">move_point_left</span><span class="method-args">(n)</span>
|
1051
1051
|
</a>
|
1052
1052
|
</div>
|
@@ -1058,12 +1058,12 @@ divide by 10**n
|
|
1058
1058
|
</div>
|
1059
1059
|
</div>
|
1060
1060
|
|
1061
|
-
<div id="method-
|
1062
|
-
<a name="
|
1061
|
+
<div id="method-M000112" class="method-detail">
|
1062
|
+
<a name="M000112"></a>
|
1063
1063
|
|
1064
1064
|
<div class="method-heading">
|
1065
|
-
<a href="LongDecimal.src/
|
1066
|
-
onclick="popupCode('LongDecimal.src/
|
1065
|
+
<a href="LongDecimal.src/M000112.html" target="Code" class="method-signature"
|
1066
|
+
onclick="popupCode('LongDecimal.src/M000112.html');return false;">
|
1067
1067
|
<span class="method-name">move_point_right</span><span class="method-args">(n)</span>
|
1068
1068
|
</a>
|
1069
1069
|
</div>
|
@@ -1075,8 +1075,8 @@ multiply by 10**n
|
|
1075
1075
|
</div>
|
1076
1076
|
</div>
|
1077
1077
|
|
1078
|
-
<div id="method-
|
1079
|
-
<a name="
|
1078
|
+
<div id="method-M000084" class="method-detail">
|
1079
|
+
<a name="M000084"></a>
|
1080
1080
|
|
1081
1081
|
<div class="method-heading">
|
1082
1082
|
<span class="method-name">next</span><span class="method-args">()</span>
|
@@ -1084,17 +1084,17 @@ multiply by 10**n
|
|
1084
1084
|
|
1085
1085
|
<div class="method-description">
|
1086
1086
|
<p>
|
1087
|
-
Alias for <a href="LongDecimal.html#
|
1087
|
+
Alias for <a href="LongDecimal.html#M000083">succ</a>
|
1088
1088
|
</p>
|
1089
1089
|
</div>
|
1090
1090
|
</div>
|
1091
1091
|
|
1092
|
-
<div id="method-
|
1093
|
-
<a name="
|
1092
|
+
<div id="method-M000131" class="method-detail">
|
1093
|
+
<a name="M000131"></a>
|
1094
1094
|
|
1095
1095
|
<div class="method-heading">
|
1096
|
-
<a href="LongDecimal.src/
|
1097
|
-
onclick="popupCode('LongDecimal.src/
|
1096
|
+
<a href="LongDecimal.src/M000131.html" target="Code" class="method-signature"
|
1097
|
+
onclick="popupCode('LongDecimal.src/M000131.html');return false;">
|
1098
1098
|
<span class="method-name">one?</span><span class="method-args">()</span>
|
1099
1099
|
</a>
|
1100
1100
|
</div>
|
@@ -1107,12 +1107,12 @@ after the decimal point.
|
|
1107
1107
|
</div>
|
1108
1108
|
</div>
|
1109
1109
|
|
1110
|
-
<div id="method-
|
1111
|
-
<a name="
|
1110
|
+
<div id="method-M000085" class="method-detail">
|
1111
|
+
<a name="M000085"></a>
|
1112
1112
|
|
1113
1113
|
<div class="method-heading">
|
1114
|
-
<a href="LongDecimal.src/
|
1115
|
-
onclick="popupCode('LongDecimal.src/
|
1114
|
+
<a href="LongDecimal.src/M000085.html" target="Code" class="method-signature"
|
1115
|
+
onclick="popupCode('LongDecimal.src/M000085.html');return false;">
|
1116
1116
|
<span class="method-name">pred</span><span class="method-args">()</span>
|
1117
1117
|
</a>
|
1118
1118
|
</div>
|
@@ -1125,12 +1125,12 @@ usually not an decrement by 1, but by 1/10**scale.
|
|
1125
1125
|
</div>
|
1126
1126
|
</div>
|
1127
1127
|
|
1128
|
-
<div id="method-
|
1129
|
-
<a name="
|
1128
|
+
<div id="method-M000098" class="method-detail">
|
1129
|
+
<a name="M000098"></a>
|
1130
1130
|
|
1131
1131
|
<div class="method-heading">
|
1132
|
-
<a href="LongDecimal.src/
|
1133
|
-
onclick="popupCode('LongDecimal.src/
|
1132
|
+
<a href="LongDecimal.src/M000098.html" target="Code" class="method-signature"
|
1133
|
+
onclick="popupCode('LongDecimal.src/M000098.html');return false;">
|
1134
1134
|
<span class="method-name">rdiv</span><span class="method-args">(other)</span>
|
1135
1135
|
</a>
|
1136
1136
|
</div>
|
@@ -1143,12 +1143,12 @@ calculations.
|
|
1143
1143
|
</div>
|
1144
1144
|
</div>
|
1145
1145
|
|
1146
|
-
<div id="method-
|
1147
|
-
<a name="
|
1146
|
+
<div id="method-M000117" class="method-detail">
|
1147
|
+
<a name="M000117"></a>
|
1148
1148
|
|
1149
1149
|
<div class="method-heading">
|
1150
|
-
<a href="LongDecimal.src/
|
1151
|
-
onclick="popupCode('LongDecimal.src/
|
1150
|
+
<a href="LongDecimal.src/M000117.html" target="Code" class="method-signature"
|
1151
|
+
onclick="popupCode('LongDecimal.src/M000117.html');return false;">
|
1152
1152
|
<span class="method-name">reciprocal</span><span class="method-args">()</span>
|
1153
1153
|
</a>
|
1154
1154
|
</div>
|
@@ -1160,12 +1160,12 @@ calculate the multiplicative inverse
|
|
1160
1160
|
</div>
|
1161
1161
|
</div>
|
1162
1162
|
|
1163
|
-
<div id="method-
|
1164
|
-
<a name="
|
1163
|
+
<div id="method-M000069" class="method-detail">
|
1164
|
+
<a name="M000069"></a>
|
1165
1165
|
|
1166
1166
|
<div class="method-heading">
|
1167
|
-
<a href="LongDecimal.src/
|
1168
|
-
onclick="popupCode('LongDecimal.src/
|
1167
|
+
<a href="LongDecimal.src/M000069.html" target="Code" class="method-signature"
|
1168
|
+
onclick="popupCode('LongDecimal.src/M000069.html');return false;">
|
1169
1169
|
<span class="method-name">round_to_scale</span><span class="method-args">(new_scale, mode = ROUND_UNNECESSARY)</span>
|
1170
1170
|
</a>
|
1171
1171
|
</div>
|
@@ -1183,12 +1183,12 @@ result param2: mode rounding mode to be applied when information is
|
|
1183
1183
|
</div>
|
1184
1184
|
</div>
|
1185
1185
|
|
1186
|
-
<div id="method-
|
1187
|
-
<a name="
|
1186
|
+
<div id="method-M000123" class="method-detail">
|
1187
|
+
<a name="M000123"></a>
|
1188
1188
|
|
1189
1189
|
<div class="method-heading">
|
1190
|
-
<a href="LongDecimal.src/
|
1191
|
-
onclick="popupCode('LongDecimal.src/
|
1190
|
+
<a href="LongDecimal.src/M000123.html" target="Code" class="method-signature"
|
1191
|
+
onclick="popupCode('LongDecimal.src/M000123.html');return false;">
|
1192
1192
|
<span class="method-name">scale_equal</span><span class="method-args">(other)</span>
|
1193
1193
|
</a>
|
1194
1194
|
</div>
|
@@ -1198,12 +1198,12 @@ result param2: mode rounding mode to be applied when information is
|
|
1198
1198
|
</div>
|
1199
1199
|
</div>
|
1200
1200
|
|
1201
|
-
<div id="method-
|
1202
|
-
<a name="
|
1201
|
+
<div id="method-M000122" class="method-detail">
|
1202
|
+
<a name="M000122"></a>
|
1203
1203
|
|
1204
1204
|
<div class="method-heading">
|
1205
|
-
<a href="LongDecimal.src/
|
1206
|
-
onclick="popupCode('LongDecimal.src/
|
1205
|
+
<a href="LongDecimal.src/M000122.html" target="Code" class="method-signature"
|
1206
|
+
onclick="popupCode('LongDecimal.src/M000122.html');return false;">
|
1207
1207
|
<span class="method-name">scale_ufo</span><span class="method-args">(other)</span>
|
1208
1208
|
</a>
|
1209
1209
|
</div>
|
@@ -1215,12 +1215,12 @@ result param2: mode rounding mode to be applied when information is
|
|
1215
1215
|
</div>
|
1216
1216
|
</div>
|
1217
1217
|
|
1218
|
-
<div id="method-
|
1219
|
-
<a name="
|
1218
|
+
<div id="method-M000126" class="method-detail">
|
1219
|
+
<a name="M000126"></a>
|
1220
1220
|
|
1221
1221
|
<div class="method-heading">
|
1222
|
-
<a href="LongDecimal.src/
|
1223
|
-
onclick="popupCode('LongDecimal.src/
|
1222
|
+
<a href="LongDecimal.src/M000126.html" target="Code" class="method-signature"
|
1223
|
+
onclick="popupCode('LongDecimal.src/M000126.html');return false;">
|
1224
1224
|
<span class="method-name">sgn</span><span class="method-args">()</span>
|
1225
1225
|
</a>
|
1226
1226
|
</div>
|
@@ -1238,8 +1238,8 @@ get the sign of self -1 if self < 0
|
|
1238
1238
|
</div>
|
1239
1239
|
</div>
|
1240
1240
|
|
1241
|
-
<div id="method-
|
1242
|
-
<a name="
|
1241
|
+
<div id="method-M000128" class="method-detail">
|
1242
|
+
<a name="M000128"></a>
|
1243
1243
|
|
1244
1244
|
<div class="method-heading">
|
1245
1245
|
<span class="method-name">sign</span><span class="method-args">()</span>
|
@@ -1247,13 +1247,13 @@ get the sign of self -1 if self < 0
|
|
1247
1247
|
|
1248
1248
|
<div class="method-description">
|
1249
1249
|
<p>
|
1250
|
-
Alias for <a href="LongDecimal.html#
|
1250
|
+
Alias for <a href="LongDecimal.html#M000126">sgn</a>
|
1251
1251
|
</p>
|
1252
1252
|
</div>
|
1253
1253
|
</div>
|
1254
1254
|
|
1255
|
-
<div id="method-
|
1256
|
-
<a name="
|
1255
|
+
<div id="method-M000127" class="method-detail">
|
1256
|
+
<a name="M000127"></a>
|
1257
1257
|
|
1258
1258
|
<div class="method-heading">
|
1259
1259
|
<span class="method-name">signum</span><span class="method-args">()</span>
|
@@ -1261,17 +1261,17 @@ Alias for <a href="LongDecimal.html#M000124">sgn</a>
|
|
1261
1261
|
|
1262
1262
|
<div class="method-description">
|
1263
1263
|
<p>
|
1264
|
-
Alias for <a href="LongDecimal.html#
|
1264
|
+
Alias for <a href="LongDecimal.html#M000126">sgn</a>
|
1265
1265
|
</p>
|
1266
1266
|
</div>
|
1267
1267
|
</div>
|
1268
1268
|
|
1269
|
-
<div id="method-
|
1270
|
-
<a name="
|
1269
|
+
<div id="method-M000110" class="method-detail">
|
1270
|
+
<a name="M000110"></a>
|
1271
1271
|
|
1272
1272
|
<div class="method-heading">
|
1273
|
-
<a href="LongDecimal.src/
|
1274
|
-
onclick="popupCode('LongDecimal.src/
|
1273
|
+
<a href="LongDecimal.src/M000110.html" target="Code" class="method-signature"
|
1274
|
+
onclick="popupCode('LongDecimal.src/M000110.html');return false;">
|
1275
1275
|
<span class="method-name">size</span><span class="method-args">()</span>
|
1276
1276
|
</a>
|
1277
1277
|
</div>
|
@@ -1283,12 +1283,12 @@ gets size of int_val
|
|
1283
1283
|
</div>
|
1284
1284
|
</div>
|
1285
1285
|
|
1286
|
-
<div id="method-
|
1287
|
-
<a name="
|
1286
|
+
<div id="method-M000116" class="method-detail">
|
1287
|
+
<a name="M000116"></a>
|
1288
1288
|
|
1289
1289
|
<div class="method-heading">
|
1290
|
-
<a href="LongDecimal.src/
|
1291
|
-
onclick="popupCode('LongDecimal.src/
|
1290
|
+
<a href="LongDecimal.src/M000116.html" target="Code" class="method-signature"
|
1291
|
+
onclick="popupCode('LongDecimal.src/M000116.html');return false;">
|
1292
1292
|
<span class="method-name">sqrt</span><span class="method-args">(new_scale, rounding_mode)</span>
|
1293
1293
|
</a>
|
1294
1294
|
</div>
|
@@ -1297,12 +1297,12 @@ gets size of int_val
|
|
1297
1297
|
</div>
|
1298
1298
|
</div>
|
1299
1299
|
|
1300
|
-
<div id="method-
|
1301
|
-
<a name="
|
1300
|
+
<div id="method-M000115" class="method-detail">
|
1301
|
+
<a name="M000115"></a>
|
1302
1302
|
|
1303
1303
|
<div class="method-heading">
|
1304
|
-
<a href="LongDecimal.src/
|
1305
|
-
onclick="popupCode('LongDecimal.src/
|
1304
|
+
<a href="LongDecimal.src/M000115.html" target="Code" class="method-signature"
|
1305
|
+
onclick="popupCode('LongDecimal.src/M000115.html');return false;">
|
1306
1306
|
<span class="method-name">square</span><span class="method-args">()</span>
|
1307
1307
|
</a>
|
1308
1308
|
</div>
|
@@ -1314,12 +1314,12 @@ calculate the square of self
|
|
1314
1314
|
</div>
|
1315
1315
|
</div>
|
1316
1316
|
|
1317
|
-
<div id="method-
|
1318
|
-
<a name="
|
1317
|
+
<div id="method-M000083" class="method-detail">
|
1318
|
+
<a name="M000083"></a>
|
1319
1319
|
|
1320
1320
|
<div class="method-heading">
|
1321
|
-
<a href="LongDecimal.src/
|
1322
|
-
onclick="popupCode('LongDecimal.src/
|
1321
|
+
<a href="LongDecimal.src/M000083.html" target="Code" class="method-signature"
|
1322
|
+
onclick="popupCode('LongDecimal.src/M000083.html');return false;">
|
1323
1323
|
<span class="method-name">succ</span><span class="method-args">()</span>
|
1324
1324
|
</a>
|
1325
1325
|
</div>
|
@@ -1333,12 +1333,12 @@ but by 1/10**scale.
|
|
1333
1333
|
</div>
|
1334
1334
|
</div>
|
1335
1335
|
|
1336
|
-
<div id="method-
|
1337
|
-
<a name="
|
1336
|
+
<div id="method-M000077" class="method-detail">
|
1337
|
+
<a name="M000077"></a>
|
1338
1338
|
|
1339
1339
|
<div class="method-heading">
|
1340
|
-
<a href="LongDecimal.src/
|
1341
|
-
onclick="popupCode('LongDecimal.src/
|
1340
|
+
<a href="LongDecimal.src/M000077.html" target="Code" class="method-signature"
|
1341
|
+
onclick="popupCode('LongDecimal.src/M000077.html');return false;">
|
1342
1342
|
<span class="method-name">to_bd</span><span class="method-args">()</span>
|
1343
1343
|
</a>
|
1344
1344
|
</div>
|
@@ -1350,12 +1350,12 @@ convert selt into BigDecimal
|
|
1350
1350
|
</div>
|
1351
1351
|
</div>
|
1352
1352
|
|
1353
|
-
<div id="method-
|
1354
|
-
<a name="
|
1353
|
+
<div id="method-M000074" class="method-detail">
|
1354
|
+
<a name="M000074"></a>
|
1355
1355
|
|
1356
1356
|
<div class="method-heading">
|
1357
|
-
<a href="LongDecimal.src/
|
1358
|
-
onclick="popupCode('LongDecimal.src/
|
1357
|
+
<a href="LongDecimal.src/M000074.html" target="Code" class="method-signature"
|
1358
|
+
onclick="popupCode('LongDecimal.src/M000074.html');return false;">
|
1359
1359
|
<span class="method-name">to_f</span><span class="method-args">()</span>
|
1360
1360
|
</a>
|
1361
1361
|
</div>
|
@@ -1370,12 +1370,12 @@ representation otherwise.
|
|
1370
1370
|
</div>
|
1371
1371
|
</div>
|
1372
1372
|
|
1373
|
-
<div id="method-
|
1374
|
-
<a name="
|
1373
|
+
<div id="method-M000075" class="method-detail">
|
1374
|
+
<a name="M000075"></a>
|
1375
1375
|
|
1376
1376
|
<div class="method-heading">
|
1377
|
-
<a href="LongDecimal.src/
|
1378
|
-
onclick="popupCode('LongDecimal.src/
|
1377
|
+
<a href="LongDecimal.src/M000075.html" target="Code" class="method-signature"
|
1378
|
+
onclick="popupCode('LongDecimal.src/M000075.html');return false;">
|
1379
1379
|
<span class="method-name">to_i</span><span class="method-args">()</span>
|
1380
1380
|
</a>
|
1381
1381
|
</div>
|
@@ -1384,19 +1384,19 @@ representation otherwise.
|
|
1384
1384
|
<p>
|
1385
1385
|
convert self into Integer This may loose information. In most cases it is
|
1386
1386
|
preferred to control this by calling <a
|
1387
|
-
href="LongDecimal.html#
|
1388
|
-
<a href="LongDecimal.html#
|
1387
|
+
href="LongDecimal.html#M000069">round_to_scale</a> first and then applying
|
1388
|
+
<a href="LongDecimal.html#M000075">to_i</a> when the number represented by
|
1389
1389
|
self is actually an integer.
|
1390
1390
|
</p>
|
1391
1391
|
</div>
|
1392
1392
|
</div>
|
1393
1393
|
|
1394
|
-
<div id="method-
|
1395
|
-
<a name="
|
1394
|
+
<div id="method-M000076" class="method-detail">
|
1395
|
+
<a name="M000076"></a>
|
1396
1396
|
|
1397
1397
|
<div class="method-heading">
|
1398
|
-
<a href="LongDecimal.src/
|
1399
|
-
onclick="popupCode('LongDecimal.src/
|
1398
|
+
<a href="LongDecimal.src/M000076.html" target="Code" class="method-signature"
|
1399
|
+
onclick="popupCode('LongDecimal.src/M000076.html');return false;">
|
1400
1400
|
<span class="method-name">to_ld</span><span class="method-args">()</span>
|
1401
1401
|
</a>
|
1402
1402
|
</div>
|
@@ -1408,12 +1408,12 @@ convert self into <a href="LongDecimal.html">LongDecimal</a> (returns self)
|
|
1408
1408
|
</div>
|
1409
1409
|
</div>
|
1410
1410
|
|
1411
|
-
<div id="method-
|
1412
|
-
<a name="
|
1411
|
+
<div id="method-M000073" class="method-detail">
|
1412
|
+
<a name="M000073"></a>
|
1413
1413
|
|
1414
1414
|
<div class="method-heading">
|
1415
|
-
<a href="LongDecimal.src/
|
1416
|
-
onclick="popupCode('LongDecimal.src/
|
1415
|
+
<a href="LongDecimal.src/M000073.html" target="Code" class="method-signature"
|
1416
|
+
onclick="popupCode('LongDecimal.src/M000073.html');return false;">
|
1417
1417
|
<span class="method-name">to_r</span><span class="method-args">()</span>
|
1418
1418
|
</a>
|
1419
1419
|
</div>
|
@@ -1426,12 +1426,12 @@ numerator and a power of 10 as denominator
|
|
1426
1426
|
</div>
|
1427
1427
|
</div>
|
1428
1428
|
|
1429
|
-
<div id="method-
|
1430
|
-
<a name="
|
1429
|
+
<div id="method-M000070" class="method-detail">
|
1430
|
+
<a name="M000070"></a>
|
1431
1431
|
|
1432
1432
|
<div class="method-heading">
|
1433
|
-
<a href="LongDecimal.src/
|
1434
|
-
onclick="popupCode('LongDecimal.src/
|
1433
|
+
<a href="LongDecimal.src/M000070.html" target="Code" class="method-signature"
|
1434
|
+
onclick="popupCode('LongDecimal.src/M000070.html');return false;">
|
1435
1435
|
<span class="method-name">to_s</span><span class="method-args">(shown_scale = @scale, mode = ROUND_UNNECESSARY, base = 10)</span>
|
1436
1436
|
</a>
|
1437
1437
|
</div>
|
@@ -1448,12 +1448,12 @@ defaults to 10.
|
|
1448
1448
|
</div>
|
1449
1449
|
</div>
|
1450
1450
|
|
1451
|
-
<div id="method-
|
1452
|
-
<a name="
|
1451
|
+
<div id="method-M000090" class="method-detail">
|
1452
|
+
<a name="M000090"></a>
|
1453
1453
|
|
1454
1454
|
<div class="method-heading">
|
1455
|
-
<a href="LongDecimal.src/
|
1456
|
-
onclick="popupCode('LongDecimal.src/
|
1455
|
+
<a href="LongDecimal.src/M000090.html" target="Code" class="method-signature"
|
1456
|
+
onclick="popupCode('LongDecimal.src/M000090.html');return false;">
|
1457
1457
|
<span class="method-name">unit</span><span class="method-args">()</span>
|
1458
1458
|
</a>
|
1459
1459
|
</div>
|
@@ -1465,12 +1465,12 @@ return the unit by which self is incremented by succ
|
|
1465
1465
|
</div>
|
1466
1466
|
</div>
|
1467
1467
|
|
1468
|
-
<div id="method-
|
1469
|
-
<a name="
|
1468
|
+
<div id="method-M000130" class="method-detail">
|
1469
|
+
<a name="M000130"></a>
|
1470
1470
|
|
1471
1471
|
<div class="method-heading">
|
1472
|
-
<a href="LongDecimal.src/
|
1473
|
-
onclick="popupCode('LongDecimal.src/
|
1472
|
+
<a href="LongDecimal.src/M000130.html" target="Code" class="method-signature"
|
1473
|
+
onclick="popupCode('LongDecimal.src/M000130.html');return false;">
|
1474
1474
|
<span class="method-name">zero?</span><span class="method-args">()</span>
|
1475
1475
|
</a>
|
1476
1476
|
</div>
|
@@ -1483,12 +1483,12 @@ after the decimal point.
|
|
1483
1483
|
</div>
|
1484
1484
|
</div>
|
1485
1485
|
|
1486
|
-
<div id="method-
|
1487
|
-
<a name="
|
1486
|
+
<div id="method-M000104" class="method-detail">
|
1487
|
+
<a name="M000104"></a>
|
1488
1488
|
|
1489
1489
|
<div class="method-heading">
|
1490
|
-
<a href="LongDecimal.src/
|
1491
|
-
onclick="popupCode('LongDecimal.src/
|
1490
|
+
<a href="LongDecimal.src/M000104.html" target="Code" class="method-signature"
|
1491
|
+
onclick="popupCode('LongDecimal.src/M000104.html');return false;">
|
1492
1492
|
<span class="method-name">|</span><span class="method-args">(other)</span>
|
1493
1493
|
</a>
|
1494
1494
|
</div>
|
@@ -1500,12 +1500,12 @@ performs bitwise OR between self and other
|
|
1500
1500
|
</div>
|
1501
1501
|
</div>
|
1502
1502
|
|
1503
|
-
<div id="method-
|
1504
|
-
<a name="
|
1503
|
+
<div id="method-M000106" class="method-detail">
|
1504
|
+
<a name="M000106"></a>
|
1505
1505
|
|
1506
1506
|
<div class="method-heading">
|
1507
|
-
<a href="LongDecimal.src/
|
1508
|
-
onclick="popupCode('LongDecimal.src/
|
1507
|
+
<a href="LongDecimal.src/M000106.html" target="Code" class="method-signature"
|
1508
|
+
onclick="popupCode('LongDecimal.src/M000106.html');return false;">
|
1509
1509
|
<span class="method-name">~</span><span class="method-args">()</span>
|
1510
1510
|
</a>
|
1511
1511
|
</div>
|
@@ -1519,12 +1519,12 @@ bitwise inversion
|
|
1519
1519
|
|
1520
1520
|
<h3 class="section-bar">Protected Instance methods</h3>
|
1521
1521
|
|
1522
|
-
<div id="method-
|
1523
|
-
<a name="
|
1522
|
+
<div id="method-M000113" class="method-detail">
|
1523
|
+
<a name="M000113"></a>
|
1524
1524
|
|
1525
1525
|
<div class="method-heading">
|
1526
|
-
<a href="LongDecimal.src/
|
1527
|
-
onclick="popupCode('LongDecimal.src/
|
1526
|
+
<a href="LongDecimal.src/M000113.html" target="Code" class="method-signature"
|
1527
|
+
onclick="popupCode('LongDecimal.src/M000113.html');return false;">
|
1528
1528
|
<span class="method-name">move_point_left_int</span><span class="method-args">(n)</span>
|
1529
1529
|
</a>
|
1530
1530
|
</div>
|
@@ -1536,12 +1536,12 @@ internal method divide by 10**n
|
|
1536
1536
|
</div>
|
1537
1537
|
</div>
|
1538
1538
|
|
1539
|
-
<div id="method-
|
1540
|
-
<a name="
|
1539
|
+
<div id="method-M000114" class="method-detail">
|
1540
|
+
<a name="M000114"></a>
|
1541
1541
|
|
1542
1542
|
<div class="method-heading">
|
1543
|
-
<a href="LongDecimal.src/
|
1544
|
-
onclick="popupCode('LongDecimal.src/
|
1543
|
+
<a href="LongDecimal.src/M000114.html" target="Code" class="method-signature"
|
1544
|
+
onclick="popupCode('LongDecimal.src/M000114.html');return false;">
|
1545
1545
|
<span class="method-name">move_point_right_int</span><span class="method-args">(n)</span>
|
1546
1546
|
</a>
|
1547
1547
|
</div>
|
@@ -1553,12 +1553,12 @@ internal method multiply by 10**n
|
|
1553
1553
|
</div>
|
1554
1554
|
</div>
|
1555
1555
|
|
1556
|
-
<div id="method-
|
1557
|
-
<a name="
|
1556
|
+
<div id="method-M000068" class="method-detail">
|
1557
|
+
<a name="M000068"></a>
|
1558
1558
|
|
1559
1559
|
<div class="method-heading">
|
1560
|
-
<a href="LongDecimal.src/
|
1561
|
-
onclick="popupCode('LongDecimal.src/
|
1560
|
+
<a href="LongDecimal.src/M000068.html" target="Code" class="method-signature"
|
1561
|
+
onclick="popupCode('LongDecimal.src/M000068.html');return false;">
|
1562
1562
|
<span class="method-name">scale=</span><span class="method-args">(s)</span>
|
1563
1563
|
</a>
|
1564
1564
|
</div>
|
@@ -1569,17 +1569,17 @@ alter scale (changes self)
|
|
1569
1569
|
</p>
|
1570
1570
|
<p>
|
1571
1571
|
only for internal use: use <a
|
1572
|
-
href="LongDecimal.html#
|
1572
|
+
href="LongDecimal.html#M000069">round_to_scale</a> instead
|
1573
1573
|
</p>
|
1574
1574
|
</div>
|
1575
1575
|
</div>
|
1576
1576
|
|
1577
|
-
<div id="method-
|
1578
|
-
<a name="
|
1577
|
+
<div id="method-M000071" class="method-detail">
|
1578
|
+
<a name="M000071"></a>
|
1579
1579
|
|
1580
1580
|
<div class="method-heading">
|
1581
|
-
<a href="LongDecimal.src/
|
1582
|
-
onclick="popupCode('LongDecimal.src/
|
1581
|
+
<a href="LongDecimal.src/M000071.html" target="Code" class="method-signature"
|
1582
|
+
onclick="popupCode('LongDecimal.src/M000071.html');return false;">
|
1583
1583
|
<span class="method-name">to_s_10</span><span class="method-args">()</span>
|
1584
1584
|
</a>
|
1585
1585
|
</div>
|
@@ -1592,12 +1592,12 @@ default settings.
|
|
1592
1592
|
</div>
|
1593
1593
|
</div>
|
1594
1594
|
|
1595
|
-
<div id="method-
|
1596
|
-
<a name="
|
1595
|
+
<div id="method-M000072" class="method-detail">
|
1596
|
+
<a name="M000072"></a>
|
1597
1597
|
|
1598
1598
|
<div class="method-heading">
|
1599
|
-
<a href="LongDecimal.src/
|
1600
|
-
onclick="popupCode('LongDecimal.src/
|
1599
|
+
<a href="LongDecimal.src/M000072.html" target="Code" class="method-signature"
|
1600
|
+
onclick="popupCode('LongDecimal.src/M000072.html');return false;">
|
1601
1601
|
<span class="method-name">to_s_internal</span><span class="method-args">(b, sc)</span>
|
1602
1602
|
</a>
|
1603
1603
|
</div>
|