ruby-vpi 8.0.0 → 8.1.0

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 (200) hide show
  1. data/HISTORY +15 -0
  2. data/doc/background.organization.html +1 -1
  3. data/doc/index.html +2 -2
  4. data/doc/usage.tutorial.html +1 -1
  5. data/ext/swig_wrap.cin +5559 -3041
  6. data/history.html +25 -0
  7. data/history.part.html +25 -0
  8. data/lib/ruby-vpi/integer.rb +156 -0
  9. data/lib/ruby-vpi/{vpi_util.rb → vpi.rb} +0 -0
  10. data/lib/ruby-vpi.rb +1 -1
  11. data/ref/c/annotated.html +8 -4
  12. data/ref/c/common_8h.html +56 -88
  13. data/ref/c/doxygen.css +64 -16
  14. data/ref/c/files.html +5 -3
  15. data/ref/c/functions.html +46 -27
  16. data/ref/c/functions_vars.html +46 -27
  17. data/ref/c/globals.html +213 -7
  18. data/ref/c/globals_0x62.html +62 -0
  19. data/ref/c/globals_0x63.html +51 -34
  20. data/ref/c/globals_0x65.html +12 -5
  21. data/ref/c/globals_0x66.html +22 -5
  22. data/ref/c/globals_0x67.html +64 -0
  23. data/ref/c/globals_0x69.html +62 -0
  24. data/ref/c/globals_0x6c.html +64 -0
  25. data/ref/c/globals_0x6d.html +62 -0
  26. data/ref/c/globals_0x6e.html +63 -0
  27. data/ref/c/globals_0x70.html +28 -21
  28. data/ref/c/globals_0x72.html +17 -6
  29. data/ref/c/globals_0x73.html +201 -15
  30. data/ref/c/globals_0x74.html +11 -4
  31. data/ref/c/globals_0x75.html +63 -0
  32. data/ref/c/globals_0x76.html +428 -417
  33. data/ref/c/globals_0x78.html +12 -5
  34. data/ref/c/globals_defs.html +37 -32
  35. data/ref/c/globals_defs_0x65.html +9 -4
  36. data/ref/c/globals_defs_0x6c.html +57 -0
  37. data/ref/c/globals_defs_0x6e.html +56 -0
  38. data/ref/c/globals_defs_0x70.html +10 -5
  39. data/ref/c/globals_defs_0x72.html +57 -0
  40. data/ref/c/globals_defs_0x73.html +164 -0
  41. data/ref/c/globals_defs_0x75.html +56 -0
  42. data/ref/c/globals_defs_0x76.html +422 -415
  43. data/ref/c/globals_defs_0x78.html +9 -4
  44. data/ref/c/globals_enum.html +3 -3
  45. data/ref/c/globals_eval.html +3 -3
  46. data/ref/c/globals_func.html +175 -16
  47. data/ref/c/globals_func_0x66.html +62 -0
  48. data/ref/c/globals_func_0x67.html +55 -0
  49. data/ref/c/globals_func_0x69.html +53 -0
  50. data/ref/c/globals_func_0x70.html +53 -0
  51. data/ref/c/globals_func_0x72.html +57 -0
  52. data/ref/c/globals_func_0x73.html +114 -0
  53. data/ref/c/globals_func_0x76.html +57 -0
  54. data/ref/c/globals_type.html +31 -28
  55. data/ref/c/globals_vars.html +90 -6
  56. data/ref/c/index.html +3 -3
  57. data/ref/c/relay_8cin.html +104 -168
  58. data/ref/c/relay_8hin.html +59 -91
  59. data/ref/c/ruby-vpi_8c.html +3 -3
  60. data/ref/c/structrelay____RubyOptions____def.html +23 -40
  61. data/ref/c/structswig__cast__info.html +98 -0
  62. data/ref/c/structswig__class.html +115 -0
  63. data/ref/c/structswig__module__info.html +132 -0
  64. data/ref/c/structswig__type__info.html +132 -0
  65. data/ref/c/structt__cb__data.html +93 -133
  66. data/ref/c/structt__vpi__delay.html +82 -114
  67. data/ref/c/structt__vpi__error__info.html +143 -132
  68. data/ref/c/structt__vpi__strengthval.html +35 -60
  69. data/ref/c/structt__vpi__systf__data.html +112 -135
  70. data/ref/c/structt__vpi__time.html +45 -78
  71. data/ref/c/structt__vpi__value.html +215 -186
  72. data/ref/c/structt__vpi__vecval.html +25 -42
  73. data/ref/c/structt__vpi__vlog__info.html +96 -78
  74. data/ref/c/swig_8cin.html +33 -49
  75. data/ref/c/swig_8hin.html +32 -48
  76. data/ref/c/swig__vpi_8h.html +8739 -0
  77. data/ref/c/swig__wrap_8cin.html +11556 -0
  78. data/ref/c/unions__vpi__value__value.html +166 -0
  79. data/ref/c/verilog_8h.html +58 -90
  80. data/ref/c/vlog_8cin.html +78 -118
  81. data/ref/c/vlog_8hin.html +53 -77
  82. data/ref/c/vpi__user_8h.html +5286 -9294
  83. data/ref/ruby/classes/ERB.html +5 -5
  84. data/ref/ruby/classes/ERB.src/{M000018.html → M000032.html} +0 -0
  85. data/ref/ruby/classes/FileUtils.html +10 -10
  86. data/ref/ruby/classes/FileUtils.src/{M000073.html → M000087.html} +0 -0
  87. data/ref/ruby/classes/FileUtils.src/{M000074.html → M000088.html} +0 -0
  88. data/ref/ruby/classes/Integer.html +398 -0
  89. data/ref/ruby/classes/Integer.src/M000010.html +25 -0
  90. data/ref/ruby/classes/Integer.src/M000011.html +18 -0
  91. data/ref/ruby/classes/Integer.src/M000012.html +18 -0
  92. data/ref/ruby/classes/Integer.src/M000013.html +18 -0
  93. data/ref/ruby/classes/Integer.src/M000014.html +18 -0
  94. data/ref/ruby/classes/Integer.src/M000015.html +18 -0
  95. data/ref/ruby/classes/Integer.src/M000018.html +22 -0
  96. data/ref/ruby/classes/Integer.src/M000019.html +22 -0
  97. data/ref/ruby/classes/Integer.src/M000020.html +25 -0
  98. data/ref/ruby/classes/Integer.src/M000021.html +31 -0
  99. data/ref/ruby/classes/Integer.src/M000022.html +25 -0
  100. data/ref/ruby/classes/Integer.src/M000023.html +30 -0
  101. data/ref/ruby/classes/OutputInfo.html +5 -5
  102. data/ref/ruby/classes/OutputInfo.src/{M000014.html → M000028.html} +0 -0
  103. data/ref/ruby/classes/RDoc.html +5 -5
  104. data/ref/ruby/classes/RDoc.src/{M000077.html → M000091.html} +0 -0
  105. data/ref/ruby/classes/RubyVpi.html +10 -10
  106. data/ref/ruby/classes/RubyVpi.src/{M000075.html → M000089.html} +1 -1
  107. data/ref/ruby/classes/RubyVpi.src/{M000076.html → M000090.html} +0 -0
  108. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.html +47 -47
  109. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000065.html → M000079.html} +1 -1
  110. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000066.html → M000080.html} +1 -1
  111. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000067.html → M000081.html} +1 -1
  112. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000068.html → M000082.html} +1 -1
  113. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000069.html → M000083.html} +1 -1
  114. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000070.html → M000084.html} +1 -1
  115. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000071.html → M000085.html} +1 -1
  116. data/ref/ruby/classes/SWIG/TYPE_p_unsigned_int.src/{M000072.html → M000086.html} +1 -1
  117. data/ref/ruby/classes/SWIG.html +2 -2
  118. data/ref/ruby/classes/String.html +10 -10
  119. data/ref/ruby/classes/String.src/{M000016.html → M000030.html} +0 -0
  120. data/ref/ruby/classes/String.src/{M000017.html → M000031.html} +0 -0
  121. data/ref/ruby/classes/Table.html +20 -20
  122. data/ref/ruby/classes/Table.src/{M000010.html → M000024.html} +0 -0
  123. data/ref/ruby/classes/Table.src/{M000011.html → M000025.html} +0 -0
  124. data/ref/ruby/classes/Table.src/{M000012.html → M000026.html} +0 -0
  125. data/ref/ruby/classes/Table.src/{M000013.html → M000027.html} +0 -0
  126. data/ref/ruby/classes/Template.html +5 -5
  127. data/ref/ruby/classes/Template.src/{M000015.html → M000029.html} +0 -0
  128. data/ref/ruby/classes/XX/Document.html +45 -45
  129. data/ref/ruby/classes/XX/Document.src/{M000056.html → M000070.html} +0 -0
  130. data/ref/ruby/classes/XX/Document.src/{M000057.html → M000071.html} +0 -0
  131. data/ref/ruby/classes/XX/Document.src/{M000058.html → M000072.html} +0 -0
  132. data/ref/ruby/classes/XX/Document.src/{M000059.html → M000073.html} +0 -0
  133. data/ref/ruby/classes/XX/Document.src/{M000060.html → M000074.html} +0 -0
  134. data/ref/ruby/classes/XX/Document.src/{M000061.html → M000075.html} +0 -0
  135. data/ref/ruby/classes/XX/Document.src/{M000062.html → M000076.html} +0 -0
  136. data/ref/ruby/classes/XX/Document.src/{M000063.html → M000077.html} +0 -0
  137. data/ref/ruby/classes/XX/Document.src/{M000064.html → M000078.html} +0 -0
  138. data/ref/ruby/classes/XX/HTML4/Strict.html +5 -5
  139. data/ref/ruby/classes/XX/HTML4/Strict.src/{M000022.html → M000036.html} +0 -0
  140. data/ref/ruby/classes/XX/HTML4/Transitional.html +5 -5
  141. data/ref/ruby/classes/XX/HTML4/Transitional.src/{M000021.html → M000035.html} +0 -0
  142. data/ref/ruby/classes/XX/HTML4.html +5 -5
  143. data/ref/ruby/classes/XX/HTML4.src/{M000020.html → M000034.html} +0 -0
  144. data/ref/ruby/classes/XX/Markup/ClassMethods.html +40 -40
  145. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000028.html → M000042.html} +0 -0
  146. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000029.html → M000043.html} +0 -0
  147. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000030.html → M000044.html} +0 -0
  148. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000031.html → M000045.html} +0 -0
  149. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000032.html → M000046.html} +0 -0
  150. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000033.html → M000047.html} +0 -0
  151. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000034.html → M000048.html} +0 -0
  152. data/ref/ruby/classes/XX/Markup/ClassMethods.src/{M000035.html → M000049.html} +0 -0
  153. data/ref/ruby/classes/XX/Markup/InstanceMethods.html +100 -100
  154. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000050.html +43 -7
  155. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000051.html +20 -7
  156. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000052.html +18 -8
  157. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000053.html +35 -7
  158. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000054.html +7 -7
  159. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000055.html +18 -7
  160. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000042.html → M000056.html} +0 -0
  161. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000043.html → M000057.html} +0 -0
  162. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000044.html → M000058.html} +0 -0
  163. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000045.html → M000059.html} +0 -0
  164. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000046.html → M000060.html} +0 -0
  165. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000047.html → M000061.html} +0 -0
  166. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000048.html → M000062.html} +0 -0
  167. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/{M000049.html → M000063.html} +0 -0
  168. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000064.html +20 -0
  169. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000065.html +20 -0
  170. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000066.html +21 -0
  171. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000067.html +20 -0
  172. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000068.html +20 -0
  173. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000069.html +20 -0
  174. data/ref/ruby/classes/XX/Markup.html +5 -5
  175. data/ref/ruby/classes/XX/Markup.src/{M000027.html → M000041.html} +0 -0
  176. data/ref/ruby/classes/XX/XHTML/Strict.html +5 -5
  177. data/ref/ruby/classes/XX/XHTML/Strict.src/{M000025.html → M000039.html} +0 -0
  178. data/ref/ruby/classes/XX/XHTML/Transitional.html +5 -5
  179. data/ref/ruby/classes/XX/XHTML/Transitional.src/{M000024.html → M000038.html} +0 -0
  180. data/ref/ruby/classes/XX/XHTML.html +5 -5
  181. data/ref/ruby/classes/XX/XHTML.src/{M000023.html → M000037.html} +0 -0
  182. data/ref/ruby/classes/XX/XML.html +5 -5
  183. data/ref/ruby/classes/XX/XML.src/{M000019.html → M000033.html} +0 -0
  184. data/ref/ruby/classes/XX/XMLish.html +5 -5
  185. data/ref/ruby/classes/XX/XMLish.src/{M000026.html → M000040.html} +0 -0
  186. data/ref/ruby/created.rid +1 -1
  187. data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +101 -0
  188. data/ref/ruby/files/lib/ruby-vpi/{vpi_util_rb.html → vpi_rb.html} +3 -3
  189. data/ref/ruby/files/lib/ruby-vpi_rb.html +2 -2
  190. data/ref/ruby/fr_class_index.html +1 -0
  191. data/ref/ruby/fr_file_index.html +2 -1
  192. data/ref/ruby/fr_method_index.html +83 -69
  193. metadata +112 -70
  194. data/ref/c/hierarchy.html +0 -36
  195. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000036.html +0 -56
  196. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000037.html +0 -33
  197. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000038.html +0 -31
  198. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000039.html +0 -48
  199. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000040.html +0 -20
  200. data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000041.html +0 -31
