File: liboil-OilFunction.html

package info (click to toggle)
liboil 0.3.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,276 kB
  • ctags: 2,005
  • sloc: ansic: 14,199; sh: 8,527; xml: 7,375; makefile: 429
file content (249 lines) | stat: -rw-r--r-- 26,284 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>OilFunction</title><meta name="generator" content="DocBook XSL Stylesheets V1.66.1"><link rel="start" href="index.html" title="Liboil Reference Manual"><link rel="up" href="ch02.html" title="Liboil Unstable API"><link rel="prev" href="liboil-liboildebug.html" title="liboildebug"><link rel="next" href="liboil-liboilparameter.html" title="liboilparameter"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="Liboil Stable API"><link rel="chapter" href="ch02.html" title="Liboil Unstable API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="liboil-liboildebug.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Liboil Reference Manual</th><td><a accesskey="n" href="liboil-liboilparameter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="liboil-OilFunction"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">OilFunction</span></h2><p>OilFunction &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">



#define     <a href="liboil-OilFunction.html#LIBOIL-CHECK-PROTOTYPE:CAPS">LIBOIL_CHECK_PROTOTYPE</a>          (a)
#define     <a href="liboil-OilFunction.html#OIL-OPT-MANGLE:CAPS">OIL_OPT_MANGLE</a>                  (a)
#define     <a href="liboil-OilFunction.html#OIL-OPT-FLAG-MANGLE:CAPS">OIL_OPT_FLAG_MANGLE</a>             (a)
#define     <a href="liboil-OilFunction.html#OIL-NO-CLASSES:CAPS">OIL_NO_CLASSES</a>
#define     <a href="liboil-OilFunction.html#OIL-OPT-SUFFIX:CAPS">OIL_OPT_SUFFIX</a>
            <a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a>;
#define     <a href="liboil-OilFunction.html#OIL-GET:CAPS">OIL_GET</a>                         (ptr, offset, type)
#define     <a href="liboil-OilFunction.html#OIL-OFFSET:CAPS">OIL_OFFSET</a>                      (ptr, offset)
#define     <a href="liboil-OilFunction.html#OIL-INCREMENT:CAPS">OIL_INCREMENT</a>                   (ptr, offset)
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-REF:CAPS">OIL_IMPL_FLAG_REF</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-OPT:CAPS">OIL_IMPL_FLAG_OPT</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-ASM:CAPS">OIL_IMPL_FLAG_ASM</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-DISABLED:CAPS">OIL_IMPL_FLAG_DISABLED</a>
#define     <a href="liboil-OilFunction.html#OIL-CPU-FLAG-MASK:CAPS">OIL_CPU_FLAG_MASK</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-CMOV:CAPS">OIL_IMPL_FLAG_CMOV</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-MMX:CAPS">OIL_IMPL_FLAG_MMX</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-SSE:CAPS">OIL_IMPL_FLAG_SSE</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-MMXEXT:CAPS">OIL_IMPL_FLAG_MMXEXT</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-SSE2:CAPS">OIL_IMPL_FLAG_SSE2</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-3DNOW:CAPS">OIL_IMPL_FLAG_3DNOW</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-3DNOWEXT:CAPS">OIL_IMPL_FLAG_3DNOWEXT</a>
#define     <a href="liboil-OilFunction.html#OIL-IMPL-FLAG-ALTIVEC:CAPS">OIL_IMPL_FLAG_ALTIVEC</a>
#define     <a href="liboil-OilFunction.html#OIL-DECLARE-CLASS:CAPS">OIL_DECLARE_CLASS</a>               (klass)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-CLASS-FULL:CAPS">OIL_DEFINE_CLASS_FULL</a>           (klass, string, test)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-CLASS:CAPS">OIL_DEFINE_CLASS</a>                (klass, string)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-IMPL-FULL:CAPS">OIL_DEFINE_IMPL_FULL</a>            (function,klass,flags)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-IMPL:CAPS">OIL_DEFINE_IMPL</a>                 (function,klass)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-IMPL-REF:CAPS">OIL_DEFINE_IMPL_REF</a>             (function,klass)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-IMPL-ASM:CAPS">OIL_DEFINE_IMPL_ASM</a>             (function,klass)
#define     <a href="liboil-OilFunction.html#OIL-DEFINE-IMPL-DEPENDS:CAPS">OIL_DEFINE_IMPL_DEPENDS</a>         (function,klass,...)
void        <a href="liboil-OilFunction.html#oil-optimize-all">oil_optimize_all</a>                (void);
void        <a href="liboil-OilFunction.html#oil-optimize">oil_optimize</a>                    (const char *class_name);
OilFunctionClass* <a href="liboil-OilFunction.html#oil-class-get-by-index">oil_class_get_by_index</a>    (int i);
OilFunctionClass* <a href="liboil-OilFunction.html#oil-class-get">oil_class_get</a>             (const char *class_name);
void        <a href="liboil-OilFunction.html#oil-class-optimize">oil_class_optimize</a>              (OilFunctionClass *klass);
int         <a href="liboil-OilFunction.html#oil-class-get-n-classes">oil_class_get_n_classes</a>         (void);
<a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a>* <a href="liboil-OilFunction.html#oil-impl-get-by-index">oil_impl_get_by_index</a>      (int i);
int         <a href="liboil-OilFunction.html#oil-impl-is-runnable">oil_impl_is_runnable</a>            (<a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a> *impl);
void        <a href="liboil-OilFunction.html#oil-class-choose-by-name">oil_class_choose_by_name</a>        (OilFunctionClass *klass,
                                             const char *name);
