long-decimal 0.01.00 → 0.01.01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. data/README +6 -3
  2. data/Rakefile +1 -1
  3. data/VERSION +1 -1
  4. data/doc/classes/LongDecimal.html +207 -189
  5. data/doc/classes/LongDecimal.src/M000036.html +1 -1
  6. data/doc/classes/LongDecimal.src/M000037.html +1 -1
  7. data/doc/classes/LongDecimal.src/M000038.html +1 -1
  8. data/doc/classes/LongDecimal.src/M000039.html +1 -1
  9. data/doc/classes/LongDecimal.src/M000040.html +1 -1
  10. data/doc/classes/LongDecimal.src/M000041.html +1 -1
  11. data/doc/classes/LongDecimal.src/M000042.html +1 -1
  12. data/doc/classes/LongDecimal.src/M000043.html +1 -1
  13. data/doc/classes/LongDecimal.src/M000044.html +1 -1
  14. data/doc/classes/LongDecimal.src/M000045.html +1 -1
  15. data/doc/classes/LongDecimal.src/M000046.html +1 -1
  16. data/doc/classes/LongDecimal.src/M000047.html +1 -1
  17. data/doc/classes/LongDecimal.src/M000048.html +1 -1
  18. data/doc/classes/LongDecimal.src/M000049.html +1 -1
  19. data/doc/classes/LongDecimal.src/M000050.html +15 -2
  20. data/doc/classes/LongDecimal.src/M000051.html +1 -1
  21. data/doc/classes/LongDecimal.src/M000052.html +2 -2
  22. data/doc/classes/LongDecimal.src/M000053.html +1 -1
  23. data/doc/classes/LongDecimal.src/M000054.html +1 -1
  24. data/doc/classes/LongDecimal.src/M000055.html +1 -1
  25. data/doc/classes/LongDecimal.src/M000056.html +1 -1
  26. data/doc/classes/LongDecimal.src/M000057.html +1 -1
  27. data/doc/classes/LongDecimal.src/M000058.html +1 -1
  28. data/doc/classes/LongDecimal.src/M000059.html +1 -1
  29. data/doc/classes/LongDecimal.src/M000060.html +1 -1
  30. data/doc/classes/LongDecimal.src/M000062.html +1 -1
  31. data/doc/classes/LongDecimal.src/M000063.html +1 -1
  32. data/doc/classes/LongDecimal.src/M000064.html +1 -1
  33. data/doc/classes/LongDecimal.src/M000065.html +1 -1
  34. data/doc/classes/LongDecimal.src/M000066.html +4 -8
  35. data/doc/classes/LongDecimal.src/M000067.html +6 -7
  36. data/doc/classes/LongDecimal.src/M000068.html +5 -5
  37. data/doc/classes/LongDecimal.src/M000069.html +6 -6
  38. data/doc/classes/LongDecimal.src/M000070.html +9 -4
  39. data/doc/classes/LongDecimal.src/M000071.html +4 -19
  40. data/doc/classes/LongDecimal.src/M000072.html +15 -5
  41. data/doc/classes/LongDecimal.src/M000073.html +7 -7
  42. data/doc/classes/LongDecimal.src/M000074.html +7 -18
  43. data/doc/classes/LongDecimal.src/M000075.html +20 -7
  44. data/doc/classes/LongDecimal.src/M000076.html +8 -5
  45. data/doc/classes/LongDecimal.src/M000077.html +5 -9
  46. data/doc/classes/LongDecimal.src/M000078.html +5 -5
  47. data/doc/classes/LongDecimal.src/M000079.html +5 -5
  48. data/doc/classes/LongDecimal.src/M000080.html +9 -4
  49. data/doc/classes/LongDecimal.src/M000081.html +4 -7
  50. data/doc/classes/LongDecimal.src/M000082.html +4 -4
  51. data/doc/classes/LongDecimal.src/M000083.html +7 -4
  52. data/doc/classes/LongDecimal.src/M000084.html +4 -4
  53. data/doc/classes/LongDecimal.src/M000085.html +4 -9
  54. data/doc/classes/LongDecimal.src/M000086.html +6 -6
  55. data/doc/classes/LongDecimal.src/M000087.html +9 -5
  56. data/doc/classes/LongDecimal.src/M000088.html +4 -8
  57. data/doc/classes/LongDecimal.src/M000089.html +9 -4
  58. data/doc/classes/LongDecimal.src/M000090.html +4 -4
  59. data/doc/classes/LongDecimal.src/M000091.html +4 -4
  60. data/doc/classes/LongDecimal.src/M000092.html +4 -4
  61. data/doc/classes/LongDecimal.src/M000093.html +4 -59
  62. data/doc/classes/LongDecimal.src/M000094.html +59 -4
  63. data/doc/classes/LongDecimal.src/M000095.html +4 -4
  64. data/doc/classes/LongDecimal.src/M000096.html +4 -5
  65. data/doc/classes/LongDecimal.src/M000099.html +5 -5
  66. data/doc/classes/LongDecimal.src/M000100.html +5 -4
  67. data/doc/classes/LongDecimal.src/M000101.html +4 -4
  68. data/doc/classes/LongDecimal.src/M000102.html +4 -4
  69. data/doc/classes/LongDecimal.src/M000103.html +4 -4
  70. data/doc/classes/LongDecimalBase.html +53 -53
  71. data/doc/classes/LongDecimalBase.src/M000108.html +4 -4
  72. data/doc/classes/LongDecimalBase.src/M000109.html +4 -4
  73. data/doc/classes/LongDecimalBase.src/M000110.html +4 -4
  74. data/doc/classes/LongDecimalBase.src/M000111.html +4 -4
  75. data/doc/classes/LongDecimalBase.src/M000112.html +4 -9
  76. data/doc/classes/LongDecimalBase.src/M000113.html +9 -9
  77. data/doc/classes/LongDecimalBase.src/M000116.html +9 -5
  78. data/doc/classes/LongDecimalBase.src/M000117.html +5 -4
  79. data/doc/classes/LongDecimalQuot.html +1 -1
  80. data/doc/classes/LongDecimalQuot.src/M000003.html +1 -1
  81. data/doc/classes/LongDecimalQuot.src/M000004.html +1 -1
  82. data/doc/classes/LongDecimalQuot.src/M000005.html +1 -1
  83. data/doc/classes/LongDecimalQuot.src/M000006.html +1 -1
  84. data/doc/classes/LongDecimalQuot.src/M000007.html +1 -1
  85. data/doc/classes/LongDecimalQuot.src/M000008.html +1 -1
  86. data/doc/classes/LongDecimalQuot.src/M000009.html +1 -1
  87. data/doc/classes/LongDecimalQuot.src/M000010.html +1 -1
  88. data/doc/classes/LongDecimalQuot.src/M000011.html +1 -1
  89. data/doc/classes/LongDecimalQuot.src/M000012.html +2 -2
  90. data/doc/classes/LongDecimalQuot.src/M000013.html +1 -1
  91. data/doc/classes/LongDecimalQuot.src/M000014.html +1 -1
  92. data/doc/classes/LongDecimalQuot.src/M000015.html +1 -1
  93. data/doc/classes/LongDecimalQuot.src/M000016.html +1 -1
  94. data/doc/classes/LongDecimalQuot.src/M000017.html +1 -1
  95. data/doc/classes/LongDecimalQuot.src/M000018.html +1 -1
  96. data/doc/classes/LongDecimalQuot.src/M000019.html +1 -1
  97. data/doc/classes/LongDecimalQuot.src/M000020.html +1 -1
  98. data/doc/classes/LongDecimalQuot.src/M000021.html +1 -1
  99. data/doc/classes/LongDecimalQuot.src/M000022.html +1 -1
  100. data/doc/classes/LongDecimalQuot.src/M000023.html +1 -1
  101. data/doc/classes/LongDecimalQuot.src/M000024.html +1 -1
  102. data/doc/classes/LongDecimalQuot.src/M000025.html +1 -1
  103. data/doc/classes/LongDecimalQuot.src/M000026.html +1 -1
  104. data/doc/classes/LongDecimalQuot.src/M000027.html +1 -1
  105. data/doc/classes/LongDecimalQuot.src/M000028.html +1 -1
  106. data/doc/classes/LongDecimalQuot.src/M000029.html +1 -1
  107. data/doc/classes/LongDecimalQuot.src/M000030.html +1 -1
  108. data/doc/classes/LongDecimalQuot.src/M000031.html +1 -1
  109. data/doc/classes/LongDecimalQuot.src/M000034.html +1 -1
  110. data/doc/classes/LongDecimalQuot.src/M000035.html +1 -1
  111. data/doc/classes/LongDecimalRoundingMode.html +6 -1
  112. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +37 -16
  113. data/doc/classes/LongMath.html +246 -161
  114. data/doc/classes/LongMath.src/M000119.html +5 -4
  115. data/doc/classes/LongMath.src/M000120.html +4 -4
  116. data/doc/classes/LongMath.src/M000121.html +4 -5
  117. data/doc/classes/LongMath.src/M000122.html +5 -4
  118. data/doc/classes/LongMath.src/M000123.html +4 -18
  119. data/doc/classes/LongMath.src/M000124.html +14 -14
  120. data/doc/classes/LongMath.src/M000125.html +18 -5
  121. data/doc/classes/LongMath.src/M000126.html +5 -29
  122. data/doc/classes/LongMath.src/M000127.html +29 -5
  123. data/doc/classes/LongMath.src/M000128.html +5 -57
  124. data/doc/classes/LongMath.src/M000129.html +55 -19
  125. data/doc/classes/LongMath.src/M000130.html +20 -35
  126. data/doc/classes/LongMath.src/M000131.html +36 -6
  127. data/doc/classes/LongMath.src/M000132.html +6 -33
  128. data/doc/classes/LongMath.src/M000133.html +26 -44
  129. data/doc/classes/LongMath.src/M000134.html +49 -5
  130. data/doc/classes/LongMath.src/M000135.html +7 -4
  131. data/doc/classes/LongMath.src/M000136.html +4 -4
  132. data/doc/classes/LongMath.src/M000137.html +4 -72
  133. data/doc/classes/LongMath.src/M000138.html +67 -39
  134. data/doc/classes/LongMath.src/M000139.html +44 -4
  135. data/doc/classes/LongMath.src/M000140.html +4 -4
  136. data/doc/classes/LongMath.src/M000141.html +4 -6
  137. data/doc/classes/LongMath.src/M000142.html +4 -18
  138. data/doc/classes/LongMath.src/M000143.html +8 -7
  139. data/doc/classes/LongMath.src/M000144.html +10 -35
  140. data/doc/classes/LongMath.src/M000145.html +23 -202
  141. data/doc/classes/LongMath.src/M000146.html +322 -4
  142. data/doc/classes/LongMath.src/M000147.html +22 -63
  143. data/doc/classes/LongMath.src/M000148.html +65 -33
  144. data/doc/classes/LongMath/CacheKey.html +5 -5
  145. data/doc/classes/Numeric.html +11 -11
  146. data/doc/classes/Numeric.src/M000105.html +9 -4
  147. data/doc/classes/Rational.html +6 -6
  148. data/doc/created.rid +1 -1
  149. data/doc/files/lib/long-decimal_rb.html +2 -2
  150. data/doc/files/lib/long-decimal_rb.src/M000001.html +1 -1
  151. data/doc/files/lib/long-decimal_rb.src/M000002.html +1 -1
  152. data/doc/fr_method_index.html +102 -95
  153. data/lib/long-decimal.rb +206 -49
  154. data/test/testlongdecimal.rb +736 -21
  155. data/test/testlongdeclib.rb +136 -25
  156. data/test/testrandlib.rb +87 -0
  157. data/test/testrandom.rb +30 -45
  158. data/test/testrandpower.rb +72 -0
  159. metadata +4 -2
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1720</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1764</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">one?</span>
15
15
  (<span class="ruby-ivar">@rat</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1727</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1771</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_int?</span>
15
15
  <span class="ruby-identifier">denominator</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1734</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1778</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sgn</span>
15
15
  <span class="ruby-identifier">numerator</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-value">0</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1743</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1787</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
15
15
  <span class="ruby-identifier">rat</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">scale</span>.<span class="ruby-identifier">hash</span>
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1751</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/long-decimal.rb, line 1795</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
15
15
  <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;LongDecimalQuot(Rational(%s, %s), %s)&quot;</span>, <span class="ruby-identifier">numerator</span>.<span class="ruby-identifier">inspect</span>, <span class="ruby-identifier">denominator</span>.<span class="ruby-identifier">inspect</span>, <span class="ruby-identifier">scale</span>.<span class="ruby-identifier">inspect</span>)
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -173,10 +173,15 @@ rounding modes as constants
173
173
  <td class="context-item-value">RoundingModeClass.new(:ROUND_UNNECESSARY, 9)</td>