@@ -94,7 +94,7 @@ whereas &lt;% &#8230; %&gt; tags do <b>not</b> produce any output.
94
94
  <h3 class="section-bar">Methods</h3>
95
95
 
96
96
  <div class="name-list">
97
- <a href="#M000018">new</a>&nbsp;&nbsp;
97
+ <a href="#M000032">new</a>&nbsp;&nbsp;
98
98
  </div>
99
99
  </div>
100
100
 
@@ -129,12 +129,12 @@ whereas &lt;% &#8230; %&gt; tags do <b>not</b> produce any output.
129
129
  <div id="methods">
130
130
  <h3 class="section-bar">Public Class methods</h3>
131
131
 
132
- <div id="method-M000018" class="method-detail">
133
- <a name="M000018"></a>
132
+ <div id="method-M000032" class="method-detail">
133
+ <a name="M000032"></a>
134
134
 
135
135
  <div class="method-heading">
136
- <a href="ERB.src/M000018.html" target="Code" class="method-signature"
137
- onclick="popupCode('ERB.src/M000018.html');return false;">
136
+ <a href="ERB.src/M000032.html" target="Code" class="method-signature"
137
+ onclick="popupCode('ERB.src/M000032.html');return false;">
138
138
  <span class="method-name">new</span><span class="method-args">(aInput, *aArgs)</span>