void        <a href="liboil-OilFunction.html#oil-class-register-impl-by-name">oil_class_register_impl_by_name</a> (const char *klass_name,
                                             <a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a> *impl);
</pre></div><div class="refsect1" lang="en"><a name="id2467254"></a><h2>Description</h2><p>

</p></div><div class="refsect1" lang="en"><a name="id2467264"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2467269"></a><h3><a name="LIBOIL-CHECK-PROTOTYPE:CAPS"></a>LIBOIL_CHECK_PROTOTYPE()</h3><a class="indexterm" name="id2467277"></a><pre class="programlisting">#define     LIBOIL_CHECK_PROTOTYPE(a)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>a</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2467302"></a><h3><a name="OIL-OPT-MANGLE:CAPS"></a>OIL_OPT_MANGLE()</h3><a class="indexterm" name="id2467310"></a><pre class="programlisting">#define OIL_OPT_MANGLE(a) a
</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>a</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2467335"></a><h3><a name="OIL-OPT-FLAG-MANGLE:CAPS"></a>OIL_OPT_FLAG_MANGLE()</h3><a class="indexterm" name="id2467343"></a><pre class="programlisting">#define     OIL_OPT_FLAG_MANGLE(a)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>a</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2467367"></a><h3><a name="OIL-NO-CLASSES:CAPS"></a>OIL_NO_CLASSES</h3><a class="indexterm" name="id2467376"></a><pre class="programlisting">#define OIL_NO_CLASSES
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2467385"></a><h3><a name="OIL-OPT-SUFFIX:CAPS"></a>OIL_OPT_SUFFIX</h3><a class="indexterm" name="id2467394"></a><pre class="programlisting">#define OIL_OPT_SUFFIX
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2467403"></a><h3><a name="OilFunctionImpl"></a>OilFunctionImpl</h3><a class="indexterm" name="id2467412"></a><pre class="programlisting">typedef struct {
	void *next;
	OilFunctionClass *klass;
	void *func;
	unsigned int flags;
	const char *name;
        double profile_ave;
        double profile_std;
} OilFunctionImpl;
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2467425"></a><h3><a name="OIL-GET:CAPS"></a>OIL_GET()</h3><a class="indexterm" name="id2467433"></a><pre class="programlisting">#define OIL_GET(ptr, offset, type) (*(type *)((uint8_t *)ptr + offset) )
</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ptr</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>offset</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>type</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2467480"></a><h3><a name="OIL-OFFSET:CAPS"></a>OIL_OFFSET()</h3><a class="indexterm" name="id2544403"></a><pre class="programlisting">#define OIL_OFFSET(ptr, offset) ((void *)((uint8_t *)ptr + offset) )
</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ptr</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>offset</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2544438"></a><h3><a name="OIL-INCREMENT:CAPS"></a>OIL_INCREMENT()</h3><a class="indexterm" name="id2544447"></a><pre class="programlisting">#define OIL_INCREMENT(ptr, offset) (ptr = (void *)((uint8_t *)ptr + offset) )
</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ptr</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>offset</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2544483"></a><h3><a name="OIL-IMPL-FLAG-REF:CAPS"></a>OIL_IMPL_FLAG_REF</h3><a class="indexterm" name="id2544492"></a><pre class="programlisting">#define OIL_IMPL_FLAG_REF	(1&lt;&lt;0)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544501"></a><h3><a name="OIL-IMPL-FLAG-OPT:CAPS"></a>OIL_IMPL_FLAG_OPT</h3><a class="indexterm" name="id2544510"></a><pre class="programlisting">#define OIL_IMPL_FLAG_OPT	(1&lt;&lt;1)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544519"></a><h3><a name="OIL-IMPL-FLAG-ASM:CAPS"></a>OIL_IMPL_FLAG_ASM</h3><a class="indexterm" name="id2544528"></a><pre class="programlisting">#define OIL_IMPL_FLAG_ASM	(1&lt;&lt;2)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544537"></a><h3><a name="OIL-IMPL-FLAG-DISABLED:CAPS"></a>OIL_IMPL_FLAG_DISABLED</h3><a class="indexterm" name="id2544546"></a><pre class="programlisting">#define OIL_IMPL_FLAG_DISABLED	(1&lt;&lt;3)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544555"></a><h3><a name="OIL-CPU-FLAG-MASK:CAPS"></a>OIL_CPU_FLAG_MASK</h3><a class="indexterm" name="id2544564"></a><pre class="programlisting">#define OIL_CPU_FLAG_MASK 0xffff0000
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544573"></a><h3><a name="OIL-IMPL-FLAG-CMOV:CAPS"></a>OIL_IMPL_FLAG_CMOV</h3><a class="indexterm" name="id2544582"></a><pre class="programlisting">#define OIL_IMPL_FLAG_CMOV              (1&lt;&lt;16)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544592"></a><h3><a name="OIL-IMPL-FLAG-MMX:CAPS"></a>OIL_IMPL_FLAG_MMX</h3><a class="indexterm" name="id2544601"></a><pre class="programlisting">#define OIL_IMPL_FLAG_MMX               (1&lt;&lt;17)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544611"></a><h3><a name="OIL-IMPL-FLAG-SSE:CAPS"></a>OIL_IMPL_FLAG_SSE</h3><a class="indexterm" name="id2544620"></a><pre class="programlisting">#define OIL_IMPL_FLAG_SSE               (1&lt;&lt;18)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544630"></a><h3><a name="OIL-IMPL-FLAG-MMXEXT:CAPS"></a>OIL_IMPL_FLAG_MMXEXT</h3><a class="indexterm" name="id2544639"></a><pre class="programlisting">#define OIL_IMPL_FLAG_MMXEXT            (1&lt;&lt;19)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544649"></a><h3><a name="OIL-IMPL-FLAG-SSE2:CAPS"></a>OIL_IMPL_FLAG_SSE2</h3><a class="indexterm" name="id2544658"></a><pre class="programlisting">#define OIL_IMPL_FLAG_SSE2              (1&lt;&lt;20)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2544668"></a><h3><a name="OIL-IMPL-FLAG-3DNOW:CAPS"></a>OIL_IMPL_FLAG_3DNOW</h3><a class="indexterm" name="id2604458"></a><pre class="programlisting">#define OIL_IMPL_FLAG_3DNOW             (1&lt;&lt;21)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2604468"></a><h3><a name="OIL-IMPL-FLAG-3DNOWEXT:CAPS"></a>OIL_IMPL_FLAG_3DNOWEXT</h3><a class="indexterm" name="id2604477"></a><pre class="programlisting">#define OIL_IMPL_FLAG_3DNOWEXT          (1&lt;&lt;22)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2604487"></a><h3><a name="OIL-IMPL-FLAG-ALTIVEC:CAPS"></a>OIL_IMPL_FLAG_ALTIVEC</h3><a class="indexterm" name="id2604496"></a><pre class="programlisting">#define OIL_IMPL_FLAG_ALTIVEC       (1&lt;&lt;16)
</pre><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2604506"></a><h3><a name="OIL-DECLARE-CLASS:CAPS"></a>OIL_DECLARE_CLASS()</h3><a class="indexterm" name="id2604515"></a><pre class="programlisting">#define     OIL_DECLARE_CLASS(klass)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604539"></a><h3><a name="OIL-DEFINE-CLASS-FULL:CAPS"></a>OIL_DEFINE_CLASS_FULL()</h3><a class="indexterm" name="id2604548"></a><pre class="programlisting">#define     OIL_DEFINE_CLASS_FULL(klass, string, test)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>string</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>test</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604594"></a><h3><a name="OIL-DEFINE-CLASS:CAPS"></a>OIL_DEFINE_CLASS()</h3><a class="indexterm" name="id2604603"></a><pre class="programlisting">#define     OIL_DEFINE_CLASS(klass, string)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>string</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604638"></a><h3><a name="OIL-DEFINE-IMPL-FULL:CAPS"></a>OIL_DEFINE_IMPL_FULL()</h3><a class="indexterm" name="id2604646"></a><pre class="programlisting">#define     OIL_DEFINE_IMPL_FULL(function,klass,flags)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>function</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>flags</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604693"></a><h3><a name="OIL-DEFINE-IMPL:CAPS"></a>OIL_DEFINE_IMPL()</h3><a class="indexterm" name="id2604701"></a><pre class="programlisting">#define     OIL_DEFINE_IMPL(function,klass)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>function</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604736"></a><h3><a name="OIL-DEFINE-IMPL-REF:CAPS"></a>OIL_DEFINE_IMPL_REF()</h3><a class="indexterm" name="id2604745"></a><pre class="programlisting">#define     OIL_DEFINE_IMPL_REF(function,klass)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>function</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604781"></a><h3><a name="OIL-DEFINE-IMPL-ASM:CAPS"></a>OIL_DEFINE_IMPL_ASM()</h3><a class="indexterm" name="id2604789"></a><pre class="programlisting">#define     OIL_DEFINE_IMPL_ASM(function,klass)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>function</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604825"></a><h3><a name="OIL-DEFINE-IMPL-DEPENDS:CAPS"></a>OIL_DEFINE_IMPL_DEPENDS()</h3><a class="indexterm" name="id2604835"></a><pre class="programlisting">#define     OIL_DEFINE_IMPL_DEPENDS(function,klass,...)</pre><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>function</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>...</tt></i>:</span></td><td>


