liboil-0.3(3) User Commands liboil-0.3(3)NAMEliboil-0.3 - Library of optimized functions
DESCRIPTIONliboil-0.3 is a library of simple functions that are optimized for var‐
ious CPUs. These functions are generally loops implementing simple
algorithms, such as converting an array of N integers to floating-point
numbers or multiplying and summing an array of N numbers. Such func‐
tions are candidates for significant optimization using various tech‐
niques, especially by using extended instructions provided by modern
CPUs (Altivec, MMX, SSE, etc.).
Liboil has a number of function classes, which are primarily seen by a
developer using the library as actual functions. One such function is:
* void oil_tablelookup_u8 (uint8_t *dest, int dstr,
uint8_t *src, o int sstr, uint8_t *table,
int tablestride, int n);
This function performs a table lookup for each element in the src
array, and puts the results in the dest array. In actuality,
oil_tablelookup_u8 is currently implemented as a preprocessor macro
that generates the correct code to call an indirect function.
Each function class has one or more function implementations, which are
real functions that perform the exact same action as defined by the
documentation for the function. Each class has one implementation that
is the reference implementation. This reference implementation is used
to test the accuracy of other implementations.
Presumably, the non-reference implementations can perform the action
faster than the reference implementation. Thus, the liboil initializa‐
tion code (at runtime) checks each implementation in a class to deter‐
mine the fastest implementation. Once this is done, the class's indi‐
rect function pointer points to the optimal implementation. After this,
any calls to the function class (such as oil_tablelookup_u8() described
above) will automatically be routed to the fastest implementation.
FILES
The following files are used by this application:
/usr/lib/liboil-0.3.so
liboil-0.3 shared library
/usr/share/gtk-doc/html/liboil
Location of developer documentation
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │library/liboil │
├─────────────────────────────┼─────────────────────────────┤
│Interface stability │Volatile │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOoil-bugreport(1), attributes(5), gnome-interfaces(5)SunOS 5.11 20 Feb 2009 liboil-0.3(3)