174
174
  </tr>
175
175
  <tr class="top-aligned-row context-row">
176
- <td class="context-item-name">INVERSE_MODE</td>
176
+ <td class="context-item-name">MUL_INVERSE_MODE</td>
177
177
  <td>=</td>
178
178
  <td class="context-item-value">{ ROUND_UP =&gt; ROUND_DOWN, ROUND_DOWN =&gt; ROUND_UP, ROUND_CEILING =&gt; ROUND_FLOOR, ROUND_FLOOR =&gt; ROUND_CEILING, ROUND_HALF_UP =&gt; ROUND_HALF_DOWN, ROUND_HALF_DOWN =&gt; ROUND_HALF_UP, ROUND_HALF_CEILING =&gt; ROUND_HALF_FLOOR, ROUND_HALF_FLOOR =&gt; ROUND_HALF_CEILING, ROUND_HALF_EVEN =&gt; ROUND_HALF_EVEN, ROUND_UNNECESSARY =&gt; ROUND_UNNECESSARY</td>
179
179
  </tr>
180
+ <tr class="top-aligned-row context-row">
181
+ <td class="context-item-name">ADD_INVERSE_MODE</td>
182
+ <td>=</td>
183
+ <td class="context-item-value">{ ROUND_UP =&gt; ROUND_UP, ROUND_DOWN =&gt; ROUND_DOWN, ROUND_CEILING =&gt; ROUND_FLOOR, ROUND_FLOOR =&gt; ROUND_CEILING, ROUND_HALF_UP =&gt; ROUND_HALF_UP, ROUND_HALF_DOWN =&gt; ROUND_HALF_DOWN, ROUND_HALF_CEILING =&gt; ROUND_HALF_FLOOR, ROUND_HALF_FLOOR =&gt; ROUND_HALF_CEILING, ROUND_HALF_EVEN =&gt; ROUND_HALF_EVEN, ROUND_UNNECESSARY =&gt; ROUND_UNNECESSARY</td>
184
+ </tr>
180
185
  </table>
181
186
  </div>
182
187
  </div>
@@ -101,9 +101,10 @@ by <a href="../LongDecimal.html">LongDecimal</a>
101
101
  <h3 class="section-bar">Methods</h3>
102
102
 
103
103
  <div class="name-list">
104
- <a href="#M000150">&lt;=&gt;</a>&nbsp;&nbsp;
105
- <a href="#M000152">hash</a>&nbsp;&nbsp;
106
- <a href="#M000151">inverse</a>&nbsp;&nbsp;
104
+ <a href="#M000156">&lt;=&gt;</a>&nbsp;&nbsp;
105
+ <a href="#M000158">ainverse</a>&nbsp;&nbsp;
106
+ <a href="#M000159">hash</a>&nbsp;&nbsp;
107
+ <a href="#M000157">minverse</a>&nbsp;&nbsp;
107
108
  </div>
108
109
  </div>
109
110
 
@@ -132,12 +133,12 @@ by <a href="../LongDecimal.html">LongDecimal</a>
132
133
  <div id="methods">
133
134
  <h3 class="section-bar">Public Instance methods</h3>
134
135
 
135
- <div id="method-M000150" class="method-detail">
136
- <a name="M000150"></a>
136
+ <div id="method-M000156" class="method-detail">
137
+ <a name="M000156"></a>
137
138
 
138
139
  <div class="method-heading">
139
- <a href="RoundingModeClass.src/M000150.html" target="Code" class="method-signature"
140
- onclick="popupCode('RoundingModeClass.src/M000150.html');return false;">
140
+ <a href="RoundingModeClass.src/M000156.html" target="Code" class="method-signature"
141
+ onclick="popupCode('RoundingModeClass.src/M000156.html');return false;">
141
142
  <span class="method-name">&lt;=&gt;</span><span class="method-args">(o)</span>
142
143
  </a>
143
144
  </div>
@@ -149,12 +150,29 @@ introduce some ordering for rounding modes
149
150
  </div>
150
151
  </div>
151
152
 
152
- <div id="method-M000152" class="method-detail">
153
- <a name="M000152"></a>
153
+ <div id="method-M000158" class="method-detail">
154
+ <a name="M000158"></a>
154
155
 
155
156
  <div class="method-heading">
156
- <a href="RoundingModeClass.src/M000152.html" target="Code" class="method-signature"
157
- onclick="popupCode('RoundingModeClass.src/M000152.html');return false;">
157
+ <a href="RoundingModeClass.src/M000158.html" target="Code" class="method-signature"
158
+ onclick="popupCode('RoundingModeClass.src/M000158.html');return false;">
159
+ <span class="method-name">ainverse</span><span class="method-args">()</span>
160
+ </a>
161
+ </div>
162
+
163
+ <div class="method-description">
164
+ <p>
165
+ inverse mode in terms of addition
166
+ </p>
167
+ </div>
168
+ </div>
169
+
170
+ <div id="method-M000159" class="method-detail">
171
+ <a name="M000159"></a>
172
+
173
+ <div class="method-heading">
174
+ <a href="RoundingModeClass.src/M000159.html" target="Code" class="method-signature"
175
+ onclick="popupCode('RoundingModeClass.src/M000159.html');return false;">
158
176
  <span class="method-name">hash</span><span class="method-args">()</span>
159
177
  </a>
160
178
  </div>
@@ -163,17 +181,20 @@ introduce some ordering for rounding modes
163
181
  </div>
164
182
  </div>
165
183
 
166
- <div id="method-M000151" class="method-detail">
167
- <a name="M000151"></a>
184
+ <div id="method-M000157" class="method-detail">
185
+ <a name="M000157"></a>
168
186
 
169
187
  <div class="method-heading">
170
- <a href="RoundingModeClass.src/M000151.html" target="Code" class="method-signature"
171
- onclick="popupCode('RoundingModeClass.src/M000151.html');return false;">
172
- <span class="method-name">inverse</span><span class="method-args">()</span>
188
+ <a href="RoundingModeClass.src/M000157.html" target="Code" class="method-signature"
189
+ onclick="popupCode('RoundingModeClass.src/M000157.html');return false;">
190
+ <span class="method-name">minverse</span><span class="method-args">()</span>
173
191
  </a>
174
192
  </div>
175
193
 
176
194
  <div class="method-description">
195
+ <p>
196
+ inverse mode in terms of multiplication
197
+ </p>
177
198
  </div>
178
199
  </div>
179
200
 
@@ -101,37 +101,42 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
101
101
  <h3 class="section-bar">Methods</h3>
102
102
 
103
103
  <div class="name-list">
104
- <a href="#M000146">calc_iprec_for_power</a>&nbsp;&nbsp;
105
- <a href="#M000119">check_is_int</a>&nbsp;&nbsp;
106
- <a href="#M000120">check_is_ld</a>&nbsp;&nbsp;
107
- <a href="#M000122">check_is_mode</a>&nbsp;&nbsp;
108
- <a href="#M000121">check_is_prec</a>&nbsp;&nbsp;
109
- <a href="#M000118">check_word_len</a>&nbsp;&nbsp;
110
- <a href="#M000134">exp</a>&nbsp;&nbsp;
111
- <a href="#M000136">exp10</a>&nbsp;&nbsp;
112
- <a href="#M000135">exp2</a>&nbsp;&nbsp;
113
- <a href="#M000137">exp_internal</a>&nbsp;&nbsp;
114
- <a href="#M000138">exp_raw</a>&nbsp;&nbsp;
115
- <a href="#M000129">gcd_with_high_power</a>&nbsp;&nbsp;
116
- <a href="#M000132">int_digits10</a>&nbsp;&nbsp;
117
- <a href="#M000141">log</a>&nbsp;&nbsp;
118
- <a href="#M000142">log10</a>&nbsp;&nbsp;
119
- <a href="#M000143">log2</a>&nbsp;&nbsp;
120
- <a href="#M000144">log_internal</a>&nbsp;&nbsp;
121
- <a href="#M000145">log_raw</a>&nbsp;&nbsp;
122
- <a href="#M000124">merge_from_words</a>&nbsp;&nbsp;
123
- <a href="#M000131">multiplicity_of_10</a>&nbsp;&nbsp;
124
- <a href="#M000130">multiplicity_of_factor</a>&nbsp;&nbsp;
125
- <a href="#M000133">pi</a>&nbsp;&nbsp;
126
- <a href="#M000147">power</a>&nbsp;&nbsp;
127
- <a href="#M000148">power_internal</a>&nbsp;&nbsp;
128
- <a href="#M000123">split_to_words</a>&nbsp;&nbsp;
129
- <a href="#M000139">sqrt</a>&nbsp;&nbsp;
130
- <a href="#M000140">sqrt_with_remainder</a>&nbsp;&nbsp;
131
- <a href="#M000125">sqrtb</a>&nbsp;&nbsp;
132
- <a href="#M000126">sqrtb_with_remainder</a>&nbsp;&nbsp;
133
- <a href="#M000127">sqrtw</a>&nbsp;&nbsp;
134
- <a href="#M000128">sqrtw_with_remainder</a>&nbsp;&nbsp;
104
+ <a href="#M000147">calc_iprec_for_power</a>&nbsp;&nbsp;
105
+ <a href="#M000120">check_is_int</a>&nbsp;&nbsp;
106
+ <a href="#M000121">check_is_ld</a>&nbsp;&nbsp;
107
+ <a href="#M000123">check_is_mode</a>&nbsp;&nbsp;
108
+ <a href="#M000122">check_is_prec</a>&nbsp;&nbsp;
109
+ <a href="#M000119">check_word_len</a>&nbsp;&nbsp;
110
+ <a href="#M000135">exp</a>&nbsp;&nbsp;
111
+ <a href="#M000137">exp10</a>&nbsp;&nbsp;
112
+ <a href="#M000136">exp2</a>&nbsp;&nbsp;
113
+ <a href="#M000138">exp_internal</a>&nbsp;&nbsp;
114
+ <a href="#M000139">exp_raw</a>&nbsp;&nbsp;
115
+ <a href="#M000130">gcd_with_high_power</a>&nbsp;&nbsp;
116
+ <a href="#M000133">int_digits10</a>&nbsp;&nbsp;
117
+ <a href="#M000149">ipower</a>&nbsp;&nbsp;
118
+ <a href="#M000142">log</a>&nbsp;&nbsp;
119
+ <a href="#M000143">log10</a>&nbsp;&nbsp;
120
+ <a href="#M000144">log2</a>&nbsp;&nbsp;
121
+ <a href="#M000145">log_internal</a>&nbsp;&nbsp;
122
+ <a href="#M000146">log_raw</a>&nbsp;&nbsp;
123
+ <a href="#M000125">merge_from_words</a>&nbsp;&nbsp;
124
+ <a href="#M000132">multiplicity_of_10</a>&nbsp;&nbsp;
125
+ <a href="#M000131">multiplicity_of_factor</a>&nbsp;&nbsp;
126
+ <a href="#M000134">pi</a>&nbsp;&nbsp;
127
+ <a href="#M000148">power</a>&nbsp;&nbsp;
128
+ <a href="#M000150">power_internal</a>&nbsp;&nbsp;
129
+ <a href="#M000124">split_to_words</a>&nbsp;&nbsp;
130
+ <a href="#M000140">sqrt</a>&nbsp;&nbsp;
131
+ <a href="#M000141">sqrt_with_remainder</a>&nbsp;&nbsp;
132
+ <a href="#M000126">sqrtb</a>&nbsp;&nbsp;
133
+ <a href="#M000127">sqrtb_with_remainder</a>&nbsp;&nbsp;
134
+ <a href="#M000128">sqrtw</a>&nbsp;&nbsp;
135
+ <a href="#M000129">sqrtw_with_remainder</a>&nbsp;&nbsp;
136
+ <a href="#M000153">standard_imode</a>&nbsp;&nbsp;
137
+ <a href="#M000154">standard_imode=</a>&nbsp;&nbsp;
138
+ <a href="#M000151">standard_mode</a>&nbsp;&nbsp;
139
+ <a href="#M000152">standard_mode=</a>&nbsp;&nbsp;
135
140
  </div>
136
141
  </div>
137
142
 
@@ -171,6 +176,11 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
171
176
  <td>=</td>
172
177
  <td class="context-item-value">Math.log(MAX_FLOATABLE).to_i</td>
173
178
  </tr>
179
+ <tr class="top-aligned-row context-row">
180
+ <td class="context-item-name">MIN_FLOATABLE</td>
181
+ <td>=</td>
182
+ <td class="context-item-value">Float::MIN.to_ld(340, LongMath::ROUND_UP)</td>
183
+ </tr>
174
184
  <tr class="top-aligned-row context-row">
175
185
  <td class="context-item-name">LOG2</td>
176
186
  <td>=</td>
@@ -199,12 +209,12 @@ href="LongDecimal.html">LongDecimal</a> instead of Float.
199
209
  <div id="methods">
200
210
  <h3 class="section-bar">Public Class methods</h3>
201
211
 
202
- <div id="method-M000146" class="method-detail">
203
- <a name="M000146"></a>
212
+ <div id="method-M000147" class="method-detail">
213
+ <a name="M000147"></a>
204
214
 
205
215
  <div class="method-heading">
206
- <a href="LongMath.src/M000146.html" target="Code" class="method-signature"
207
- onclick="popupCode('LongMath.src/M000146.html');return false;">
216
+ <a href="LongMath.src/M000147.html" target="Code" class="method-signature"
217
+ onclick="popupCode('LongMath.src/M000147.html');return false;">
208
218
  <span class="method-name">calc_iprec_for_power</span><span class="method-args">(x, y, prec)</span>
209
219
  </a>
210
220
  </div>
@@ -216,12 +226,12 @@ internal helper method for calculating the internal precision for power
216
226
  </div>
217
227
  </div>
218
228
 
219
- <div id="method-M000119" class="method-detail">
220
- <a name="M000119"></a>
229
+ <div id="method-M000120" class="method-detail">
230
+ <a name="M000120"></a>
221
231
 
222
232
  <div class="method-heading">
223
- <a href="LongMath.src/M000119.html" target="Code" class="method-signature"
224
- onclick="popupCode('LongMath.src/M000119.html');return false;">
233
+ <a href="LongMath.src/M000120.html" target="Code" class="method-signature"
234
+ onclick="popupCode('LongMath.src/M000120.html');return false;">
225
235
  <span class="method-name">check_is_int</span><span class="method-args">(x, name=&quot;x&quot;)</span>
226
236
  </a>
227
237
  </div>
@@ -233,12 +243,12 @@ helper method for internal use: checks if parameter x is an Integer
233
243
  </div>
234
244
  </div>
235
245
 
236
- <div id="method-M000120" class="method-detail">
237
- <a name="M000120"></a>
246
+ <div id="method-M000121" class="method-detail">
247
+ <a name="M000121"></a>
238
248
 
239
249
  <div class="method-heading">
240
- <a href="LongMath.src/M000120.html" target="Code" class="method-signature"
241
- onclick="popupCode('LongMath.src/M000120.html');return false;">
250
+ <a href="LongMath.src/M000121.html" target="Code" class="method-signature"
251
+ onclick="popupCode('LongMath.src/M000121.html');return false;">
242
252
  <span class="method-name">check_is_ld</span><span class="method-args">(x, name=&quot;x&quot;)</span>
243
253
  </a>
244
254
  </div>
@@ -251,12 +261,12 @@ href="LongDecimal.html">LongDecimal</a>
251
261
  </div>
252
262
  </div>
253
263
 
254
- <div id="method-M000122" class="method-detail">
255
- <a name="M000122"></a>
264
+ <div id="method-M000123" class="method-detail">
265
+ <a name="M000123"></a>
256
266
 
257
267
  <div class="method-heading">
258
- <a href="LongMath.src/M000122.html" target="Code" class="method-signature"
259
- onclick="popupCode('LongMath.src/M000122.html');return false;">
268
+ <a href="LongMath.src/M000123.html" target="Code" class="method-signature"
269
+ onclick="popupCode('LongMath.src/M000123.html');return false;">
260
270
  <span class="method-name">check_is_mode</span><span class="method-args">(mode, name=&quot;mode&quot;)</span>
261
271
  </a>
262
272
  </div>
@@ -269,12 +279,12 @@ helper method for internal use: checks if parameter x is a rounding mode
269
279
  </div>
270
280
  </div>
271
281
 
272
- <div id="method-M000121" class="method-detail">
273
- <a name="M000121"></a>
282
+ <div id="method-M000122" class="method-detail">
283
+ <a name="M000122"></a>
274
284
 
275
285
  <div class="method-heading">
276
- <a href="LongMath.src/M000121.html" target="Code" class="method-signature"
277
- onclick="popupCode('LongMath.src/M000121.html');return false;">
286
+ <a href="LongMath.src/M000122.html" target="Code" class="method-signature"
287
+ onclick="popupCode('LongMath.src/M000122.html');return false;">
278
288
  <span class="method-name">check_is_prec</span><span class="method-args">(prec, name=&quot;prec&quot;)</span>
279
289
  </a>
280
290
  </div>
@@ -287,12 +297,12 @@ for the precision (scale) of a <a href="LongDecimal.html">LongDecimal</a>
287
297
  </div>
288
298
  </div>
289
299
 
290
- <div id="method-M000118" class="method-detail">
291
- <a name="M000118"></a>
300
+ <div id="method-M000119" class="method-detail">
301
+ <a name="M000119"></a>
292
302
 
293
303
  <div class="method-heading">
294
- <a href="LongMath.src/M000118.html" target="Code" class="method-signature"
295
- onclick="popupCode('LongMath.src/M000118.html');return false;">
304
+ <a href="LongMath.src/M000119.html" target="Code" class="method-signature"
305
+ onclick="popupCode('LongMath.src/M000119.html');return false;">
296
306
  <span class="method-name">check_word_len</span><span class="method-args">(word_len, name=&quot;word_len&quot;)</span>
297
307
  </a>
298
308
  </div>
@@ -305,13 +315,13 @@ splitting a number into parts
305
315
  </div>
306
316
  </div>
307
317
 
308
- <div id="method-M000134" class="method-detail">
309
- <a name="M000134"></a>
318
+ <div id="method-M000135" class="method-detail">
319
+ <a name="M000135"></a>
310
320
 
311
321
  <div class="method-heading">
312
- <a href="LongMath.src/M000134.html" target="Code" class="method-signature"
313
- onclick="popupCode('LongMath.src/M000134.html');return false;">
314
- <span class="method-name">exp</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
322
+ <a href="LongMath.src/M000135.html" target="Code" class="method-signature"
323
+ onclick="popupCode('LongMath.src/M000135.html');return false;">
324
+ <span class="method-name">exp</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
315
325
  </a>
316
326
  </div>
317
327
 
@@ -327,13 +337,13 @@ future versions.
327
337
  </div>
328
338
  </div>
329
339
 
330
- <div id="method-M000136" class="method-detail">
331
- <a name="M000136"></a>
340
+ <div id="method-M000137" class="method-detail">
341
+ <a name="M000137"></a>
332
342
 
333
343
  <div class="method-heading">
334
- <a href="LongMath.src/M000136.html" target="Code" class="method-signature"
335
- onclick="popupCode('LongMath.src/M000136.html');return false;">
336
- <span class="method-name">exp10</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
344
+ <a href="LongMath.src/M000137.html" target="Code" class="method-signature"
345
+ onclick="popupCode('LongMath.src/M000137.html');return false;">
346
+ <span class="method-name">exp10</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
337
347
  </a>
338
348
  </div>
339
349
 
@@ -348,13 +358,13 @@ with the exponential function that exceed the memory.
348
358
  </div>
349
359
  </div>
350
360
 
351
- <div id="method-M000135" class="method-detail">
352
- <a name="M000135"></a>
361
+ <div id="method-M000136" class="method-detail">
362
+ <a name="M000136"></a>
353
363
 
354
364
  <div class="method-heading">
355
- <a href="LongMath.src/M000135.html" target="Code" class="method-signature"
356
- onclick="popupCode('LongMath.src/M000135.html');return false;">
357
- <span class="method-name">exp2</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
365
+ <a href="LongMath.src/M000136.html" target="Code" class="method-signature"
366
+ onclick="popupCode('LongMath.src/M000136.html');return false;">
367
+ <span class="method-name">exp2</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
358
368
  </a>
359
369
  </div>
360
370
 
@@ -369,13 +379,13 @@ with the exponential function that exceed the memory.
369
379
  </div>
370
380
  </div>
371
381
 
372
- <div id="method-M000137" class="method-detail">
373
- <a name="M000137"></a>
382
+ <div id="method-M000138" class="method-detail">
383
+ <a name="M000138"></a>
374
384
 
375
385
  <div class="method-heading">
376
- <a href="LongMath.src/M000137.html" target="Code" class="method-signature"
377
- onclick="popupCode('LongMath.src/M000137.html');return false;">
378
- <span class="method-name">exp_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, j = nil, k = nil, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN, cache_result = true)</span>
386
+ <a href="LongMath.src/M000138.html" target="Code" class="method-signature"
387
+ onclick="popupCode('LongMath.src/M000138.html');return false;">
388
+ <span class="method-name">exp_internal</span><span class="method-args">(x, prec = nil, final_mode = LongMath.standard_mode, j = nil, k = nil, iprec = nil, mode = LongMath.standard_imode, cache_result = true)</span>
379
389
  </a>
380
390
  </div>
381
391
 
@@ -389,12 +399,12 @@ if the default settings for the parameters do not work correctly
389
399
  </div>
390
400
  </div>
391
401
 
392
- <div id="method-M000138" class="method-detail">
393
- <a name="M000138"></a>
402
+ <div id="method-M000139" class="method-detail">
403
+ <a name="M000139"></a>
394
404
 
395
405
  <div class="method-heading">
396
- <a href="LongMath.src/M000138.html" target="Code" class="method-signature"
397
- onclick="popupCode('LongMath.src/M000138.html');return false;">
406
+ <a href="LongMath.src/M000139.html" target="Code" class="method-signature"
407
+ onclick="popupCode('LongMath.src/M000139.html');return false;">
398
408
  <span class="method-name">exp_raw</span><span class="method-args">(x, prec, j, k, iprec, mode)</span>
399
409
  </a>
400
410
  </div>
@@ -407,12 +417,12 @@ to be accurate to all digits that are provided.
407
417
  </div>
408
418
  </div>
409
419
 
410
- <div id="method-M000129" class="method-detail">
411
- <a name="M000129"></a>
420
+ <div id="method-M000130" class="method-detail">
421
+ <a name="M000130"></a>
412
422
 
413
423
  <div class="method-heading">
414
- <a href="LongMath.src/M000129.html" target="Code" class="method-signature"
415
- onclick="popupCode('LongMath.src/M000129.html');return false;">
424
+ <a href="LongMath.src/M000130.html" target="Code" class="method-signature"
425
+ onclick="popupCode('LongMath.src/M000130.html');return false;">
416
426
  <span class="method-name">gcd_with_high_power</span><span class="method-args">(x, b)</span>
417
427
  </a>
418
428
  </div>
@@ -425,12 +435,12 @@ exponent such that gcd(x, b**m) = gcd(x, b**n) for all m, n &gt;= n0
425
435
  </div>
426
436
  </div>
427
437
 
428
- <div id="method-M000132" class="method-detail">
429
- <a name="M000132"></a>
438
+ <div id="method-M000133" class="method-detail">
439
+ <a name="M000133"></a>
430
440
 
431
441
  <div class="method-heading">
432
- <a href="LongMath.src/M000132.html" target="Code" class="method-signature"
433
- onclick="popupCode('LongMath.src/M000132.html');return false;">
442
+ <a href="LongMath.src/M000133.html" target="Code" class="method-signature"
443
+ onclick="popupCode('LongMath.src/M000133.html');return false;">
434
444
  <span class="method-name">int_digits10</span><span class="method-args">(n)</span>
435
445
  </a>
436
446
  </div>
@@ -442,20 +452,21 @@ find number of digits in base 10 needed to express the given number n
442
452
  </div>
443
453
  </div>
444
454
 
445
- <div id="method-M000141" class="method-detail">
446
- <a name="M000141"></a>
455
+ <div id="method-M000149" class="method-detail">
456
+ <a name="M000149"></a>
447
457
 
448
458
  <div class="method-heading">
449
- <a href="LongMath.src/M000141.html" target="Code" class="method-signature"
450
- onclick="popupCode('LongMath.src/M000141.html');return false;">
451
- <span class="method-name">log</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
459
+ <a href="LongMath.src/M000149.html" target="Code" class="method-signature"
460
+ onclick="popupCode('LongMath.src/M000149.html');return false;">
461
+ <span class="method-name">ipower</span><span class="method-args">(x, y, prec, mode)</span>
452
462
  </a>
453
463
  </div>
454
464
 
455
465
  <div class="method-description">
456
466
  <p>
457
- calculate the natural logarithm function of x to the given precision as <a
458
- href="LongDecimal.html">LongDecimal</a>.
467
+ internal functionality to calculate the y-th power of x assuming that y is
468
+ an integer prec is a hint on how much internal precision is needed at most
469
+ final rounding is left to the caller
459
470
  </p>
460
471
  </div>
461
472
  </div>
@@ -466,13 +477,13 @@ href="LongDecimal.html">LongDecimal</a>.
466
477
  <div class="method-heading">
467
478
  <a href="LongMath.src/M000142.html" target="Code" class="method-signature"
468
479
  onclick="popupCode('LongMath.src/M000142.html');return false;">
469
- <span class="method-name">log10</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
480
+ <span class="method-name">log</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
470
481
  </a>
471
482
  </div>
472
483
 
473
484
  <div class="method-description">
474
485
  <p>
475
- calculate the base 10 logarithm of x to the given precision as <a
486
+ calculate the natural logarithm function of x to the given precision as <a
476
487
  href="LongDecimal.html">LongDecimal</a>.
477
488
  </p>
478
489
  </div>
@@ -484,13 +495,13 @@ href="LongDecimal.html">LongDecimal</a>.
484
495
  <div class="method-heading">
485
496
  <a href="LongMath.src/M000143.html" target="Code" class="method-signature"
486
497
  onclick="popupCode('LongMath.src/M000143.html');return false;">
487
- <span class="method-name">log2</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
498
+ <span class="method-name">log10</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
488
499
  </a>
489
500
  </div>
490
501
 
491
502
  <div class="method-description">
492
503
  <p>
493
- calculate the base 2 logarithm of x to the given precision as <a
504
+ calculate the base 10 logarithm of x to the given precision as <a
494
505
  href="LongDecimal.html">LongDecimal</a>.
495
506
  </p>
496
507
  </div>
@@ -502,16 +513,14 @@ href="LongDecimal.html">LongDecimal</a>.
502
513
  <div class="method-heading">
503
514
  <a href="LongMath.src/M000144.html" target="Code" class="method-signature"
504
515
  onclick="popupCode('LongMath.src/M000144.html');return false;">
505
- <span class="method-name">log_internal</span><span class="method-args">(x, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN, cache_result = true)</span>
516
+ <span class="method-name">log2</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
506
517
  </a>
507
518
  </div>
508
519
 
509
520
  <div class="method-description">
510
521
  <p>
511
- internal functionality of log. exposes some more parameters, that should
512
- usually be set to defaut values, in order to allow better testing. do not
513
- actually call this method unless you are testing log. create a bug report,
514
- if the default settings for the parameters do not work correctly
522
+ calculate the base 2 logarithm of x to the given precision as <a
523
+ href="LongDecimal.html">LongDecimal</a>.
515
524
  </p>
516
525
  </div>
517
526
  </div>
@@ -522,6 +531,26 @@ if the default settings for the parameters do not work correctly
522
531
  <div class="method-heading">
523
532
  <a href="LongMath.src/M000145.html" target="Code" class="method-signature"
524
533
  onclick="popupCode('LongMath.src/M000145.html');return false;">
534
+ <span class="method-name">log_internal</span><span class="method-args">(x, prec = nil, final_mode = LongMath.standard_mode, iprec = nil, mode = LongMath.standard_imode, cache_result = true)</span>
535
+ </a>
536
+ </div>
537
+
538
+ <div class="method-description">
539
+ <p>
540
+ internal functionality of log. exposes some more parameters, that should
541
+ usually be set to defaut values, in order to allow better testing. do not
542
+ actually call this method unless you are testing log. create a bug report,
543
+ if the default settings for the parameters do not work correctly
544
+ </p>
545
+ </div>
546
+ </div>
547
+
548
+ <div id="method-M000146" class="method-detail">
549
+ <a name="M000146"></a>
550
+
551
+ <div class="method-heading">
552
+ <a href="LongMath.src/M000146.html" target="Code" class="method-signature"
553
+ onclick="popupCode('LongMath.src/M000146.html');return false;">
525
554
  <span class="method-name">log_raw</span><span class="method-args">(x, prec, iprec, mode)</span>
526
555
  </a>
527
556
  </div>
@@ -534,12 +563,12 @@ in order to ensure that all digits that are provided are correct.
534
563
  </div>
535
564
  </div>
536
565
 
537
- <div id="method-M000124" class="method-detail">
538
- <a name="M000124"></a>
566
+ <div id="method-M000125" class="method-detail">
567
+ <a name="M000125"></a>
539
568
 
540
569
  <div class="method-heading">
541
- <a href="LongMath.src/M000124.html" target="Code" class="method-signature"
542
- onclick="popupCode('LongMath.src/M000124.html');return false;">
570
+ <a href="LongMath.src/M000125.html" target="Code" class="method-signature"
571
+ onclick="popupCode('LongMath.src/M000125.html');return false;">
543
572
  <span class="method-name">merge_from_words</span><span class="method-args">(words, word_len = 32)</span>
544
573
  </a>
545
574
  </div>
@@ -547,17 +576,17 @@ in order to ensure that all digits that are provided are correct.
547
576
  <div class="method-description">
548
577
  <p>
549
578
  concatenate numbers given in words as bit patterns (the opposite of <a
550
- href="LongMath.html#M000123">split_to_words</a>)
579
+ href="LongMath.html#M000124">split_to_words</a>)
551
580
  </p>