</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604882"></a><h3><a name="oil-optimize-all"></a>oil_optimize_all ()</h3><a class="indexterm" name="id2604890"></a><pre class="programlisting">void        oil_optimize_all                (void);</pre><p>
Optimizes all function classes.</p><p>

</p></div><hr><div class="refsect2" lang="en"><a name="id2604908"></a><h3><a name="oil-optimize"></a>oil_optimize ()</h3><a class="indexterm" name="id2604916"></a><pre class="programlisting">void        oil_optimize                    (const char *class_name);</pre><p>
Optimizes function class given by <i class="parameter"><tt>class_name</tt></i>.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>class_name</tt></i>:</span></td><td> name of function class to optimize
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604959"></a><h3><a name="oil-class-get-by-index"></a>oil_class_get_by_index ()</h3><a class="indexterm" name="id2604967"></a><pre class="programlisting">OilFunctionClass* oil_class_get_by_index    (int i);</pre><p>
Returns a pointer to the function class with index <i class="parameter"><tt>i</tt></i>.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>i</tt></i>:</span></td><td> index of function class
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>:</span></td><td> a pointer to a function class structure
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605020"></a><h3><a name="oil-class-get"></a>oil_class_get ()</h3><a class="indexterm" name="id2605028"></a><pre class="programlisting">OilFunctionClass* oil_class_get             (const char *class_name);</pre><p>
Returns a pointer to the function class that has the given class
name.  If no such class is found, NULL is returned.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>class_name</tt></i>:</span></td><td> the name of the function class
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>:</span></td><td> a pointer to a function class
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605079"></a><h3><a name="oil-class-optimize"></a>oil_class_optimize ()</h3><a class="indexterm" name="id2605087"></a><pre class="programlisting">void        oil_class_optimize              (OilFunctionClass *klass);</pre><p>
Tests and profiles each implementation for the given function
class.  Testing compares the output of running each implementation
on random input against the reference implementation for the
same input.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td> a function class
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605128"></a><h3><a name="oil-class-get-n-classes"></a>oil_class_get_n_classes ()</h3><a class="indexterm" name="id2605137"></a><pre class="programlisting">int         oil_class_get_n_classes         (void);</pre><p>
</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>:</span></td><td> the number of function classes
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605169"></a><h3><a name="oil-impl-get-by-index"></a>oil_impl_get_by_index ()</h3><a class="indexterm" name="id2605177"></a><pre class="programlisting"><a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a>* oil_impl_get_by_index      (int i);</pre><p>
Returns a pointer to the function implementation with index <i class="parameter"><tt>i</tt></i>.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>i</tt></i>:</span></td><td> index
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>:</span></td><td> a pointer to a function implementation structure
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605229"></a><h3><a name="oil-impl-is-runnable"></a>oil_impl_is_runnable ()</h3><a class="indexterm" name="id2605237"></a><pre class="programlisting">int         oil_impl_is_runnable            (<a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a> *impl);</pre><p>
Determines whether the function implementation given by <i class="parameter"><tt>impl</tt></i>
can be executed by the current CPU.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>impl</tt></i>:</span></td><td> a function implementation
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>:</span></td><td> 1 if the implementation can be executed, otherwise 0
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605291"></a><h3><a name="oil-class-choose-by-name"></a>oil_class_choose_by_name ()</h3><a class="indexterm" name="id2605299"></a><pre class="programlisting">void        oil_class_choose_by_name        (OilFunctionClass *klass,
                                             const char *name);</pre><p>
