~ubuntu-branches/ubuntu/jaunty/tablix2/jaunty

« back to all changes in this revision

Viewing changes to doc/doxygen/html/cache_8c.html

  • Committer: Bazaar Package Importer
  • Author(s): Robert Lemmen
  • Date: 2007-09-18 15:54:15 UTC
  • mfrom: (1.1.3 upstream) (2.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20070918155415-uwkixfe5ub1lee3o
Tags: 0.3.5-1
* New upstream release (closes: #439886)
* fixed build system to make it re-buildable without cleans

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
<title>Tablix: cache.c File Reference</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
6
</head><body>
7
 
<!-- Generated by Doxygen 1.4.6 -->
 
7
<!-- Generated by Doxygen 1.5.2 -->
8
8
<div class="tabs">
9
9
  <ul>
10
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11
11
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
12
 
    <li id="current"><a href="files.html"><span>Files</span></a></li>
13
 
  </ul></div>
 
12
    <li class="current"><a href="files.html"><span>Files</span></a></li>
 
13
  </ul>
 
14
</div>
14
15
<div class="tabs">
15
16
  <ul>
16
17
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
17
18
    <li><a href="globals.html"><span>Globals</span></a></li>
18
 
  </ul></div>
 
19
  </ul>
 
20
</div>
19
21
<h1>cache.c File Reference</h1>Caching of timetable fitness values. <a href="#_details">More...</a>
20
22
<p>
21
23
<code>#include &lt;stdlib.h&gt;</code><br>
68
70
Caching of timetable fitness values. 
69
71
<p>
70
72
<hr><h2>Function Documentation</h2>
71
 
<a class="anchor" name="36f1faee4cd72c960e08697d611770ac"></a><!-- doxytag: member="cache.c::cache_find" ref="36f1faee4cd72c960e08697d611770ac" args="(table *tab)" --><p>
72
 
<table class="mdTable" cellpadding="2" cellspacing="0">
73
 
  <tr>
74
 
    <td class="mdRow">
75
 
      <table cellpadding="0" cellspacing="0" border="0">
 
73
<a class="anchor" name="36f1faee4cd72c960e08697d611770ac"></a><!-- doxytag: member="cache.c::cache_find" ref="36f1faee4cd72c960e08697d611770ac" args="(table *tab)" -->
 
74
<div class="memitem">
 
75
<div class="memproto">
 
76
      <table class="memname">
76
77
        <tr>
77
 
          <td class="md" nowrap valign="top">static int cache_find           </td>
78
 
          <td class="md" valign="top">(&nbsp;</td>
79
 
          <td class="md" nowrap valign="top"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
80
 
          <td class="mdname1" valign="top" nowrap> <em>tab</em>          </td>
81
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
82
 
          <td class="md" nowrap><code> [static]</code></td>
 
78
          <td class="memname">static int cache_find           </td>
 
79
          <td>(</td>
 
80
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
81
          <td class="paramname"> <em>tab</em>          </td>
 
82
          <td>&nbsp;)&nbsp;</td>
 
83
          <td width="100%"><code> [static]</code></td>
83
84
        </tr>
84
85
      </table>
85
 
    </td>
86
 
  </tr>
87
 
</table>
88
 
<table cellspacing="5" cellpadding="0" border="0">
89
 
  <tr>
90
 
    <td>
91
 
      &nbsp;
92
 
    </td>
93
 
    <td>
 
86
</div>
 
87
<div class="memdoc">
94
88
 
95
89
<p>
96
90
Find a matching timetable in fitness cache. 
100
94
    <tr><td valign="top"></td><td valign="top"><em>tab</em>&nbsp;</td><td>Timetable to search for. </td></tr>
101
95
  </table>
102
96
</dl>
103
 
<dl compact><dt><b>Returns:</b></dt><dd>Cache line number if a matching timetable was found in cache or -1 if no match was found. </dd></dl>
104
 
    </td>
105
 
  </tr>
106
 
</table>
107
 
<a class="anchor" name="e0950b2f623dda0ddea2f398349f9c22"></a><!-- doxytag: member="cache.c::cache_init" ref="e0950b2f623dda0ddea2f398349f9c22" args="()" --><p>
108
 
<table class="mdTable" cellpadding="2" cellspacing="0">
109
 
  <tr>
110
 
    <td class="mdRow">
111
 
      <table cellpadding="0" cellspacing="0" border="0">
 
97
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Cache line number if a matching timetable was found in cache or -1 if no match was found. </dd></dl>
 
98
 
 
99
</div>
 
100
</div><p>
 
101
<a class="anchor" name="e0950b2f623dda0ddea2f398349f9c22"></a><!-- doxytag: member="cache.c::cache_init" ref="e0950b2f623dda0ddea2f398349f9c22" args="()" -->
 
102
<div class="memitem">
 
103
<div class="memproto">
 
104
      <table class="memname">
112
105
        <tr>
113
 
          <td class="md" nowrap valign="top">int cache_init           </td>
114
 
          <td class="md" valign="top">(&nbsp;</td>
115
 
          <td class="mdname1" valign="top" nowrap>          </td>
116
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
117
 
          <td class="md" nowrap></td>
 
106
          <td class="memname">int cache_init           </td>
 
107
          <td>(</td>
 
108
          <td class="paramname">          </td>
 
109
          <td>&nbsp;)&nbsp;</td>
 
110
          <td width="100%"></td>
118
111
        </tr>
119
112
      </table>
120
 
    </td>
121
 
  </tr>
122
 
</table>
123
 
<table cellspacing="5" cellpadding="0" border="0">
124
 
  <tr>
125
 
    <td>
126
 
      &nbsp;
127
 
    </td>
128
 
    <td>
 
113
</div>
 
114
<div class="memdoc">
129
115
 
130
116
<p>
131
117
Prepare fitness cache for use. 
132
118
<p>
133
 
Must be run after <a class="el" href="xmlsup_8c.html#4f2ac0a3cc304138b6ec4b4fa03495f9">parser_main()</a>.<p>
134
 
<dl compact><dt><b>Returns:</b></dt><dd>0 on success and -1 on error. </dd></dl>
135
 
    </td>
136
 
  </tr>
137
 
</table>
138
 
<a class="anchor" name="a9ee2330a1be2ad7ebac4bcee0bee811"></a><!-- doxytag: member="cache.c::cache_table_changed" ref="a9ee2330a1be2ad7ebac4bcee0bee811" args="(table *t1, table *t2)" --><p>
139
 
<table class="mdTable" cellpadding="2" cellspacing="0">
140
 
  <tr>
141
 
    <td class="mdRow">
142
 
      <table cellpadding="0" cellspacing="0" border="0">
143
 
        <tr>
144
 
          <td class="md" nowrap valign="top">static int cache_table_changed           </td>
145
 
          <td class="md" valign="top">(&nbsp;</td>
146
 
          <td class="md" nowrap valign="top"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
147
 
          <td class="mdname" nowrap> <em>t1</em>, </td>
148
 
        </tr>
149
 
        <tr>
150
 
          <td class="md" nowrap align="right"></td>
151
 
          <td class="md"></td>
152
 
          <td class="md" nowrap><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
153
 
          <td class="mdname" nowrap> <em>t2</em></td>
154
 
        </tr>
155
 
        <tr>
156
 
          <td class="md"></td>
157
 
          <td class="md">)&nbsp;</td>
158
 
          <td class="md" colspan="2"><code> [static]</code></td>
 
119
Must be run after <a class="el" href="xmlsup_8c.html#4f2ac0a3cc304138b6ec4b4fa03495f9" title="Parses an XML configuration file.">parser_main()</a>.<p>
 
120
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success and -1 on error. </dd></dl>
 
121
 
 
122
</div>
 
123
</div><p>
 
124
<a class="anchor" name="a9ee2330a1be2ad7ebac4bcee0bee811"></a><!-- doxytag: member="cache.c::cache_table_changed" ref="a9ee2330a1be2ad7ebac4bcee0bee811" args="(table *t1, table *t2)" -->
 
125
<div class="memitem">
 
126
<div class="memproto">
 
127
      <table class="memname">
 
128
        <tr>
 
129
          <td class="memname">static int cache_table_changed           </td>
 
130
          <td>(</td>
 
131
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
132
          <td class="paramname"> <em>t1</em>, </td>
 
133
        </tr>
 
134
        <tr>
 
135
          <td class="paramkey"></td>
 
136
          <td></td>
 
137
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
138
          <td class="paramname"> <em>t2</em></td><td>&nbsp;</td>
 
139
        </tr>
 
140
        <tr>
 
141
          <td></td>
 
142
          <td>)</td>
 
143
          <td></td><td></td><td width="100%"><code> [static]</code></td>
159
144
        </tr>
160
145
      </table>
161
 
    </td>
162
 
  </tr>
163
 
</table>
164
 
<table cellspacing="5" cellpadding="0" border="0">
165
 
  <tr>
166
 
    <td>
167
 
      &nbsp;
168
 
    </td>
169
 
    <td>
 
146
</div>
 
147
<div class="memdoc">
170
148
 
171
149
<p>
172
150
Compare variable chromosomes of two timetables. 
177
155
    <tr><td valign="top"></td><td valign="top"><em>t2</em>&nbsp;</td><td>Pointer to the second timetable structure. </td></tr>
178
156
  </table>
179
157
</dl>
180
 
<dl compact><dt><b>Returns:</b></dt><dd>0 if timetables have identical variable chromosomes or 1 if not. </dd></dl>
181
 
    </td>
182
 
  </tr>
183
 
</table>
184
 
<a class="anchor" name="1fad8a10c6ef391e06d54e9e6ecd0aed"></a><!-- doxytag: member="cache.c::cache_table_copy" ref="1fad8a10c6ef391e06d54e9e6ecd0aed" args="(table *dest, table *source)" --><p>
185
 
<table class="mdTable" cellpadding="2" cellspacing="0">
186
 
  <tr>
187
 
    <td class="mdRow">
188
 
      <table cellpadding="0" cellspacing="0" border="0">
189
 
        <tr>
190
 
          <td class="md" nowrap valign="top">static void cache_table_copy           </td>
191
 
          <td class="md" valign="top">(&nbsp;</td>
192
 
          <td class="md" nowrap valign="top"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
193
 
          <td class="mdname" nowrap> <em>dest</em>, </td>
194
 
        </tr>
195
 
        <tr>
196
 
          <td class="md" nowrap align="right"></td>
197
 
          <td class="md"></td>
198
 
          <td class="md" nowrap><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
199
 
          <td class="mdname" nowrap> <em>source</em></td>
200
 
        </tr>
201
 
        <tr>
202
 
          <td class="md"></td>
203
 
          <td class="md">)&nbsp;</td>
204
 
          <td class="md" colspan="2"><code> [static]</code></td>
 
158
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if timetables have identical variable chromosomes or 1 if not. </dd></dl>
 
159
 
 
160
</div>
 
161
</div><p>
 
162
<a class="anchor" name="1fad8a10c6ef391e06d54e9e6ecd0aed"></a><!-- doxytag: member="cache.c::cache_table_copy" ref="1fad8a10c6ef391e06d54e9e6ecd0aed" args="(table *dest, table *source)" -->
 
163
<div class="memitem">
 
164
<div class="memproto">
 
165
      <table class="memname">
 
166
        <tr>
 
167
          <td class="memname">static void cache_table_copy           </td>
 
168
          <td>(</td>
 
169
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
170
          <td class="paramname"> <em>dest</em>, </td>
 
171
        </tr>
 
172
        <tr>
 
173
          <td class="paramkey"></td>
 
174
          <td></td>
 
175
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
176
          <td class="paramname"> <em>source</em></td><td>&nbsp;</td>
 
177
        </tr>
 
178
        <tr>
 
179
          <td></td>
 
180
          <td>)</td>
 
181
          <td></td><td></td><td width="100%"><code> [static]</code></td>
205
182
        </tr>
206
183
      </table>
207
 
    </td>
208
 
  </tr>
209
 
</table>
210
 
<table cellspacing="5" cellpadding="0" border="0">
211
 
  <tr>
212
 
    <td>
213
 
      &nbsp;
214
 
    </td>
215
 
    <td>
 
184
</div>
 
185
<div class="memdoc">
216
186
 
217
187
<p>
218
188
Copy variable chromosomes and fitness information from source to destination timetable. 
223
193
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Pointer to the source timetable. </td></tr>
224
194
  </table>
225
195
</dl>
226
 
    </td>
227
 
  </tr>
228
 
</table>
229
 
<a class="anchor" name="b8182711d3c4bc8abf36c7f2428d01c3"></a><!-- doxytag: member="cache.c::cache_table_fitness" ref="b8182711d3c4bc8abf36c7f2428d01c3" args="(table *tab)" --><p>
230
 
<table class="mdTable" cellpadding="2" cellspacing="0">
231
 
  <tr>
232
 
    <td class="mdRow">
233
 
      <table cellpadding="0" cellspacing="0" border="0">
 
196
 
 
197
</div>
 
198
</div><p>
 
199
<a class="anchor" name="b8182711d3c4bc8abf36c7f2428d01c3"></a><!-- doxytag: member="cache.c::cache_table_fitness" ref="b8182711d3c4bc8abf36c7f2428d01c3" args="(table *tab)" -->
 
200
<div class="memitem">
 
201
<div class="memproto">
 
202
      <table class="memname">
234
203
        <tr>
235
 
          <td class="md" nowrap valign="top">void cache_table_fitness           </td>
236
 
          <td class="md" valign="top">(&nbsp;</td>
237
 
          <td class="md" nowrap valign="top"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
238
 
          <td class="mdname1" valign="top" nowrap> <em>tab</em>          </td>
239
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
240
 
          <td class="md" nowrap></td>
 
204
          <td class="memname">void cache_table_fitness           </td>
 
205
          <td>(</td>
 
206
          <td class="paramtype"><a class="el" href="structtable__t.html">table</a> *&nbsp;</td>
 
207
          <td class="paramname"> <em>tab</em>          </td>
 
208
          <td>&nbsp;)&nbsp;</td>
 
209
          <td width="100%"></td>
241
210
        </tr>
242
211
      </table>
243
 
    </td>
244
 
  </tr>
245
 
</table>
246
 
<table cellspacing="5" cellpadding="0" border="0">
247
 
  <tr>
248
 
    <td>
249
 
      &nbsp;
250
 
    </td>
251
 
    <td>
 
212
</div>
 
213
<div class="memdoc">
252
214
 
253
215
<p>
254
216
Assign a fitness to a table by first checking the cache and then calling all fitness functions. 
255
217
<p>
256
 
Uses <a class="el" href="modsup_8c.html#26b3266f472c60907a5fc56959f290b5">table_fitness()</a> if no matching timetable was found in fitness cache.<p>
 
218
Uses <a class="el" href="modsup_8c.html#26b3266f472c60907a5fc56959f290b5" title="Assign a fitness to a table by calling all fitness functions.">table_fitness()</a> if no matching timetable was found in fitness cache.<p>
257
219
<dl compact><dt><b>Parameters:</b></dt><dd>
258
220
  <table border="0" cellspacing="2" cellpadding="0">
259
221
    <tr><td valign="top"></td><td valign="top"><em>tab</em>&nbsp;</td><td>Pointer to the table to be fitnessd. </td></tr>
260
222
  </table>
261
223
</dl>
262
 
    </td>
263
 
  </tr>
264
 
</table>
 
224
 
 
225
</div>
 
226
</div><p>
265
227
<hr><h2>Variable Documentation</h2>
266
 
<a class="anchor" name="de778e82fe9005cbbf5fe3064712e599"></a><!-- doxytag: member="cache.c::cache_array" ref="de778e82fe9005cbbf5fe3064712e599" args="" --><p>
267
 
<table class="mdTable" cellpadding="2" cellspacing="0">
268
 
  <tr>
269
 
    <td class="mdRow">
270
 
      <table cellpadding="0" cellspacing="0" border="0">
 
228
<a class="anchor" name="de778e82fe9005cbbf5fe3064712e599"></a><!-- doxytag: member="cache.c::cache_array" ref="de778e82fe9005cbbf5fe3064712e599" args="" -->
 
229
<div class="memitem">
 
230
<div class="memproto">
 
231
      <table class="memname">
271
232
        <tr>
272
 
          <td class="md" nowrap valign="top"><a class="el" href="structtable__t.html">table</a>** <a class="el" href="cache_8c.html#de778e82fe9005cbbf5fe3064712e599">cache_array</a> = NULL<code> [static]</code>          </td>
 
233
          <td class="memname"><a class="el" href="structtable__t.html">table</a>** <a class="el" href="cache_8c.html#de778e82fe9005cbbf5fe3064712e599">cache_array</a> = NULL<code> [static]</code>          </td>
273
234
        </tr>
274
235
      </table>
275
 
    </td>
276
 
  </tr>
277
 
</table>
278
 
<table cellspacing="5" cellpadding="0" border="0">
279
 
  <tr>
280
 
    <td>
281
 
      &nbsp;
282
 
    </td>
283
 
    <td>
 
236
</div>
 
237
<div class="memdoc">
284
238
 
285
239
<p>
286
240
Cache of timetable fitness values. 
287
241
<p>
288
 
This is an array of <em>par_cachesize</em> timetable structures. Only variable chromosomes and fitness values (members <a class="el" href="structtable__t.html#14ee6925a8df5523393e746e7512292d">table_t::fitness</a>, <a class="el" href="structtable__t.html#57b722b09c7c767e2755b01a7f315615">table_t::possible</a> and <a class="el" href="structtable__t.html#014eae0e1062314515ea3752c5584149">table_t::subtotals</a>) are valid in these structures. As far as caching logic is concerned if two timetables have identical variable chromosomes they are identical.     </td>
289
 
  </tr>
290
 
</table>
291
 
<hr size="1"><address style="align: right;"><small>Generated on Sun May 28 16:48:03 2006 for Tablix by&nbsp;
 
242
This is an array of <em>par_cachesize</em> timetable structures. Only variable chromosomes and fitness values (members <a class="el" href="structtable__t.html#14ee6925a8df5523393e746e7512292d" title="Fitness of this individual. If less than 0 then this individual needs to be evaluated...">table_t::fitness</a>, <a class="el" href="structtable__t.html#57b722b09c7c767e2755b01a7f315615" title="Set to 1 if this structures describes an acceptable solution to the timetabling problem...">table_t::possible</a> and <a class="el" href="structtable__t.html#014eae0e1062314515ea3752c5584149" title="Array of n integers, where n is the number of fitness functions used, containing...">table_t::subtotals</a>) are valid in these structures. As far as caching logic is concerned if two timetables have identical variable chromosomes they are identical. 
 
243
</div>
 
244
</div><p>
 
245
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jul 3 13:23:35 2007 for Tablix by&nbsp;
292
246
<a href="http://www.doxygen.org/index.html">
293
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
 
247
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
294
248
</body>
295
249
</html>