552
581
  </div>
553
582
  </div>
554
583
 
555
- <div id="method-M000131" class="method-detail">
556
- <a name="M000131"></a>
584
+ <div id="method-M000132" class="method-detail">
585
+ <a name="M000132"></a>
557
586
 
558
587
  <div class="method-heading">
559
- <a href="LongMath.src/M000131.html" target="Code" class="method-signature"
560
- onclick="popupCode('LongMath.src/M000131.html');return false;">
588
+ <a href="LongMath.src/M000132.html" target="Code" class="method-signature"
589
+ onclick="popupCode('LongMath.src/M000132.html');return false;">
561
590
  <span class="method-name">multiplicity_of_10</span><span class="method-args">(n)</span>
562
591
  </a>
563
592
  </div>
@@ -569,12 +598,12 @@ how many times can n be divided by 10?
569
598
  </div>
570
599
  </div>
571
600
 
572
- <div id="method-M000130" class="method-detail">
573
- <a name="M000130"></a>
601
+ <div id="method-M000131" class="method-detail">
602
+ <a name="M000131"></a>
574
603
 
575
604
  <div class="method-heading">
576
- <a href="LongMath.src/M000130.html" target="Code" class="method-signature"
577
- onclick="popupCode('LongMath.src/M000130.html');return false;">
605
+ <a href="LongMath.src/M000131.html" target="Code" class="method-signature"
606
+ onclick="popupCode('LongMath.src/M000131.html');return false;">
578
607
  <span class="method-name">multiplicity_of_factor</span><span class="method-args">(x, prime_number)</span>