139
139
  </a>
140
140
  </div>
@@ -80,8 +80,8 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000074">collect_args</a>&nbsp;&nbsp;
84
- <a href="#M000073">sh</a>&nbsp;&nbsp;
83
+ <a href="#M000088">collect_args</a>&nbsp;&nbsp;
84
+ <a href="#M000087">sh</a>&nbsp;&nbsp;
85
85
  </div>
86
86
  </div>
87
87
 
@@ -116,12 +116,12 @@
116
116
  <div id="methods">
117
117
  <h3 class="section-bar">Public Instance methods</h3>
118
118
 
119
- <div id="method-M000074" class="method-detail">
120
- <a name="M000074"></a>
119
+ <div id="method-M000088" class="method-detail">
120
+ <a name="M000088"></a>
121
121
 
122
122
  <div class="method-heading">
123
- <a href="FileUtils.src/M000074.html" target="Code" class="method-signature"
124
- onclick="popupCode('FileUtils.src/M000074.html');return false;">
123
+ <a href="FileUtils.src/M000088.html" target="Code" class="method-signature"
124
+ onclick="popupCode('FileUtils.src/M000088.html');return false;">
125
125
  <span class="method-name">collect_args</span><span class="method-args">(*aArgs)</span>
126
126
  </a>
127
127
  </div>
