long-decimal 0.00.08 → 0.00.09

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. data/VERSION +1 -1
  2. data/doc/classes/LongDecimal.html +1432 -0
  3. data/doc/classes/LongDecimal.src/M000040.html +18 -0
  4. data/doc/classes/LongDecimal.src/M000041.html +18 -0
  5. data/doc/classes/LongDecimal.src/M000042.html +18 -0
  6. data/doc/classes/LongDecimal.src/M000043.html +18 -0
  7. data/doc/classes/LongDecimal.src/M000044.html +18 -0
  8. data/doc/classes/LongDecimal.src/M000045.html +18 -0
  9. data/doc/classes/LongDecimal.src/M000046.html +20 -0
  10. data/doc/classes/LongDecimal.src/M000047.html +109 -0
  11. data/doc/classes/LongDecimal.src/M000048.html +18 -0
  12. data/doc/classes/LongDecimal.src/M000049.html +18 -0
  13. data/doc/classes/LongDecimal.src/M000050.html +34 -0
  14. data/doc/classes/LongDecimal.src/M000051.html +41 -0
  15. data/doc/classes/LongDecimal.src/M000052.html +35 -0
  16. data/doc/classes/LongDecimal.src/M000053.html +18 -0
  17. data/doc/classes/LongDecimal.src/M000054.html +29 -0
  18. data/doc/classes/LongDecimal.src/M000055.html +18 -0
  19. data/doc/classes/LongDecimal.src/M000056.html +22 -0
  20. data/doc/classes/LongDecimal.src/M000057.html +18 -0
  21. data/doc/classes/LongDecimal.src/M000058.html +18 -0
  22. data/doc/classes/LongDecimal.src/M000059.html +20 -0
  23. data/doc/classes/LongDecimal.src/M000060.html +18 -0
  24. data/doc/classes/LongDecimal.src/M000062.html +29 -0
  25. data/doc/classes/LongDecimal.src/M000063.html +27 -0
  26. data/doc/classes/LongDecimal.src/M000064.html +18 -0
  27. data/doc/classes/LongDecimal.src/M000066.html +18 -0
  28. data/doc/classes/LongDecimal.src/M000067.html +18 -0
  29. data/doc/classes/LongDecimal.src/M000068.html +18 -0
  30. data/doc/classes/LongDecimal.src/M000069.html +18 -0
  31. data/doc/classes/LongDecimal.src/M000070.html +18 -0
  32. data/doc/classes/LongDecimal.src/M000071.html +22 -0
  33. data/doc/classes/LongDecimal.src/M000072.html +23 -0
  34. data/doc/classes/LongDecimal.src/M000073.html +23 -0
  35. data/doc/classes/LongDecimal.src/M000074.html +23 -0
  36. data/doc/classes/LongDecimal.src/M000075.html +18 -0
  37. data/doc/classes/LongDecimal.src/M000076.html +29 -0
  38. data/doc/classes/LongDecimal.src/M000077.html +23 -0
  39. data/doc/classes/LongDecimal.src/M000078.html +23 -0
  40. data/doc/classes/LongDecimal.src/M000079.html +34 -0
  41. data/doc/classes/LongDecimal.src/M000080.html +22 -0
  42. data/doc/classes/LongDecimal.src/M000081.html +19 -0
  43. data/doc/classes/LongDecimal.src/M000082.html +23 -0
  44. data/doc/classes/LongDecimal.src/M000083.html +23 -0
  45. data/doc/classes/LongDecimal.src/M000084.html +23 -0
  46. data/doc/classes/LongDecimal.src/M000085.html +18 -0
  47. data/doc/classes/LongDecimal.src/M000086.html +21 -0
  48. data/doc/classes/LongDecimal.src/M000087.html +21 -0
  49. data/doc/classes/LongDecimal.src/M000088.html +18 -0
  50. data/doc/classes/LongDecimal.src/M000089.html +18 -0
  51. data/doc/classes/LongDecimal.src/M000090.html +23 -0
  52. data/doc/classes/LongDecimal.src/M000091.html +23 -0
  53. data/doc/classes/LongDecimal.src/M000092.html +19 -0
  54. data/doc/classes/LongDecimal.src/M000093.html +23 -0
  55. data/doc/classes/LongDecimal.src/M000094.html +18 -0
  56. data/doc/classes/LongDecimal.src/M000095.html +30 -0
  57. data/doc/classes/LongDecimal.src/M000096.html +18 -0
  58. data/doc/classes/LongDecimal.src/M000097.html +18 -0
  59. data/doc/classes/LongDecimal.src/M000098.html +18 -0
  60. data/doc/classes/LongDecimal.src/M000099.html +23 -0
  61. data/doc/classes/LongDecimal.src/M000100.html +19 -0
  62. data/doc/classes/LongDecimal.src/M000101.html +18 -0
  63. data/doc/classes/LongDecimal.src/M000102.html +45 -0
  64. data/doc/classes/LongDecimal.src/M000103.html +18 -0
  65. data/doc/classes/LongDecimal.src/M000104.html +18 -0
  66. data/doc/classes/LongDecimal.src/M000107.html +18 -0
  67. data/doc/classes/LongDecimal.src/M000108.html +18 -0
  68. data/doc/classes/LongDecimal.src/M000109.html +18 -0
  69. data/doc/classes/LongDecimal.src/M000110.html +18 -0
  70. data/doc/classes/LongDecimalQuot.html +757 -0
  71. data/doc/classes/LongDecimalQuot.src/M000003.html +18 -0
  72. data/doc/classes/LongDecimalQuot.src/M000004.html +28 -0
  73. data/doc/classes/LongDecimalQuot.src/M000005.html +18 -0
  74. data/doc/classes/LongDecimalQuot.src/M000006.html +18 -0
  75. data/doc/classes/LongDecimalQuot.src/M000007.html +18 -0
  76. data/doc/classes/LongDecimalQuot.src/M000008.html +18 -0
  77. data/doc/classes/LongDecimalQuot.src/M000009.html +19 -0
  78. data/doc/classes/LongDecimalQuot.src/M000010.html +18 -0
  79. data/doc/classes/LongDecimalQuot.src/M000011.html +18 -0
  80. data/doc/classes/LongDecimalQuot.src/M000012.html +18 -0
  81. data/doc/classes/LongDecimalQuot.src/M000013.html +18 -0
  82. data/doc/classes/LongDecimalQuot.src/M000014.html +18 -0
  83. data/doc/classes/LongDecimalQuot.src/M000015.html +22 -0
  84. data/doc/classes/LongDecimalQuot.src/M000016.html +23 -0
  85. data/doc/classes/LongDecimalQuot.src/M000017.html +23 -0
  86. data/doc/classes/LongDecimalQuot.src/M000018.html +23 -0
  87. data/doc/classes/LongDecimalQuot.src/M000019.html +23 -0
  88. data/doc/classes/LongDecimalQuot.src/M000020.html +35 -0
  89. data/doc/classes/LongDecimalQuot.src/M000021.html +22 -0
  90. data/doc/classes/LongDecimalQuot.src/M000022.html +19 -0
  91. data/doc/classes/LongDecimalQuot.src/M000023.html +18 -0
  92. data/doc/classes/LongDecimalQuot.src/M000024.html +18 -0
  93. data/doc/classes/LongDecimalQuot.src/M000025.html +18 -0
  94. data/doc/classes/LongDecimalQuot.src/M000026.html +18 -0
  95. data/doc/classes/LongDecimalQuot.src/M000027.html +79 -0
  96. data/doc/classes/LongDecimalQuot.src/M000028.html +36 -0
  97. data/doc/classes/LongDecimalQuot.src/M000029.html +18 -0
  98. data/doc/classes/LongDecimalQuot.src/M000030.html +23 -0
  99. data/doc/classes/LongDecimalQuot.src/M000031.html +19 -0
  100. data/doc/classes/LongDecimalQuot.src/M000032.html +18 -0
  101. data/doc/classes/LongDecimalQuot.src/M000033.html +18 -0
  102. data/doc/classes/LongDecimalQuot.src/M000034.html +18 -0
  103. data/doc/classes/LongDecimalQuot.src/M000037.html +18 -0
  104. data/doc/classes/LongDecimalQuot.src/M000038.html +18 -0
  105. data/doc/classes/LongDecimalQuot.src/M000039.html +18 -0
  106. data/doc/classes/LongDecimalRoundingMode.html +185 -0
  107. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.html +155 -0
  108. data/doc/classes/LongDecimalRoundingMode/RoundingModeClass.src/M000122.html +22 -0
  109. data/doc/classes/LongMath.html +468 -0
  110. data/doc/classes/LongMath.src/M000112.html +19 -0
  111. data/doc/classes/LongMath.src/M000113.html +18 -0
  112. data/doc/classes/LongMath.src/M000114.html +18 -0
  113. data/doc/classes/LongMath.src/M000115.html +19 -0
  114. data/doc/classes/LongMath.src/M000116.html +18 -0
  115. data/doc/classes/LongMath.src/M000117.html +32 -0
  116. data/doc/classes/LongMath.src/M000118.html +32 -0
  117. data/doc/classes/LongMath.src/M000119.html +19 -0
  118. data/doc/classes/LongMath.src/M000120.html +43 -0
  119. data/doc/classes/LongMath.src/M000121.html +19 -0
  120. data/doc/classes/Numeric.html +149 -0
  121. data/doc/classes/Numeric.src/M000111.html +18 -0
  122. data/doc/created.rid +1 -0
  123. data/doc/dot/f_0.dot +113 -0
  124. data/doc/dot/f_0.png +0 -0
  125. data/doc/dot/m_0_0.dot +40 -0
  126. data/doc/dot/m_0_0.png +0 -0
  127. data/doc/dot/m_0_1.dot +49 -0
  128. data/doc/dot/m_0_1.png +0 -0
  129. data/doc/files/lib/longdecimal_rb.html +180 -0
  130. data/doc/files/lib/longdecimal_rb.src/M000001.html +22 -0
  131. data/doc/files/lib/longdecimal_rb.src/M000002.html +18 -0
  132. data/doc/fr_class_index.html +32 -0
  133. data/doc/fr_file_index.html +27 -0
  134. data/doc/fr_method_index.html +154 -0
  135. data/doc/index.html +24 -0
  136. data/doc/rdoc-style.css +208 -0
  137. data/lib/longdecimal.rb +216 -48
  138. data/test/testlongdecimal.rb +112 -24
  139. metadata +149 -2