579
608
  </a>
580
609
  </div>
@@ -591,13 +620,13 @@ that exceed the range of Float
591
620
  </div>
592
621
  </div>
593
622
 
594
- <div id="method-M000133" class="method-detail">
595
- <a name="M000133"></a>
623
+ <div id="method-M000134" class="method-detail">
624
+ <a name="M000134"></a>
596
625
 
597
626
  <div class="method-heading">
598
- <a href="LongMath.src/M000133.html" target="Code" class="method-signature"
599
- onclick="popupCode('LongMath.src/M000133.html');return false;">
600
- <span class="method-name">pi</span><span class="method-args">(prec, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = nil, cache_result = true)</span>
627
+ <a href="LongMath.src/M000134.html" target="Code" class="method-signature"
628
+ onclick="popupCode('LongMath.src/M000134.html');return false;">
629
+ <span class="method-name">pi</span><span class="method-args">(prec, final_mode = LongMath.standard_mode, iprec = nil, mode = nil, cache_result = true)</span>
601
630
  </a>
602
631
  </div>
603
632
 
@@ -619,13 +648,13 @@ long result is really needed only once
619
648
  </div>
620
649
  </div>
621
650
 
622
- <div id="method-M000147" class="method-detail">
623
- <a name="M000147"></a>
651
+ <div id="method-M000148" class="method-detail">
652
+ <a name="M000148"></a>
624
653
 