@@ -133,12 +133,12 @@ Collects the given arguments into a single, sparse array.
133
133
  </div>
134
134
  </div>
135
135
 
136
- <div id="method-M000073" class="method-detail">
137
- <a name="M000073"></a>
136
+ <div id="method-M000087" class="method-detail">
137
+ <a name="M000087"></a>
138
138
 
139
139
  <div class="method-heading">
140
- <a href="FileUtils.src/M000073.html" target="Code" class="method-signature"
141
- onclick="popupCode('FileUtils.src/M000073.html');return false;">
140
+ <a href="FileUtils.src/M000087.html" target="Code" class="method-signature"
141
+ onclick="popupCode('FileUtils.src/M000087.html');return false;">
142
142
  <span class="method-name">sh</span><span class="method-args">(*aArgs, &amp;aBlock)</span>
143
143
  </a>
144
144
  </div>
@@ -0,0 +1,398 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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: Integer</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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">Integer</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/ruby-vpi/integer_rb.html">
59
+ lib/ruby-vpi/integer.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
+
81
+ <div id="description">
82
+ <p>
83
+ NOTE: Because integers are <em>immediate</em> values in Ruby, these methods
84
+ <b>cannot</b> modify the value of the integer upon which they are invoked.
85
+ Instead, they return the new value as their result.
86
+ </p>
87
+
88
+ </div>
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="#M000019">ensure_max</a>&nbsp;&nbsp;
98
+ <a href="#M000018">ensure_min</a>&nbsp;&nbsp;
99
+ <a href="#M000022">extend_sign</a>&nbsp;&nbsp;
100
+ <a href="#M000011">length</a>&nbsp;&nbsp;
101
+ <a href="#M000012">limit</a>&nbsp;&nbsp;
102
+ <a href="#M000010">log2</a>&nbsp;&nbsp;
103
+ <a href="#M000014">mask</a>&nbsp;&nbsp;
104
+ <a href="#M000016">max</a>&nbsp;&nbsp;
105
+ <a href="#M000020">pack</a>&nbsp;&nbsp;
106
+ <a href="#M000023">split</a>&nbsp;&nbsp;
107
+ <a href="#M000013">to_limit</a>&nbsp;&nbsp;
108
+ <a href="#M000015">to_mask</a>&nbsp;&nbsp;
109
+ <a href="#M000017">to_max</a>&nbsp;&nbsp;
110
+ <a href="#M000021">unpack</a>&nbsp;&nbsp;
111
+ </div>
112
+ </div>
113
+
114
+ </div>
115
+
116
+
117
+ <!-- if includes -->
118
+
119
+ <div id="section">
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <!-- if method_list -->
129
+ <div id="methods">
130
+ <h3 class="section-bar">Public Instance methods</h3>
131
+
132
+ <div id="method-M000019" class="method-detail">
133
+ <a name="M000019"></a>
134
+
135
+ <div class="method-heading">
136
+ <a href="Integer.src/M000019.html" target="Code" class="method-signature"
137
+ onclick="popupCode('Integer.src/M000019.html');return false;">
138
+ <span class="method-name">ensure_max</span><span class="method-args">(aLimit)</span>
139
+ </a>
140
+ </div>
141
+
142
+ <div class="method-description">
143
+ <p>
144
+ Ensures that this integer is no greater than the given limit.
145
+ </p>
146
+ </div>
147
+ </div>
148
+
149
+ <div id="method-M000018" class="method-detail">
150
+ <a name="M000018"></a>
151
+
152
+ <div class="method-heading">
153
+ <a href="Integer.src/M000018.html" target="Code" class="method-signature"
154
+ onclick="popupCode('Integer.src/M000018.html');return false;">
155
+ <span class="method-name">ensure_min</span><span class="method-args">(aLimit)</span>
156
+ </a>
157
+ </div>
158
+
159
+ <div class="method-description">
160
+ <p>
161
+ Ensures that this integer is no less than the given limit.
162
+ </p>
163
+ </div>
164
+ </div>
165
+
166
+ <div id="method-M000022" class="method-detail">
167
+ <a name="M000022"></a>
168
+
169
+ <div class="method-heading">
170
+ <a href="Integer.src/M000022.html" target="Code" class="method-signature"
171
+ onclick="popupCode('Integer.src/M000022.html');return false;">
172
+ <span class="method-name">extend_sign</span><span class="method-args">(aOrigWidth, aExtWidth)</span>
173
+ </a>
174
+ </div>
175
+
176
+ <div class="method-description">
177
+ <p>
178
+ Performs sign extension on this integer, which has the given width (number
179
+ of bits), so that the result will have the given extended width (number of
180
+ bits).
181
+ </p>
182
+ </div>
183
+ </div>
184
+
185
+ <div id="method-M000011" class="method-detail">
186
+ <a name="M000011"></a>
187
+
188
+ <div class="method-heading">
189
+ <a href="Integer.src/M000011.html" target="Code" class="method-signature"
190
+ onclick="popupCode('Integer.src/M000011.html');return false;">
191
+ <span class="method-name">length</span><span class="method-args">()</span>
192
+ </a>
193
+ </div>
194
+
195
+ <div class="method-description">
196
+ <p>
197
+ Returns the minimum number of bits necessary to represent this integer.
198
+ </p>
199
+ </div>
200
+ </div>
201
+
202
+ <div id="method-M000012" class="method-detail">
203
+ <a name="M000012"></a>
204
+
205
+ <div class="method-heading">
206
+ <a href="Integer.src/M000012.html" target="Code" class="method-signature"
207
+ onclick="popupCode('Integer.src/M000012.html');return false;">
208
+ <span class="method-name">limit</span><span class="method-args">()</span>
209
+ </a>
210
+ </div>
211
+
212
+ <div class="method-description">
213
+ <p>
214
+ Returns the lowest upper-bound of this integer. This integer cannot reach
215
+ the limit without occupying more bits in its binary representation.
216
+ </p>
217
+ </div>
218
+ </div>
219
+
220
+ <div id="method-M000010" class="method-detail">
221
+ <a name="M000010"></a>
222
+
223
+ <div class="method-heading">
224
+ <a href="Integer.src/M000010.html" target="Code" class="method-signature"
225
+ onclick="popupCode('Integer.src/M000010.html');return false;">
226
+ <span class="method-name">log2</span><span class="method-args">()</span>
227
+ </a>
228
+ </div>
229
+
230
+ <div class="method-description">
231
+ <p>
232
+ Returns the ceiling of the logarithm (base 2) of this positive integer.
233
+ </p>
234
+ </div>
235
+ </div>
236
+
237
+ <div id="method-M000014" class="method-detail">
238
+ <a name="M000014"></a>
239
+
240
+ <div class="method-heading">
241
+ <a href="Integer.src/M000014.html" target="Code" class="method-signature"
242
+ onclick="popupCode('Integer.src/M000014.html');return false;">
243
+ <span class="method-name">mask</span><span class="method-args">()</span>
244
+ </a>
245
+ </div>
246
+
247
+ <div class="method-description">
248
+ <p>
249
+ Returns a bit-mask capable of masking this integer.
250
+ </p>
251
+ </div>
252
+ </div>
253
+
254
+ <div id="method-M000016" class="method-detail">
255
+ <a name="M000016"></a>
256
+
257
+ <div class="method-heading">
258
+ <span class="method-name">max</span><span class="method-args">()</span>
259
+ </div>
260
+
261
+ <div class="method-description">
262
+ <p>
263
+ Alias for <a href="Integer.html#M000014">mask</a>
264
+ </p>
265
+ </div>
266
+ </div>
267
+
268
+ <div id="method-M000020" class="method-detail">
269
+ <a name="M000020"></a>
270
+
271
+ <div class="method-heading">
272
+ <a href="Integer.src/M000020.html" target="Code" class="method-signature"
273
+ onclick="popupCode('Integer.src/M000020.html');return false;">
274
+ <span class="method-name">pack</span><span class="method-args">(aPackedWidth)</span>
275
+ </a>
276
+ </div>
277
+
278
+ <div class="method-description">
279
+ <p>
280
+ Transforms this infinite-length Ruby integer into a fixed-length integer
281
+ (represented in two&#8217;s complement form) that has the given width
282
+ (number of bits).
283
+ </p>
284
+ </div>
285
+ </div>
286
+
287
+ <div id="method-M000023" class="method-detail">
288
+ <a name="M000023"></a>
289
+
290
+ <div class="method-heading">
291
+ <a href="Integer.src/M000023.html" target="Code" class="method-signature"
292
+ onclick="popupCode('Integer.src/M000023.html');return false;">
293
+ <span class="method-name">split</span><span class="method-args">(aWidth = 8)</span>
294
+ </a>
295
+ </div>
296
+
297
+ <div class="method-description">
298
+ <p>
299
+ Splits this integer into an array of smaller integers, each of which have
300
+ the given positive, non-zero width (number of bits). These smaller integers
301
+ are ordered from left to right, in the same way that humans write unsigned
302
+ binary numbers; for example:
303
+ </p>
304
+ <pre>
305
+ &gt;&gt; 6.split 1
306
+ =&gt; [1, 1, 0]
307
+ &gt;&gt; 6.split(1).map {|i| i.to_s 2}
308
+ =&gt; [&quot;1&quot;, &quot;1&quot;, &quot;0&quot;]
309
+ &gt;&gt; 6.split 2
310
+ =&gt; [1, 2]
311
+ &gt;&gt; 6.split(2).map {|i| i.to_s 2}
312
+ =&gt; [&quot;1&quot;, &quot;10&quot;]
313
+ </pre>
314
+ </div>
315
+ </div>
316
+
317
+ <div id="method-M000013" class="method-detail">
318
+ <a name="M000013"></a>
319
+
320
+ <div class="method-heading">
321
+ <a href="Integer.src/M000013.html" target="Code" class="method-signature"
322
+ onclick="popupCode('Integer.src/M000013.html');return false;">
323
+ <span class="method-name">to_limit</span><span class="method-args">()</span>
324
+ </a>
325
+ </div>
326
+
327
+ <div class="method-description">
328
+ <p>
329
+ Returns the lowest upper-bound of an integer with <b>this</b> number of
330
+ bits.
331
+ </p>
332
+ </div>
333
+ </div>
334
+
335
+ <div id="method-M000015" class="method-detail">
336
+ <a name="M000015"></a>
337
+
338
+ <div class="method-heading">
339
+ <a href="Integer.src/M000015.html" target="Code" class="method-signature"
340
+ onclick="popupCode('Integer.src/M000015.html');return false;">
341
+ <span class="method-name">to_mask</span><span class="method-args">()</span>
342
+ </a>
343
+ </div>
344
+
345
+ <div class="method-description">
346
+ <p>
347
+ Returns a bit-mask capable of masking an integer with <b>this</b> number of
348
+ bits.
349
+ </p>
350
+ </div>
351
+ </div>
352
+
353
+ <div id="method-M000017" class="method-detail">
354
+ <a name="M000017"></a>
355
+
356
+ <div class="method-heading">
357
+ <span class="method-name">to_max</span><span class="method-args">()</span>
358
+ </div>
359
+
360
+ <div class="method-description">
361
+ <p>
362
+ Alias for <a href="Integer.html#M000015">to_mask</a>
363
+ </p>
364
+ </div>
365
+ </div>
366
+
367
+ <div id="method-M000021" class="method-detail">
368
+ <a name="M000021"></a>
369
+
370
+ <div class="method-heading">
371
+ <a href="Integer.src/M000021.html" target="Code" class="method-signature"
372
+ onclick="popupCode('Integer.src/M000021.html');return false;">
373
+ <span class="method-name">unpack</span><span class="method-args">(aPackedWidth)</span>
374
+ </a>
375
+ </div>
376
+
377
+ <div class="method-description">
378
+ <p>
379
+ Transforms this fixed-length integer (represented in two&#8217;s complement
380
+ form) that has the given width (number of bits) into an infinite-length
381
+ Ruby integer.
382
+ </p>
383
+ </div>
384
+ </div>
385
+
386
+
387
+ </div>
388
+
389
+
390
+ </div>
391
+
392
+
393
+ <div id="validator-badges">
394
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
395
+ </div>
396
+
397
+ </body>
398
+ </html>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>log2 (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 24</span>
14
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log2</span>
15
+ 25: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;integer must be positive&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
16
+ 26: <span class="ruby-identifier">bin</span> = <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>)
17
+ 27:
18
+ 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^10+$/</span>
19
+ 29: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
20
+ 30: <span class="ruby-keyword kw">else</span>
21
+ 31: <span class="ruby-identifier">bin</span>.<span class="ruby-identifier">length</span>
22
+ 32: <span class="ruby-keyword kw">end</span>
23
+ 33: <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>length (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 36</span>
14
+ 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
15
+ 37: <span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>).<span class="ruby-identifier">length</span>
16
+ 38: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>limit (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 41</span>
14
+ 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">limit</span>
15
+ 42: <span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_limit</span>
16
+ 43: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>to_limit (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 46</span>
14
+ 46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_limit</span>
15
+ 47: <span class="ruby-value">2</span> <span class="ruby-operator">**</span> <span class="ruby-keyword kw">self</span>
16
+ 48: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>mask (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 52</span>
14
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mask</span>
15
+ 53: <span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_mask</span>
16
+ 54: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>to_mask (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 57</span>
14
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_mask</span>
15
+ 58: <span class="ruby-identifier">to_limit</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
16
+ 59: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>ensure_min (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 70</span>
14
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_min</span> <span class="ruby-identifier">aLimit</span>
15
+ 71: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">aLimit</span>
16
+ 72: <span class="ruby-identifier">aLimit</span>
17
+ 73: <span class="ruby-keyword kw">else</span>
18
+ 74: <span class="ruby-keyword kw">self</span>
19
+ 75: <span class="ruby-keyword kw">end</span>
20
+ 76: <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
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>ensure_max (Integer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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/ruby-vpi/integer.rb, line 79</span>
14
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_max</span> <span class="ruby-identifier">aLimit</span>
15
+ 80: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aLimit</span>
16
+ 81: <span class="ruby-identifier">aLimit</span>
17
+ 82: <span class="ruby-keyword kw">else</span>
18
+ 83: <span class="ruby-keyword kw">self</span>
19
+ 84: <span class="ruby-keyword kw">end</span>
20
+ 85: <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>