summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2005-11-14 07:56:12 +0000
committerDavid Schleef <ds@schleef.org>2005-11-14 07:56:12 +0000
commitf388b672c5c6b2e6993a16953069231bdde385b2 (patch)
tree818caa858b1f9af6abe9a3f058e35e0e137c9969
parent4617964a6deda6c351a54f13cea2d2be4f69a489 (diff)
downloadliboil-f388b672c5c6b2e6993a16953069231bdde385b2.tar.gz
* doc/liboil-docs.sgml: Clean up documentation, document
remaining functions. Up to 96% coverage, woohoo! * doc/liboil-overrides.txt: * doc/liboil-sections.txt: * doc/tmpl/liboil-unused.sgml: * doc/tmpl/liboilclass-unstable.sgml: * doc/tmpl/liboildebug.sgml: * doc/tmpl/liboilfunction.sgml: * doc/tmpl/liboilimpl-unstable.sgml: * doc/tmpl/liboilinit-unstable.sgml: * doc/tmpl/liboilinit.sgml: * doc/tmpl/liboiljunk.sgml: * doc/tmpl/liboilmacros.sgml: * doc/tmpl/liboilparameter.sgml: * doc/tmpl/liboilprofile.sgml: * doc/tmpl/liboilprototype.sgml: * doc/tmpl/liboilrandom.sgml: * doc/tmpl/liboiltest.sgml: * doc/tmpl/liboiltypes.sgml: * liboil/liboil.h: * liboil/liboildebug.h: * liboil/liboilfunction.c: * liboil/liboilfunction.h: * liboil/liboilprofile.h: * liboil/liboiltest.h: * liboil/liboiltypes.h:
-rw-r--r--ChangeLog29
-rw-r--r--doc/liboil-docs.sgml8
-rw-r--r--doc/liboil-overrides.txt5
-rw-r--r--doc/liboil-sections.txt100
-rw-r--r--doc/tmpl/liboil-unused.sgml133
-rw-r--r--doc/tmpl/liboilclass-unstable.sgml124
-rw-r--r--doc/tmpl/liboildebug.sgml32
-rw-r--r--doc/tmpl/liboilfunction.sgml214
-rw-r--r--doc/tmpl/liboilimpl-unstable.sgml128
-rw-r--r--doc/tmpl/liboilinit-unstable.sgml41
-rw-r--r--doc/tmpl/liboilinit.sgml26
-rw-r--r--doc/tmpl/liboiljunk.sgml64
-rw-r--r--doc/tmpl/liboilmacros.sgml144
-rw-r--r--doc/tmpl/liboilparameter.sgml56
-rw-r--r--doc/tmpl/liboilprofile.sgml6
-rw-r--r--doc/tmpl/liboilprototype.sgml27
-rw-r--r--doc/tmpl/liboilrandom.sgml8
-rw-r--r--doc/tmpl/liboiltest.sgml8
-rw-r--r--doc/tmpl/liboiltypes.sgml63
-rw-r--r--liboil/liboil.h20
-rw-r--r--liboil/liboildebug.h6
-rw-r--r--liboil/liboilfunction.c20
-rw-r--r--liboil/liboilfunction.h183
-rw-r--r--liboil/liboilprofile.h5
-rw-r--r--liboil/liboiltest.h10
-rw-r--r--liboil/liboiltypes.h126
26 files changed, 1255 insertions, 331 deletions
diff --git a/ChangeLog b/ChangeLog
index 064faed..2e19e7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,34 @@
2005-11-13 David Schleef <ds@schleef.org>
+ * doc/liboil-docs.sgml: Clean up documentation, document
+ remaining functions. Up to 96% coverage, woohoo!
+ * doc/liboil-overrides.txt:
+ * doc/liboil-sections.txt:
+ * doc/tmpl/liboil-unused.sgml:
+ * doc/tmpl/liboilclass-unstable.sgml:
+ * doc/tmpl/liboildebug.sgml:
+ * doc/tmpl/liboilfunction.sgml:
+ * doc/tmpl/liboilimpl-unstable.sgml:
+ * doc/tmpl/liboilinit-unstable.sgml:
+ * doc/tmpl/liboilinit.sgml:
+ * doc/tmpl/liboiljunk.sgml:
+ * doc/tmpl/liboilmacros.sgml:
+ * doc/tmpl/liboilparameter.sgml:
+ * doc/tmpl/liboilprofile.sgml:
+ * doc/tmpl/liboilprototype.sgml:
+ * doc/tmpl/liboilrandom.sgml:
+ * doc/tmpl/liboiltest.sgml:
+ * doc/tmpl/liboiltypes.sgml:
+ * liboil/liboil.h:
+ * liboil/liboildebug.h:
+ * liboil/liboilfunction.c:
+ * liboil/liboilfunction.h:
+ * liboil/liboilprofile.h:
+ * liboil/liboiltest.h:
+ * liboil/liboiltypes.h:
+
+2005-11-13 David Schleef <ds@schleef.org>
+
* doc/liboil-sections.txt: Clean up documentation.
* doc/tmpl/liboil.sgml:
* doc/tmpl/liboilcpu.sgml:
diff --git a/doc/liboil-docs.sgml b/doc/liboil-docs.sgml
index 0af9e95..3a579ac 100644
--- a/doc/liboil-docs.sgml
+++ b/doc/liboil-docs.sgml
@@ -15,7 +15,7 @@
during the lifetime of the 0.3 series.
</para>
- <xi:include href="xml/liboil.xml"/>
+ <xi:include href="xml/liboilinit.xml"/>
<xi:include href="xml/liboilfuncs-conv.xml"/>
<xi:include href="xml/liboilfuncs-copy.xml"/>
<xi:include href="xml/liboilfuncs-math.xml"/>
@@ -35,14 +35,18 @@
may be moved to the stable API during the 0.3 series.
</para>
+ <xi:include href="xml/liboilinit-unstable.xml"/>
<xi:include href="xml/liboilcpu.xml"/>
<xi:include href="xml/liboildebug.xml"/>
- <xi:include href="xml/liboilfunction.xml"/>
+ <xi:include href="xml/liboilclass-unstable.xml"/>
+ <xi:include href="xml/liboilimpl-unstable.xml"/>
<xi:include href="xml/liboilparameter.xml"/>
<xi:include href="xml/liboilprofile.xml"/>
<xi:include href="xml/liboilprototype.xml"/>
<xi:include href="xml/liboilrandom.xml"/>
<xi:include href="xml/liboiltest.xml"/>
+ <xi:include href="xml/liboiltypes.xml"/>
<xi:include href="xml/liboilmacros.xml"/>
+ <xi:include href="xml/liboiljunk.xml"/>
</chapter>
</book>
diff --git a/doc/liboil-overrides.txt b/doc/liboil-overrides.txt
index 7951def..8d6b120 100644
--- a/doc/liboil-overrides.txt
+++ b/doc/liboil-overrides.txt
@@ -1 +1,6 @@
NULL
+OIL_OPT_MANGLE
+OIL_OPT_SUFFIX
+LIBOIL_CHECK_PROTOTYPE
+OIL_OPT_FLAG_MANGLE
+OIL_NO_CLASSES
diff --git a/doc/liboil-sections.txt b/doc/liboil-sections.txt
index e79e939..e4a2816 100644
--- a/doc/liboil-sections.txt
+++ b/doc/liboil-sections.txt
@@ -1,9 +1,16 @@
<SECTION>
-<FILE>liboil</FILE>
+<FILE>liboilinit</FILE>
oil_init
</SECTION>
<SECTION>
+<FILE>liboilinit-unstable</FILE>
+oil_init_no_optimize
+oil_optimize_all
+oil_optimize
+</SECTION>
+
+<SECTION>
<FILE>liboilcpu</FILE>
oil_cpu_get_flags
oil_cpu_fault_check_enable
@@ -16,6 +23,9 @@ oil_cpu_get_ticks_per_second
<FILE>liboildebug</FILE>
OilDebugPrintFunc
OilDebugLevel
+oil_debug_set_print_function
+oil_debug_get_level
+oil_debug_set_level
OIL_ERROR
OIL_WARNING
OIL_INFO
@@ -23,63 +33,44 @@ OIL_DEBUG
OIL_LOG
OIL_FUNCTION
OIL_DEBUG_PRINT
-oil_debug_set_print_function
-oil_debug_get_level
-oil_debug_set_level
</SECTION>
<SECTION>
-<FILE>liboilfunction</FILE>
-LIBOIL_CHECK_PROTOTYPE
-OIL_OPT_MANGLE
-OIL_OPT_FLAG_MANGLE
-OIL_NO_CLASSES
-OIL_OPT_SUFFIX
-OilFunctionImpl
-OIL_GET
-OIL_OFFSET
-OIL_INCREMENT
-OIL_IMPL_FLAG_REF
-OIL_IMPL_FLAG_OPT
-OIL_IMPL_FLAG_ASM
-OIL_IMPL_FLAG_DISABLED
-OIL_CPU_FLAG_MASK
-OIL_IMPL_FLAG_CMOV
-OIL_IMPL_FLAG_MMX
-OIL_IMPL_FLAG_SSE
-OIL_IMPL_FLAG_MMXEXT
-OIL_IMPL_FLAG_SSE2
-OIL_IMPL_FLAG_SSE3
-OIL_IMPL_FLAG_3DNOW
-OIL_IMPL_FLAG_3DNOWEXT
-OIL_IMPL_FLAG_ALTIVEC
+<FILE>liboilclass-unstable</FILE>
+OilFunctionClass
OIL_DECLARE_CLASS
OIL_DEFINE_CLASS_FULL
OIL_DEFINE_CLASS
-OIL_DEFINE_IMPL_FULL
-OIL_DEFINE_IMPL
-OIL_DEFINE_IMPL_REF
-OIL_DEFINE_IMPL_ASM
-OIL_DEFINE_IMPL_DEPENDS
-oil_optimize_all
-oil_optimize
oil_class_get_by_index
oil_class_get
oil_class_optimize
oil_class_get_n_classes
-oil_impl_get_by_index
-oil_impl_is_runnable
oil_class_choose_by_name
oil_class_register_impl_by_name
oil_class_register_impl
oil_class_register_impl_full
-oil_init_no_optimize
+</SECTION>
+
+<SECTION>
+<FILE>liboilimpl-unstable</FILE>
+OilFunctionImpl
+oil_impl_get_by_index
+oil_impl_is_runnable
+OilImplFlag
+OilImplFlagI386
+OilImplFlagPowerPC
+OIL_CPU_FLAG_MASK
+OIL_DEFINE_IMPL_FULL
+OIL_DEFINE_IMPL
+OIL_DEFINE_IMPL_REF
+OIL_DEFINE_IMPL_ASM
+OIL_DEFINE_IMPL_DEPENDS
</SECTION>
<SECTION>
<FILE>liboilprofile</FILE>
-OIL_PROFILE_HIST_LENGTH
OilProfile
+OIL_PROFILE_HIST_LENGTH
oil_profile_stamp
oil_profile_stamp_gtod
oil_profile_init
@@ -96,18 +87,15 @@ oil_prototype_from_string
oil_prototype_to_string
oil_prototype_free
oil_prototype_append_param
-oil_type_sizeof
-oil_type_name
-oil_arg_type_name
</SECTION>
<SECTION>
<FILE>liboiltypes</FILE>
-OilFunctionClass
-OilFunctionImpl
-OilParameter
-OilTest
-OilTestFunction
+OilType
+oil_type_sizeof
+oil_type_name
+OilArgType
+oil_arg_type_name
type_s8
type_u8
type_s16
@@ -132,8 +120,6 @@ type_max_u32
<SECTION>
<FILE>liboilparameter</FILE>
-OilType
-OilArgType
OilParameter
</SECTION>
@@ -167,11 +153,13 @@ oil_rand_f32_u16
oil_rand_f32_u8
oil_rand_s64
oil_rand_u64
+oil_rand_rgba
</SECTION>
<SECTION>
<FILE>liboiltest</FILE>
OilTest
+OilTestFunction
OIL_TEST_HEADER
OIL_TEST_FOOTER
oil_test_new
@@ -184,6 +172,16 @@ oil_test_cleanup
</SECTION>
<SECTION>
+<FILE>liboiljunk</FILE>
+OIL_OPT_MANGLE
+OIL_OPT_SUFFIX
+OIL_CHECK_PROTOTYPE
+OIL_OPT_FLAG_MANGLE
+OIL_NO_CLASSES
+NULL
+</SECTION>
+
+<SECTION>
<FILE>liboilfuncs-conv</FILE>
oil_clipconv8x8_u8_s16
oil_clipconv_s16_f32
@@ -483,7 +481,6 @@ oil_sad8x8_u8_avg
oil_min
oil_max
oil_divide_255
-oil_rand_rgba
oil_argb
oil_argb_noclamp
oil_argb_A
@@ -492,5 +489,8 @@ oil_argb_B
oil_argb_R
oil_muldiv_255
oil_clamp_255
+OIL_GET
+OIL_OFFSET
+OIL_INCREMENT
</SECTION>
diff --git a/doc/tmpl/liboil-unused.sgml b/doc/tmpl/liboil-unused.sgml
index e69de29..519bfab 100644
--- a/doc/tmpl/liboil-unused.sgml
+++ b/doc/tmpl/liboil-unused.sgml
@@ -0,0 +1,133 @@
+<!-- ##### SECTION ./tmpl/liboil.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/liboil.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/liboil.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/liboil.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/liboil.sgml:Title ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/liboilfunction.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Title ##### -->
+
+
+
+<!-- ##### MACRO LIBOIL_CHECK_PROTOTYPE ##### -->
+<para>
+
+</para>
+
+@a:
+
+<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### -->
+<para>
+
+</para>
+
+
diff --git a/doc/tmpl/liboilclass-unstable.sgml b/doc/tmpl/liboilclass-unstable.sgml
new file mode 100644
index 0000000..ecc7d4e
--- /dev/null
+++ b/doc/tmpl/liboilclass-unstable.sgml
@@ -0,0 +1,124 @@
+<!-- ##### SECTION Title ##### -->
+
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT OilFunctionClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO OIL_DECLARE_CLASS ##### -->
+<para>
+
+</para>
+
+@klass:
+
+
+<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### -->
+<para>
+
+</para>
+
+@klass:
+@string:
+@test:
+
+
+<!-- ##### MACRO OIL_DEFINE_CLASS ##### -->
+<para>
+
+</para>
+
+@klass:
+@string:
+
+
+<!-- ##### FUNCTION oil_class_get_by_index ##### -->
+<para>
+
+</para>
+
+@i:
+@Returns:
+
+
+<!-- ##### FUNCTION oil_class_get ##### -->
+<para>
+
+</para>
+
+@class_name:
+@Returns:
+
+
+<!-- ##### FUNCTION oil_class_optimize ##### -->
+<para>
+
+</para>
+
+@klass:
+
+
+<!-- ##### FUNCTION oil_class_get_n_classes ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION oil_class_choose_by_name ##### -->
+<para>
+
+</para>
+
+@klass:
+@name:
+
+
+<!-- ##### FUNCTION oil_class_register_impl_by_name ##### -->
+<para>
+
+</para>
+
+@klass_name:
+@impl:
+
+
+<!-- ##### FUNCTION oil_class_register_impl ##### -->
+<para>
+
+</para>
+
+@klass:
+@impl:
+
+
+<!-- ##### FUNCTION oil_class_register_impl_full ##### -->
+<para>
+
+</para>
+
+@klass:
+@func:
+@name:
+@flags:
+
+
diff --git a/doc/tmpl/liboildebug.sgml b/doc/tmpl/liboildebug.sgml
index 9674511..72b1440 100644
--- a/doc/tmpl/liboildebug.sgml
+++ b/doc/tmpl/liboildebug.sgml
@@ -42,31 +42,31 @@
@OIL_DEBUG_DEBUG:
@OIL_DEBUG_LOG:
-<!-- ##### MACRO OIL_ERROR ##### -->
+<!-- ##### FUNCTION oil_debug_set_print_function ##### -->
<para>
</para>
-@...:
+@func:
-<!-- ##### MACRO OIL_WARNING ##### -->
+<!-- ##### FUNCTION oil_debug_get_level ##### -->
<para>
</para>
-@...:
+@Returns:
-<!-- ##### MACRO OIL_INFO ##### -->
+<!-- ##### FUNCTION oil_debug_set_level ##### -->
<para>
</para>
-@...:
+@level:
-<!-- ##### MACRO OIL_DEBUG ##### -->
+<!-- ##### MACRO OIL_ERROR ##### -->
<para>
</para>
@@ -74,7 +74,7 @@
@...:
-<!-- ##### MACRO OIL_LOG ##### -->
+<!-- ##### MACRO OIL_WARNING ##### -->
<para>
</para>
@@ -82,43 +82,43 @@
@...:
-<!-- ##### MACRO OIL_FUNCTION ##### -->
+<!-- ##### MACRO OIL_INFO ##### -->
<para>
</para>
+@...:
-<!-- ##### MACRO OIL_DEBUG_PRINT ##### -->
+<!-- ##### MACRO OIL_DEBUG ##### -->
<para>
</para>
-@level:
@...:
-<!-- ##### FUNCTION oil_debug_set_print_function ##### -->
+<!-- ##### MACRO OIL_LOG ##### -->
<para>
</para>
-@func:
+@...:
-<!-- ##### FUNCTION oil_debug_get_level ##### -->
+<!-- ##### MACRO OIL_FUNCTION ##### -->
<para>
</para>
-@Returns:
-<!-- ##### FUNCTION oil_debug_set_level ##### -->
+<!-- ##### MACRO OIL_DEBUG_PRINT ##### -->
<para>
</para>
@level:
+@...:
diff --git a/doc/tmpl/liboilfunction.sgml b/doc/tmpl/liboilfunction.sgml
index 4f4e0c7..291d7d8 100644
--- a/doc/tmpl/liboilfunction.sgml
+++ b/doc/tmpl/liboilfunction.sgml
@@ -17,359 +17,277 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### MACRO LIBOIL_CHECK_PROTOTYPE ##### -->
+<!-- ##### STRUCT OilFunctionClass ##### -->
<para>
</para>
-@a:
-
-<!-- ##### MACRO OIL_OPT_MANGLE ##### -->
+<!-- ##### MACRO OIL_DECLARE_CLASS ##### -->
<para>
</para>
-@a:
+@klass:
-<!-- ##### MACRO OIL_OPT_FLAG_MANGLE ##### -->
+<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### -->
<para>
</para>
-@a:
+@klass:
+@string:
+@test:
-<!-- ##### MACRO OIL_NO_CLASSES ##### -->
+<!-- ##### MACRO OIL_DEFINE_CLASS ##### -->
<para>
</para>
+@klass:
+@string:
-<!-- ##### MACRO OIL_OPT_SUFFIX ##### -->
+<!-- ##### FUNCTION oil_class_get_by_index ##### -->
<para>
</para>
+@i:
+@Returns:
-<!-- ##### STRUCT OilFunctionImpl ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO OIL_GET ##### -->
+<!-- ##### FUNCTION oil_class_get ##### -->
<para>
</para>
-@ptr:
-@offset:
-@type:
+@class_name:
+@Returns:
-<!-- ##### MACRO OIL_OFFSET ##### -->
+<!-- ##### FUNCTION oil_class_optimize ##### -->
<para>
</para>
-@ptr:
-@offset:
+@klass:
-<!-- ##### MACRO OIL_INCREMENT ##### -->
+<!-- ##### FUNCTION oil_class_get_n_classes ##### -->
<para>
</para>
-@ptr:
-@offset:
+@Returns:
-<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### -->
+<!-- ##### FUNCTION oil_class_choose_by_name ##### -->
<para>
</para>
+@klass:
+@name:
-<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### -->
+<!-- ##### FUNCTION oil_class_register_impl_by_name ##### -->
<para>
</para>
+@klass_name:
+@impl:
-<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### -->
+<!-- ##### FUNCTION oil_class_register_impl ##### -->
<para>
</para>
+@klass:
+@impl:
-<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### -->
+<!-- ##### FUNCTION oil_class_register_impl_full ##### -->
<para>
</para>
+@klass:
+@func:
+@name:
+@flags:
-<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### -->
+<!-- ##### STRUCT OilFunctionImpl ##### -->
<para>
</para>
-
-<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### -->
+<!-- ##### FUNCTION oil_impl_get_by_index ##### -->
<para>
</para>
+@i:
+@Returns:
-<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### -->
+<!-- ##### FUNCTION oil_impl_is_runnable ##### -->
<para>
</para>
+@impl:
+@Returns:
-<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### -->
+<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### -->
<para>
</para>
-<!-- ##### MACRO OIL_DECLARE_CLASS ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### -->
<para>
</para>
-@klass:
-<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### -->
<para>
</para>
-@klass:
-@string:
-@test:
-<!-- ##### MACRO OIL_DEFINE_CLASS ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### -->
<para>
</para>
-@klass:
-@string:
-<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### -->
<para>
</para>
-@function:
-@klass:
-@flags:
-<!-- ##### MACRO OIL_DEFINE_IMPL ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### -->
<para>
</para>
-@function:
-@klass:
-<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### -->
<para>
</para>
-@function:
-@klass:
-<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### -->
+<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### -->
<para>
</para>
-@function:
-@klass:
-<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### -->
+<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### -->
<para>
</para>
@function:
@klass:
-@...:
-
-
-<!-- ##### FUNCTION oil_optimize_all ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION oil_optimize ##### -->
-<para>
-
-</para>
-
-@class_name:
-
-
-<!-- ##### FUNCTION oil_class_get_by_index ##### -->
-<para>
-
-</para>
-
-@i:
-@Returns:
-
-
-<!-- ##### FUNCTION oil_class_get ##### -->
-<para>
-
-</para>
-
-@class_name:
-@Returns:
+@flags:
-<!-- ##### FUNCTION oil_class_optimize ##### -->
+<!-- ##### MACRO OIL_DEFINE_IMPL ##### -->
<para>
</para>
+@function:
@klass:
-<!-- ##### FUNCTION oil_class_get_n_classes ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION oil_impl_get_by_index ##### -->
-<para>
-
-</para>
-
-@i:
-@Returns:
-
-
-<!-- ##### FUNCTION oil_impl_is_runnable ##### -->
-<para>
-
-</para>
-
-@impl:
-@Returns:
-
-
-<!-- ##### FUNCTION oil_class_choose_by_name ##### -->
+<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### -->
<para>
</para>
+@function:
@klass:
-@name:
-
-
-<!-- ##### FUNCTION oil_class_register_impl_by_name ##### -->
-<para>
-
-</para>
-
-@klass_name:
-@impl:
-<!-- ##### FUNCTION oil_class_register_impl ##### -->
+<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### -->
<para>
</para>
+@function:
@klass:
-@impl:
-<!-- ##### FUNCTION oil_class_register_impl_full ##### -->
+<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### -->
<para>
</para>
+@function:
@klass:
-@func:
-@name:
-@flags:
-
-
-<!-- ##### FUNCTION oil_init_no_optimize ##### -->
-<para>
-
-</para>
-
+@...:
diff --git a/doc/tmpl/liboilimpl-unstable.sgml b/doc/tmpl/liboilimpl-unstable.sgml
new file mode 100644
index 0000000..e3a07f2
--- /dev/null
+++ b/doc/tmpl/liboilimpl-unstable.sgml
@@ -0,0 +1,128 @@
+<!-- ##### SECTION Title ##### -->
+
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT OilFunctionImpl ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION oil_impl_get_by_index ##### -->
+<para>
+
+</para>
+
+@i:
+@Returns:
+
+
+<!-- ##### FUNCTION oil_impl_is_runnable ##### -->
+<para>
+
+</para>
+
+@impl:
+@Returns:
+
+
+<!-- ##### ENUM OilImplFlag ##### -->
+<para>
+
+</para>
+
+@OIL_IMPL_FLAG_REF:
+@OIL_IMPL_FLAG_OPT:
+@OIL_IMPL_FLAG_ASM:
+@OIL_IMPL_FLAG_DISABLED:
+
+<!-- ##### ENUM OilImplFlagI386 ##### -->
+<para>
+
+</para>
+
+@OIL_IMPL_FLAG_CMOV:
+@OIL_IMPL_FLAG_MMX:
+@OIL_IMPL_FLAG_SSE:
+@OIL_IMPL_FLAG_MMXEXT:
+@OIL_IMPL_FLAG_SSE2:
+@OIL_IMPL_FLAG_3DNOW:
+@OIL_IMPL_FLAG_3DNOWEXT:
+@OIL_IMPL_FLAG_SSE3:
+
+<!-- ##### ENUM OilImplFlagPowerPC ##### -->
+<para>
+
+</para>
+
+@OIL_IMPL_FLAG_ALTIVEC:
+
+<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### -->
+<para>
+
+</para>
+
+@function:
+@klass:
+@flags:
+
+
+<!-- ##### MACRO OIL_DEFINE_IMPL ##### -->
+<para>
+
+</para>
+
+@function:
+@klass:
+
+
+<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### -->
+<para>
+
+</para>
+
+@function:
+@klass:
+
+
+<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### -->
+<para>
+
+</para>
+
+@function:
+@klass:
+
+
+<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### -->
+<para>
+
+</para>
+
+@function:
+@klass:
+@...:
+
+
diff --git a/doc/tmpl/liboilinit-unstable.sgml b/doc/tmpl/liboilinit-unstable.sgml
new file mode 100644
index 0000000..35f0919
--- /dev/null
+++ b/doc/tmpl/liboilinit-unstable.sgml
@@ -0,0 +1,41 @@
+<!-- ##### SECTION Title ##### -->
+
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION oil_init_no_optimize ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION oil_optimize_all ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION oil_optimize ##### -->
+<para>
+
+</para>
+
+@class_name:
+
+
diff --git a/doc/tmpl/liboilinit.sgml b/doc/tmpl/liboilinit.sgml
new file mode 100644
index 0000000..d0dd8bc
--- /dev/null
+++ b/doc/tmpl/liboilinit.sgml
@@ -0,0 +1,26 @@
+<!-- ##### SECTION Title ##### -->
+
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION oil_init ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/doc/tmpl/liboiljunk.sgml b/doc/tmpl/liboiljunk.sgml
new file mode 100644
index 0000000..c8a3d61
--- /dev/null
+++ b/doc/tmpl/liboiljunk.sgml
@@ -0,0 +1,64 @@
+<!-- ##### SECTION Title ##### -->
+liboiljunk
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO OIL_OPT_MANGLE ##### -->
+<para>
+
+</para>
+
+@a:
+
+
+<!-- ##### MACRO OIL_OPT_SUFFIX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OIL_CHECK_PROTOTYPE ##### -->
+<para>
+
+</para>
+
+@a:
+
+
+<!-- ##### MACRO OIL_OPT_FLAG_MANGLE ##### -->
+<para>
+
+</para>
+
+@a:
+
+
+<!-- ##### MACRO OIL_NO_CLASSES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NULL ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/doc/tmpl/liboilmacros.sgml b/doc/tmpl/liboilmacros.sgml
new file mode 100644
index 0000000..7b8eb50
--- /dev/null
+++ b/doc/tmpl/liboilmacros.sgml
@@ -0,0 +1,144 @@
+<!-- ##### SECTION Title ##### -->
+
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO oil_min ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+
+
+<!-- ##### MACRO oil_max ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+
+
+<!-- ##### MACRO oil_divide_255 ##### -->
+<para>
+
+</para>
+
+@x:
+
+
+<!-- ##### MACRO oil_argb ##### -->
+<para>
+
+</para>
+
+@a:
+@r:
+@g:
+@b:
+
+
+<!-- ##### MACRO oil_argb_noclamp ##### -->
+<para>
+
+</para>
+
+@a:
+@r:
+@g:
+@b:
+
+
+<!-- ##### MACRO oil_argb_A ##### -->
+<para>
+
+</para>
+
+@color:
+
+
+<!-- ##### MACRO oil_argb_G ##### -->
+<para>
+
+</para>
+
+@color:
+
+
+<!-- ##### MACRO oil_argb_B ##### -->
+<para>
+
+</para>
+
+@color:
+
+
+<!-- ##### MACRO oil_argb_R ##### -->
+<para>
+
+</para>
+
+@color:
+
+
+<!-- ##### MACRO oil_muldiv_255 ##### -->
+<para>
+
+</para>
+
+@a:
+@b:
+
+
+<!-- ##### MACRO oil_clamp_255 ##### -->
+<para>
+
+</para>
+
+@x:
+
+
+<!-- ##### MACRO OIL_GET ##### -->
+<para>
+
+</para>
+
+@ptr:
+@offset:
+@type:
+
+
+<!-- ##### MACRO OIL_OFFSET ##### -->
+<para>
+
+</para>
+
+@ptr:
+@offset:
+
+
+<!-- ##### MACRO OIL_INCREMENT ##### -->
+<para>
+
+</para>
+
+@ptr:
+@offset:
+
+
diff --git a/doc/tmpl/liboilparameter.sgml b/doc/tmpl/liboilparameter.sgml
index 6dcddb1..176725f 100644
--- a/doc/tmpl/liboilparameter.sgml
+++ b/doc/tmpl/liboilparameter.sgml
@@ -17,62 +17,6 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### ENUM OilType ##### -->
-<para>
-
-</para>
-
-@OIL_TYPE_UNKNOWN:
-@OIL_TYPE_INT:
-@OIL_TYPE_s8:
-@OIL_TYPE_u8:
-@OIL_TYPE_s16:
-@OIL_TYPE_u16:
-@OIL_TYPE_s32:
-@OIL_TYPE_u32:
-@OIL_TYPE_s64:
-@OIL_TYPE_u64:
-@OIL_TYPE_f32:
-@OIL_TYPE_f64:
-@OIL_TYPE_s8p:
-@OIL_TYPE_u8p:
-@OIL_TYPE_s16p:
-@OIL_TYPE_u16p:
-@OIL_TYPE_s32p:
-@OIL_TYPE_u32p:
-@OIL_TYPE_s64p:
-@OIL_TYPE_u64p:
-@OIL_TYPE_f32p:
-@OIL_TYPE_f64p:
-
-<!-- ##### ENUM OilArgType ##### -->
-<para>
-
-</para>
-
-@OIL_ARG_UNKNOWN:
-@OIL_ARG_N:
-@OIL_ARG_M:
-@OIL_ARG_DEST1:
-@OIL_ARG_DSTR1:
-@OIL_ARG_DEST2:
-@OIL_ARG_DSTR2:
-@OIL_ARG_SRC1:
-@OIL_ARG_SSTR1:
-@OIL_ARG_SRC2:
-@OIL_ARG_SSTR2:
-@OIL_ARG_SRC3:
-@OIL_ARG_SSTR3:
-@OIL_ARG_SRC4:
-@OIL_ARG_SSTR4:
-@OIL_ARG_SRC5:
-@OIL_ARG_SSTR5:
-@OIL_ARG_INPLACE1:
-@OIL_ARG_ISTR1:
-@OIL_ARG_INPLACE2:
-@OIL_ARG_ISTR2:
-@OIL_ARG_LAST:
-
<!-- ##### STRUCT OilParameter ##### -->
<para>
diff --git a/doc/tmpl/liboilprofile.sgml b/doc/tmpl/liboilprofile.sgml
index 08718ba..92c3850 100644
--- a/doc/tmpl/liboilprofile.sgml
+++ b/doc/tmpl/liboilprofile.sgml
@@ -17,19 +17,19 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### MACRO OIL_PROFILE_HIST_LENGTH ##### -->
+<!-- ##### STRUCT OilProfile ##### -->
<para>
</para>
-
-<!-- ##### STRUCT OilProfile ##### -->
+<!-- ##### MACRO OIL_PROFILE_HIST_LENGTH ##### -->
<para>
</para>
+
<!-- ##### MACRO oil_profile_stamp ##### -->
<para>
diff --git a/doc/tmpl/liboilprototype.sgml b/doc/tmpl/liboilprototype.sgml
index 1963e3f..63a1950 100644
--- a/doc/tmpl/liboilprototype.sgml
+++ b/doc/tmpl/liboilprototype.sgml
@@ -61,30 +61,3 @@
@param:
-<!-- ##### FUNCTION oil_type_sizeof ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION oil_type_name ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION oil_arg_type_name ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
diff --git a/doc/tmpl/liboilrandom.sgml b/doc/tmpl/liboilrandom.sgml
index a34e45f..6db7ab5 100644
--- a/doc/tmpl/liboilrandom.sgml
+++ b/doc/tmpl/liboilrandom.sgml
@@ -213,3 +213,11 @@
+<!-- ##### MACRO oil_rand_rgba ##### -->
+<para>
+
+</para>
+
+@a:
+
+
diff --git a/doc/tmpl/liboiltest.sgml b/doc/tmpl/liboiltest.sgml
index 1a7a871..79f5020 100644
--- a/doc/tmpl/liboiltest.sgml
+++ b/doc/tmpl/liboiltest.sgml
@@ -23,6 +23,14 @@
</para>
+<!-- ##### USER_FUNCTION OilTestFunction ##### -->
+<para>
+
+</para>
+
+@test:
+
+
<!-- ##### MACRO OIL_TEST_HEADER ##### -->
<para>
diff --git a/doc/tmpl/liboiltypes.sgml b/doc/tmpl/liboiltypes.sgml
index e8a4203..d266ba6 100644
--- a/doc/tmpl/liboiltypes.sgml
+++ b/doc/tmpl/liboiltypes.sgml
@@ -17,36 +17,87 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### STRUCT OilFunctionClass ##### -->
+<!-- ##### ENUM OilType ##### -->
<para>
</para>
+@OIL_TYPE_UNKNOWN:
+@OIL_TYPE_INT:
+@OIL_TYPE_s8:
+@OIL_TYPE_u8:
+@OIL_TYPE_s16:
+@OIL_TYPE_u16:
+@OIL_TYPE_s32:
+@OIL_TYPE_u32:
+@OIL_TYPE_s64:
+@OIL_TYPE_u64:
+@OIL_TYPE_f32:
+@OIL_TYPE_f64:
+@OIL_TYPE_s8p:
+@OIL_TYPE_u8p:
+@OIL_TYPE_s16p:
+@OIL_TYPE_u16p:
+@OIL_TYPE_s32p:
+@OIL_TYPE_u32p:
+@OIL_TYPE_s64p:
+@OIL_TYPE_u64p:
+@OIL_TYPE_f32p:
+@OIL_TYPE_f64p:
-<!-- ##### STRUCT OilFunctionImpl ##### -->
+<!-- ##### FUNCTION oil_type_sizeof ##### -->
<para>
</para>
+@type:
+@Returns:
-<!-- ##### STRUCT OilParameter ##### -->
+
+<!-- ##### FUNCTION oil_type_name ##### -->
<para>
</para>
+@type:
+@Returns:
+
-<!-- ##### STRUCT OilTest ##### -->
+<!-- ##### ENUM OilArgType ##### -->
<para>
</para>
+@OIL_ARG_UNKNOWN:
+@OIL_ARG_N:
+@OIL_ARG_M:
+@OIL_ARG_DEST1:
+@OIL_ARG_DSTR1:
+@OIL_ARG_DEST2:
+@OIL_ARG_DSTR2:
+@OIL_ARG_SRC1:
+@OIL_ARG_SSTR1:
+@OIL_ARG_SRC2:
+@OIL_ARG_SSTR2:
+@OIL_ARG_SRC3:
+@OIL_ARG_SSTR3:
+@OIL_ARG_SRC4:
+@OIL_ARG_SSTR4:
+@OIL_ARG_SRC5:
+@OIL_ARG_SSTR5:
+@OIL_ARG_INPLACE1:
+@OIL_ARG_ISTR1:
+@OIL_ARG_INPLACE2:
+@OIL_ARG_ISTR2:
+@OIL_ARG_LAST:
-<!-- ##### USER_FUNCTION OilTestFunction ##### -->
+<!-- ##### FUNCTION oil_arg_type_name ##### -->
<para>
</para>
-@test:
+@type:
+@Returns:
<!-- ##### MACRO type_s8 ##### -->
diff --git a/liboil/liboil.h b/liboil/liboil.h
index c19848a..f592f21 100644
--- a/liboil/liboil.h
+++ b/liboil/liboil.h
@@ -34,9 +34,29 @@
void oil_init (void);
+/**
+ * oil_memcpy:
+ * @dest:
+ * @src:
+ * @n_bytes:
+ *
+ * Macro that uses oil_copy_u8() to provide an implementation of
+ * memcpy(). Note that oil_copy_u8() is optimized for short copies,
+ * and may be very slow for large copies compared to alternatives,
+ * including the system memcpy().
+ */
#define oil_memcpy(dest,src,n_bytes) \
oil_copy_u8((void *)(dest),(void *)(src),(n_bytes))
+/**
+ * oil_trans8x8_s16:
+ * @dest:
+ * @dstr:
+ * @src:
+ * @sstr:
+ *
+ * Macro wrapping trans8x8_u16().
+ */
#define oil_trans8x8_s16(dest, dstr, src, sstr) \
oil_trans8x8_u16((uint16_t *)dest, dstr, (uint16_t *)src, sstr)
diff --git a/liboil/liboildebug.h b/liboil/liboildebug.h
index afea99a..08be796 100644
--- a/liboil/liboildebug.h
+++ b/liboil/liboildebug.h
@@ -91,6 +91,12 @@ typedef enum {
*/
#define OIL_LOG(...) OIL_DEBUG_PRINT(OIL_DEBUG_LOG, __VA_ARGS__)
+/**
+ * OIL_FUNCTION:
+ *
+ * Internal macro that points to __PRETTY_FUNCTION__ or __func__
+ * if the former is not available.
+ */
#if defined (__GNUC__) || defined (__PRETTY_FUNCTION__)
#define OIL_FUNCTION __PRETTY_FUNCTION__
#elif defined(__func__)
diff --git a/liboil/liboilfunction.c b/liboil/liboilfunction.c
index 97c326b..a91ea59 100644
--- a/liboil/liboilfunction.c
+++ b/liboil/liboilfunction.c
@@ -37,10 +37,15 @@
#include <stdlib.h>
/**
- * SECTION:liboilfunction
- * @title:OilFunction
- * @short_description:
- * Functions for manipulating function classes and implementations.
+ * SECTION:liboilclass-unstable
+ * @title:OilFunctionClass
+ * @short_description: Functions for manipulating function classes
+ */
+
+/**
+ * SECTION:liboilimpl-unstable
+ * @title:OilFunctionImpl
+ * @short_description: Functions for manipulating function implementations.
*/
/**
@@ -100,7 +105,12 @@ static void oil_init_structs (void);
void _oil_cpu_init (void);
/**
- * SECTION:liboil
+ * SECTION:liboilinit
+ * @title: Intialization
+ * @short_description: Initialization functions
+ */
+/**
+ * SECTION:liboilinit-unstable
* @title: Intialization
* @short_description: Initialization functions
*/
diff --git a/liboil/liboilfunction.h b/liboil/liboilfunction.h
index d388041..c015a6d 100644
--- a/liboil/liboilfunction.h
+++ b/liboil/liboilfunction.h
@@ -30,13 +30,44 @@
#include <liboil/liboiltypes.h>
+/**
+ * OIL_CHECK_PROTOTYPE:
+ * @a:
+ *
+ * Macro used internally to implement the --enable-prototype-checking
+ * configure option.
+ */
#ifdef LIBOIL_STRICT_PROTOTYPES
#include <liboil/liboilfuncs.h>
-#define LIBOIL_CHECK_PROTOTYPE(a) a
+#define OIL_CHECK_PROTOTYPE(a) a
#else
-#define LIBOIL_CHECK_PROTOTYPE(a)
+#define OIL_CHECK_PROTOTYPE(a)
#endif
+/**
+ * OIL_OPT_MANGLE:
+ *
+ * Used internally to implement the --enable-alternate-optimizations
+ * configure option.
+ */
+/**
+ * OIL_OPT_FLAG_MANGLE:
+ *
+ * Used internally to implement the --enable-alternate-optimizations
+ * configure option.
+ */
+/**
+ * OIL_NO_CLASSES:
+ *
+ * Used internally to implement the --enable-alternate-optimizations
+ * configure option.
+ */
+/**
+ * OIL_OPT_SUFFIX:
+ *
+ * Used internally to implement the --enable-alternate-optimizations
+ * configure option.
+ */
#ifndef OIL_OPT_MANGLE
#define OIL_OPT_MANGLE(a) a
#define OIL_OPT_FLAG_MANGLE(a) a
@@ -86,30 +117,85 @@ struct _OilFunctionImpl {
double profile_std;
};
+/**
+ * OIL_GET:
+ * @ptr:
+ * @offset:
+ * @type:
+ *
+ * Offsets @ptr by @offset number of bytes, and dereferences it
+ * as type @type. Note that the offset is in bytes, and not in
+ * the size of the pointer type.
+ */
#define OIL_GET(ptr, offset, type) (*(type *)((uint8_t *)ptr + (offset)) )
+/**
+ * OIL_OFFSET:
+ * @ptr:
+ * @offset:
+ *
+ * Add @offset bytes to the pointer @ptr.
+ */
#define OIL_OFFSET(ptr, offset) ((void *)((uint8_t *)ptr + (offset)) )
+/**
+ * OIL_INCREMENT:
+ * @ptr:
+ * @offset:
+ *
+ * Increments the pointer @ptr by @offset number of bytes.
+ */
#define OIL_INCREMENT(ptr, offset) (ptr = (void *)((uint8_t *)ptr + (offset)) )
-#define OIL_IMPL_FLAG_REF (1<<0)
-#define OIL_IMPL_FLAG_OPT (1<<1)
-#define OIL_IMPL_FLAG_ASM (1<<2)
-#define OIL_IMPL_FLAG_DISABLED (1<<3)
+/**
+ * OilImplFlag:
+ *
+ * Implementation flags independent of CPU type.
+ */
+typedef enum {
+ OIL_IMPL_FLAG_REF = (1<<0),
+ OIL_IMPL_FLAG_OPT = (1<<1),
+ OIL_IMPL_FLAG_ASM = (1<<2),
+ OIL_IMPL_FLAG_DISABLED = (1<<3)
+} OilImplFlag;
+/**
+ * OIL_CPU_FLAG_MASK:
+ *
+ * Mask describing which bits in #OilImplFlag depend on the current
+ * CPU.
+ */
#define OIL_CPU_FLAG_MASK 0xffff0000
-/* i386 */
-#define OIL_IMPL_FLAG_CMOV (1<<16)
-#define OIL_IMPL_FLAG_MMX (1<<17)
-#define OIL_IMPL_FLAG_SSE (1<<18)
-#define OIL_IMPL_FLAG_MMXEXT (1<<19)
-#define OIL_IMPL_FLAG_SSE2 (1<<20)
-#define OIL_IMPL_FLAG_3DNOW (1<<21)
-#define OIL_IMPL_FLAG_3DNOWEXT (1<<22)
-#define OIL_IMPL_FLAG_SSE3 (1<<23)
+/**
+ * OilImplFlagI386:
+ *
+ * Implementation flags for CPU features on i386.
+ */
+typedef enum {
+ OIL_IMPL_FLAG_CMOV = (1<<16),
+ OIL_IMPL_FLAG_MMX = (1<<17),
+ OIL_IMPL_FLAG_SSE = (1<<18),
+ OIL_IMPL_FLAG_MMXEXT = (1<<19),
+ OIL_IMPL_FLAG_SSE2 = (1<<20),
+ OIL_IMPL_FLAG_3DNOW = (1<<21),
+ OIL_IMPL_FLAG_3DNOWEXT = (1<<22),
+ OIL_IMPL_FLAG_SSE3 = (1<<23)
+} OilImplFlagI386;
-/* powerpc */
-#define OIL_IMPL_FLAG_ALTIVEC (1<<16)
+/**
+ * OilImplFlagPowerPC:
+ *
+ * Implementation flags for CPU features on PowerPC.
+ */
+typedef enum {
+ OIL_IMPL_FLAG_ALTIVEC = (1<<16)
+} OilImplFlagPowerPC;
+/**
+ * OIL_DECLARE_CLASS:
+ * @klass: the name of a function class (without the oil_ prefix)
+ *
+ * Declares the Liboil function class @klass.
+ */
#define OIL_DECLARE_CLASS(klass) \
extern OilFunctionClass _oil_function_class_ ## klass
@@ -120,6 +206,16 @@ struct _OilFunctionImpl {
*/
#ifndef OIL_NO_CLASSES
+/**
+ * OIL_DEFINE_CLASS_FULL:
+ * @klass: name of class to declare (without oil_ prefix)
+ * @string: prototype of class
+ * @test: test function
+ *
+ * Defines a #OilFunctionClass structure for @klass. Classes
+ * defined this way will be automatically at Liboil initialization
+ * time.
+ */
#define OIL_DEFINE_CLASS_FULL(klass, string, test) \
OilFunctionClass _oil_function_class_ ## klass = { \
NULL, \
@@ -138,9 +234,28 @@ OilFunctionClass *oil_function_class_ptr_ ## klass = \
OIL_DECLARE_CLASS(klass)
#endif
+/**
+ * OIL_DEFINE_CLASS:
+ * @klass: name of class to declare (without oil_ prefix)
+ * @string: prototype of class
+ *
+ * Defines a #OilFunctionClass structure for @klass. Classes
+ * defined this way will be automatically at Liboil initialization
+ * time.
+ */
#define OIL_DEFINE_CLASS(klass, string) \
OIL_DEFINE_CLASS_FULL (klass, string, NULL)
+/**
+ * OIL_DEFINE_IMPL_FULL:
+ * @function: name of function
+ * @klass: name of class to declare (without oil_ prefix)
+ * @flags: implementation flags and CPU requirements
+ *
+ * Defines a #OilFunctionImpl structure for the function @function
+ * and class @klass. CPU-dependent flags in @flags will indicate
+ * that this implementation requires the given CPU flags.
+ */
#define OIL_DEFINE_IMPL_FULL(function,klass,flags) \
OilFunctionImpl OIL_OPT_MANGLE(_oil_function_impl_ ## function) = { \
NULL, \
@@ -149,14 +264,46 @@ OilFunctionImpl OIL_OPT_MANGLE(_oil_function_impl_ ## function) = { \
OIL_OPT_FLAG_MANGLE(flags), \
#function OIL_OPT_SUFFIX \
} \
-LIBOIL_CHECK_PROTOTYPE(;_oil_type_ ## klass _ignore_me_ ## function = function)
+OIL_CHECK_PROTOTYPE(;_oil_type_ ## klass _ignore_me_ ## function = function)
+/**
+ * OIL_DEFINE_IMPL:
+ * @function: name of function
+ * @klass: name of class to declare (without oil_ prefix)
+ *
+ * Shorthand for defining a C implementation. See OIL_DEFINE_IMPL_FULL().
+ */
#define OIL_DEFINE_IMPL(function,klass) \
OIL_DEFINE_IMPL_FULL(function,klass,0)
+/**
+ * OIL_DEFINE_IMPL_REF:
+ * @function: name of function
+ * @klass: name of class to declare (without oil_ prefix)
+ *
+ * Shorthand for defining a reference implementation. See OIL_DEFINE_IMPL_FULL().
+ */
#define OIL_DEFINE_IMPL_REF(function,klass) \
OIL_DEFINE_IMPL_FULL(function,klass,OIL_IMPL_FLAG_REF)
+/**
+ * OIL_DEFINE_IMPL_ASM:
+ * @function: name of function
+ * @klass: name of class to declare (without oil_ prefix)
+ *
+ * Shorthand for defining an implementation written in inline
+ * assembly code. See OIL_DEFINE_IMPL_FULL().
+ */
#define OIL_DEFINE_IMPL_ASM(function,klass) \
OIL_DEFINE_IMPL_FULL(function,klass,OIL_IMPL_FLAG_ASM)
+/**
+ * OIL_DEFINE_IMPL_DEPENDS
+ * @function: name of function
+ * @klass: name of class to declare (without oil_ prefix)
+ * @...: other classes this implementation uses
+ *
+ * Shorthand for defining an implementation that uses another Liboil
+ * function class. This is not currently used. See
+ * OIL_DEFINE_IMPL_FULL().
+ */
#define OIL_DEFINE_IMPL_DEPENDS(function,klass,...) \
OIL_DEFINE_IMPL_FULL(function,klass,0)
diff --git a/liboil/liboilprofile.h b/liboil/liboilprofile.h
index 63faa46..4950650 100644
--- a/liboil/liboilprofile.h
+++ b/liboil/liboilprofile.h
@@ -30,6 +30,11 @@
#include <stdint.h>
+/**
+ * OIL_PROFILE_HIST_LENGTH
+ *
+ * Internal definition of the number of histogram entries in #OilProfile.
+ */
#define OIL_PROFILE_HIST_LENGTH 10
typedef struct _OilProfile OilProfile;
diff --git a/liboil/liboiltest.h b/liboil/liboiltest.h
index 1d778e5..dcdb496 100644
--- a/liboil/liboiltest.h
+++ b/liboil/liboiltest.h
@@ -66,7 +66,17 @@ struct _OilTest {
*/
//typedef void (*OilTestFunction) (OilTest *test);
+/**
+ * OIL_TEST_HEADER:
+ *
+ * Number of bytes that are prepended to the array test area.
+ */
#define OIL_TEST_HEADER 256
+/**
+ * OIL_TEST_FOOTER:
+ *
+ * Number of bytes that are appended to the array test area.
+ */
#define OIL_TEST_FOOTER 256
OilTest *oil_test_new (OilFunctionClass *klass);
diff --git a/liboil/liboiltypes.h b/liboil/liboiltypes.h
index ed1d3b4..9494a1e 100644
--- a/liboil/liboiltypes.h
+++ b/liboil/liboiltypes.h
@@ -30,6 +30,11 @@
#include <stdint.h>
+/**
+ * NULL:
+ *
+ * FIXME: gtk-doc is broken and doesn't know how to ignore this.
+ */
#ifndef NULL
#define NULL ((void *)0)
#endif
@@ -46,13 +51,53 @@ typedef struct _OilTest OilTest;
typedef void (*OilTestFunction) (OilTest *test);
+/**
+ * type_s8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_s8 int8_t
+/**
+ * type_u8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_u8 uint8_t
+/**
+ * type_s16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_s16 int16_t
+/**
+ * type_u16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_u16 uint16_t
+/**
+ * type_s32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_s32 int32_t
+/**
+ * type_u32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_u32 uint32_t
+/**
+ * type_f32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_f32 float
+/**
+ * type_f64:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#define type_f64 double
#define type_min_s8 (-128)
@@ -69,6 +114,87 @@ typedef void (*OilTestFunction) (OilTest *test);
#define type_max_s32 (2147483647)
#define type_max_u32 (4294967295U)
+/**
+ * type_min_s8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_u8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_s16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_u16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_s32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_u32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_f32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_min_f64:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+
+/**
+ * type_max_s8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_u8:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_s16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_u16:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_s32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_u32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_f32:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
+/**
+ * type_max_f64:
+ *
+ * Useful for autogenerated code. Do not use otherwise.
+ */
#endif