625
654
  <div class="method-heading">
626
- <a href="LongMath.src/M000147.html" target="Code" class="method-signature"
627
- onclick="popupCode('LongMath.src/M000147.html');return false;">
628
- <span class="method-name">power</span><span class="method-args">(x, y, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
655
+ <a href="LongMath.src/M000148.html" target="Code" class="method-signature"
656
+ onclick="popupCode('LongMath.src/M000148.html');return false;">
657
+ <span class="method-name">power</span><span class="method-args">(x, y, prec, mode = LongMath.standard_mode)</span>
629
658
  </a>
630
659
  </div>
631
660
 
@@ -638,13 +667,13 @@ that exp(y) still fits into a float (y &lt;= 709)
638
667
  </div>
639
668
  </div>
640
669
 
641
- <div id="method-M000148" class="method-detail">
642
- <a name="M000148"></a>
670
+ <div id="method-M000150" class="method-detail">
671
+ <a name="M000150"></a>
643
672
 
644
673
  <div class="method-heading">
645
- <a href="LongMath.src/M000148.html" target="Code" class="method-signature"
646
- onclick="popupCode('LongMath.src/M000148.html');return false;">
647
- <span class="method-name">power_internal</span><span class="method-args">(x, y, prec = nil, final_mode = LongDecimal::ROUND_HALF_DOWN, iprec = nil, mode = LongDecimal::ROUND_HALF_DOWN)</span>
674
+ <a href="LongMath.src/M000150.html" target="Code" class="method-signature"
675
+ onclick="popupCode('LongMath.src/M000150.html');return false;">
676
+ <span class="method-name">power_internal</span><span class="method-args">(x, y, prec = nil, final_mode = LongMath.standard_mode, iprec = nil, mode = LongMath.standard_imode)</span>
648
677
  </a>
649
678
  </div>
650
679
 
@@ -658,12 +687,12 @@ if the default settings for the parameters do not work correctly
658
687
  </div>
659
688
  </div>
660
689
 
661
- <div id="method-M000123" class="method-detail">
662
- <a name="M000123"></a>
690
+ <div id="method-M000124" class="method-detail">
691
+ <a name="M000124"></a>
663
692
 
664
693
  <div class="method-heading">
665
- <a href="LongMath.src/M000123.html" target="Code" class="method-signature"
666
- onclick="popupCode('LongMath.src/M000123.html');return false;">
694
+ <a href="LongMath.src/M000124.html" target="Code" class="method-signature"
695
+ onclick="popupCode('LongMath.src/M000124.html');return false;">
667
696
  <span class="method-name">split_to_words</span><span class="method-args">(x, word_len = 32)</span>
668
697
  </a>
669
698
  </div>
@@ -672,18 +701,18 @@ if the default settings for the parameters do not work correctly
672
701
  <p>
673
702
  split number (Integer) x into parts of word_len bits each such that the
674
703
  concatenation of these parts as bit patterns is x (the opposite of <a
675
- href="LongMath.html#M000124">merge_from_words</a>)
704
+ href="LongMath.html#M000125">merge_from_words</a>)
676
705
  </p>
