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 — </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<<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<<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<<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<<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<<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<<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<<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<<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<<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<<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<<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<<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><<liboildebug</b></a></td><td align="right"><a accesskey="n" href="liboil-liboilparameter.html"><b>liboilparameter>></b></a></td></tr></table></body></html>
|