@@ -0,0 +1,155 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: LongDecimalRoundingMode::RoundingModeClass</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">LongDecimalRoundingMode::RoundingModeClass</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/longdecimal_rb.html">
59
+ lib/longdecimal.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+ <div id="diagram">
81
+ <map id="map" name="map">
82
+ <area shape="RECT" coords="77,6,157,54" href="../Comparable.html" alt="Comparable">
83
+ <area shape="RECT" coords="53,102,181,150" href="RoundingModeClass.html" alt="RoundingModeClass">
84
+ <area shape="RECT" coords="16,68,192,160" href="../LongDecimalRoundingMode.html" alt="LongDecimalRoundingMode">
85
+ </map>
86
+ <img src="../../dot/m_0_1.png" usemap="#map" border=0 alt="Module: LongDecimalRoundingMode">
87
+ </div>
88
+
89
+
90
+
91
+ </div>
92
+
93
+ <div id="method-list">
94
+ <h3 class="section-bar">Methods</h3>
95
+
96
+ <div class="name-list">
97
+ <a href="#M000128">&lt;=&gt;</a>&nbsp;&nbsp;
98
+ </div>
99
+ </div>
100
+
101
+ </div>
102
+
103
+
104
+ <!-- if includes -->
105
+ <div id="includes">
106
+ <h3 class="section-bar">Included Modules</h3>
107
+
108
+ <div id="includes-list">
109
+ <span class="include-name">Comparable</span>
110
+ </div>
111
+ </div>
112
+
113
+ <div id="section">
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+ <!-- if method_list -->
123
+ <div id="methods">
124
+ <h3 class="section-bar">Public Instance methods</h3>
125
+
126
+ <div id="method-M000128" class="method-detail">
127
+ <a name="M000128"></a>
128
+
129
+ <div class="method-heading">
130
+ <a href="RoundingModeClass.src/M000128.html" target="Code" class="method-signature"
131
+ onclick="popupCode('RoundingModeClass.src/M000128.html');return false;">
132
+ <span class="method-name">&lt;=&gt;</span><span class="method-args">(o)</span>
133
+ </a>
134
+ </div>
135
+
136
+ <div class="method-description">
137
+ <p>
138
+ introduce some ordering for rounding modes
139
+ </p>
140
+ </div>
141
+ </div>
142
+
143
+
144
+ </div>
145
+
146
+
147
+ </div>
148
+
149
+
150
+ <div id="validator-badges">
151
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
152
+ </div>
153
+
154
+ </body>
155
+ </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>&lt;=&gt; (LongDecimalRoundingMode::RoundingModeClass)</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 303</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">o</span>)
15
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">respond_to?</span><span class="ruby-identifier">:num</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">num</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">num</span>
17
+ <span class="ruby-keyword kw">else</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">num</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">o</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,468 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: LongMath</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">LongMath</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/longdecimal_rb.html">
59
+ lib/longdecimal.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+ <div id="diagram">
75
+ <map id="map" name="map">
76
+ <area shape="RECT" coords="5,5,160,53" href="LongDecimalRoundingMode.html" alt="LongDecimalRoundingMode">
77
+ <area shape="RECT" coords="36,68,129,115" href="LongMath.html" alt="LongMath">
78
+ </map>
79
+ <img src="../dot/m_0_0.png" usemap="#map" border=0 alt="Module: LongMath">
80
+ </div>
81
+
82
+ <div id="description">
83
+ <p>
84
+ helper functions to support <a href="LongDecimal.html">LongDecimal</a> and
85
+ <a href="LongDecimalQuot.html">LongDecimalQuot</a> functions for <a
86
+ href="LongDecimal.html">LongDecimal</a> that do not go as methods of <a
87
+ href="LongDecimal.html">LongDecimal</a>
88
+ </p>
89
+
90
+ </div>
91
+
92
+
93
+ </div>
94
+
95
+ <div id="method-list">
96
+ <h3 class="section-bar">Methods</h3>
97
+
98
+ <div class="name-list">
99
+ <a href="#M000125">calc_pi</a>&nbsp;&nbsp;
100
+ <a href="#M000113">check_is_int</a>&nbsp;&nbsp;
101
+ <a href="#M000114">check_is_ld</a>&nbsp;&nbsp;
102
+ <a href="#M000116">check_is_mode</a>&nbsp;&nbsp;
103
+ <a href="#M000115">check_is_prec</a>&nbsp;&nbsp;
104
+ <a href="#M000112">check_word_len</a>&nbsp;&nbsp;
105
+ <a href="#M000126">exp</a>&nbsp;&nbsp;
106
+ <a href="#M000127">exp_internal</a>&nbsp;&nbsp;
107
+ <a href="#M000123">gcd_with_high_power</a>&nbsp;&nbsp;
108
+ <a href="#M000118">merge_from_words</a>&nbsp;&nbsp;
109
+ <a href="#M000124">multiplicity_of_factor</a>&nbsp;&nbsp;
110
+ <a href="#M000117">split_to_words</a>&nbsp;&nbsp;
111
+ <a href="#M000119">sqrtb</a>&nbsp;&nbsp;
112
+ <a href="#M000120">sqrtb_with_remainder</a>&nbsp;&nbsp;
113
+ <a href="#M000121">sqrtw</a>&nbsp;&nbsp;
114
+ <a href="#M000122">sqrtw_with_remainder</a>&nbsp;&nbsp;
115
+ </div>
116
+ </div>
117
+
118
+ </div>
119
+
120
+
121
+ <!-- if includes -->
122
+ <div id="includes">
123
+ <h3 class="section-bar">Included Modules</h3>
124
+
125
+ <div id="includes-list">
126
+ <span class="include-name"><a href="LongDecimalRoundingMode.html">LongDecimalRoundingMode</a></span>
127
+ </div>
128
+ </div>
129
+
130
+ <div id="section">
131
+
132
+
133
+ <div id="constants-list">
134
+ <h3 class="section-bar">Constants</h3>
135
+
136
+ <div class="name-list">
137
+ <table summary="Constants">
138
+ <tr class="top-aligned-row context-row">
139
+ <td class="context-item-name">MAX_FLOATABLE</td>
140
+ <td>=</td>
141
+ <td class="context-item-value">Float::MAX.to_i</td>
142
+ </tr>
143
+ <tr class="top-aligned-row context-row">
144
+ <td class="context-item-name">MAX_EXP_ABLE</td>
145
+ <td>=</td>
146
+ <td class="context-item-value">Math.log(MAX_FLOATABLE).to_i</td>
147
+ </tr>
148
+ </table>
149
+ </div>
150
+ </div>
151
+
152
+
153
+
154
+
155
+
156
+
157
+ <!-- if method_list -->
158
+ <div id="methods">
159
+ <h3 class="section-bar">Public Class methods</h3>
160
+
161
+ <div id="method-M000125" class="method-detail">
162
+ <a name="M000125"></a>
163
+
164
+ <div class="method-heading">
165
+ <a href="LongMath.src/M000125.html" target="Code" class="method-signature"
166
+ onclick="popupCode('LongMath.src/M000125.html');return false;">
167
+ <span class="method-name">calc_pi</span><span class="method-args">(prec, final_mode = LongDecimal::ROUND_HALF_DOWN)</span>
168
+ </a>
169
+ </div>
170
+
171
+ <div class="method-description">
172
+ <p>
173
+ method for calculating pi to the given number of digits after the decimal
174
+ point works fine for 1000 or 2000 digits or so. this method could be
175
+ optimized more, but if you really want to go for more digits, you will find
176
+ a specialized and optimized program for this specific purpose. (this is the
177
+ easter egg ;-) )
178
+ </p>
179
+ </div>
180
+ </div>
181
+
182
+ <div id="method-M000113" class="method-detail">
183
+ <a name="M000113"></a>
184
+
185
+ <div class="method-heading">
186
+ <a href="LongMath.src/M000113.html" target="Code" class="method-signature"
187
+ onclick="popupCode('LongMath.src/M000113.html');return false;">
188
+ <span class="method-name">check_is_int</span><span class="method-args">(x, name=&quot;x&quot;)</span>
189
+ </a>
190
+ </div>
191
+
192
+ <div class="method-description">
193
+ <p>
194
+ helper method: checks if parameter x is an Integer
195
+ </p>
196
+ </div>
197
+ </div>
198
+
199
+ <div id="method-M000114" class="method-detail">
200
+ <a name="M000114"></a>
201
+
202
+ <div class="method-heading">
203
+ <a href="LongMath.src/M000114.html" target="Code" class="method-signature"
204
+ onclick="popupCode('LongMath.src/M000114.html');return false;">
205
+ <span class="method-name">check_is_ld</span><span class="method-args">(x, name=&quot;x&quot;)</span>
206
+ </a>
207
+ </div>
208
+
209
+ <div class="method-description">
210
+ <p>
211
+ helper method: checks if parameter x is a <a
212
+ href="LongDecimal.html">LongDecimal</a>
213
+ </p>
214
+ </div>
215
+ </div>
216
+
217
+ <div id="method-M000116" class="method-detail">
218
+ <a name="M000116"></a>
219
+
220
+ <div class="method-heading">
221
+ <a href="LongMath.src/M000116.html" target="Code" class="method-signature"
222
+ onclick="popupCode('LongMath.src/M000116.html');return false;">
223
+ <span class="method-name">check_is_mode</span><span class="method-args">(mode, name=&quot;mode&quot;)</span>
224
+ </a>
225
+ </div>
226
+
227
+ <div class="method-description">
228
+ <p>
229
+ helper method: checks if parameter x is a <a
230
+ href="LongDecimal.html">LongDecimal</a>
231
+ </p>
232
+ </div>
233
+ </div>
234
+
235
+ <div id="method-M000115" class="method-detail">
236
+ <a name="M000115"></a>
237
+
238
+ <div class="method-heading">
239
+ <a href="LongMath.src/M000115.html" target="Code" class="method-signature"
240
+ onclick="popupCode('LongMath.src/M000115.html');return false;">
241
+ <span class="method-name">check_is_prec</span><span class="method-args">(prec, name=&quot;prec&quot;)</span>
242
+ </a>
243
+ </div>
244
+
245
+ <div class="method-description">
246
+ <p>
247
+ helper method: checks if parameter x is a <a
248
+ href="LongDecimal.html">LongDecimal</a>
249
+ </p>
250
+ </div>
251
+ </div>
252
+
253
+ <div id="method-M000112" class="method-detail">
254
+ <a name="M000112"></a>
255
+
256
+ <div class="method-heading">
257
+ <a href="LongMath.src/M000112.html" target="Code" class="method-signature"
258
+ onclick="popupCode('LongMath.src/M000112.html');return false;">
259
+ <span class="method-name">check_word_len</span><span class="method-args">(word_len, name=&quot;word_len&quot;)</span>
260
+ </a>
261
+ </div>
262
+
263
+ <div class="method-description">
264
+ <p>
265
+ helper method: checks if word_len is of reasonable for splitting a number
266
+ into parts
267
+ </p>
268
+ </div>
269
+ </div>
270
+
271
+ <div id="method-M000126" class="method-detail">
272
+ <a name="M000126"></a>
273
+
274
+ <div class="method-heading">
275
+ <a href="LongMath.src/M000126.html" target="Code" class="method-signature"
276
+ onclick="popupCode('LongMath.src/M000126.html');return false;">
277
+ <span class="method-name">exp</span><span class="method-args">(x, prec, mode = LongDecimal::ROUND_HALF_DOWN)</span>
278
+ </a>
279
+ </div>
280
+
281
+ <div class="method-description">
282
+ <p>
283
+ calc the exponential function of x to the given precision as <a
284
+ href="LongDecimal.html">LongDecimal</a>. Only supports values of x such
285
+ that the result still fits into a float (x &lt;= 709)
286
+ </p>
287
+ </div>
288
+ </div>
289
+
290
+ <div id="method-M000127" class="method-detail">
291
+ <a name="M000127"></a>
292
+
293
+ <div class="method-heading">
294
+ <a href="LongMath.src/M000127.html" target="Code" class="method-signature"
295
+ onclick="popupCode('LongMath.src/M000127.html');return false;">
296
+ <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)</span>
297
+ </a>
298
+ </div>
299
+
300
+ <div class="method-description">
301
+ <p>
302
+ internal functionality of exp. exposes some more parameters, that should
303
+ usually be set to defaut values, in order to allow better testing. do not
304
+ actually call this method unless you are testing exp. create a bug report,
305
+ if the default settings for the parameters do not work correctly
306
+ </p>
307
+ </div>
308
+ </div>
309
+
310
+ <div id="method-M000123" class="method-detail">
311
+ <a name="M000123"></a>
312
+
313
+ <div class="method-heading">
314
+ <a href="LongMath.src/M000123.html" target="Code" class="method-signature"
315
+ onclick="popupCode('LongMath.src/M000123.html');return false;">
316
+ <span class="method-name">gcd_with_high_power</span><span class="method-args">(x, b)</span>
317
+ </a>
318
+ </div>
319
+
320
+ <div class="method-description">
321
+ <p>
322
+ find the gcd of x with b^n0 where n0 is a sufficiently high exponent such
323
+ that gcd(x, b^m) = gcd(x, b^n) for all m, n &gt; n0
324
+ </p>
325
+ </div>
326
+ </div>
327
+
328
+ <div id="method-M000118" class="method-detail">
329
+ <a name="M000118"></a>
330
+
331
+ <div class="method-heading">
332
+ <a href="LongMath.src/M000118.html" target="Code" class="method-signature"
333
+ onclick="popupCode('LongMath.src/M000118.html');return false;">
334
+ <span class="method-name">merge_from_words</span><span class="method-args">(words, word_len = 32)</span>
335
+ </a>
336
+ </div>
337
+
338
+ <div class="method-description">
339
+ <p>
340
+ concatenate numbers given in words as bit patterns
341
+ </p>
342
+ </div>
343
+ </div>
344
+
345
+ <div id="method-M000124" class="method-detail">
346
+ <a name="M000124"></a>
347
+
348
+ <div class="method-heading">
349
+ <a href="LongMath.src/M000124.html" target="Code" class="method-signature"
350
+ onclick="popupCode('LongMath.src/M000124.html');return false;">
351
+ <span class="method-name">multiplicity_of_factor</span><span class="method-args">(x, prime_number)</span>
352
+ </a>
353
+ </div>
354
+
355
+ <div class="method-description">
356
+ <p>
357
+ find the exponent of the highest power of prime number p that divides self.
358
+ Only works for prime numbers works even for numbers that exceed the range
359
+ of Float
360
+ </p>
361
+ </div>
362
+ </div>
363
+
364
+ <div id="method-M000117" class="method-detail">
365
+ <a name="M000117"></a>
366
+
367
+ <div class="method-heading">
368
+ <a href="LongMath.src/M000117.html" target="Code" class="method-signature"
369
+ onclick="popupCode('LongMath.src/M000117.html');return false;">
370
+ <span class="method-name">split_to_words</span><span class="method-args">(x, word_len = 32)</span>
371
+ </a>
372
+ </div>
373
+
374
+ <div class="method-description">
375
+ <p>
376
+ split number x into parts of word_len bits each such that the concatenation
377
+ of these parts as bit patterns is x
378
+ </p>
379
+ </div>
380
+ </div>
381
+
382
+ <div id="method-M000119" class="method-detail">
383
+ <a name="M000119"></a>
384
+
385
+ <div class="method-heading">
386
+ <a href="LongMath.src/M000119.html" target="Code" class="method-signature"
387
+ onclick="popupCode('LongMath.src/M000119.html');return false;">
388
+ <span class="method-name">sqrtb</span><span class="method-args">(x)</span>
389
+ </a>
390
+ </div>
391
+
392
+ <div class="method-description">
393
+ <p>
394
+ calculate the square root of an integer using bitwise algorithm
395
+ </p>
396
+ </div>
397
+ </div>
398
+
399
+ <div id="method-M000120" class="method-detail">
400
+ <a name="M000120"></a>
401
+
402
+ <div class="method-heading">
403
+ <a href="LongMath.src/M000120.html" target="Code" class="method-signature"
404
+ onclick="popupCode('LongMath.src/M000120.html');return false;">
405
+ <span class="method-name">sqrtb_with_remainder</span><span class="method-args">(x)</span>
406
+ </a>
407
+ </div>
408
+
409
+ <div class="method-description">
410
+ <p>
411
+ calculate the an integer s &gt;= 0 and a remainder r &gt;= 0 such that x =
412
+ s**2 + r and x &lt; (x.succ)**2 the bitwise algorithm is used, which works
413
+ well for relatively small values of x.
414
+ </p>
415
+ </div>
416
+ </div>
417
+
418
+ <div id="method-M000121" class="method-detail">
419
+ <a name="M000121"></a>
420
+
421
+ <div class="method-heading">
422
+ <a href="LongMath.src/M000121.html" target="Code" class="method-signature"
423
+ onclick="popupCode('LongMath.src/M000121.html');return false;">
424
+ <span class="method-name">sqrtw</span><span class="method-args">(x, n = 16)</span>
425
+ </a>
426
+ </div>
427
+
428
+ <div class="method-description">
429
+ <p>
430
+ calculate the square root of an integer using larger chunks of the number
431
+ </p>
432
+ </div>
433
+ </div>
434
+
435
+ <div id="method-M000122" class="method-detail">
436
+ <a name="M000122"></a>
437
+
438
+ <div class="method-heading">
439
+ <a href="LongMath.src/M000122.html" target="Code" class="method-signature"
440
+ onclick="popupCode('LongMath.src/M000122.html');return false;">
441
+ <span class="method-name">sqrtw_with_remainder</span><span class="method-args">(x, n = 16)</span>
442
+ </a>
443
+ </div>
444
+
445
+ <div class="method-description">
446
+ <p>
447
+ calculate the an integer s &gt;= 0 and a remainder r &gt;= 0 such that x =
448
+ s**2 + r and x &lt; (x.succ)**2 the wordwise algorithm is used, which works
449
+ well for relatively large values of x. n defines the word size to be used
450
+ for the algorithm. It is good to use half of the machine word, but the
451
+ algorithm would also work for other values.
452
+ </p>
453
+ </div>
454
+ </div>
455
+
456
+
457
+ </div>
458
+
459
+
460
+ </div>
461
+
462
+
463
+ <div id="validator-badges">
464
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
465
+ </div>
466
+
467
+ </body>
468
+ </html>