677
706
  </div>
678
707
  </div>
679
708
 
680
- <div id="method-M000139" class="method-detail">
681
- <a name="M000139"></a>
709
+ <div id="method-M000140" class="method-detail">
710
+ <a name="M000140"></a>
682
711
 
683
712
  <div class="method-heading">
684
- <a href="LongMath.src/M000139.html" target="Code" class="method-signature"
685
- onclick="popupCode('LongMath.src/M000139.html');return false;">
686
- <span class="method-name">sqrt</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
713
+ <a href="LongMath.src/M000140.html" target="Code" class="method-signature"
714
+ onclick="popupCode('LongMath.src/M000140.html');return false;">
715
+ <span class="method-name">sqrt</span><span class="method-args">(x, prec, mode = LongMath.standard_mode)</span>
687
716
  </a>
688
717
  </div>
689
718
 
@@ -695,12 +724,12 @@ href="LongDecimal.html">LongDecimal</a>.
695
724
  </div>
696
725
  </div>
697
726
 
698
- <div id="method-M000140" class="method-detail">
699
- <a name="M000140"></a>
727
+ <div id="method-M000141" class="method-detail">
728
+ <a name="M000141"></a>
700
729
 
701
730
  <div class="method-heading">
702
- <a href="LongMath.src/M000140.html" target="Code" class="method-signature"
703
- onclick="popupCode('LongMath.src/M000140.html');return false;">
731
+ <a href="LongMath.src/M000141.html" target="Code" class="method-signature"
732
+ onclick="popupCode('LongMath.src/M000141.html');return false;">
704
733
  <span class="method-name">sqrt_with_remainder</span><span class="method-args">(x, prec)</span>