Sets the chosen implementation for the given function class to
the implementation with the given name.  If no implementation
having the given name is found, the chosen implementation is
not changed.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass</tt></i>:</span></td><td> a function class
</td></tr><tr><td><span class="term"><i class="parameter"><tt>name</tt></i>:</span></td><td> the name of an implementation
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605358"></a><h3><a name="oil-class-register-impl-by-name"></a>oil_class_register_impl_by_name ()</h3><a class="indexterm" name="id2605369"></a><pre class="programlisting">void        oil_class_register_impl_by_name (const char *klass_name,
                                             <a href="liboil-OilFunction.html#OilFunctionImpl">OilFunctionImpl</a> *impl);</pre><p>
Adds <i class="parameter"><tt>impl</tt></i> to the list of implementations associated with
the function class given by <i class="parameter"><tt>klass_name</tt></i>.</p><p>

</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>klass_name</tt></i>:</span></td><td> the name of the class
</td></tr><tr><td><span class="term"><i class="parameter"><tt>impl</tt></i>:</span></td><td> an implementation
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="liboil-liboildebug.html"><b>&lt;&lt;liboildebug</b></a></td><td align="right"><a accesskey="n" href="liboil-liboilparameter.html"><b>liboilparameter&gt;&gt;</b></a></td></tr></table></body></html>