ruby-vpi 17.0.0 → 18.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +8 -6
- data/Rakefile +4 -4
- data/doc/common.css +6 -9
- data/doc/common.inc +3 -3
- data/doc/common.tpl +14 -6
- data/doc/history.html +152 -44
- data/doc/history.inc +55 -3
- data/doc/history.yaml +62 -2
- data/doc/intro.inc +20 -16
- data/doc/manual.doc +23 -9
- data/doc/manual.html +232 -200
- data/doc/memo.doc +7 -6
- data/doc/memo.html +28 -17
- data/doc/readme.doc +1 -1
- data/doc/readme.html +51 -35
- data/doc/rss.xml +96 -70
- data/ext/Rakefile +24 -11
- data/ext/swig_vpi.h +1 -1
- data/ext/swig_wrap.cin +17 -42
- data/lib/ruby-vpi/pli.tab +1 -0
- data/lib/ruby-vpi/runner.rb +34 -10
- data/lib/ruby-vpi/vpi.rb +483 -438
- data/ref/c/annotated.html +1 -1
- data/ref/c/common_8h.html +1 -1
- data/ref/c/files.html +1 -1
- data/ref/c/functions.html +1 -1
- data/ref/c/functions_vars.html +1 -1
- data/ref/c/globals.html +1 -1
- data/ref/c/globals_0x63.html +1 -1
- data/ref/c/globals_0x65.html +1 -1
- data/ref/c/globals_0x66.html +1 -1
- data/ref/c/globals_0x6d.html +1 -1
- data/ref/c/globals_0x70.html +1 -1
- data/ref/c/globals_0x72.html +1 -1
- data/ref/c/globals_0x73.html +1 -1
- data/ref/c/globals_0x74.html +1 -1
- data/ref/c/globals_0x76.html +1 -1
- data/ref/c/globals_0x78.html +1 -1
- data/ref/c/globals_defs.html +1 -1
- data/ref/c/globals_defs_0x65.html +1 -1
- data/ref/c/globals_defs_0x70.html +1 -1
- data/ref/c/globals_defs_0x76.html +1 -1
- data/ref/c/globals_defs_0x78.html +1 -1
- data/ref/c/globals_enum.html +1 -1
- data/ref/c/globals_eval.html +1 -1
- data/ref/c/globals_func.html +1 -1
- data/ref/c/globals_type.html +1 -1
- data/ref/c/globals_vars.html +1 -1
- data/ref/c/index.html +1 -1
- data/ref/c/main_8c.html +1 -1
- data/ref/c/main_8h.html +1 -1
- data/ref/c/relay_8c.html +1 -1
- data/ref/c/relay_8h.html +1 -1
- data/ref/c/structt__cb__data.html +1 -1
- data/ref/c/structt__vpi__delay.html +1 -1
- data/ref/c/structt__vpi__error__info.html +1 -1
- data/ref/c/structt__vpi__strengthval.html +1 -1
- data/ref/c/structt__vpi__systf__data.html +1 -1
- data/ref/c/structt__vpi__time.html +1 -1
- data/ref/c/structt__vpi__value.html +1 -1
- data/ref/c/structt__vpi__vecval.html +1 -1
- data/ref/c/structt__vpi__vlog__info.html +1 -1
- data/ref/c/verilog_8h.html +1 -1
- data/ref/c/vlog_8c.html +1 -1
- data/ref/c/vlog_8h.html +1 -1
- data/ref/c/vpi__user_8h.html +1 -1
- data/ref/ruby/classes/RDoc.html +5 -5
- data/ref/ruby/classes/RDoc.src/{M000058.html → M000061.html} +0 -0
- data/ref/ruby/classes/String.html +24 -24
- data/ref/ruby/classes/String.src/M000022.html +23 -5
- data/ref/ruby/classes/String.src/M000023.html +28 -5
- data/ref/ruby/classes/String.src/M000024.html +5 -23
- data/ref/ruby/classes/String.src/M000025.html +5 -28
- data/ref/ruby/classes/Vpi/Handle.html +94 -49
- data/ref/ruby/classes/Vpi/Handle.src/M000035.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000036.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000037.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000038.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000039.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000040.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000041.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000042.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.src/M000043.html +7 -7
- data/ref/ruby/classes/Vpi/Handle.src/M000044.html +7 -7
- data/ref/ruby/classes/Vpi/Handle.src/M000045.html +8 -8
- data/ref/ruby/classes/Vpi/Handle.src/M000046.html +36 -30
- data/ref/ruby/classes/Vpi/Handle.src/M000047.html +72 -67
- data/ref/ruby/classes/Vpi/Handle.src/M000048.html +6 -17
- data/ref/ruby/classes/Vpi/Handle.src/M000049.html +19 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000050.html +5 -5
- data/ref/ruby/classes/Vpi/Handle.src/M000051.html +16 -10
- data/ref/ruby/classes/Vpi/Handle.src/M000053.html +5 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000054.html +11 -76
- data/ref/ruby/classes/Vpi/Handle.src/M000056.html +31 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000057.html +40 -0
- data/ref/ruby/classes/Vpi/S_vpi_time.html +16 -16
- data/ref/ruby/classes/Vpi/S_vpi_time.src/{M000055.html → M000058.html} +4 -4
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000059.html +19 -0
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000032.html +4 -4
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000033.html +4 -4
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +4 -4
- data/ref/ruby/classes/Vpi.html +0 -7
- data/ref/ruby/classes/Vpi.src/M000029.html +14 -14
- data/ref/ruby/classes/Vpi.src/M000030.html +25 -24
- data/ref/ruby/classes/Vpi.src/M000031.html +6 -6
- data/ref/ruby/created.rid +1 -1
- data/ref/ruby/files/bin/convert_rb.html +1 -1
- data/ref/ruby/files/bin/generate_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/util_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/vpi_rb.html +8 -1
- data/ref/ruby/files/lib/ruby-vpi_rb.html +1 -1
- data/ref/ruby/fr_method_index.html +19 -16
- data/samp/register_file/register_file.v +1 -1
- data/samp/register_file/register_file_spec.rb +9 -5
- metadata +42 -38
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000056.html +0 -19
data/LICENSE
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
Copyright 2006 Suraj N. Kurapati <
|
1
|
+
Copyright 2006 Suraj N. Kurapati <SNK at GNA dot ORG>
|
2
|
+
Copyright 1999 Kazuhiro HIWADA <HIWADA at KUEE dot KYOTO-U dot AC dot JP>
|
2
3
|
|
3
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
4
5
|
this software and associated documentation files (the "Software"), to deal in
|
@@ -7,12 +8,13 @@ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
7
8
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
8
9
|
subject to the following conditions:
|
9
10
|
|
10
|
-
1. All
|
11
|
-
(the "Derivatives") and their corresponding machine-readable
|
12
|
-
"Code") must include the above copyright notice and this
|
11
|
+
1. All copies and substantial portions of the Software, whether modified or
|
12
|
+
unmodified, (the "Derivatives") and their corresponding machine-readable
|
13
|
+
source code (the "Code") must include the above copyright notice and this
|
14
|
+
permission notice.
|
13
15
|
|
14
|
-
2.
|
15
|
-
|
16
|
+
2. The Derivatives, upon distribution, must be accompanied by the Code or, if
|
17
|
+
the Code is obtainable for no more than the cost of distribution plus a
|
16
18
|
nominal fee, by information on how to obtain the Code.
|
17
19
|
|
18
20
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
data/Rakefile
CHANGED
@@ -81,14 +81,14 @@ task :default => :build
|
|
81
81
|
desc "Builds object files for #{sim.name}."
|
82
82
|
task taskName => ['obj', 'ext'] do
|
83
83
|
src = PROJECT_ID + '.' + Config::CONFIG['DLEXT']
|
84
|
-
dst = File.expand_path(File.join('obj', id.
|
84
|
+
dst = File.expand_path(File.join('obj', "#{id}.so"))
|
85
85
|
|
86
86
|
unless File.exist? dst
|
87
87
|
cd 'ext' do
|
88
|
-
ENV['CFLAGS'] =
|
89
|
-
ENV['LDFLAGS'] =
|
88
|
+
ENV['CFLAGS'] = [ccFlags, sim.compiler_args].compact.join(' ')
|
89
|
+
ENV['LDFLAGS'] = [ldFlags, sim.linker_args].compact.join(' ')
|
90
90
|
|
91
|
-
sh
|
91
|
+
sh "rake SIMULATOR=#{id}"
|
92
92
|
mv src, dst
|
93
93
|
sh 'rake clean'
|
94
94
|
end
|
data/doc/common.css
CHANGED
@@ -15,10 +15,6 @@ body {
|
|
15
15
|
padding: 2em;
|
16
16
|
}
|
17
17
|
|
18
|
-
#body > h1 {
|
19
|
-
margin-top: 0;
|
20
|
-
}
|
21
|
-
|
22
18
|
|
23
19
|
/* headings */
|
24
20
|
|
@@ -35,23 +31,24 @@ h1, h2, h3, h4, h5, h6 {
|
|
35
31
|
|
36
32
|
/* table of contents */
|
37
33
|
|
38
|
-
#toc-links
|
34
|
+
#toc-links,
|
35
|
+
#site-links {
|
39
36
|
text-align: center;
|
40
37
|
border-bottom: thick solid salmon;
|
41
38
|
background-color: white;
|
42
39
|
padding: 1em;
|
43
40
|
}
|
44
41
|
|
42
|
+
#toc-links {
|
43
|
+
background-color: ivory;
|
44
|
+
}
|
45
|
+
|
45
46
|
#toc {
|
46
47
|
border-top: thick solid salmon;
|
47
48
|
background-color: white;
|
48
49
|
padding: 1em;
|
49
50
|
}
|
50
51
|
|
51
|
-
#toc li {
|
52
|
-
margin-left: -15px;
|
53
|
-
}
|
54
|
-
|
55
52
|
|
56
53
|
/* latex */
|
57
54
|
|
data/doc/common.inc
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
downloadURL = 'http://rubyforge.org/frs/?group_id=1339'
|
8
8
|
forumURL = 'http://rubyforge.org/forum/?group_id=1339'
|
9
9
|
trackerURL = 'http://rubyforge.org/tracker/?group_id=1339'
|
10
|
-
portalURL = 'http://rubyforge.org/projects/ruby-vpi'
|
11
|
-
codeURL = 'http://ruby-vpi.rubyforge.org/src/ruby-vpi'
|
12
|
-
projectURL = 'http://ruby-vpi.rubyforge.org'
|
10
|
+
portalURL = 'http://rubyforge.org/projects/ruby-vpi/'
|
11
|
+
codeURL = 'http://ruby-vpi.rubyforge.org/src/ruby-vpi/'
|
12
|
+
projectURL = 'http://ruby-vpi.rubyforge.org/'
|
13
13
|
%>
|
data/doc/common.tpl
CHANGED
@@ -33,19 +33,27 @@
|
|
33
33
|
<title><%= page_title %></title>
|
34
34
|
</head>
|
35
35
|
<body>
|
36
|
+
<div id="site-links">
|
37
|
+
<a href="readme.html">Home</a>
|
38
|
+
<%
|
39
|
+
Dir['*.doc'].each do |src|
|
40
|
+
name, ext = src.split('.', 2)
|
41
|
+
next if name == 'readme'
|
42
|
+
%>
|
43
|
+
· <a href="<%= name %>.html"><%= name.capitalize %></a>
|
44
|
+
<% end %>
|
45
|
+
<hr style="display: none"/>
|
46
|
+
</div>
|
47
|
+
|
36
48
|
<% if insert_toc %>
|
37
49
|
<div id="toc-links">
|
38
|
-
|
50
|
+
<%=
|
39
51
|
links = listings.map do |x|
|
40
52
|
%{<a href="##{x.anchor}">#{x.name}</a>}
|
41
53
|
end
|
42
54
|
links.unshift %{<a href="#toc:contents">Contents</a>}
|
55
|
+
links.join ' · '
|
43
56
|
%>
|
44
|
-
<% links.each do |link| %>
|
45
|
-
<%= link %> ·
|
46
|
-
<% end %>
|
47
|
-
|
48
|
-
<a href="readme.html" style="color: green; font-size: larger;">Home page</a>
|
49
57
|
</div>
|
50
58
|
<% end %>
|
51
59
|
|
data/doc/history.html
CHANGED
@@ -8,10 +8,16 @@
|
|
8
8
|
<title>Release history</title>
|
9
9
|
</head>
|
10
10
|
<body>
|
11
|
+
<div id="site-links">
|
12
|
+
<a href="readme.html">Home</a>
|
13
|
+
· <a href="manual.html">Manual</a>
|
14
|
+
· <a href="memo.html">Memo</a>
|
15
|
+
· <a href="history.html">History</a>
|
16
|
+
<hr style="display: none"/>
|
17
|
+
</div>
|
18
|
+
|
11
19
|
<div id="toc-links">
|
12
|
-
|
13
|
-
|
14
|
-
<a href="readme.html" style="color: green; font-size: larger;">Home page</a>
|
20
|
+
<a href="#toc:contents">Contents</a>
|
15
21
|
</div>
|
16
22
|
|
17
23
|
<div id="body">
|
@@ -48,11 +54,113 @@
|
|
48
54
|
</div>
|
49
55
|
|
50
56
|
|
57
|
+
<hr style="display: none"/>
|
58
|
+
|
59
|
+
<div id="a18.0.0" class="section">
|
60
|
+
<h1 class="title">
|
61
|
+
<a href="#a-607182658">2</a>
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
Version 18.0.0 (2007-07-31)
|
66
|
+
</h1>
|
67
|
+
|
68
|
+
<p>This release restores support for Synopsys VCS and Cadence NC-Sim, improves portability and performance, and enhances the VPI abstraction layer.</p>
|
69
|
+
|
70
|
+
|
71
|
+
<h2>Thanks</h2>
|
72
|
+
|
73
|
+
|
74
|
+
<ul>
|
75
|
+
<li>Calvin Wong discovered <a href="http://rubyforge.org/forum/message.php?msg_id=25691">how to bypass the following error</a> emitted by Synopsys VCS when loading the Ruby-VPI shared object file.
|
76
|
+
|
77
|
+
<pre>
|
78
|
+
Could not open library specified in -load option obj/vcs
|
79
|
+
obj/vcs: undefined symbol: vpi_put_data
|
80
|
+
</pre></li>
|
81
|
+
</ul>
|
82
|
+
|
83
|
+
|
84
|
+
<h2>Caution</h2>
|
85
|
+
|
86
|
+
|
87
|
+
<ul>
|
88
|
+
<li><a href="http://www.swig.org/">SWIG</a> is now required in order to compile and install Ruby-VPI.</li>
|
89
|
+
</ul>
|
90
|
+
|
91
|
+
|
92
|
+
<ul>
|
93
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.put_value</code> no longer checks whether the value written matches the value read back after writing because that only works when there is no VPI delay associated with the write.</li>
|
94
|
+
</ul>
|
95
|
+
|
96
|
+
|
97
|
+
<ul>
|
98
|
+
<li>When <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.put_value</code> is used to write a value to a wire (VpiNet), it now <em>forces</em> the value. This is done to ensure portability:
|
99
|
+
|
100
|
+
<p>Synopsys VCS and Cadence NC-Sim forget the value written to a wire during the next simulation time step, whereas Mentor Modelsim and GPL Cver remember the value (thereby treating wires as registers).</p>
|
101
|
+
|
102
|
+
|
103
|
+
<p>Note that you have to release a forced value (using <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.release_value</code>) on a wire after writing to the wire if you want the design under test have the ability to update the value of the wire later on:</p>
|
104
|
+
|
105
|
+
|
106
|
+
<pre class="code">
|
107
|
+
your_wire.intVal = <span style="color:#00D; font-weight:bold">15</span>
|
108
|
+
your_wire.release_value
|
109
|
+
advance_time <span style="color:#888"># let the Verilog DUT modify your_wire</span>
|
110
|
+
</pre>
|
111
|
+
|
112
|
+
|
113
|
+
<p>In addition, you can check if a wire has a forced value using the <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.value_forced?</code> method.</p></li>
|
114
|
+
</ul>
|
115
|
+
|
116
|
+
|
117
|
+
<ul>
|
118
|
+
<li>If the format is not specified, <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.get_value</code> now assumes that you want to read the value in VpiIntVal format (because this is the most common case).</li>
|
119
|
+
</ul>
|
120
|
+
|
121
|
+
|
122
|
+
<ul>
|
123
|
+
<li>The definition of “Derivatives” has been reworded for clarity in the <a href="readme.html#intro.license">project license</a>.</li>
|
124
|
+
</ul>
|
125
|
+
|
126
|
+
|
127
|
+
<h2>Repairs</h2>
|
128
|
+
|
129
|
+
|
130
|
+
<ul>
|
131
|
+
<li>Synopsys VCS and Cadence NC-Sim simulators now correctly load Ruby-VPI. Also, the 64-bit versions of these simulators are now supported.</li>
|
132
|
+
</ul>
|
133
|
+
|
134
|
+
|
135
|
+
<h2>Improvements</h2>
|
136
|
+
|
137
|
+
|
138
|
+
<ul>
|
139
|
+
<li>Added “force_value”, “release_value”, and “value_forced?” methods to the <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> class.</li>
|
140
|
+
</ul>
|
141
|
+
|
142
|
+
|
143
|
+
<ul>
|
144
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.put_value</code> now tries to automatically detect the format of the value to be written. As a result, you can now write <code class="code">your_handle.put_value <span style="color:#00D; font-weight:bold">35</span></code> in lieu of writing <code class="code">your_handle.intVal = <span style="color:#00D; font-weight:bold">35</span></code>.</li>
|
145
|
+
</ul>
|
146
|
+
|
147
|
+
|
148
|
+
<ul>
|
149
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.inspect</code> now shows the hexStrVal of the handle (because it is a common case to want to see a handle’s logic value along with its other information).</li>
|
150
|
+
</ul>
|
151
|
+
|
152
|
+
|
153
|
+
<ul>
|
154
|
+
<li>Added method caching (memoizing) for VPI property accesses on handles.</li>
|
155
|
+
</ul>
|
156
|
+
|
157
|
+
</div>
|
158
|
+
|
51
159
|
<hr style="display: none"/>
|
52
160
|
|
53
161
|
<div id="a17.0.0" class="section">
|
54
162
|
<h1 class="title">
|
55
|
-
<a href="#a-
|
163
|
+
<a href="#a-607186018">3</a>
|
56
164
|
|
57
165
|
|
58
166
|
|
@@ -194,7 +302,7 @@
|
|
194
302
|
|
195
303
|
<div id="a16.0.1" class="section">
|
196
304
|
<h1 class="title">
|
197
|
-
<a href="#a-
|
305
|
+
<a href="#a-607188328">4</a>
|
198
306
|
|
199
307
|
|
200
308
|
|
@@ -225,14 +333,14 @@
|
|
225
333
|
|
226
334
|
<div id="a16.0.0" class="section">
|
227
335
|
<h1 class="title">
|
228
|
-
<a href="#a-
|
336
|
+
<a href="#a-607191278">5</a>
|
229
337
|
|
230
338
|
|
231
339
|
|
232
340
|
Version 16.0.0 (2007-05-02)
|
233
341
|
</h1>
|
234
342
|
|
235
|
-
This release adds support for the <a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim
|
343
|
+
This release adds support for the <a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim</a> simulator, improves the project website and documentation, simplifies interaction with VPI, and comes with a more permissive license.
|
236
344
|
|
237
345
|
|
238
346
|
<h2>Caution</h2>
|
@@ -262,7 +370,7 @@
|
|
262
370
|
|
263
371
|
|
264
372
|
<ul>
|
265
|
-
<li>The <a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim
|
373
|
+
<li>The <a href="http://www.cadence.com/products/functional_ver/nc-verilog/">Cadence NC-Sim</a> (ncsim) simulator is now supported.</li>
|
266
374
|
</ul>
|
267
375
|
|
268
376
|
|
@@ -301,7 +409,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
301
409
|
|
302
410
|
<div id="a15.0.2" class="section">
|
303
411
|
<h1 class="title">
|
304
|
-
<a href="#a-
|
412
|
+
<a href="#a-607193568">6</a>
|
305
413
|
|
306
414
|
|
307
415
|
|
@@ -329,7 +437,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
329
437
|
|
330
438
|
<div id="a15.0.1" class="section">
|
331
439
|
<h1 class="title">
|
332
|
-
<a href="#a-
|
440
|
+
<a href="#a-607195998">7</a>
|
333
441
|
|
334
442
|
|
335
443
|
|
@@ -370,7 +478,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
370
478
|
|
371
479
|
<div id="a15.0.0" class="section">
|
372
480
|
<h1 class="title">
|
373
|
-
<a href="#a-
|
481
|
+
<a href="#a-607198768">8</a>
|
374
482
|
|
375
483
|
|
376
484
|
|
@@ -442,7 +550,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
442
550
|
|
443
551
|
<div id="a14.0.0" class="section">
|
444
552
|
<h1 class="title">
|
445
|
-
<a href="#a-
|
553
|
+
<a href="#a-607201618">9</a>
|
446
554
|
|
447
555
|
|
448
556
|
|
@@ -524,7 +632,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
524
632
|
|
525
633
|
<div id="a13.0.0" class="section">
|
526
634
|
<h1 class="title">
|
527
|
-
<a href="#a-
|
635
|
+
<a href="#a-607204228">10</a>
|
528
636
|
|
529
637
|
|
530
638
|
|
@@ -583,7 +691,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
583
691
|
|
584
692
|
<div id="a12.1.0" class="section">
|
585
693
|
<h1 class="title">
|
586
|
-
<a href="#a-
|
694
|
+
<a href="#a-607206878">11</a>
|
587
695
|
|
588
696
|
|
589
697
|
|
@@ -650,7 +758,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
650
758
|
|
651
759
|
<div id="a12.0.2" class="section">
|
652
760
|
<h1 class="title">
|
653
|
-
<a href="#a-
|
761
|
+
<a href="#a-607209028">12</a>
|
654
762
|
|
655
763
|
|
656
764
|
|
@@ -665,7 +773,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
665
773
|
|
666
774
|
<div id="a12.0.1" class="section">
|
667
775
|
<h1 class="title">
|
668
|
-
<a href="#a-
|
776
|
+
<a href="#a-607211418">13</a>
|
669
777
|
|
670
778
|
|
671
779
|
|
@@ -697,7 +805,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
697
805
|
|
698
806
|
<div id="a12.0.0" class="section">
|
699
807
|
<h1 class="title">
|
700
|
-
<a href="#a-
|
808
|
+
<a href="#a-607214448">14</a>
|
701
809
|
|
702
810
|
|
703
811
|
|
@@ -804,7 +912,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
804
912
|
|
805
913
|
<div id="a11.1.1" class="section">
|
806
914
|
<h1 class="title">
|
807
|
-
<a href="#a-
|
915
|
+
<a href="#a-607216938">15</a>
|
808
916
|
|
809
917
|
|
810
918
|
|
@@ -848,7 +956,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
848
956
|
|
849
957
|
<div id="a11.1.0" class="section">
|
850
958
|
<h1 class="title">
|
851
|
-
<a href="#a-
|
959
|
+
<a href="#a-607219728">16</a>
|
852
960
|
|
853
961
|
|
854
962
|
|
@@ -930,7 +1038,7 @@ puts <span style="background-color:#fff0f0"><span style="color:#710">"</spa
|
|
930
1038
|
|
931
1039
|
<div id="a11.0.0" class="section">
|
932
1040
|
<h1 class="title">
|
933
|
-
<a href="#a-
|
1041
|
+
<a href="#a-607222378">17</a>
|
934
1042
|
|
935
1043
|
|
936
1044
|
|
@@ -990,7 +1098,7 @@ do_stuff
|
|
990
1098
|
|
991
1099
|
<div id="a10.0.0" class="section">
|
992
1100
|
<h1 class="title">
|
993
|
-
<a href="#a-
|
1101
|
+
<a href="#a-607225288">18</a>
|
994
1102
|
|
995
1103
|
|
996
1104
|
|
@@ -1078,7 +1186,7 @@ do_stuff
|
|
1078
1186
|
|
1079
1187
|
<div id="a9.0.0" class="section">
|
1080
1188
|
<h1 class="title">
|
1081
|
-
<a href="#a-
|
1189
|
+
<a href="#a-607228078">19</a>
|
1082
1190
|
|
1083
1191
|
|
1084
1192
|
|
@@ -1152,7 +1260,7 @@ do_stuff
|
|
1152
1260
|
|
1153
1261
|
<div id="a8.2.0" class="section">
|
1154
1262
|
<h1 class="title">
|
1155
|
-
<a href="#a-
|
1263
|
+
<a href="#a-607230568">20</a>
|
1156
1264
|
|
1157
1265
|
|
1158
1266
|
|
@@ -1193,7 +1301,7 @@ do_stuff
|
|
1193
1301
|
|
1194
1302
|
<div id="a8.1.0" class="section">
|
1195
1303
|
<h1 class="title">
|
1196
|
-
<a href="#a-
|
1304
|
+
<a href="#a-607232918">21</a>
|
1197
1305
|
|
1198
1306
|
|
1199
1307
|
|
@@ -1224,7 +1332,7 @@ do_stuff
|
|
1224
1332
|
|
1225
1333
|
<div id="a8.0.0" class="section">
|
1226
1334
|
<h1 class="title">
|
1227
|
-
<a href="#a-
|
1335
|
+
<a href="#a-607235508">22</a>
|
1228
1336
|
|
1229
1337
|
|
1230
1338
|
|
@@ -1286,7 +1394,7 @@ do_stuff
|
|
1286
1394
|
|
1287
1395
|
<div id="a7.3.0" class="section">
|
1288
1396
|
<h1 class="title">
|
1289
|
-
<a href="#a-
|
1397
|
+
<a href="#a-607237998">23</a>
|
1290
1398
|
|
1291
1399
|
|
1292
1400
|
|
@@ -1334,7 +1442,7 @@ do_stuff
|
|
1334
1442
|
|
1335
1443
|
<div id="a7.2.0" class="section">
|
1336
1444
|
<h1 class="title">
|
1337
|
-
<a href="#a-
|
1445
|
+
<a href="#a-607240408">24</a>
|
1338
1446
|
|
1339
1447
|
|
1340
1448
|
|
@@ -1373,7 +1481,7 @@ do_stuff
|
|
1373
1481
|
|
1374
1482
|
<div id="a7.1.0" class="section">
|
1375
1483
|
<h1 class="title">
|
1376
|
-
<a href="#a-
|
1484
|
+
<a href="#a-607242818">25</a>
|
1377
1485
|
|
1378
1486
|
|
1379
1487
|
|
@@ -1416,7 +1524,7 @@ do_stuff
|
|
1416
1524
|
|
1417
1525
|
<div id="a7.0.0" class="section">
|
1418
1526
|
<h1 class="title">
|
1419
|
-
<a href="#a-
|
1527
|
+
<a href="#a-607245508">26</a>
|
1420
1528
|
|
1421
1529
|
|
1422
1530
|
|
@@ -1489,7 +1597,7 @@ do_stuff
|
|
1489
1597
|
|
1490
1598
|
<div id="a6.3.0" class="section">
|
1491
1599
|
<h1 class="title">
|
1492
|
-
<a href="#a-
|
1600
|
+
<a href="#a-607248278">27</a>
|
1493
1601
|
|
1494
1602
|
|
1495
1603
|
|
@@ -1610,7 +1718,7 @@ do_stuff
|
|
1610
1718
|
|
1611
1719
|
<div id="a6.2.0" class="section">
|
1612
1720
|
<h1 class="title">
|
1613
|
-
<a href="#a-
|
1721
|
+
<a href="#a-607250788">28</a>
|
1614
1722
|
|
1615
1723
|
|
1616
1724
|
|
@@ -1661,7 +1769,7 @@ do_stuff
|
|
1661
1769
|
|
1662
1770
|
<div id="a6.1.0" class="section">
|
1663
1771
|
<h1 class="title">
|
1664
|
-
<a href="#a-
|
1772
|
+
<a href="#a-607253118">29</a>
|
1665
1773
|
|
1666
1774
|
|
1667
1775
|
|
@@ -1693,7 +1801,7 @@ do_stuff
|
|
1693
1801
|
|
1694
1802
|
<div id="a6.0.0" class="section">
|
1695
1803
|
<h1 class="title">
|
1696
|
-
<a href="#a-
|
1804
|
+
<a href="#a-607255668">30</a>
|
1697
1805
|
|
1698
1806
|
|
1699
1807
|
|
@@ -1746,7 +1854,7 @@ do_stuff
|
|
1746
1854
|
|
1747
1855
|
<div id="a5.1.1" class="section">
|
1748
1856
|
<h1 class="title">
|
1749
|
-
<a href="#a-
|
1857
|
+
<a href="#a-607258058">31</a>
|
1750
1858
|
|
1751
1859
|
|
1752
1860
|
|
@@ -1782,7 +1890,7 @@ do_stuff
|
|
1782
1890
|
|
1783
1891
|
<div id="a5.1.0" class="section">
|
1784
1892
|
<h1 class="title">
|
1785
|
-
<a href="#a-
|
1893
|
+
<a href="#a-607260808">32</a>
|
1786
1894
|
|
1787
1895
|
|
1788
1896
|
|
@@ -1857,7 +1965,7 @@ do_stuff
|
|
1857
1965
|
|
1858
1966
|
<div id="a5.0.0" class="section">
|
1859
1967
|
<h1 class="title">
|
1860
|
-
<a href="#a-
|
1968
|
+
<a href="#a-607263458">33</a>
|
1861
1969
|
|
1862
1970
|
|
1863
1971
|
|
@@ -1920,7 +2028,7 @@ do_stuff
|
|
1920
2028
|
|
1921
2029
|
<div id="a4.0.0" class="section">
|
1922
2030
|
<h1 class="title">
|
1923
|
-
<a href="#a-
|
2031
|
+
<a href="#a-607266088">34</a>
|
1924
2032
|
|
1925
2033
|
|
1926
2034
|
|
@@ -1981,7 +2089,7 @@ do_stuff
|
|
1981
2089
|
|
1982
2090
|
<div id="a3.2.0" class="section">
|
1983
2091
|
<h1 class="title">
|
1984
|
-
<a href="#a-
|
2092
|
+
<a href="#a-607268598">35</a>
|
1985
2093
|
|
1986
2094
|
|
1987
2095
|
|
@@ -2031,7 +2139,7 @@ do_stuff
|
|
2031
2139
|
|
2032
2140
|
<div id="a3.1.0" class="section">
|
2033
2141
|
<h1 class="title">
|
2034
|
-
<a href="#a-
|
2142
|
+
<a href="#a-607271188">36</a>
|
2035
2143
|
|
2036
2144
|
|
2037
2145
|
|
@@ -2091,7 +2199,7 @@ do_stuff
|
|
2091
2199
|
|
2092
2200
|
<div id="a3.0.0" class="section">
|
2093
2201
|
<h1 class="title">
|
2094
|
-
<a href="#a-
|
2202
|
+
<a href="#a-607273938">37</a>
|
2095
2203
|
|
2096
2204
|
|
2097
2205
|
|
@@ -2164,7 +2272,7 @@ do_stuff
|
|
2164
2272
|
|
2165
2273
|
<div id="a2.0.0" class="section">
|
2166
2274
|
<h1 class="title">
|
2167
|
-
<a href="#a-
|
2275
|
+
<a href="#a-607276588">38</a>
|
2168
2276
|
|
2169
2277
|
|
2170
2278
|
|
@@ -2223,7 +2331,7 @@ do_stuff
|
|
2223
2331
|
|
2224
2332
|
<div id="a1.0.0" class="section">
|
2225
2333
|
<h1 class="title">
|
2226
|
-
<a href="#a-
|
2334
|
+
<a href="#a-607279478">39</a>
|
2227
2335
|
|
2228
2336
|
|
2229
2337
|
|
@@ -2307,7 +2415,7 @@ do_stuff
|
|
2307
2415
|
|
2308
2416
|
<div id="a0.0.0" class="section">
|
2309
2417
|
<h1 class="title">
|
2310
|
-
<a href="#a-
|
2418
|
+
<a href="#a-607281768">40</a>
|
2311
2419
|
|
2312
2420
|
|
2313
2421
|
|
@@ -2335,7 +2443,7 @@ do_stuff
|
|
2335
2443
|
<hr style="display: none"/>
|
2336
2444
|
<div id="toc">
|
2337
2445
|
<h1 id="toc:contents">Contents</h1>
|
2338
|
-
<ul><li><span class="hide">1 </span><a id="a-
|
2446
|
+
<ul><li><span class="hide">1 </span><a id="a-607179468" href="#Release_history">Release history</a><ul><li><span class="hide">1.1 </span><a id="a-607176568" href="#Version_numbering_system">Version numbering system</a></li></ul></li><li><span class="hide">2 </span><a id="a-607182658" href="#a18.0.0">Version 18.0.0 (2007-07-31)</a></li><li><span class="hide">3 </span><a id="a-607186018" href="#a17.0.0">Version 17.0.0 (2007-07-22)</a></li><li><span class="hide">4 </span><a id="a-607188328" href="#a16.0.1">Version 16.0.1 (2007-05-27)</a></li><li><span class="hide">5 </span><a id="a-607191278" href="#a16.0.0">Version 16.0.0 (2007-05-02)</a></li><li><span class="hide">6 </span><a id="a-607193568" href="#a15.0.2">Version 15.0.2 (2007-01-22)</a></li><li><span class="hide">7 </span><a id="a-607195998" href="#a15.0.1">Version 15.0.1 (2007-01-15)</a></li><li><span class="hide">8 </span><a id="a-607198768" href="#a15.0.0">Version 15.0.0 (2007-01-13)</a></li><li><span class="hide">9 </span><a id="a-607201618" href="#a14.0.0">Version 14.0.0 (2006-12-30)</a></li><li><span class="hide">10 </span><a id="a-607204228" href="#a13.0.0">Version 13.0.0 (2006-12-27)</a></li><li><span class="hide">11 </span><a id="a-607206878" href="#a12.1.0">Version 12.1.0 (2006-12-22)</a></li><li><span class="hide">12 </span><a id="a-607209028" href="#a12.0.2">Version 12.0.2 (2006-12-18)</a></li><li><span class="hide">13 </span><a id="a-607211418" href="#a12.0.1">Version 12.0.1 (2006-12-18)</a></li><li><span class="hide">14 </span><a id="a-607214448" href="#a12.0.0">Version 12.0.0 (2006-12-07)</a></li><li><span class="hide">15 </span><a id="a-607216938" href="#a11.1.1">Version 11.1.1 (2006-11-15)</a></li><li><span class="hide">16 </span><a id="a-607219728" href="#a11.1.0">Version 11.1.0 (2006-11-08)</a></li><li><span class="hide">17 </span><a id="a-607222378" href="#a11.0.0">Version 11.0.0 (2006-11-05)</a></li><li><span class="hide">18 </span><a id="a-607225288" href="#a10.0.0">Version 10.0.0 (2006-11-05)</a></li><li><span class="hide">19 </span><a id="a-607228078" href="#a9.0.0">Version 9.0.0 (2006-10-28)</a></li><li><span class="hide">20 </span><a id="a-607230568" href="#a8.2.0">Version 8.2.0 (2006-10-24)</a></li><li><span class="hide">21 </span><a id="a-607232918" href="#a8.1.0">Version 8.1.0 (2006-10-21)</a></li><li><span class="hide">22 </span><a id="a-607235508" href="#a8.0.0">Version 8.0.0 (2006-10-13)</a></li><li><span class="hide">23 </span><a id="a-607237998" href="#a7.3.0">Version 7.3.0 (2006-09-30)</a></li><li><span class="hide">24 </span><a id="a-607240408" href="#a7.2.0">Version 7.2.0 (2006-09-15)</a></li><li><span class="hide">25 </span><a id="a-607242818" href="#a7.1.0">Version 7.1.0 (2006-08-29)</a></li><li><span class="hide">26 </span><a id="a-607245508" href="#a7.0.0">Version 7.0.0 (2006-08-29)</a></li><li><span class="hide">27 </span><a id="a-607248278" href="#a6.3.0">Version 6.3.0 (2006-08-27)</a></li><li><span class="hide">28 </span><a id="a-607250788" href="#a6.2.0">Version 6.2.0 (2006-08-26)</a></li><li><span class="hide">29 </span><a id="a-607253118" href="#a6.1.0">Version 6.1.0 (2006-08-09)</a></li><li><span class="hide">30 </span><a id="a-607255668" href="#a6.0.0">Version 6.0.0 (2006-08-07)</a></li><li><span class="hide">31 </span><a id="a-607258058" href="#a5.1.1">Version 5.1.1 (2006-08-04)</a></li><li><span class="hide">32 </span><a id="a-607260808" href="#a5.1.0">Version 5.1.0 (2006-07-29)</a></li><li><span class="hide">33 </span><a id="a-607263458" href="#a5.0.0">Version 5.0.0 (2006-07-22)</a></li><li><span class="hide">34 </span><a id="a-607266088" href="#a4.0.0">Version 4.0.0 (2006-05-25)</a></li><li><span class="hide">35 </span><a id="a-607268598" href="#a3.2.0">Version 3.2.0 (2006-05-13)</a></li><li><span class="hide">36 </span><a id="a-607271188" href="#a3.1.0">Version 3.1.0 (2006-04-28)</a></li><li><span class="hide">37 </span><a id="a-607273938" href="#a3.0.0">Version 3.0.0 (2006-04-23)</a></li><li><span class="hide">38 </span><a id="a-607276588" href="#a2.0.0">Version 2.0.0 (2006-04-17)</a></li><li><span class="hide">39 </span><a id="a-607279478" href="#a1.0.0">Version 1.0.0 (2006-02-26)</a></li><li><span class="hide">40 </span><a id="a-607281768" href="#a0.0.0">Version 0.0.0 (1999-10-31)</a></li></ul>
|
2339
2447
|
|
2340
2448
|
</div>
|
2341
2449
|
</body>
|