705
734
  </a>
706
735
  </div>
@@ -713,12 +742,12 @@ href="LongDecimal.html">LongDecimal</a> with remainder
713
742
  </div>
714
743
  </div>
715
744
 
716
- <div id="method-M000125" class="method-detail">
717
- <a name="M000125"></a>
745
+ <div id="method-M000126" class="method-detail">
746
+ <a name="M000126"></a>
718
747
 
719
748
  <div class="method-heading">
720
- <a href="LongMath.src/M000125.html" target="Code" class="method-signature"
721
- onclick="popupCode('LongMath.src/M000125.html');return false;">
749
+ <a href="LongMath.src/M000126.html" target="Code" class="method-signature"
750
+ onclick="popupCode('LongMath.src/M000126.html');return false;">
722
751
  <span class="method-name">sqrtb</span><span class="method-args">(x)</span>
723
752
  </a>
724
753
  </div>
@@ -731,12 +760,12 @@ result is rounded to an integer y such that y**2
731
760
  </div>
732
761
  </div>
733
762
 
734
- <div id="method-M000126" class="method-detail">
735
- <a name="M000126"></a>
763
+ <div id="method-M000127" class="method-detail">
764
+ <a name="M000127"></a>
736
765
 
737
766
  <div class="method-heading">
738
- <a href="LongMath.src/M000126.html" target="Code" class="method-signature"
739
- onclick="popupCode('LongMath.src/M000126.html');return false;">
767
+ <a href="LongMath.src/M000127.html" target="Code" class="method-signature"
768
+ onclick="popupCode('LongMath.src/M000127.html');return false;">
740
769
  <span class="method-name">sqrtb_with_remainder</span><span class="method-args">(x)</span>
741
770
  </a>
742
771
  </div>
@@ -753,12 +782,12 @@ result is rounded to an integer y such that y**2
753
782
  </div>
754
783
  </div>
755
784
 
756
- <div id="method-M000127" class="method-detail">
757
- <a name="M000127"></a>
785
+ <div id="method-M000128" class="method-detail">
786
+ <a name="M000128"></a>
758
787
 
759
788
  <div class="method-heading">
760
- <a href="LongMath.src/M000127.html" target="Code" class="method-signature"
761
- onclick="popupCode('LongMath.src/M000127.html');return false;">
789
+ <a href="LongMath.src/M000128.html" target="Code" class="method-signature"
790
+ onclick="popupCode('LongMath.src/M000128.html');return false;">
762
791
  <span class="method-name">sqrtw</span><span class="method-args">(x, n = 16)</span>
763
792
  </a>
764
793
  </div>
@@ -774,12 +803,12 @@ integer y such that y**2
774
803
  </div>
775
804
  </div>
776
805
 
777
- <div id="method-M000128" class="method-detail">
778
- <a name="M000128"></a>
806
+ <div id="method-M000129" class="method-detail">
807
+ <a name="M000129"></a>
779
808
 
780
809
  <div class="method-heading">
781
- <a href="LongMath.src/M000128.html" target="Code" class="method-signature"
782
- onclick="popupCode('LongMath.src/M000128.html');return false;">
810
+ <a href="LongMath.src/M000129.html" target="Code" class="method-signature"
811
+ onclick="popupCode('LongMath.src/M000129.html');return false;">
783
812
  <span class="method-name">sqrtw_with_remainder</span><span class="method-args">(x, n = 16)</span>
784
813
  </a>
785
814
  </div>
@@ -800,6 +829,62 @@ integer y such that y**2
800
829
  </div>
801
830
  </div>
802
831
 
832
+ <div id="method-M000153" class="method-detail">
833
+ <a name="M000153"></a>
834
+
835
+ <div class="method-heading">
836
+ <a href="LongMath.src/M000153.html" target="Code" class="method-signature"
837
+ onclick="popupCode('LongMath.src/M000153.html');return false;">
838
+ <span class="method-name">standard_imode</span><span class="method-args">()</span>
839
+ </a>
840
+ </div>
841
+
842
+ <div class="method-description">
843
+ </div>
844
+ </div>
845
+
846
+ <div id="method-M000154" class="method-detail">
847
+ <a name="M000154"></a>
848
+
849
+ <div class="method-heading">
850
+ <a href="LongMath.src/M000154.html" target="Code" class="method-signature"
851
+ onclick="popupCode('LongMath.src/M000154.html');return false;">
852
+ <span class="method-name">standard_imode=</span><span class="method-args">(x)</span>
853
+ </a>
854
+ </div>
855
+
856
+ <div class="method-description">
857
+ </div>
858
+ </div>
859
+
860
+ <div id="method-M000151" class="method-detail">
861
+ <a name="M000151"></a>
862
+
863
+ <div class="method-heading">
864
+ <a href="LongMath.src/M000151.html" target="Code" class="method-signature"
865
+ onclick="popupCode('LongMath.src/M000151.html');return false;">
866
+ <span class="method-name">standard_mode</span><span class="method-args">()</span>
867
+ </a>
868
+ </div>
869
+
870
+ <div class="method-description">
871
+ </div>
872
+ </div>
873
+
874
+ <div id="method-M000152" class="method-detail">
875
+ <a name="M000152"></a>
876
+
877
+ <div class="method-heading">
878
+ <a href="LongMath.src/M000152.html" target="Code" class="method-signature"
879
+ onclick="popupCode('LongMath.src/M000152.html');return false;">
880
+ <span class="method-name">standard_mode=</span><span class="method-args">(x)</span>
881
+ </a>
882
+ </div>
883
+
884
+ <div class="method-description">
885
+ </div>
886
+ </div>
887
+
803
888
 
804
889
  </div>
805
890