[hkl] 01/03: Imported Upstream version 4.99.99.1913

Frédéric-Emmanuel Picca picca at moszumanska.debian.org
Fri Mar 6 16:50:27 UTC 2015


This is an automated email from the git hooks/post-receive script.

picca pushed a commit to branch experimental
in repository hkl.

commit 2150fea47889d2eb1b25e68e5d3935d6f8332779
Author: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
Date:   Thu Mar 5 10:27:13 2015 +0100

    Imported Upstream version 4.99.99.1913
---
 ChangeLog                                          |  158 +++
 Documentation/Makefile.in                          |  284 ++--
 Documentation/api/Makefile.in                      |  231 ++-
 Documentation/api/html/annotation-glossary.html    |   59 +-
 Documentation/api/html/api-index-full.html         |  519 ++++---
 Documentation/api/html/ch01.html                   |   26 +-
 Documentation/api/html/deprecated-api-index.html   |   24 +-
 Documentation/api/html/hkl-array-size.html         |   57 +-
 Documentation/api/html/hkl-autodata.html           |  175 +--
 Documentation/api/html/hkl-build-assert.html       |   66 +-
 Documentation/api/html/hkl-check-type.html         |   68 +-
 Documentation/api/html/hkl-compiler.html           |  145 +-
 Documentation/api/html/hkl-container-of.html       |   94 +-
 Documentation/api/html/hkl-darray.html             |  581 +++-----
 Documentation/api/html/hkl-hkl-axis-private.html   |   86 +-
 .../api/html/hkl-hkl-detector-private.html         |  172 +--
 .../api/html/hkl-hkl-factory-private.html          |  124 +-
 .../api/html/hkl-hkl-geometry-private.html         |  911 ++++--------
 .../api/html/hkl-hkl-interval-private.html         |  461 +++---
 .../api/html/hkl-hkl-lattice-private.html          |  221 +--
 Documentation/api/html/hkl-hkl-macros-private.html |  178 +--
 Documentation/api/html/hkl-hkl-matrix-private.html |  599 +++-----
 .../api/html/hkl-hkl-parameter-private.html        |  508 +++----
 .../api/html/hkl-hkl-pseudoaxis-auto-private.html  |  305 ++--
 ...kl-hkl-pseudoaxis-common-eulerians-private.html |  123 +-
 .../hkl-hkl-pseudoaxis-common-hkl-private.html     |  250 ++--
 .../hkl-hkl-pseudoaxis-common-psi-private.html     |  118 +-
 .../html/hkl-hkl-pseudoaxis-common-q-private.html  |  147 +-
 .../api/html/hkl-hkl-pseudoaxis-private.html       |  470 +++---
 .../api/html/hkl-hkl-quaternion-private.html       |  650 ++++-----
 Documentation/api/html/hkl-hkl-sample-private.html |  241 +---
 Documentation/api/html/hkl-hkl-source-private.html |  400 ++----
 Documentation/api/html/hkl-hkl-type-builtins.html  |   84 +-
 Documentation/api/html/hkl-hkl-types.html          |  130 +-
 Documentation/api/html/hkl-hkl-unit-private.html   |  261 ++--
 Documentation/api/html/hkl-hkl-vector-private.html | 1501 ++++++++------------
 Documentation/api/html/hkl-hkl.html                |  578 +++-----
 Documentation/api/html/hkl-list.html               |  515 +++----
 Documentation/api/html/hkl-noerr.html              |   94 +-
 Documentation/api/html/hkl-ptr-valid.html          |  239 +---
 Documentation/api/html/hkl-str-debug.html          |  285 +---
 Documentation/api/html/hkl-str.html                |  374 ++---
 Documentation/api/html/hkl.devhelp2                |  650 +++++----
 Documentation/api/html/home.png                    |  Bin 256 -> 654 bytes
 Documentation/api/html/index.html                  |   10 +-
 Documentation/api/html/index.sgml                  |  697 +++++----
 Documentation/api/html/left-insensitive.png        |  Bin 395 -> 0 bytes
 Documentation/api/html/left.png                    |  Bin 262 -> 459 bytes
 Documentation/api/html/object-tree.html            |   25 +-
 Documentation/api/html/right-insensitive.png       |  Bin 373 -> 0 bytes
 Documentation/api/html/right.png                   |  Bin 261 -> 472 bytes
 Documentation/api/html/style.css                   |  418 ++----
 Documentation/api/html/up-insensitive.png          |  Bin 374 -> 0 bytes
 Documentation/api/html/up.png                      |  Bin 260 -> 406 bytes
 Documentation/figures/3S+1D.png                    |  Bin 146277 -> 115541 bytes
 Documentation/figures/4S+2D.png                    |  Bin 172796 -> 137453 bytes
 Documentation/figures/4S+2D_reciprocal.png         |  Bin 139787 -> 185614 bytes
 Documentation/figures/4S+2D_reciprocal2.png        |  Bin 131392 -> 180864 bytes
 Documentation/figures/4S+2D_reciprocal3.png        |  Bin 130334 -> 179845 bytes
 Documentation/figures/4S+2D_reciprocal4.png        |  Bin 151510 -> 189455 bytes
 Documentation/figures/B_a.png                      |  Bin 18561 -> 14403 bytes
 Documentation/figures/B_b.png                      |  Bin 18247 -> 13189 bytes
 Documentation/figures/B_b3_y.png                   |  Bin 18764 -> 14448 bytes
 Documentation/figures/Makefile.in                  |  104 +-
 Documentation/figures/crystal.png                  |  Bin 44520 -> 36700 bytes
 Documentation/figures/e2k_1.png                    |  Bin 163887 -> 138330 bytes
 Documentation/figures/e2k_2.png                    |  Bin 139242 -> 118132 bytes
 Documentation/figures/e2k_3.png                    |  Bin 182705 -> 144417 bytes
 Documentation/figures/e2k_4.png                    |  Bin 167324 -> 131742 bytes
 Documentation/figures/k4cv.png                     |  Bin 101790 -> 74117 bytes
 Documentation/figures/k6c.png                      |  Bin 128504 -> 96827 bytes
 Documentation/figures/med2_3_slits.png             |  Bin 61516 -> 34076 bytes
 Documentation/figures/qper_qpar.png                |  Bin 43942 -> 30516 bytes
 Documentation/figures/zaxis.png                    |  Bin 149410 -> 178237 bytes
 Documentation/hkl.html                             |  308 ++--
 Documentation/sphinx/Makefile.in                   |  577 ++------
 INSTALL                                            |   12 +-
 Makefile.in                                        |  350 ++---
 aclocal.m4                                         |  709 ++++-----
 config/compile                                     |  347 -----
 config/config.guess                                |  346 +++--
 config/config.sub                                  |  113 +-
 config/depcomp                                     |  455 +++---
 config/install-sh                                  |   14 +-
 config/ltmain.sh                                   |    4 +-
 config/mdate-sh                                    |   15 +-
 config/missing                                     |  414 ++++--
 config/test-driver                                 |  139 --
 config/texinfo.tex                                 |  414 ++----
 configure                                          |  647 +++------
 data/Makefile.in                                   |  103 +-
 gtk-doc.make                                       |  101 +-
 gui/Makefile.in                                    |  213 +--
 gui/ghkl.desktop                                   |    1 -
 gui/hkl-gui-macros.h                               |    2 +-
 hkl/Makefile.in                                    |  322 ++---
 hkl/ccan/Makefile.in                               |  227 ++-
 hkl/hkl-binding-private.h                          |    3 +
 hkl/hkl-binding.c                                  |   31 +
 hkl/hkl-pseudoaxis.c                               |    4 +-
 hkl3d/Makefile.in                                  |  204 +--
 m4/gtk-doc.m4                                      |   51 +-
 m4/libtool.m4                                      |   24 +-
 tests/Makefile.in                                  |  315 ++--
 tests/bindings/Makefile.in                         |  570 ++------
 tests/bindings/python.py                           |   13 +
 tests/tap/Makefile.in                              |  175 +--
 107 files changed, 8094 insertions(+), 13545 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 59145fe..d5f2b92 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,163 @@
 # Generated by Makefile. Do not edit.
 
+commit 4672c5bae937371ce3d6088a64571ec6d8c38b1b
+Author: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
+Date:   Thu Mar 5 10:03:38 2015 +0100
+
+    [hkl] expose the hkl_engine_parameters_values_get/set
+
+ hkl/hkl-binding-private.h |  3 +++
+ hkl/hkl-binding.c         | 31 +++++++++++++++++++++++++++++++
+ hkl/hkl-pseudoaxis.c      |  2 +-
+ tests/bindings/python.py  | 13 +++++++++++++
+ 4 files changed, 48 insertions(+), 1 deletion(-)
+
+commit 0f7a9a6cdba4b2717d61a36c38881eb5fac97652
+Author: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
+Date:   Tue Mar 3 13:43:16 2015 +0100
+
+    [hkl] typo
+
+ hkl/hkl-pseudoaxis.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cb767015602f504d67f8c832b6eab9b6120d27c4
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 20:38:29 2015 +0100
+
+    [contrib] optimisation
+
+ contrib/hkl.hs | 29 ++++++++++++++++++++---------
+ 1 file changed, 20 insertions(+), 9 deletions(-)
+
+commit 9c012f1c54fa1926576eef98904b24153bf61652
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 16:09:33 2015 +0100
+
+    [contrib] use (*~~) and (/~~) instead of from/toAngles
+
+ contrib/hkl.hs | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+commit cf55537fc7bdf259ceceb48e317f65a4791c747b
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 16:02:24 2015 +0100
+
+    [contrib] start to implement a mode
+
+ contrib/hkl.hs | 60 +++++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 43 insertions(+), 17 deletions(-)
+
+commit 6e799b92f1f547ec95271053cd95b477560e9f2e
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 14:27:08 2015 +0100
+
+    [contrib] use splitAt instead of multiple type conversion
+
+ contrib/hkl.hs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit fa56fb814a96b300b353e38a81592304f8837a6e
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 12:20:21 2015 +0100
+
+    [contrib] factorize the [Double] -> [Angle Double] transformation
+
+ contrib/hkl.hs | 33 +++++++++++++++------------------
+ 1 file changed, 15 insertions(+), 18 deletions(-)
+
+commit 07ff156a7cd37c84845448cacf983e7e9a924325
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 15 11:21:16 2015 +0100
+
+    [contrib] first implementation of the computAngles
+
+ contrib/hkl.hs | 39 ++++++++++++++++++++++++++++-----------
+ 1 file changed, 28 insertions(+), 11 deletions(-)
+
+commit c3eddeb5a09c3ddf85cff3f96d7c33458b5261e4
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sat Feb 14 22:45:18 2015 +0100
+
+    [contrib] a [Transformation] is also a Transformation
+
+ contrib/hkl.hs | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+commit bd5bdea1ac74e74533f915aa56ae4c0e91fbba23
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sat Feb 14 22:21:40 2015 +0100
+
+    [contrib] add a computeHkl method and a Diffractometer data type
+
+ contrib/hkl.hs | 104 +++++++++++++++++++++++++++------------------------------
+ 1 file changed, 49 insertions(+), 55 deletions(-)
+
+commit 8b475de993c7c57624d5250ebad8fe6e353ba981
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sat Feb 14 21:35:21 2015 +0100
+
+    [contrib] compute hkl from the angles
+
+ contrib/hkl.hs | 35 +++++++++++++++++++++++++----------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
+
+commit 46842a74e2348a2d1513157d3c42096b3b62390b
+Author: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
+Date:   Wed Feb 11 09:54:09 2015 +0100
+
+    [gui] fix a segfault
+    
+    forgot a NULL termination in g_build_filename
+
+ gui/hkl-gui-macros.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b1db84c1e4ade71ea77b3f4ff3baf9c01efe612f
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 1 20:59:01 2015 +0100
+
+    [contrib] use directly zipWith instead of a dedicated function
+
+ contrib/hkl.hs | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 28c09e22da66da2b5127857e4a9e66e60b823a20
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 1 18:55:10 2015 +0100
+
+    [contrib] create an UB Transformation
+
+ contrib/hkl.hs | 33 ++++++++++++++++-----------------
+ 1 file changed, 16 insertions(+), 17 deletions(-)
+
+commit 1dc4292033f4dcc1c9ebbf235b7b2ac80169781d
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 1 17:02:24 2015 +0100
+
+    [contrib] move to amodel where all transfortion are vector-> vector
+
+ contrib/hkl.hs | 46 ++++++++++++++++++++++------------------------
+ 1 file changed, 22 insertions(+), 24 deletions(-)
+
+commit 9caed653799351d27ffb3d782858e431a6a5d353
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Sun Feb 1 10:11:17 2015 +0100
+
+    [contrib] add units in the haskell code
+
+ contrib/hkl.hs | 121 ++++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 72 insertions(+), 49 deletions(-)
+
+commit e046b25683e11cf0f6838f1d9b6464b1b78ae324
+Author: Picca Frédéric-Emmanuel <picca at debian.org>
+Date:   Fri Jan 30 16:20:34 2015 +0100
+
+    [gui] for now no mime-type
+
+ gui/ghkl.desktop | 1 -
+ 1 file changed, 1 deletion(-)
+
 commit 6da389880f17c0413b29f0912da0fca2849363c7
 Author: Picca Frédéric-Emmanuel <picca at debian.org>
 Date:   Fri Jan 30 16:05:48 2015 +0100
diff --git a/Documentation/Makefile.in b/Documentation/Makefile.in
index 1b833bf..c1bb822 100644
--- a/Documentation/Makefile.in
+++ b/Documentation/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,51 +16,23 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -79,8 +52,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = Documentation
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/hkl.org.in $(dist_man_MANS) $(dist_html_DATA)
+DIST_COMMON = $(dist_html_DATA) $(dist_man_MANS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/hkl.org.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -92,28 +65,21 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = hkl.org
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -153,29 +119,9 @@ MANS = $(dist_man_MANS)
 DATA = $(dist_html_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
 	distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -256,7 +202,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -487,25 +432,22 @@ uninstall-dist_htmlDATA:
 	dir='$(DESTDIR)$(htmldir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -520,12 +462,57 @@ $(am__recursive_targets):
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
 
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -541,7 +528,12 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -553,11 +545,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -566,26 +562,24 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -747,22 +741,24 @@ uninstall-am: uninstall-dist_htmlDATA uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-	check-am clean clean-generic clean-libtool cscopelist-am ctags \
-	ctags-am distclean distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am \
-	install-dist_htmlDATA install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-man1 install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs installdirs-am \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am uninstall-dist_htmlDATA \
-	uninstall-man uninstall-man1
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+	install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am clean clean-generic clean-libtool \
+	ctags ctags-recursive distclean distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dist_htmlDATA install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-man1 install-pdf install-pdf-am install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-dist_htmlDATA uninstall-man \
+	uninstall-man1
 
 
 hkl.html: hkl.org $(srcdir)/default.el
diff --git a/Documentation/api/Makefile.in b/Documentation/api/Makefile.in
index 9a24450..ff18a39 100644
--- a/Documentation/api/Makefile.in
+++ b/Documentation/api/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -20,51 +21,23 @@
 # Everything below here is generic #
 ####################################
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -83,8 +56,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/gtk-doc.make $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/gtk-doc.make
 subdir = Documentation/api
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -97,18 +70,12 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -116,7 +83,6 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -169,7 +135,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -409,42 +374,11 @@ REPORT_FILES = \
 	$(DOC_MODULE)-undeclared.txt \
 	$(DOC_MODULE)-unused.txt
 
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
- at GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = 
- at GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
- at GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = 
- at GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
-
-#### setup ####
-GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
-GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_SETUP_0 = @echo "  DOC   Preparing build";
-
-#### scan ####
-GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V))
-GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_SCAN_0 = @echo "  DOC   Scanning header files";
-GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V))
-GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_INTROSPECT_0 = @echo "  DOC   Introspecting gobjects";
-
-#### xml ####
-GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V))
-GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_XML_0 = @echo "  DOC   Building XML";
-
-#### html ####
-GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V))
-GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_HTML_0 = @echo "  DOC   Building HTML";
-GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V))
-GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_XREF_0 = @echo "  DOC   Fixing cross-references";
-
-#### pdf ####
-GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V))
-GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_PDF_0 = @echo "  DOC   Building PDF";
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+ at ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE at HTML_BUILD_STAMP = 
+ at ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE at HTML_BUILD_STAMP = html-build.stamp
+ at ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE at PDF_BUILD_STAMP = 
+ at ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE at PDF_BUILD_STAMP = pdf-build.stamp
 
 # Files not to distribute
 # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
@@ -490,11 +424,11 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
+tags: TAGS
+TAGS:
 
-cscope cscopelist:
+ctags: CTAGS
+CTAGS:
 
 
 distdir: $(DISTFILES)
@@ -532,7 +466,6 @@ distdir: $(DISTFILES)
 	  dist-hook
 check-am: all-am
 check: check-am
- at ENABLE_GTK_DOC_FALSE@all-local:
 all-am: Makefile all-local
 installdirs:
 install: install-am
@@ -637,55 +570,53 @@ uninstall-am: uninstall-local
 .MAKE: install-am install-strip
 
 .PHONY: all all-am all-local check check-am clean clean-generic \
-	clean-libtool clean-local cscopelist-am ctags-am dist-hook \
-	distclean distclean-generic distclean-libtool distclean-local \
-	distdir dvi dvi-am html html-am info info-am install \
-	install-am install-data install-data-am install-data-local \
-	install-dvi install-dvi-am install-exec install-exec-am \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
+	clean-libtool clean-local dist-hook distclean \
+	distclean-generic distclean-libtool distclean-local distdir \
+	dvi dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-data-local install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic \
 	maintainer-clean-local mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
-	uninstall-am uninstall-local
-
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-local
 
-gtkdoc-check.test: Makefile
-	$(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
-		echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
-		chmod +x $@
 
-all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-.PHONY: all-gtk-doc
-
- at ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
+ at ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+ at ENABLE_GTK_DOC_FALSE@all-local:
 
 docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
 
 $(REPORT_FILES): sgml-build.stamp
 
+#### setup ####
+
 setup-build.stamp:
-	-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+	- at if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+	    echo '  DOC   Preparing build'; \
 	    files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
 	    if test "x$$files" != "x" ; then \
 	        for file in $$files ; do \
-	            destdir=`dirname $(abs_builddir)/$$file`; \
-	            test -d "$$destdir" || mkdir -p "$$destdir"; \
 	            test -f $(abs_srcdir)/$$file && \
-	                cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+	                cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
 	        done; \
 	    fi; \
 	fi
-	$(AM_V_at)touch setup-build.stamp
+	@touch setup-build.stamp
+
+#### scan ####
 
-scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
-	$(GTK_DOC_V_SCAN)_source_dir='' ; \
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+	@echo '  DOC   Scanning header files'
+	@_source_dir='' ; \
 	for i in $(DOC_SOURCE_DIR) ; do \
 	    _source_dir="$${_source_dir} --source-dir=$$i" ; \
 	done ; \
 	gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
-	$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+	@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+	    echo "  DOC   Introspecting gobjects"; \
 	    scanobj_options=""; \
 	    gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	    if test "$(?)" = "0"; then \
@@ -700,25 +631,32 @@ scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
 	        test -f $$i || touch $$i ; \
 	    done \
 	fi
-	$(AM_V_at)touch scan-build.stamp
+	@touch scan-build.stamp
 
 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
 	@true
 
+#### xml ####
+
 sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
-	$(GTK_DOC_V_XML)_source_dir='' ; \
+	@echo '  DOC   Building XML'
+	@_source_dir='' ; \
 	for i in $(DOC_SOURCE_DIR) ; do \
 	    _source_dir="$${_source_dir} --source-dir=$$i" ; \
 	done ; \
 	gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
-	$(AM_V_at)touch sgml-build.stamp
+	@touch sgml-build.stamp
 
 sgml.stamp: sgml-build.stamp
 	@true
 
+#### html ####
+
 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-	$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
-	mkhtml_options=""; \
+	@echo '  DOC   Building HTML'
+	@rm -rf html
+	@mkdir html
+	@mkhtml_options=""; \
 	gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	if test "$(?)" = "0"; then \
 	  if test "x$(V)" = "x1"; then \
@@ -739,12 +677,16 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
 	    cp $(abs_builddir)/$$file $(abs_builddir)/html; \
 	  fi; \
 	done;
-	$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-	$(AM_V_at)touch html-build.stamp
+	@echo '  DOC   Fixing cross-references'
+	@gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+	@touch html-build.stamp
+
+#### pdf ####
 
 pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-	$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
-	mkpdf_options=""; \
+	@echo '  DOC   Building PDF'
+	@rm -f $(DOC_MODULE).pdf
+	@mkpdf_options=""; \
 	gtkdoc-mkpdf 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	if test "$(?)" = "0"; then \
 	  if test "x$(V)" = "x1"; then \
@@ -761,16 +703,13 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
 	  done; \
 	fi; \
 	gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
-	$(AM_V_at)touch pdf-build.stamp
+	@touch pdf-build.stamp
 
 ##############
 
 clean-local:
 	@rm -f *~ *.bak
 	@rm -rf .libs
-	@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
-	  rm -f $(DOC_MODULE).types; \
-	fi
 
 distclean-local:
 	@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
@@ -779,7 +718,7 @@ distclean-local:
 	    rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
 	fi
 
-maintainer-clean-local:
+maintainer-clean-local: clean
 	@rm -rf xml html
 
 install-data-local:
@@ -815,14 +754,12 @@ uninstall-local:
 #
 # Require gtk-doc when making dist
 #
- at HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
- at HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
- at HAVE_GTK_DOC_FALSE@	@echo "*** gtk-doc is needed to run 'make dist'.         ***"
- at HAVE_GTK_DOC_FALSE@	@echo "*** gtk-doc was not found when 'configure' ran.   ***"
- at HAVE_GTK_DOC_FALSE@	@echo "*** please install gtk-doc and rerun 'configure'. ***"
- at HAVE_GTK_DOC_FALSE@	@false
-
-dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
+ at ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
+ at ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
+ at ENABLE_GTK_DOC_FALSE@	@echo "*** gtk-doc must be installed and enabled in order to make dist"
+ at ENABLE_GTK_DOC_FALSE@	@false
+
+dist-hook: dist-check-gtkdoc dist-hook-local
 	@mkdir $(distdir)/html
 	@cp ./html/* $(distdir)/html
 	@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/Documentation/api/html/annotation-glossary.html b/Documentation/api/html/annotation-glossary.html
index 18d0a6c..5f13e8c 100644
--- a/Documentation/api/html/annotation-glossary.html
+++ b/Documentation/api/html/annotation-glossary.html
@@ -2,41 +2,52 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: Annotation Glossary</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Annotation Glossary</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="index.html" title="hkl Reference Manual">
 <link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_glossary"><a class="shortcut" href="#glsI">I</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsO">O</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsT">T</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">hkl Reference Manual</th>
+<td> </td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#glsO">O</a>
+                      | 
+                   <a class="shortcut" href="#glsI">I</a>
+                      | 
+                   <a class="shortcut" href="#glsT">T</a>
+</td></tr>
+</table>
 <div class="glossary">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
-<a name="glsI"></a><h3 class="title">I</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-in"></a>in</span></dt>
-<dd class="glossdef"><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
+<div class="titlepage"><div><div><h2 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h2></div></div></div>
 <a name="glsO"></a><h3 class="title">O</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-out%20caller-allocates"></a>out caller-allocates</span></dt>
-<dd class="glossdef"><p>Out parameter, where caller must allocate storage.</p></dd>
+<dt>
+<a name="annotation-glossterm-out"></a>out</dt>
+<dd><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<a name="glsI"></a><h3 class="title">I</h3>
+<dt>
+<a name="annotation-glossterm-in"></a>in</dt>
+<dd><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
 <a name="glsT"></a><h3 class="title">T</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
-<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
+<dt>
+<a name="annotation-glossterm-transfer%20full"></a>transfer full</dt>
+<dd><p>Free data after the code is done.</p></dd>
+<dt>
+<a name="annotation-glossterm-transfer%20none"></a>transfer none</dt>
+<dd><p>Don't free data after the code is done.</p></dd>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/api-index-full.html b/Documentation/api/html/api-index-full.html
index 368390c..ab4b07d 100644
--- a/Documentation/api/html/api-index-full.html
+++ b/Documentation/api/html/api-index-full.html
@@ -2,66 +2,71 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: API Index</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>API Index</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="index.html" title="hkl Reference Manual">
 <link rel="prev" href="object-tree.html" title="Object Hierarchy">
 <link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxB">B</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxC">C</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxD">D</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxE">E</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxF">F</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxG">G</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxH">H</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxI">I</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxK">K</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxL">L</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxM">M</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxN">N</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxP">P</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxQ">Q</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxR">R</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxS">S</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxT">T</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxU">U</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxV">V</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxW">W</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">hkl Reference Manual</th>
+<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#idxA">A</a>
+                      | 
+                   <a class="shortcut" href="#idxB">B</a>
+                      | 
+                   <a class="shortcut" href="#idxC">C</a>
+                      | 
+                   <a class="shortcut" href="#idxD">D</a>
+                      | 
+                   <a class="shortcut" href="#idxE">E</a>
+                      | 
+                   <a class="shortcut" href="#idxF">F</a>
+                      | 
+                   <a class="shortcut" href="#idxG">G</a>
+                      | 
+                   <a class="shortcut" href="#idxH">H</a>
+                      | 
+                   <a class="shortcut" href="#idxI">I</a>
+                      | 
+                   <a class="shortcut" href="#idxK">K</a>
+                      | 
+                   <a class="shortcut" href="#idxL">L</a>
+                      | 
+                   <a class="shortcut" href="#idxM">M</a>
+                      | 
+                   <a class="shortcut" href="#idxN">N</a>
+                      | 
+                   <a class="shortcut" href="#idxP">P</a>
+                      | 
+                   <a class="shortcut" href="#idxQ">Q</a>
+                      | 
+                   <a class="shortcut" href="#idxR">R</a>
+                      | 
+                   <a class="shortcut" href="#idxS">S</a>
+                      | 
+                   <a class="shortcut" href="#idxT">T</a>
+                      | 
+                   <a class="shortcut" href="#idxU">U</a>
+                      | 
+                   <a class="shortcut" href="#idxV">V</a>
+                      | 
+                   <a class="shortcut" href="#idxW">W</a>
+</td></tr>
+</table>
 <div class="index">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="api-index-full"></a>API Index</h1></div></div></div>
+<div class="titlepage"><div><div><h2 class="title">
+<a name="api-index-full"></a>API Index</h2></div></div></div>
 <a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
 <dt>
 <a class="link" href="hkl-hkl-parameter-private.html#alea" title="alea">alea</a>, variable in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
@@ -96,7 +101,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-autodata.html#autodata-free" title="autodata_free ()">autodata_free</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
+<a class="link" href="hkl-autodata.html#autodata-free" title="autodata_free ()">autodata_free</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
 </dt>
 <dd></dd>
 <dt>
@@ -104,7 +109,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-autodata.html#autodata-get-section" title="autodata_get_section ()">autodata_get_section</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
+<a class="link" href="hkl-autodata.html#autodata-get-section" title="autodata_get_section ()">autodata_get_section</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
 </dt>
 <dd></dd>
 <dt>
@@ -112,7 +117,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-autodata.html#autodata-make-table" title="autodata_make_table ()">autodata_make_table</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
+<a class="link" href="hkl-autodata.html#autodata-make-table" title="autodata_make_table ()">autodata_make_table</a>, function in <a class="link" href="hkl-autodata.html" title="autodata">autodata</a>
 </dt>
 <dd></dd>
 <dt>
@@ -128,11 +133,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis">HklAxis</a>, struct in <a class="link" href="hkl-hkl-axis-private.html" title="hkl-axis-private">hkl-axis-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-private.html#axis" title="axis">axis</a>, variable in <a class="link" href="hkl-hkl-pseudoaxis-private.html" title="hkl-pseudoaxis-private">hkl-pseudoaxis-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#axis" title="axis">axis</a>, variable in <a class="link" href="hkl-hkl-pseudoaxis-private.html" title="hkl-pseudoaxis-private">hkl-pseudoaxis-private</a>
+<a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis">HklAxis</a>, struct in <a class="link" href="hkl-hkl-axis-private.html" title="hkl-axis-private">hkl-axis-private</a>
 </dt>
 <dd></dd>
 <a name="idxB"></a><h3 class="title">B</h3>
@@ -158,7 +163,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-noerr.html#close-noerr" title="close_noerr ()">close_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
+<a class="link" href="hkl-noerr.html#close-noerr" title="close_noerr ()">close_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
 </dt>
 <dd></dd>
 <dt>
@@ -191,11 +196,11 @@
 <dd></dd>
 <a name="idxD"></a><h3 class="title">D</h3>
 <dt>
-<a class="link" href="hkl-darray.html#darray" title="darray()">darray</a>, macro in <a class="link" href="hkl-darray.html" title="darray">darray</a>
+<a class="link" href="hkl-hkl-macros-private.html#DARRAY:CAPS" title="DARRAY()">DARRAY</a>, macro in <a class="link" href="hkl-hkl-macros-private.html" title="hkl-macros-private">hkl-macros-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-macros-private.html#DARRAY:CAPS" title="DARRAY()">DARRAY</a>, macro in <a class="link" href="hkl-hkl-macros-private.html" title="hkl-macros-private">hkl-macros-private</a>
+<a class="link" href="hkl-darray.html#darray" title="darray()">darray</a>, macro in <a class="link" href="hkl-darray.html" title="darray">darray</a>
 </dt>
 <dd></dd>
 <dt>
@@ -419,15 +424,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder" title="hkl_detector_attach_to_holder ()">hkl_detector_attach_to_holder</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
+<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder" title="hkl_detector_attach_to_holder ()">hkl_detector_attach_to_holder</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-compute-kf" title="hkl_detector_compute_kf ()">hkl_detector_compute_kf</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
+<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-compute-kf" title="hkl_detector_compute_kf ()">hkl_detector_compute_kf</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-new" title="hkl_detector_new ()">hkl_detector_new</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
+<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-new" title="hkl_detector_new ()">hkl_detector_new</a>, function in <a class="link" href="hkl-hkl-detector-private.html" title="hkl-detector-private">hkl-detector-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -496,11 +501,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new" title="hkl_engine_eulerians_new ()">hkl_engine_eulerians_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">hkl-pseudoaxis-common-eulerians-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new" title="hkl_engine_eulerians_new ()">hkl_engine_eulerians_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">hkl-pseudoaxis-common-eulerians-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new" title="hkl_engine_hkl_new ()">hkl_engine_hkl_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new" title="hkl_engine_hkl_new ()">hkl_engine_hkl_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -512,19 +517,19 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new" title="hkl_engine_psi_new ()">hkl_engine_psi_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">hkl-pseudoaxis-common-psi-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new" title="hkl_engine_psi_new ()">hkl_engine_psi_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">hkl-pseudoaxis-common-psi-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new" title="hkl_engine_q2_new ()">hkl_engine_q2_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new" title="hkl_engine_q2_new ()">hkl_engine_q2_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new" title="hkl_engine_qper_qpar_new ()">hkl_engine_qper_qpar_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new" title="hkl_engine_qper_qpar_new ()">hkl_engine_qper_qpar_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new" title="hkl_engine_q_new ()">hkl_engine_q_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new" title="hkl_engine_q_new ()">hkl_engine_q_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -549,19 +554,19 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-factory-private.html#HklFactoryEngineListFunction" title="HklFactoryEngineListFunction ()">HklFactoryEngineListFunction</a>, user_function in <a class="link" href="hkl-hkl-factory-private.html" title="hkl-factory-private">hkl-factory-private</a>
+<a class="link" href="hkl-hkl-factory-private.html#HklFactoryEngineListFunction" title="HklFactoryEngineListFunction ()">HklFactoryEngineListFunction</a>, user_function in <a class="link" href="hkl-hkl-factory-private.html" title="hkl-factory-private">hkl-factory-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-factory-private.html#HklFactoryGeometryFunction" title="HklFactoryGeometryFunction ()">HklFactoryGeometryFunction</a>, user_function in <a class="link" href="hkl-hkl-factory-private.html" title="hkl-factory-private">hkl-factory-private</a>
+<a class="link" href="hkl-hkl-factory-private.html#HklFactoryGeometryFunction" title="HklFactoryGeometryFunction ()">HklFactoryGeometryFunction</a>, user_function in <a class="link" href="hkl-hkl-factory-private.html" title="hkl-factory-private">hkl-factory-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-noerr.html#fclose-noerr" title="fclose_noerr ()">fclose_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
+<a class="link" href="hkl-noerr.html#fclose-noerr" title="fclose_noerr ()">fclose_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#fprintf" title="fprintf ()">fprintf</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#fprintf" title="fprintf ()">fprintf</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -586,23 +591,23 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction" title="HklGeometryListMultiplyFunction ()">HklGeometryListMultiplyFunction</a>, user_function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction" title="HklGeometryListMultiplyFunction ()">HklGeometryListMultiplyFunction</a>, user_function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-add-holder" title="hkl_geometry_add_holder ()">hkl_geometry_add_holder</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-add-holder" title="hkl_geometry_add_holder ()">hkl_geometry_add_holder</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range" title="hkl_geometry_closest_from_geometry_with_range ()">hkl_geometry_closest_from_geometry_with_range</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range" title="hkl_geometry_closest_from_geometry_with_range ()">hkl_geometry_closest_from_geometry_with_range</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance" title="hkl_geometry_distance ()">hkl_geometry_distance</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance" title="hkl_geometry_distance ()">hkl_geometry_distance</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic" title="hkl_geometry_distance_orthodromic ()">hkl_geometry_distance_orthodromic</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic" title="hkl_geometry_distance_orthodromic ()">hkl_geometry_distance_orthodromic</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -610,23 +615,23 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name" title="hkl_geometry_get_axis_by_name ()">hkl_geometry_get_axis_by_name</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name" title="hkl_geometry_get_axis_by_name ()">hkl_geometry_get_axis_by_name</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name" title="hkl_geometry_get_axis_idx_by_name ()">hkl_geometry_get_axis_idx_by_name</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name" title="hkl_geometry_get_axis_idx_by_name ()">hkl_geometry_get_axis_idx_by_name</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry" title="hkl_geometry_init_geometry ()">hkl_geometry_init_geometry</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry" title="hkl_geometry_init_geometry ()">hkl_geometry_init_geometry</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-is-valid" title="hkl_geometry_is_valid ()">hkl_geometry_is_valid</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-is-valid" title="hkl_geometry_is_valid ()">hkl_geometry_is_valid</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-add" title="hkl_geometry_list_add ()">hkl_geometry_list_add</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-add" title="hkl_geometry_list_add ()">hkl_geometry_list_add</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -634,55 +639,55 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf" title="hkl_geometry_list_fprintf ()">hkl_geometry_list_fprintf</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf" title="hkl_geometry_list_fprintf ()">hkl_geometry_list_fprintf</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free" title="hkl_geometry_list_item_free ()">hkl_geometry_list_item_free</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free" title="hkl_geometry_list_item_free ()">hkl_geometry_list_item_free</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new" title="hkl_geometry_list_item_new ()">hkl_geometry_list_item_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new" title="hkl_geometry_list_item_new ()">hkl_geometry_list_item_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy" title="hkl_geometry_list_item_new_copy ()">hkl_geometry_list_item_new_copy</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy" title="hkl_geometry_list_item_new_copy ()">hkl_geometry_list_item_new_copy</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply" title="hkl_geometry_list_multiply ()">hkl_geometry_list_multiply</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply" title="hkl_geometry_list_multiply ()">hkl_geometry_list_multiply</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range" title="hkl_geometry_list_multiply_from_range ()">hkl_geometry_list_multiply_from_range</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range" title="hkl_geometry_list_multiply_from_range ()">hkl_geometry_list_multiply_from_range</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new" title="hkl_geometry_list_new ()">hkl_geometry_list_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new" title="hkl_geometry_list_new ()">hkl_geometry_list_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy" title="hkl_geometry_list_new_copy ()">hkl_geometry_list_new_copy</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy" title="hkl_geometry_list_new_copy ()">hkl_geometry_list_new_copy</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid" title="hkl_geometry_list_remove_invalid ()">hkl_geometry_list_remove_invalid</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid" title="hkl_geometry_list_remove_invalid ()">hkl_geometry_list_remove_invalid</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-reset" title="hkl_geometry_list_reset ()">hkl_geometry_list_reset</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-reset" title="hkl_geometry_list_reset ()">hkl_geometry_list_reset</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-sort" title="hkl_geometry_list_sort ()">hkl_geometry_list_sort</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-sort" title="hkl_geometry_list_sort ()">hkl_geometry_list_sort</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-new" title="hkl_geometry_new ()">hkl_geometry_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-new" title="hkl_geometry_new ()">hkl_geometry_new</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-update" title="hkl_geometry_update ()">hkl_geometry_update</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-update" title="hkl_geometry_update ()">hkl_geometry_update</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -690,7 +695,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
 </dt>
 <dd></dd>
 <a name="idxH"></a><h3 class="title">H</h3>
@@ -699,11 +704,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-geometry-private.html#HklHolderConfig" title="struct HklHolderConfig">HklHolderConfig</a>, struct in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis" title="hkl_holder_add_rotation_axis ()">hkl_holder_add_rotation_axis</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
+<a class="link" href="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis" title="hkl_holder_add_rotation_axis ()">hkl_holder_add_rotation_axis</a>, function in <a class="link" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">hkl-geometry-private</a>
 </dt>
 <dd></dd>
 <a name="idxI"></a><h3 class="title">I</h3>
@@ -716,131 +717,131 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-acos" title="hkl_interval_acos ()">hkl_interval_acos</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-acos" title="hkl_interval_acos ()">hkl_interval_acos</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm" title="hkl_interval_angle_restrict_symm ()">hkl_interval_angle_restrict_symm</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm" title="hkl_interval_angle_restrict_symm ()">hkl_interval_angle_restrict_symm</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-asin" title="hkl_interval_asin ()">hkl_interval_asin</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-asin" title="hkl_interval_asin ()">hkl_interval_asin</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-atan" title="hkl_interval_atan ()">hkl_interval_atan</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-atan" title="hkl_interval_atan ()">hkl_interval_atan</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cmp" title="hkl_interval_cmp ()">hkl_interval_cmp</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cmp" title="hkl_interval_cmp ()">hkl_interval_cmp</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-contain-zero" title="hkl_interval_contain_zero ()">hkl_interval_contain_zero</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-contain-zero" title="hkl_interval_contain_zero ()">hkl_interval_contain_zero</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cos" title="hkl_interval_cos ()">hkl_interval_cos</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cos" title="hkl_interval_cos ()">hkl_interval_cos</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-divides-double" title="hkl_interval_divides_double ()">hkl_interval_divides_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-divides-double" title="hkl_interval_divides_double ()">hkl_interval_divides_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-dup" title="hkl_interval_dup ()">hkl_interval_dup</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-dup" title="hkl_interval_dup ()">hkl_interval_dup</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-free" title="hkl_interval_free ()">hkl_interval_free</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-free" title="hkl_interval_free ()">hkl_interval_free</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-length" title="hkl_interval_length ()">hkl_interval_length</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-length" title="hkl_interval_length ()">hkl_interval_length</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-double" title="hkl_interval_minus_double ()">hkl_interval_minus_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-double" title="hkl_interval_minus_double ()">hkl_interval_minus_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-interval" title="hkl_interval_minus_interval ()">hkl_interval_minus_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-interval" title="hkl_interval_minus_interval ()">hkl_interval_minus_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-double" title="hkl_interval_plus_double ()">hkl_interval_plus_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-double" title="hkl_interval_plus_double ()">hkl_interval_plus_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-interval" title="hkl_interval_plus_interval ()">hkl_interval_plus_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-interval" title="hkl_interval_plus_interval ()">hkl_interval_plus_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-sin" title="hkl_interval_sin ()">hkl_interval_sin</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-sin" title="hkl_interval_sin ()">hkl_interval_sin</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-tan" title="hkl_interval_tan ()">hkl_interval_tan</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-tan" title="hkl_interval_tan ()">hkl_interval_tan</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-double" title="hkl_interval_times_double ()">hkl_interval_times_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-double" title="hkl_interval_times_double ()">hkl_interval_times_double</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-interval" title="hkl_interval_times_interval ()">hkl_interval_times_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
+<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-interval" title="hkl_interval_times_interval ()">hkl_interval_times_interval</a>, function in <a class="link" href="hkl-hkl-interval-private.html" title="hkl-interval-private">hkl-interval-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isalnum" title="isalnum ()">isalnum</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isalnum" title="isalnum ()">isalnum</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isalpha" title="isalpha ()">isalpha</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isalpha" title="isalpha ()">isalpha</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isascii" title="isascii ()">isascii</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isascii" title="isascii ()">isascii</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isblank" title="isblank ()">isblank</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isblank" title="isblank ()">isblank</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#iscntrl" title="iscntrl ()">iscntrl</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#iscntrl" title="iscntrl ()">iscntrl</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isdigit" title="isdigit ()">isdigit</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isdigit" title="isdigit ()">isdigit</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isgraph" title="isgraph ()">isgraph</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isgraph" title="isgraph ()">isgraph</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#islower" title="islower ()">islower</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#islower" title="islower ()">islower</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isprint" title="isprint ()">isprint</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isprint" title="isprint ()">isprint</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#ispunct" title="ispunct ()">ispunct</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#ispunct" title="ispunct ()">ispunct</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isspace" title="isspace ()">isspace</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isspace" title="isspace ()">isspace</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isupper" title="isupper ()">isupper</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isupper" title="isupper ()">isupper</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#isxdigit" title="isxdigit ()">isxdigit</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#isxdigit" title="isxdigit ()">isxdigit</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
@@ -849,7 +850,7 @@
 <dd></dd>
 <a name="idxK"></a><h3 class="title">K</h3>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap" title="kappa_2_kappap ()">kappa_2_kappap</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">hkl-pseudoaxis-common-eulerians-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap" title="kappa_2_kappap ()">kappa_2_kappap</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">hkl-pseudoaxis-common-eulerians-private</a>
 </dt>
 <dd></dd>
 <a name="idxL"></a><h3 class="title">L</h3>
@@ -866,15 +867,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-fprintf" title="hkl_lattice_fprintf ()">hkl_lattice_fprintf</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
+<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-fprintf" title="hkl_lattice_fprintf ()">hkl_lattice_fprintf</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set" title="hkl_lattice_lattice_set ()">hkl_lattice_lattice_set</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
+<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set" title="hkl_lattice_lattice_set ()">hkl_lattice_lattice_set</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-randomize" title="hkl_lattice_randomize ()">hkl_lattice_randomize</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
+<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-randomize" title="hkl_lattice_randomize ()">hkl_lattice_randomize</a>, function in <a class="link" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">hkl-lattice-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -894,11 +895,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-list.html#list-check" title="list_check ()">list_check</a>, function in <a class="link" href="hkl-list.html" title="list">list</a>
+<a class="link" href="hkl-list.html#list-check" title="list_check ()">list_check</a>, function in <a class="link" href="hkl-list.html" title="list">list</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-list.html#list-check-node" title="list_check_node ()">list_check_node</a>, function in <a class="link" href="hkl-list.html" title="list">list</a>
+<a class="link" href="hkl-list.html#list-check-node" title="list_check_node ()">list_check_node</a>, function in <a class="link" href="hkl-list.html" title="list">list</a>
 </dt>
 <dd></dd>
 <dt>
@@ -962,10 +963,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-list.html#list-head" title="struct list_head">list_head</a>, struct in <a class="link" href="hkl-list.html" title="list">list</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="hkl-list.html#LIST-HEAD-INIT:CAPS" title="LIST_HEAD_INIT()">LIST_HEAD_INIT</a>, macro in <a class="link" href="hkl-list.html" title="list">list</a>
 </dt>
 <dd></dd>
@@ -982,10 +979,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-list.html#list-node" title="struct list_node">list_node</a>, struct in <a class="link" href="hkl-list.html" title="list">list</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="hkl-list.html#list-off-" title="list_off_()">list_off_</a>, macro in <a class="link" href="hkl-list.html" title="list">list</a>
 </dt>
 <dd></dd>
@@ -1031,47 +1024,47 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-det" title="hkl_matrix_det ()">hkl_matrix_det</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-det" title="hkl_matrix_det ()">hkl_matrix_det</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-dup" title="hkl_matrix_dup ()">hkl_matrix_dup</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-dup" title="hkl_matrix_dup ()">hkl_matrix_dup</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-fprintf" title="hkl_matrix_fprintf ()">hkl_matrix_fprintf</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-fprintf" title="hkl_matrix_fprintf ()">hkl_matrix_fprintf</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler" title="hkl_matrix_init_from_euler ()">hkl_matrix_init_from_euler</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler" title="hkl_matrix_init_from_euler ()">hkl_matrix_init_from_euler</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector" title="hkl_matrix_init_from_two_vector ()">hkl_matrix_init_from_two_vector</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector" title="hkl_matrix_init_from_two_vector ()">hkl_matrix_init_from_two_vector</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-is-null" title="hkl_matrix_is_null ()">hkl_matrix_is_null</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-is-null" title="hkl_matrix_is_null ()">hkl_matrix_is_null</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set" title="hkl_matrix_matrix_set ()">hkl_matrix_matrix_set</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set" title="hkl_matrix_matrix_set ()">hkl_matrix_matrix_set</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-solve" title="hkl_matrix_solve ()">hkl_matrix_solve</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-solve" title="hkl_matrix_solve ()">hkl_matrix_solve</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-times-vector" title="hkl_matrix_times_vector ()">hkl_matrix_times_vector</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-times-vector" title="hkl_matrix_times_vector ()">hkl_matrix_times_vector</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-to-euler" title="hkl_matrix_to_euler ()">hkl_matrix_to_euler</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-to-euler" title="hkl_matrix_to_euler ()">hkl_matrix_to_euler</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-transpose" title="hkl_matrix_transpose ()">hkl_matrix_transpose</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
+<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-transpose" title="hkl_matrix_transpose ()">hkl_matrix_transpose</a>, function in <a class="link" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">hkl-matrix-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1111,15 +1104,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init" title="hkl_mode_auto_init ()">hkl_mode_auto_init</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init" title="hkl_mode_auto_init ()">hkl_mode_auto_init</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new" title="hkl_mode_auto_new ()">hkl_mode_auto_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new" title="hkl_mode_auto_new ()">hkl_mode_auto_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real" title="hkl_mode_auto_set_real ()">hkl_mode_auto_set_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real" title="hkl_mode_auto_set_real ()">hkl_mode_auto_set_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1127,11 +1120,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new" title="hkl_mode_auto_with_init_new ()">hkl_mode_auto_with_init_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new" title="hkl_mode_auto_with_init_new ()">hkl_mode_auto_with_init_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">hkl-pseudoaxis-auto-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real" title="hkl_mode_get_hkl_real ()">hkl_mode_get_hkl_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real" title="hkl_mode_get_hkl_real ()">hkl_mode_get_hkl_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1143,7 +1136,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real" title="hkl_mode_initialized_set_psi_constant_vertical_real ()">hkl_mode_initialized_set_psi_constant_vertical_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real" title="hkl_mode_initialized_set_psi_constant_vertical_real ()">hkl_mode_initialized_set_psi_constant_vertical_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1163,11 +1156,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new" title="hkl_mode_psi_new ()">hkl_mode_psi_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">hkl-pseudoaxis-common-psi-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new" title="hkl_mode_psi_new ()">hkl_mode_psi_new</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">hkl-pseudoaxis-common-psi-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real" title="hkl_mode_set_hkl_real ()">hkl_mode_set_hkl_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real" title="hkl_mode_set_hkl_real ()">hkl_mode_set_hkl_real</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
 </dt>
 <dd></dd>
 <a name="idxN"></a><h3 class="title">N</h3>
@@ -1205,23 +1198,23 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-fprintf" title="hkl_parameter_fprintf ()">hkl_parameter_fprintf</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-fprintf" title="hkl_parameter_fprintf ()">hkl_parameter_fprintf</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-init-copy" title="hkl_parameter_init_copy ()">hkl_parameter_init_copy</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-init-copy" title="hkl_parameter_init_copy ()">hkl_parameter_init_copy</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-is-valid" title="hkl_parameter_is_valid ()">hkl_parameter_is_valid</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-is-valid" title="hkl_parameter_is_valid ()">hkl_parameter_is_valid</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-new" title="hkl_parameter_new ()">hkl_parameter_new</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-new" title="hkl_parameter_new ()">hkl_parameter_new</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-axis-private.html#hkl-parameter-new-axis" title="hkl_parameter_new_axis ()">hkl_parameter_new_axis</a>, function in <a class="link" href="hkl-hkl-axis-private.html" title="hkl-axis-private">hkl-axis-private</a>
+<a class="link" href="hkl-hkl-axis-private.html#hkl-parameter-new-axis" title="hkl_parameter_new_axis ()">hkl_parameter_new_axis</a>, function in <a class="link" href="hkl-hkl-axis-private.html" title="hkl-axis-private">hkl-axis-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1233,15 +1226,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest" title="hkl_parameter_value_get_closest ()">hkl_parameter_value_get_closest</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest" title="hkl_parameter_value_get_closest ()">hkl_parameter_value_get_closest</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range" title="hkl_parameter_value_set_smallest_in_range ()">hkl_parameter_value_set_smallest_in_range</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
+<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range" title="hkl_parameter_value_set_smallest_in_range ()">hkl_parameter_value_set_smallest_in_range</a>, function in <a class="link" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">hkl-parameter-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-macros-private.html#hkl-printbt" title="hkl_printbt ()">hkl_printbt</a>, function in <a class="link" href="hkl-hkl-macros-private.html" title="hkl-macros-private">hkl-macros-private</a>
+<a class="link" href="hkl-hkl-macros-private.html#hkl-printbt" title="hkl_printbt ()">hkl_printbt</a>, function in <a class="link" href="hkl-hkl-macros-private.html" title="hkl-macros-private">hkl-macros-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1261,7 +1254,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid" title="ptr_valid ()">ptr_valid</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid" title="ptr_valid ()">ptr_valid</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1269,11 +1262,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch" title="struct ptr_valid_batch">ptr_valid_batch</a>, struct in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch" title="ptr_valid_batch ()">ptr_valid_batch</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-end" title="ptr_valid_batch_end ()">ptr_valid_batch_end</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-end" title="ptr_valid_batch_end ()">ptr_valid_batch_end</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1281,11 +1274,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-start" title="ptr_valid_batch_start ()">ptr_valid_batch_start</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-start" title="ptr_valid_batch_start ()">ptr_valid_batch_start</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-string" title="ptr_valid_batch_string ()">ptr_valid_batch_string</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-string" title="ptr_valid_batch_string ()">ptr_valid_batch_string</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1293,15 +1286,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-map" title="struct ptr_valid_map">ptr_valid_map</a>, struct in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="hkl-ptr-valid.html#ptr-valid-read" title="ptr_valid_read()">ptr_valid_read</a>, macro in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-string" title="ptr_valid_string ()">ptr_valid_string</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
+<a class="link" href="hkl-ptr-valid.html#ptr-valid-string" title="ptr_valid_string ()">ptr_valid_string</a>, function in <a class="link" href="hkl-ptr-valid.html" title="ptr_valid">ptr_valid</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1314,7 +1303,7 @@
 <dd></dd>
 <a name="idxQ"></a><h3 class="title">Q</h3>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#qmax" title="qmax ()">qmax</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#qmax" title="qmax ()">qmax</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">hkl-pseudoaxis-common-q-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1322,55 +1311,55 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp" title="hkl_quaternion_cmp ()">hkl_quaternion_cmp</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp" title="hkl_quaternion_cmp ()">hkl_quaternion_cmp</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate" title="hkl_quaternion_conjugate ()">hkl_quaternion_conjugate</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate" title="hkl_quaternion_conjugate ()">hkl_quaternion_conjugate</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-dup" title="hkl_quaternion_dup ()">hkl_quaternion_dup</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-dup" title="hkl_quaternion_dup ()">hkl_quaternion_dup</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf" title="hkl_quaternion_fprintf ()">hkl_quaternion_fprintf</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf" title="hkl_quaternion_fprintf ()">hkl_quaternion_fprintf</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-free" title="hkl_quaternion_free ()">hkl_quaternion_free</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-free" title="hkl_quaternion_free ()">hkl_quaternion_free</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init" title="hkl_quaternion_init ()">hkl_quaternion_init</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init" title="hkl_quaternion_init ()">hkl_quaternion_init</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe" title="hkl_quaternion_init_from_angle_and_axe ()">hkl_quaternion_init_from_angle_and_axe</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe" title="hkl_quaternion_init_from_angle_and_axe ()">hkl_quaternion_init_from_angle_and_axe</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector" title="hkl_quaternion_init_from_vector ()">hkl_quaternion_init_from_vector</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector" title="hkl_quaternion_init_from_vector ()">hkl_quaternion_init_from_vector</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion" title="hkl_quaternion_minus_quaternion ()">hkl_quaternion_minus_quaternion</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion" title="hkl_quaternion_minus_quaternion ()">hkl_quaternion_minus_quaternion</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2" title="hkl_quaternion_norm2 ()">hkl_quaternion_norm2</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2" title="hkl_quaternion_norm2 ()">hkl_quaternion_norm2</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion" title="hkl_quaternion_times_quaternion ()">hkl_quaternion_times_quaternion</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion" title="hkl_quaternion_times_quaternion ()">hkl_quaternion_times_quaternion</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe" title="hkl_quaternion_to_angle_and_axe ()">hkl_quaternion_to_angle_and_axe</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe" title="hkl_quaternion_to_angle_and_axe ()">hkl_quaternion_to_angle_and_axe</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix" title="hkl_quaternion_to_matrix ()">hkl_quaternion_to_matrix</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
+<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix" title="hkl_quaternion_to_matrix ()">hkl_quaternion_to_matrix</a>, function in <a class="link" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">hkl-quaternion-private</a>
 </dt>
 <dd></dd>
 <a name="idxR"></a><h3 class="title">R</h3>
@@ -1383,7 +1372,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q" title="RUBh_minus_Q ()">RUBh_minus_Q</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
+<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q" title="RUBh_minus_Q ()">RUBh_minus_Q</a>, function in <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">hkl-pseudoaxis-common-hkl-private</a>
 </dt>
 <dd></dd>
 <a name="idxS"></a><h3 class="title">S</h3>
@@ -1408,7 +1397,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-fprintf" title="hkl_sample_fprintf ()">hkl_sample_fprintf</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
+<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-fprintf" title="hkl_sample_fprintf ()">hkl_sample_fprintf</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1420,11 +1409,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-free" title="hkl_sample_reflection_free ()">hkl_sample_reflection_free</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
+<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-free" title="hkl_sample_reflection_free ()">hkl_sample_reflection_free</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy" title="hkl_sample_reflection_new_copy ()">hkl_sample_reflection_new_copy</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
+<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy" title="hkl_sample_reflection_new_copy ()">hkl_sample_reflection_new_copy</a>, function in <a class="link" href="hkl-hkl-sample-private.html" title="hkl-sample-private">hkl-sample-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1436,11 +1425,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-cmp" title="hkl_source_cmp ()">hkl_source_cmp</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-cmp" title="hkl_source_cmp ()">hkl_source_cmp</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-compute-ki" title="hkl_source_compute_ki ()">hkl_source_compute_ki</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-compute-ki" title="hkl_source_compute_ki ()">hkl_source_compute_ki</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1448,23 +1437,23 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-dup" title="hkl_source_dup ()">hkl_source_dup</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-dup" title="hkl_source_dup ()">hkl_source_dup</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-fprintf" title="hkl_source_fprintf ()">hkl_source_fprintf</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-fprintf" title="hkl_source_fprintf ()">hkl_source_fprintf</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-free" title="hkl_source_free ()">hkl_source_free</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-free" title="hkl_source_free ()">hkl_source_free</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-get-wavelength" title="hkl_source_get_wavelength ()">hkl_source_get_wavelength</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-get-wavelength" title="hkl_source_get_wavelength ()">hkl_source_get_wavelength</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-init" title="hkl_source_init ()">hkl_source_init</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
+<a class="link" href="hkl-hkl-source-private.html#hkl-source-init" title="hkl_source_init ()">hkl_source_init</a>, function in <a class="link" href="hkl-hkl-source-private.html" title="hkl-source-private">hkl-source-private</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1472,7 +1461,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str.html#strcount" title="strcount ()">strcount</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
+<a class="link" href="hkl-str.html#strcount" title="strcount ()">strcount</a>, function in <a class="link" href="hkl-str.html" title="str">str</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1504,55 +1493,55 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isalnum" title="str_isalnum ()">str_isalnum</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isalnum" title="str_isalnum ()">str_isalnum</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isalpha" title="str_isalpha ()">str_isalpha</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isalpha" title="str_isalpha ()">str_isalpha</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isascii" title="str_isascii ()">str_isascii</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isascii" title="str_isascii ()">str_isascii</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isblank" title="str_isblank ()">str_isblank</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isblank" title="str_isblank ()">str_isblank</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-iscntrl" title="str_iscntrl ()">str_iscntrl</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-iscntrl" title="str_iscntrl ()">str_iscntrl</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isdigit" title="str_isdigit ()">str_isdigit</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isdigit" title="str_isdigit ()">str_isdigit</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isgraph" title="str_isgraph ()">str_isgraph</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isgraph" title="str_isgraph ()">str_isgraph</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-islower" title="str_islower ()">str_islower</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-islower" title="str_islower ()">str_islower</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isprint" title="str_isprint ()">str_isprint</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isprint" title="str_isprint ()">str_isprint</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-ispunct" title="str_ispunct ()">str_ispunct</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-ispunct" title="str_ispunct ()">str_ispunct</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isspace" title="str_isspace ()">str_isspace</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isspace" title="str_isspace ()">str_isspace</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isupper" title="str_isupper ()">str_isupper</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isupper" title="str_isupper ()">str_isupper</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-isxdigit" title="str_isxdigit ()">str_isxdigit</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-isxdigit" title="str_isxdigit ()">str_isxdigit</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1564,15 +1553,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-strchr" title="str_strchr ()">str_strchr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-strchr" title="str_strchr ()">str_strchr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-strrchr" title="str_strrchr ()">str_strrchr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-strrchr" title="str_strrchr ()">str_strrchr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-str-debug.html#str-strstr" title="str_strstr ()">str_strstr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
+<a class="link" href="hkl-str-debug.html#str-strstr" title="str_strstr ()">str_strstr</a>, function in <a class="link" href="hkl-str-debug.html" title="str_debug">str_debug</a>
 </dt>
 <dd></dd>
 <a name="idxT"></a><h3 class="title">T</h3>
@@ -1670,23 +1659,23 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-compatible" title="hkl_unit_compatible ()">hkl_unit_compatible</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
+<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-compatible" title="hkl_unit_compatible ()">hkl_unit_compatible</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-dup" title="hkl_unit_dup ()">hkl_unit_dup</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
+<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-dup" title="hkl_unit_dup ()">hkl_unit_dup</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-factor" title="hkl_unit_factor ()">hkl_unit_factor</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
+<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-factor" title="hkl_unit_factor ()">hkl_unit_factor</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-free" title="hkl_unit_free ()">hkl_unit_free</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
+<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-free" title="hkl_unit_free ()">hkl_unit_free</a>, function in <a class="link" href="hkl-hkl-unit-private.html" title="hkl-unit-private">hkl-unit-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-noerr.html#unlink-noerr" title="unlink_noerr ()">unlink_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
+<a class="link" href="hkl-noerr.html#unlink-noerr" title="unlink_noerr ()">unlink_noerr</a>, function in <a class="link" href="hkl-noerr.html" title="noerr">noerr</a>
 </dt>
 <dd></dd>
 <dt>
@@ -1703,137 +1692,137 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-add-vector" title="hkl_vector_add_vector ()">hkl_vector_add_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-add-vector" title="hkl_vector_add_vector ()">hkl_vector_add_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-angle" title="hkl_vector_angle ()">hkl_vector_angle</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-angle" title="hkl_vector_angle ()">hkl_vector_angle</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-cmp" title="hkl_vector_cmp ()">hkl_vector_cmp</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-cmp" title="hkl_vector_cmp ()">hkl_vector_cmp</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-div-double" title="hkl_vector_div_double ()">hkl_vector_div_double</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-div-double" title="hkl_vector_div_double ()">hkl_vector_div_double</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-dup" title="hkl_vector_dup ()">hkl_vector_dup</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-dup" title="hkl_vector_dup ()">hkl_vector_dup</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-fprintf" title="hkl_vector_fprintf ()">hkl_vector_fprintf</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-fprintf" title="hkl_vector_fprintf ()">hkl_vector_fprintf</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-free" title="hkl_vector_free ()">hkl_vector_free</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-free" title="hkl_vector_free ()">hkl_vector_free</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-init" title="hkl_vector_init ()">hkl_vector_init</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-init" title="hkl_vector_init ()">hkl_vector_init</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-colinear" title="hkl_vector_is_colinear ()">hkl_vector_is_colinear</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-colinear" title="hkl_vector_is_colinear ()">hkl_vector_is_colinear</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-null" title="hkl_vector_is_null ()">hkl_vector_is_null</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-null" title="hkl_vector_is_null ()">hkl_vector_is_null</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-opposite" title="hkl_vector_is_opposite ()">hkl_vector_is_opposite</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-opposite" title="hkl_vector_is_opposite ()">hkl_vector_is_opposite</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-minus-vector" title="hkl_vector_minus_vector ()">hkl_vector_minus_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-minus-vector" title="hkl_vector_minus_vector ()">hkl_vector_minus_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-norm2" title="hkl_vector_norm2 ()">hkl_vector_norm2</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-norm2" title="hkl_vector_norm2 ()">hkl_vector_norm2</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-normalize" title="hkl_vector_normalize ()">hkl_vector_normalize</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-normalize" title="hkl_vector_normalize ()">hkl_vector_normalize</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle" title="hkl_vector_oriented_angle ()">hkl_vector_oriented_angle</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle" title="hkl_vector_oriented_angle ()">hkl_vector_oriented_angle</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points" title="hkl_vector_oriented_angle_points ()">hkl_vector_oriented_angle_points</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points" title="hkl_vector_oriented_angle_points ()">hkl_vector_oriented_angle_points</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan" title="hkl_vector_project_on_plan ()">hkl_vector_project_on_plan</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan" title="hkl_vector_project_on_plan ()">hkl_vector_project_on_plan</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point" title="hkl_vector_project_on_plan_with_point ()">hkl_vector_project_on_plan_with_point</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point" title="hkl_vector_project_on_plan_with_point ()">hkl_vector_project_on_plan_with_point</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize" title="hkl_vector_randomize ()">hkl_vector_randomize</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize" title="hkl_vector_randomize ()">hkl_vector_randomize</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector" title="hkl_vector_randomize_vector ()">hkl_vector_randomize_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector" title="hkl_vector_randomize_vector ()">hkl_vector_randomize_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector" title="hkl_vector_randomize_vector_vector ()">hkl_vector_randomize_vector_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector" title="hkl_vector_randomize_vector_vector ()">hkl_vector_randomize_vector_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line" title="hkl_vector_rotated_around_line ()">hkl_vector_rotated_around_line</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line" title="hkl_vector_rotated_around_line ()">hkl_vector_rotated_around_line</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector" title="hkl_vector_rotated_around_vector ()">hkl_vector_rotated_around_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector" title="hkl_vector_rotated_around_vector ()">hkl_vector_rotated_around_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion" title="hkl_vector_rotated_quaternion ()">hkl_vector_rotated_quaternion</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion" title="hkl_vector_rotated_quaternion ()">hkl_vector_rotated_quaternion</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-scalar-product" title="hkl_vector_scalar_product ()">hkl_vector_scalar_product</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-scalar-product" title="hkl_vector_scalar_product ()">hkl_vector_scalar_product</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-sum" title="hkl_vector_sum ()">hkl_vector_sum</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-sum" title="hkl_vector_sum ()">hkl_vector_sum</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-double" title="hkl_vector_times_double ()">hkl_vector_times_double</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-double" title="hkl_vector_times_double ()">hkl_vector_times_double</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-matrix" title="hkl_vector_times_matrix ()">hkl_vector_times_matrix</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-matrix" title="hkl_vector_times_matrix ()">hkl_vector_times_matrix</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-vector" title="hkl_vector_times_vector ()">hkl_vector_times_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-vector" title="hkl_vector_times_vector ()">hkl_vector_times_vector</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-vectorial-product" title="hkl_vector_vectorial_product ()">hkl_vector_vectorial_product</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
+<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-vectorial-product" title="hkl_vector_vectorial_product ()">hkl_vector_vectorial_product</a>, function in <a class="link" href="hkl-hkl-vector-private.html" title="hkl-vector-private">hkl-vector-private</a>
 </dt>
 <dd></dd>
 <a name="idxW"></a><h3 class="title">W</h3>
 <dt>
-<a class="link" href="hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS" title="HKL_WARN_UNUSED_RESULT">HKL_WARN_UNUSED_RESULT</a>, macro in <a class="link" href="hkl-hkl.html" title="hkl">hkl</a>
+<a class="link" href="hkl-compiler.html#WARN-UNUSED-RESULT:CAPS" title="WARN_UNUSED_RESULT">WARN_UNUSED_RESULT</a>, macro in <a class="link" href="hkl-compiler.html" title="compiler">compiler</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="hkl-compiler.html#WARN-UNUSED-RESULT:CAPS" title="WARN_UNUSED_RESULT">WARN_UNUSED_RESULT</a>, macro in <a class="link" href="hkl-compiler.html" title="compiler">compiler</a>
+<a class="link" href="hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS" title="HKL_WARN_UNUSED_RESULT">HKL_WARN_UNUSED_RESULT</a>, macro in <a class="link" href="hkl-hkl.html" title="hkl">hkl</a>
 </dt>
 <dd></dd>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/ch01.html b/Documentation/api/html/ch01.html
index 36f1f93..2009da9 100644
--- a/Documentation/api/html/ch01.html
+++ b/Documentation/api/html/ch01.html
@@ -2,27 +2,27 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: [Insert title here]</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>[Insert title here]</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="index.html" title="hkl Reference Manual">
 <link rel="prev" href="index.html" title="hkl Reference Manual">
 <link rel="next" href="hkl-array-size.html" title="array_size">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-array-size.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-array-size.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="id-1.2"></a>[Insert title here]</h1></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="idp2091656"></a>[Insert title here]</h2></div></div></div>
+<div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="hkl-array-size.html">array_size</a></span><span class="refpurpose"></span>
 </dt>
@@ -132,6 +132,6 @@
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/deprecated-api-index.html b/Documentation/api/html/deprecated-api-index.html
index 55ef44f..80fb927 100644
--- a/Documentation/api/html/deprecated-api-index.html
+++ b/Documentation/api/html/deprecated-api-index.html
@@ -2,30 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: Index of deprecated API</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of deprecated API</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="index.html" title="hkl Reference Manual">
 <link rel="prev" href="api-index-full.html" title="API Index">
 <link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">hkl Reference Manual</th>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="index">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="deprecated-api-index"></a>Index of deprecated API</h1></div></div></div>
+<div class="titlepage"><div><div><h2 class="title">
+<a name="deprecated-api-index"></a>Index of deprecated API</h2></div></div></div>
 <a name="idx"></a>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-array-size.html b/Documentation/api/html/hkl-array-size.html
index da6e6c9..25ce3a3 100644
--- a/Documentation/api/html/hkl-array-size.html
+++ b/Documentation/api/html/hkl-array-size.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: array_size</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>array_size</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="ch01.html" title="[Insert title here]">
 <link rel="next" href="hkl-autodata.html" title="autodata">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-array-size.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-autodata.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-autodata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-array-size.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-array-size.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-array-size"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,40 +33,27 @@
 <h2><span class="refentrytitle"><a name="hkl-array-size.top_of_page"></a>array_size</span></h2>
 <p>array_size</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-array-size.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody><tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-array-size.html#ARRAY-SIZE:CAPS" title="ARRAY_SIZE()">ARRAY_SIZE</a><span class="c_punctuation">()</span>
-</td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-array-size.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-array-size.html#ARRAY-SIZE:CAPS" title="ARRAY_SIZE()">ARRAY_SIZE</a>                          (arr)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-array-size.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-array-size.functions_details"></a><h2>Functions</h2>
+<a name="hkl-array-size.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="ARRAY-SIZE:CAPS"></a><h3>ARRAY_SIZE()</h3>
 <pre class="programlisting">#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + _array_size_chk(arr))
 </pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-array-size.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-autodata.html b/Documentation/api/html/hkl-autodata.html
index 174ed0f..cb059c5 100644
--- a/Documentation/api/html/hkl-autodata.html
+++ b/Documentation/api/html/hkl-autodata.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: autodata</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>autodata</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-array-size.html" title="array_size">
 <link rel="next" href="hkl-build-assert.html" title="build_assert">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-autodata.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-array-size.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-build-assert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-array-size.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-build-assert.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-autodata.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-autodata.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-autodata"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,101 +33,55 @@
 <h2><span class="refentrytitle"><a name="hkl-autodata.top_of_page"></a>autodata</span></h2>
 <p>autodata</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-autodata.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#AUTODATA-TYPE:CAPS" title="AUTODATA_TYPE()">AUTODATA_TYPE</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#AUTODATA:CAPS" title="AUTODATA()">AUTODATA</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#autodata-get" title="autodata_get()">autodata_get</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#autodata-free" title="autodata_free ()">autodata_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#AUTODATA-VAR--:CAPS" title="AUTODATA_VAR__()">AUTODATA_VAR__</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#AUTODATA-VAR-:CAPS" title="AUTODATA_VAR_()">AUTODATA_VAR_</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#autodata-get-section" title="autodata_get_section ()">autodata_get_section</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-autodata.html#AUTODATA-MAGIC:CAPS" title="AUTODATA_MAGIC">AUTODATA_MAGIC</a></td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-autodata.html#autodata-make-table" title="autodata_make_table ()">autodata_make_table</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-autodata.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-autodata.html#AUTODATA:CAPS" title="AUTODATA()">AUTODATA</a>                            (name,
+                                                         ptr)
+#define             <a class="link" href="hkl-autodata.html#AUTODATA-MAGIC:CAPS" title="AUTODATA_MAGIC">AUTODATA_MAGIC</a>
+#define             <a class="link" href="hkl-autodata.html#AUTODATA-TYPE:CAPS" title="AUTODATA_TYPE()">AUTODATA_TYPE</a>                       (name,
+                                                         type)
+#define             <a class="link" href="hkl-autodata.html#AUTODATA-VAR-:CAPS" title="AUTODATA_VAR_()">AUTODATA_VAR_</a>                       (name,
+                                                         line)
+#define             <a class="link" href="hkl-autodata.html#AUTODATA-VAR--:CAPS" title="AUTODATA_VAR__()">AUTODATA_VAR__</a>                      (name,
+                                                         line)
+<span class="returnvalue">void</span>                <a class="link" href="hkl-autodata.html#autodata-free" title="autodata_free ()">autodata_free</a>                       (<em class="parameter"><code><span class="type">void</span> *p</code></em>);
+#define             <a class="link" href="hkl-autodata.html#autodata-get" title="autodata_get()">autodata_get</a>                        (name,
+                                                         nump)
+<span class="returnvalue">void</span> *              <a class="link" href="hkl-autodata.html#autodata-get-section" title="autodata_get_section ()">autodata_get_section</a>                (<em class="parameter"><code><span class="type">void</span> *start</code></em>,
+                                                         <em class="parameter"><code><span class="type">void</span> *stop</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);
+<span class="returnvalue">void</span> *              <a class="link" href="hkl-autodata.html#autodata-make-table" title="autodata_make_table ()">autodata_make_table</a>                 (<em class="parameter"><code>const <span class="type">void</span> *example</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-autodata.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-autodata.functions_details"></a><h2>Functions</h2>
+<a name="hkl-autodata.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="AUTODATA-TYPE:CAPS"></a><h3>AUTODATA_TYPE()</h3>
-<pre class="programlisting">#define             AUTODATA_TYPE(name, type)</pre>
+<a name="AUTODATA:CAPS"></a><h3>AUTODATA()</h3>
+<pre class="programlisting">#define             AUTODATA(name, ptr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="AUTODATA:CAPS"></a><h3>AUTODATA()</h3>
-<pre class="programlisting">#define             AUTODATA(name, ptr)</pre>
+<a name="AUTODATA-MAGIC:CAPS"></a><h3>AUTODATA_MAGIC</h3>
+<pre class="programlisting">#define AUTODATA_MAGIC ((long)0xFEEDA10DA7AF00D5ULL)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="autodata-get"></a><h3>autodata_get()</h3>
-<pre class="programlisting">#define             autodata_get(name, nump)</pre>
+<a name="AUTODATA-TYPE:CAPS"></a><h3>AUTODATA_TYPE()</h3>
+<pre class="programlisting">#define             AUTODATA_TYPE(name, type)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="autodata-free"></a><h3>autodata_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-autodata_free (<em class="parameter"><code><span class="type">void</span> *p</code></em>);</pre>
+<a name="AUTODATA-VAR-:CAPS"></a><h3>AUTODATA_VAR_()</h3>
+<pre class="programlisting">#define AUTODATA_VAR_(name, line) AUTODATA_VAR__(name, line)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -133,39 +91,32 @@ autodata_free (<em class="parameter"><code><span class="type">void</span> *p</co
 </div>
 <hr>
 <div class="refsect2">
-<a name="AUTODATA-VAR-:CAPS"></a><h3>AUTODATA_VAR_()</h3>
-<pre class="programlisting">#define AUTODATA_VAR_(name, line) AUTODATA_VAR__(name, line)
-</pre>
+<a name="autodata-free"></a><h3>autodata_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                autodata_free                       (<em class="parameter"><code><span class="type">void</span> *p</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="autodata-get-section"></a><h3>autodata_get_section ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> *
-autodata_get_section (<em class="parameter"><code><span class="type">void</span> *start</code></em>,
-                      <em class="parameter"><code><span class="type">void</span> *stop</code></em>,
-                      <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);</pre>
+<a name="autodata-get"></a><h3>autodata_get()</h3>
+<pre class="programlisting">#define             autodata_get(name, nump)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="AUTODATA-MAGIC:CAPS"></a><h3>AUTODATA_MAGIC</h3>
-<pre class="programlisting">#define AUTODATA_MAGIC ((long)0xFEEDA10DA7AF00D5ULL)
-</pre>
+<a name="autodata-get-section"></a><h3>autodata_get_section ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> *              autodata_get_section                (<em class="parameter"><code><span class="type">void</span> *start</code></em>,
+                                                         <em class="parameter"><code><span class="type">void</span> *stop</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="autodata-make-table"></a><h3>autodata_make_table ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> *
-autodata_make_table (<em class="parameter"><code>const <span class="type">void</span> *example</code></em>,
-                     <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
-                     <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);</pre>
-</div>
+<a name="autodata-make-table"></a><h3>autodata_make_table ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> *              autodata_make_table                 (<em class="parameter"><code>const <span class="type">void</span> *example</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> *nump</code></em>);</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-autodata.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-build-assert.html b/Documentation/api/html/hkl-build-assert.html
index d3015c8..1ba850f 100644
--- a/Documentation/api/html/hkl-build-assert.html
+++ b/Documentation/api/html/hkl-build-assert.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: build_assert</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>build_assert</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-autodata.html" title="autodata">
 <link rel="next" href="hkl-check-type.html" title="check_type">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-build-assert.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-autodata.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-check-type.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-autodata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-check-type.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-build-assert.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-build-assert.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-build-assert"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,36 +33,19 @@
 <h2><span class="refentrytitle"><a name="hkl-build-assert.top_of_page"></a>build_assert</span></h2>
 <p>build_assert</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-build-assert.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-build-assert.html#BUILD-ASSERT:CAPS" title="BUILD_ASSERT()">BUILD_ASSERT</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-build-assert.html#BUILD-ASSERT-OR-ZERO:CAPS" title="BUILD_ASSERT_OR_ZERO()">BUILD_ASSERT_OR_ZERO</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-build-assert.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-build-assert.html#BUILD-ASSERT:CAPS" title="BUILD_ASSERT()">BUILD_ASSERT</a>                        (cond)
+#define             <a class="link" href="hkl-build-assert.html#BUILD-ASSERT-OR-ZERO:CAPS" title="BUILD_ASSERT_OR_ZERO()">BUILD_ASSERT_OR_ZERO</a>                (cond)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-build-assert.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-build-assert.functions_details"></a><h2>Functions</h2>
+<a name="hkl-build-assert.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="BUILD-ASSERT:CAPS"></a><h3>BUILD_ASSERT()</h3>
 <pre class="programlisting">#define             BUILD_ASSERT(cond)</pre>
@@ -69,12 +56,9 @@
 <pre class="programlisting">#define             BUILD_ASSERT_OR_ZERO(cond)</pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-build-assert.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-check-type.html b/Documentation/api/html/hkl-check-type.html
index 8d1cd8b..73dc962 100644
--- a/Documentation/api/html/hkl-check-type.html
+++ b/Documentation/api/html/hkl-check-type.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: check_type</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>check_type</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-build-assert.html" title="build_assert">
 <link rel="next" href="hkl-compiler.html" title="compiler">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-check-type.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-build-assert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-compiler.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-build-assert.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-compiler.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-check-type.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-check-type.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-check-type"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,36 +33,21 @@
 <h2><span class="refentrytitle"><a name="hkl-check-type.top_of_page"></a>check_type</span></h2>
 <p>check_type</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-check-type.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-check-type.html#check-type" title="check_type()">check_type</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-check-type.html#check-types-match" title="check_types_match()">check_types_match</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-check-type.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-check-type.html#check-type" title="check_type()">check_type</a>                          (expr,
+                                                         type)
+#define             <a class="link" href="hkl-check-type.html#check-types-match" title="check_types_match()">check_types_match</a>                   (expr1,
+                                                         expr2)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-check-type.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-check-type.functions_details"></a><h2>Functions</h2>
+<a name="hkl-check-type.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="check-type"></a><h3>check_type()</h3>
 <pre class="programlisting">#define             check_type(expr, type)</pre>
@@ -69,12 +58,9 @@
 <pre class="programlisting">#define             check_types_match(expr1, expr2)</pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-check-type.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-compiler.html b/Documentation/api/html/hkl-compiler.html
index 4545081..b865750 100644
--- a/Documentation/api/html/hkl-compiler.html
+++ b/Documentation/api/html/hkl-compiler.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: compiler</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>compiler</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-check-type.html" title="check_type">
 <link rel="next" href="hkl-container-of.html" title="container_of">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-compiler.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-check-type.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-container-of.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-check-type.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-container-of.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-compiler.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-compiler.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-compiler"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,82 +33,38 @@
 <h2><span class="refentrytitle"><a name="hkl-compiler.top_of_page"></a>compiler</span></h2>
 <p>compiler</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-compiler.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-compiler.html#PRINTF-FMT:CAPS" title="PRINTF_FMT()">PRINTF_FMT</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS" title="IS_COMPILE_CONSTANT()">IS_COMPILE_CONSTANT</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-compiler.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#COLD:CAPS" title="COLD">COLD</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#NORETURN:CAPS" title="NORETURN">NORETURN</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#CONST-FUNCTION:CAPS" title="CONST_FUNCTION">CONST_FUNCTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#PURE-FUNCTION:CAPS" title="PURE_FUNCTION">PURE_FUNCTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#UNNEEDED:CAPS" title="UNNEEDED">UNNEEDED</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#NEEDED:CAPS" title="NEEDED">NEEDED</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#UNUSED:CAPS" title="UNUSED">UNUSED</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#WARN-UNUSED-RESULT:CAPS" title="WARN_UNUSED_RESULT">WARN_UNUSED_RESULT</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-compiler.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-compiler.html#COLD:CAPS" title="COLD">COLD</a>
+#define             <a class="link" href="hkl-compiler.html#CONST-FUNCTION:CAPS" title="CONST_FUNCTION">CONST_FUNCTION</a>
+#define             <a class="link" href="hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS" title="IS_COMPILE_CONSTANT()">IS_COMPILE_CONSTANT</a>                 (expr)
+#define             <a class="link" href="hkl-compiler.html#NEEDED:CAPS" title="NEEDED">NEEDED</a>
+#define             <a class="link" href="hkl-compiler.html#NORETURN:CAPS" title="NORETURN">NORETURN</a>
+#define             <a class="link" href="hkl-compiler.html#PRINTF-FMT:CAPS" title="PRINTF_FMT()">PRINTF_FMT</a>                          (nfmt,
+                                                         narg)
+#define             <a class="link" href="hkl-compiler.html#PURE-FUNCTION:CAPS" title="PURE_FUNCTION">PURE_FUNCTION</a>
+#define             <a class="link" href="hkl-compiler.html#UNNEEDED:CAPS" title="UNNEEDED">UNNEEDED</a>
+#define             <a class="link" href="hkl-compiler.html#UNUSED:CAPS" title="UNUSED">UNUSED</a>
+#define             <a class="link" href="hkl-compiler.html#WARN-UNUSED-RESULT:CAPS" title="WARN_UNUSED_RESULT">WARN_UNUSED_RESULT</a>
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-compiler.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-compiler.functions_details"></a><h2>Functions</h2>
+<a name="hkl-compiler.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="PRINTF-FMT:CAPS"></a><h3>PRINTF_FMT()</h3>
-<pre class="programlisting">#define             PRINTF_FMT(nfmt, narg)</pre>
+<a name="COLD:CAPS"></a><h3>COLD</h3>
+<pre class="programlisting">#define COLD __attribute__((__cold__))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="CONST-FUNCTION:CAPS"></a><h3>CONST_FUNCTION</h3>
+<pre class="programlisting">#define CONST_FUNCTION __attribute__((__const__))
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -112,12 +72,10 @@
 <pre class="programlisting">#define IS_COMPILE_CONSTANT(expr) __builtin_constant_p(expr)
 </pre>
 </div>
-</div>
-<div class="refsect1">
-<a name="hkl-compiler.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="COLD:CAPS"></a><h3>COLD</h3>
-<pre class="programlisting">#define COLD __attribute__((__cold__))
+<a name="NEEDED:CAPS"></a><h3>NEEDED</h3>
+<pre class="programlisting">#define NEEDED __attribute__((__used__))
 </pre>
 </div>
 <hr>
@@ -127,9 +85,8 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="CONST-FUNCTION:CAPS"></a><h3>CONST_FUNCTION</h3>
-<pre class="programlisting">#define CONST_FUNCTION __attribute__((__const__))
-</pre>
+<a name="PRINTF-FMT:CAPS"></a><h3>PRINTF_FMT()</h3>
+<pre class="programlisting">#define             PRINTF_FMT(nfmt, narg)</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -145,12 +102,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="NEEDED:CAPS"></a><h3>NEEDED</h3>
-<pre class="programlisting">#define NEEDED __attribute__((__used__))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="UNUSED:CAPS"></a><h3>UNUSED</h3>
 <pre class="programlisting">#define UNUSED __attribute__((__unused__))
 </pre>
@@ -165,6 +116,6 @@
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-container-of.html b/Documentation/api/html/hkl-container-of.html
index 513c4af..a60d9f6 100644
--- a/Documentation/api/html/hkl-container-of.html
+++ b/Documentation/api/html/hkl-container-of.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: container_of</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>container_of</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-compiler.html" title="compiler">
 <link rel="next" href="hkl-darray.html" title="darray">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-container-of.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-compiler.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-darray.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-compiler.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-darray.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-container-of.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-container-of.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-container-of"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,61 +33,40 @@
 <h2><span class="refentrytitle"><a name="hkl-container-of.top_of_page"></a>container_of</span></h2>
 <p>container_of</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-container-of.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-container-of.html#container-of" title="container_of()">container_of</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-container-of.html#container-off" title="container_off()">container_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-container-of.html#container-of-var" title="container_of_var()">container_of_var</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-container-of.html#container-off-var" title="container_off_var()">container_off_var</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-container-of.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-container-of.html#container-of" title="container_of()">container_of</a>                        (member_ptr,
+                                                         containing_type,
+                                                         member)
+#define             <a class="link" href="hkl-container-of.html#container-of-var" title="container_of_var()">container_of_var</a>                    (member_ptr,
+                                                         container_var,
+                                                         member)
+#define             <a class="link" href="hkl-container-of.html#container-off" title="container_off()">container_off</a>                       (containing_type,
+                                                         member)
+#define             <a class="link" href="hkl-container-of.html#container-off-var" title="container_off_var()">container_off_var</a>                   (var,
+                                                         member)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-container-of.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-container-of.functions_details"></a><h2>Functions</h2>
+<a name="hkl-container-of.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="container-of"></a><h3>container_of()</h3>
 <pre class="programlisting">#define             container_of(member_ptr, containing_type, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="container-off"></a><h3>container_off()</h3>
-<pre class="programlisting">#define             container_off(containing_type, member)</pre>
+<a name="container-of-var"></a><h3>container_of_var()</h3>
+<pre class="programlisting">#define             container_of_var(member_ptr, container_var, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="container-of-var"></a><h3>container_of_var()</h3>
-<pre class="programlisting">#define             container_of_var(member_ptr, container_var, member)</pre>
+<a name="container-off"></a><h3>container_off()</h3>
+<pre class="programlisting">#define             container_off(containing_type, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -91,12 +74,9 @@
 <pre class="programlisting">#define             container_off_var(var, member)</pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-container-of.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-darray.html b/Documentation/api/html/hkl-darray.html
index c6a05d9..67a8597 100644
--- a/Documentation/api/html/hkl-darray.html
+++ b/Documentation/api/html/hkl-darray.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: darray</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>darray</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-container-of.html" title="container_of">
 <link rel="next" href="hkl-hkl.html" title="hkl">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-darray.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-container-of.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-container-of.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-darray.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-darray.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-darray"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,285 +33,96 @@
 <h2><span class="refentrytitle"><a name="hkl-darray.top_of_page"></a>darray</span></h2>
 <p>darray</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-darray.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray" title="darray()">darray</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-new" title="darray_new">darray_new</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-init" title="darray_init()">darray_init</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-free" title="darray_free()">darray_free</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-item" title="darray_item()">darray_item</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-size" title="darray_size()">darray_size</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-alloc" title="darray_alloc()">darray_alloc</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-empty" title="darray_empty()">darray_empty</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-append" title="darray_append()">darray_append</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepend" title="darray_prepend()">darray_prepend</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-push" title="darray_push()">darray_push</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-append-items" title="darray_append_items()">darray_append_items</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepend-items" title="darray_prepend_items()">darray_prepend_items</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-append-items-nullterminate" title="darray_append_items_nullterminate()">darray_append_items_nullterminate</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepend-items-nullterminate" title="darray_prepend_items_nullterminate()">darray_prepend_items_nullterminate</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-appends" title="darray_appends()">darray_appends</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepends" title="darray_prepends()">darray_prepends</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-appends-t" title="darray_appends_t()">darray_appends_t</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepends-t" title="darray_prepends_t()">darray_prepends_t</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-pop" title="darray_pop()">darray_pop</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-pop-check" title="darray_pop_check()">darray_pop_check</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-from-items" title="darray_from_items()">darray_from_items</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-from-c" title="darray_from_c()">darray_from_c</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-append-string" title="darray_append_string()">darray_append_string</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-append-lit" title="darray_append_lit()">darray_append_lit</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepend-string" title="darray_prepend_string()">darray_prepend_string</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-prepend-lit" title="darray_prepend_lit()">darray_prepend_lit</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-from-string" title="darray_from_string()">darray_from_string</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-from-lit" title="darray_from_lit()">darray_from_lit</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-resize" title="darray_resize()">darray_resize</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-resize0" title="darray_resize0()">darray_resize0</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-realloc" title="darray_realloc()">darray_realloc</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-growalloc" title="darray_growalloc()">darray_growalloc</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-make-room" title="darray_make_room()">darray_make_room</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-foreach" title="darray_foreach()">darray_foreach</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-darray.html#darray-foreach-reverse" title="darray_foreach_reverse()">darray_foreach_reverse</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-darray.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-char" title="darray_char">darray_char</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-schar" title="darray_schar">darray_schar</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-uchar" title="darray_uchar">darray_uchar</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-short" title="darray_short">darray_short</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-int" title="darray_int">darray_int</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-long" title="darray_long">darray_long</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-ushort" title="darray_ushort">darray_ushort</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-uint" title="darray_uint">darray_uint</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-darray.html#darray-ulong" title="darray_ulong">darray_ulong</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-darray.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-darray.html#darray" title="darray()">darray</a>                              (type)
+#define             <a class="link" href="hkl-darray.html#darray-alloc" title="darray_alloc()">darray_alloc</a>                        (arr)
+#define             <a class="link" href="hkl-darray.html#darray-append" title="darray_append()">darray_append</a>                       (arr,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-append-items" title="darray_append_items()">darray_append_items</a>                 (arr,
+                                                         items,
+                                                         count)
+#define             <a class="link" href="hkl-darray.html#darray-append-items-nullterminate" title="darray_append_items_nullterminate()">darray_append_items_nullterminate</a>   (arr,
+                                                         items,
+                                                         count)
+#define             <a class="link" href="hkl-darray.html#darray-append-lit" title="darray_append_lit()">darray_append_lit</a>                   (arr,
+                                                         stringLiteral)
+#define             <a class="link" href="hkl-darray.html#darray-append-string" title="darray_append_string()">darray_append_string</a>                (arr,
+                                                         str)
+#define             <a class="link" href="hkl-darray.html#darray-appends" title="darray_appends()">darray_appends</a>                      (arr,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-appends-t" title="darray_appends_t()">darray_appends_t</a>                    (arr,
+                                                         type,
+                                                         ...)
+typedef             <a class="link" href="hkl-darray.html#darray-char" title="darray_char">darray_char</a>;
+#define             <a class="link" href="hkl-darray.html#darray-empty" title="darray_empty()">darray_empty</a>                        (arr)
+#define             <a class="link" href="hkl-darray.html#darray-foreach" title="darray_foreach()">darray_foreach</a>                      (i,
+                                                         arr)
+#define             <a class="link" href="hkl-darray.html#darray-foreach-reverse" title="darray_foreach_reverse()">darray_foreach_reverse</a>              (i,
+                                                         arr)
+#define             <a class="link" href="hkl-darray.html#darray-free" title="darray_free()">darray_free</a>                         (arr)
+#define             <a class="link" href="hkl-darray.html#darray-from-c" title="darray_from_c()">darray_from_c</a>                       (arr,
+                                                         c_array)
+#define             <a class="link" href="hkl-darray.html#darray-from-items" title="darray_from_items()">darray_from_items</a>                   (arr,
+                                                         items,
+                                                         count)
+#define             <a class="link" href="hkl-darray.html#darray-from-lit" title="darray_from_lit()">darray_from_lit</a>                     (arr,
+                                                         stringLiteral)
+#define             <a class="link" href="hkl-darray.html#darray-from-string" title="darray_from_string()">darray_from_string</a>                  (arr,
+                                                         str)
+#define             <a class="link" href="hkl-darray.html#darray-growalloc" title="darray_growalloc()">darray_growalloc</a>                    (arr,
+                                                         need)
+#define             <a class="link" href="hkl-darray.html#darray-init" title="darray_init()">darray_init</a>                         (arr)
+typedef             <a class="link" href="hkl-darray.html#darray-int" title="darray_int">darray_int</a>;
+#define             <a class="link" href="hkl-darray.html#darray-item" title="darray_item()">darray_item</a>                         (arr,
+                                                         i)
+typedef             <a class="link" href="hkl-darray.html#darray-long" title="darray_long">darray_long</a>;
+#define             <a class="link" href="hkl-darray.html#darray-make-room" title="darray_make_room()">darray_make_room</a>                    (arr,
+                                                         room)
+#define             <a class="link" href="hkl-darray.html#darray-new" title="darray_new">darray_new</a>
+#define             <a class="link" href="hkl-darray.html#darray-pop" title="darray_pop()">darray_pop</a>                          (arr)
+#define             <a class="link" href="hkl-darray.html#darray-pop-check" title="darray_pop_check()">darray_pop_check</a>                    (arr)
+#define             <a class="link" href="hkl-darray.html#darray-prepend" title="darray_prepend()">darray_prepend</a>                      (arr,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-prepend-items" title="darray_prepend_items()">darray_prepend_items</a>                (arr,
+                                                         items,
+                                                         count)
+#define             <a class="link" href="hkl-darray.html#darray-prepend-items-nullterminate" title="darray_prepend_items_nullterminate()">darray_prepend_items_nullterminate</a>  (arr,
+                                                         items,
+                                                         count)
+#define             <a class="link" href="hkl-darray.html#darray-prepend-lit" title="darray_prepend_lit()">darray_prepend_lit</a>                  (arr,
+                                                         stringLiteral)
+#define             <a class="link" href="hkl-darray.html#darray-prepend-string" title="darray_prepend_string()">darray_prepend_string</a>               (arr,
+                                                         str)
+#define             <a class="link" href="hkl-darray.html#darray-prepends" title="darray_prepends()">darray_prepends</a>                     (arr,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-prepends-t" title="darray_prepends_t()">darray_prepends_t</a>                   (arr,
+                                                         type,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-push" title="darray_push()">darray_push</a>                         (arr,
+                                                         ...)
+#define             <a class="link" href="hkl-darray.html#darray-realloc" title="darray_realloc()">darray_realloc</a>                      (arr,
+                                                         newAlloc)
+#define             <a class="link" href="hkl-darray.html#darray-resize" title="darray_resize()">darray_resize</a>                       (arr,
+                                                         newSize)
+#define             <a class="link" href="hkl-darray.html#darray-resize0" title="darray_resize0()">darray_resize0</a>                      (arr,
+                                                         newSize)
+typedef             <a class="link" href="hkl-darray.html#darray-schar" title="darray_schar">darray_schar</a>;
+typedef             <a class="link" href="hkl-darray.html#darray-short" title="darray_short">darray_short</a>;
+#define             <a class="link" href="hkl-darray.html#darray-size" title="darray_size()">darray_size</a>                         (arr)
+typedef             <a class="link" href="hkl-darray.html#darray-uchar" title="darray_uchar">darray_uchar</a>;
+typedef             <a class="link" href="hkl-darray.html#darray-uint" title="darray_uint">darray_uint</a>;
+typedef             <a class="link" href="hkl-darray.html#darray-ulong" title="darray_ulong">darray_ulong</a>;
+typedef             <a class="link" href="hkl-darray.html#darray-ushort" title="darray_ushort">darray_ushort</a>;
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-darray.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-darray.functions_details"></a><h2>Functions</h2>
+<a name="hkl-darray.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="darray"></a><h3>darray()</h3>
 <pre class="programlisting">#define darray(type) struct {type *item; size_t size; size_t alloc;}
@@ -315,241 +130,233 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-new"></a><h3>darray_new</h3>
-<pre class="programlisting">#define darray_new() {0,0,0}
+<a name="darray-alloc"></a><h3>darray_alloc()</h3>
+<pre class="programlisting">#define darray_alloc(arr)   ((arr).alloc)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-init"></a><h3>darray_init()</h3>
-<pre class="programlisting">#define darray_init(arr) do {(arr).item=0; (arr).size=0; (arr).alloc=0;} while(0)
-</pre>
+<a name="darray-append"></a><h3>darray_append()</h3>
+<pre class="programlisting">#define             darray_append(arr, ...)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-free"></a><h3>darray_free()</h3>
-<pre class="programlisting">#define darray_free(arr) do {free((arr).item);} while(0)
-</pre>
+<a name="darray-append-items"></a><h3>darray_append_items()</h3>
+<pre class="programlisting">#define             darray_append_items(arr, items, count)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-item"></a><h3>darray_item()</h3>
-<pre class="programlisting">#define darray_item(arr, i) ((arr).item[i])
-</pre>
+<a name="darray-append-items-nullterminate"></a><h3>darray_append_items_nullterminate()</h3>
+<pre class="programlisting">#define             darray_append_items_nullterminate(arr, items, count)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-size"></a><h3>darray_size()</h3>
-<pre class="programlisting">#define darray_size(arr)    ((arr).size)
+<a name="darray-append-lit"></a><h3>darray_append_lit()</h3>
+<pre class="programlisting">#define darray_append_lit(arr, stringLiteral) do {darray_append_items(arr, stringLiteral, sizeof(stringLiteral)); (arr).size--;} while(0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-alloc"></a><h3>darray_alloc()</h3>
-<pre class="programlisting">#define darray_alloc(arr)   ((arr).alloc)
+<a name="darray-append-string"></a><h3>darray_append_string()</h3>
+<pre class="programlisting">#define darray_append_string(arr, str) do {const char *__str = (str); darray_append_items(arr, __str, strlen(__str)+1); (arr).size--;} while(0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-empty"></a><h3>darray_empty()</h3>
-<pre class="programlisting">#define darray_empty(arr)   ((arr).size == 0)
+<a name="darray-appends"></a><h3>darray_appends()</h3>
+<pre class="programlisting">#define darray_appends(arr, ...) darray_appends_t(arr, typeof((*(arr).item)), __VA_ARGS__)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-append"></a><h3>darray_append()</h3>
-<pre class="programlisting">#define             darray_append(arr, ...)</pre>
+<a name="darray-appends-t"></a><h3>darray_appends_t()</h3>
+<pre class="programlisting">#define             darray_appends_t(arr, type, ...)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepend"></a><h3>darray_prepend()</h3>
-<pre class="programlisting">#define             darray_prepend(arr, ...)</pre>
+<a name="darray-char"></a><h3>darray_char</h3>
+<pre class="programlisting">typedef darray(char)           darray_char;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-push"></a><h3>darray_push()</h3>
-<pre class="programlisting">#define darray_push(arr, ...) darray_append(arr, __VA_ARGS__)
+<a name="darray-empty"></a><h3>darray_empty()</h3>
+<pre class="programlisting">#define darray_empty(arr)   ((arr).size == 0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-append-items"></a><h3>darray_append_items()</h3>
-<pre class="programlisting">#define             darray_append_items(arr, items, count)</pre>
+<a name="darray-foreach"></a><h3>darray_foreach()</h3>
+<pre class="programlisting">#define             darray_foreach(i, arr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepend-items"></a><h3>darray_prepend_items()</h3>
-<pre class="programlisting">#define             darray_prepend_items(arr, items, count)</pre>
+<a name="darray-foreach-reverse"></a><h3>darray_foreach_reverse()</h3>
+<pre class="programlisting">#define             darray_foreach_reverse(i, arr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-append-items-nullterminate"></a><h3>darray_append_items_nullterminate()</h3>
-<pre class="programlisting">#define             darray_append_items_nullterminate(arr, items, count)</pre>
+<a name="darray-free"></a><h3>darray_free()</h3>
+<pre class="programlisting">#define darray_free(arr) do {free((arr).item);} while(0)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepend-items-nullterminate"></a><h3>darray_prepend_items_nullterminate()</h3>
-<pre class="programlisting">#define             darray_prepend_items_nullterminate(arr, items, count)</pre>
+<a name="darray-from-c"></a><h3>darray_from_c()</h3>
+<pre class="programlisting">#define darray_from_c(arr, c_array) darray_from_items(arr, c_array, sizeof(c_array)/sizeof(*(c_array)))
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-appends"></a><h3>darray_appends()</h3>
-<pre class="programlisting">#define darray_appends(arr, ...) darray_appends_t(arr, typeof((*(arr).item)), __VA_ARGS__)
+<a name="darray-from-items"></a><h3>darray_from_items()</h3>
+<pre class="programlisting">#define darray_from_items(arr, items, count) do {size_t __count = (count); darray_resize(arr, __count); memcpy((arr).item, items, __count*sizeof(*(arr).item));} while(0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepends"></a><h3>darray_prepends()</h3>
-<pre class="programlisting">#define darray_prepends(arr, ...) darray_prepends_t(arr, typeof((*(arr).item)), __VA_ARGS__)
+<a name="darray-from-lit"></a><h3>darray_from_lit()</h3>
+<pre class="programlisting">#define darray_from_lit(arr, stringLiteral) do {darray_from_items(arr, stringLiteral, sizeof(stringLiteral)); (arr).size--;} while(0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-appends-t"></a><h3>darray_appends_t()</h3>
-<pre class="programlisting">#define             darray_appends_t(arr, type, ...)</pre>
+<a name="darray-from-string"></a><h3>darray_from_string()</h3>
+<pre class="programlisting">#define darray_from_string(arr, str) do {const char *__str = (str); darray_from_items(arr, __str, strlen(__str)+1); (arr).size--;} while(0)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepends-t"></a><h3>darray_prepends_t()</h3>
-<pre class="programlisting">#define             darray_prepends_t(arr, type, ...)</pre>
+<a name="darray-growalloc"></a><h3>darray_growalloc()</h3>
+<pre class="programlisting">#define             darray_growalloc(arr, need)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-pop"></a><h3>darray_pop()</h3>
-<pre class="programlisting">#define darray_pop(arr) ((arr).item[--(arr).size])
+<a name="darray-init"></a><h3>darray_init()</h3>
+<pre class="programlisting">#define darray_init(arr) do {(arr).item=0; (arr).size=0; (arr).alloc=0;} while(0)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-pop-check"></a><h3>darray_pop_check()</h3>
-<pre class="programlisting">#define darray_pop_check(arr) ((arr).size ? darray_pop(arr) : NULL)
+<a name="darray-int"></a><h3>darray_int</h3>
+<pre class="programlisting">typedef darray(int)            darray_int;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-from-items"></a><h3>darray_from_items()</h3>
-<pre class="programlisting">#define darray_from_items(arr, items, count) do {size_t __count = (count); darray_resize(arr, __count); memcpy((arr).item, items, __count*sizeof(*(arr).item));} while(0)
+<a name="darray-item"></a><h3>darray_item()</h3>
+<pre class="programlisting">#define darray_item(arr, i) ((arr).item[i])
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-from-c"></a><h3>darray_from_c()</h3>
-<pre class="programlisting">#define darray_from_c(arr, c_array) darray_from_items(arr, c_array, sizeof(c_array)/sizeof(*(c_array)))
+<a name="darray-long"></a><h3>darray_long</h3>
+<pre class="programlisting">typedef darray(long)           darray_long;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-append-string"></a><h3>darray_append_string()</h3>
-<pre class="programlisting">#define darray_append_string(arr, str) do {const char *__str = (str); darray_append_items(arr, __str, strlen(__str)+1); (arr).size--;} while(0)
+<a name="darray-make-room"></a><h3>darray_make_room()</h3>
+<pre class="programlisting">#define darray_make_room(arr, room) ({size_t newAlloc = (arr).size+(room); if ((arr).alloc<newAlloc) darray_realloc(arr, newAlloc); (arr).item+(arr).size; })
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-append-lit"></a><h3>darray_append_lit()</h3>
-<pre class="programlisting">#define darray_append_lit(arr, stringLiteral) do {darray_append_items(arr, stringLiteral, sizeof(stringLiteral)); (arr).size--;} while(0)
+<a name="darray-new"></a><h3>darray_new</h3>
+<pre class="programlisting">#define darray_new() {0,0,0}
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-prepend-string"></a><h3>darray_prepend_string()</h3>
-<pre class="programlisting">#define             darray_prepend_string(arr, str)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="darray-prepend-lit"></a><h3>darray_prepend_lit()</h3>
-<pre class="programlisting">#define             darray_prepend_lit(arr, stringLiteral)</pre>
+<a name="darray-pop"></a><h3>darray_pop()</h3>
+<pre class="programlisting">#define darray_pop(arr) ((arr).item[--(arr).size])
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-from-string"></a><h3>darray_from_string()</h3>
-<pre class="programlisting">#define darray_from_string(arr, str) do {const char *__str = (str); darray_from_items(arr, __str, strlen(__str)+1); (arr).size--;} while(0)
+<a name="darray-pop-check"></a><h3>darray_pop_check()</h3>
+<pre class="programlisting">#define darray_pop_check(arr) ((arr).size ? darray_pop(arr) : NULL)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-from-lit"></a><h3>darray_from_lit()</h3>
-<pre class="programlisting">#define darray_from_lit(arr, stringLiteral) do {darray_from_items(arr, stringLiteral, sizeof(stringLiteral)); (arr).size--;} while(0)
-</pre>
+<a name="darray-prepend"></a><h3>darray_prepend()</h3>
+<pre class="programlisting">#define             darray_prepend(arr, ...)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-resize"></a><h3>darray_resize()</h3>
-<pre class="programlisting">#define darray_resize(arr, newSize) darray_growalloc(arr, (arr).size = (newSize))
-</pre>
+<a name="darray-prepend-items"></a><h3>darray_prepend_items()</h3>
+<pre class="programlisting">#define             darray_prepend_items(arr, items, count)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-resize0"></a><h3>darray_resize0()</h3>
-<pre class="programlisting">#define             darray_resize0(arr, newSize)</pre>
+<a name="darray-prepend-items-nullterminate"></a><h3>darray_prepend_items_nullterminate()</h3>
+<pre class="programlisting">#define             darray_prepend_items_nullterminate(arr, items, count)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-realloc"></a><h3>darray_realloc()</h3>
-<pre class="programlisting">#define             darray_realloc(arr, newAlloc)</pre>
+<a name="darray-prepend-lit"></a><h3>darray_prepend_lit()</h3>
+<pre class="programlisting">#define             darray_prepend_lit(arr, stringLiteral)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-growalloc"></a><h3>darray_growalloc()</h3>
-<pre class="programlisting">#define             darray_growalloc(arr, need)</pre>
+<a name="darray-prepend-string"></a><h3>darray_prepend_string()</h3>
+<pre class="programlisting">#define             darray_prepend_string(arr, str)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-make-room"></a><h3>darray_make_room()</h3>
-<pre class="programlisting">#define darray_make_room(arr, room) ({size_t newAlloc = (arr).size+(room); if ((arr).alloc<newAlloc) darray_realloc(arr, newAlloc); (arr).item+(arr).size; })
+<a name="darray-prepends"></a><h3>darray_prepends()</h3>
+<pre class="programlisting">#define darray_prepends(arr, ...) darray_prepends_t(arr, typeof((*(arr).item)), __VA_ARGS__)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-foreach"></a><h3>darray_foreach()</h3>
-<pre class="programlisting">#define             darray_foreach(i, arr)</pre>
+<a name="darray-prepends-t"></a><h3>darray_prepends_t()</h3>
+<pre class="programlisting">#define             darray_prepends_t(arr, type, ...)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-foreach-reverse"></a><h3>darray_foreach_reverse()</h3>
-<pre class="programlisting">#define             darray_foreach_reverse(i, arr)</pre>
-</div>
+<a name="darray-push"></a><h3>darray_push()</h3>
+<pre class="programlisting">#define darray_push(arr, ...) darray_append(arr, __VA_ARGS__)
+</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-darray.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="darray-char"></a><h3>darray_char</h3>
-<pre class="programlisting">typedef darray(char)           darray_char;
-</pre>
+<a name="darray-realloc"></a><h3>darray_realloc()</h3>
+<pre class="programlisting">#define             darray_realloc(arr, newAlloc)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-schar"></a><h3>darray_schar</h3>
-<pre class="programlisting">typedef darray(signed char)    darray_schar;
+<a name="darray-resize"></a><h3>darray_resize()</h3>
+<pre class="programlisting">#define darray_resize(arr, newSize) darray_growalloc(arr, (arr).size = (newSize))
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-uchar"></a><h3>darray_uchar</h3>
-<pre class="programlisting">typedef darray(unsigned char)  darray_uchar;
-</pre>
+<a name="darray-resize0"></a><h3>darray_resize0()</h3>
+<pre class="programlisting">#define             darray_resize0(arr, newSize)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-short"></a><h3>darray_short</h3>
-<pre class="programlisting">typedef darray(short)          darray_short;
+<a name="darray-schar"></a><h3>darray_schar</h3>
+<pre class="programlisting">typedef darray(signed char)    darray_schar;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-int"></a><h3>darray_int</h3>
-<pre class="programlisting">typedef darray(int)            darray_int;
+<a name="darray-short"></a><h3>darray_short</h3>
+<pre class="programlisting">typedef darray(short)          darray_short;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-long"></a><h3>darray_long</h3>
-<pre class="programlisting">typedef darray(long)           darray_long;
+<a name="darray-size"></a><h3>darray_size()</h3>
+<pre class="programlisting">#define darray_size(arr)    ((arr).size)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-ushort"></a><h3>darray_ushort</h3>
-<pre class="programlisting">typedef darray(unsigned short) darray_ushort;
+<a name="darray-uchar"></a><h3>darray_uchar</h3>
+<pre class="programlisting">typedef darray(unsigned char)  darray_uchar;
 </pre>
 </div>
 <hr>
@@ -564,10 +371,16 @@
 <pre class="programlisting">typedef darray(unsigned long)  darray_ulong;
 </pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="darray-ushort"></a><h3>darray_ushort</h3>
+<pre class="programlisting">typedef darray(unsigned short) darray_ushort;
+</pre>
+</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-axis-private.html b/Documentation/api/html/hkl-hkl-axis-private.html
index e9a68a4..b4973d8 100644
--- a/Documentation/api/html/hkl-hkl-axis-private.html
+++ b/Documentation/api/html/hkl-hkl-axis-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-axis-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-axis-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl.html" title="hkl">
 <link rel="next" href="hkl-hkl-detector-private.html" title="hkl-detector-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-axis-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-detector-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-detector-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-axis-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-axis-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-axis-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,52 +33,20 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-axis-private.top_of_page"></a>hkl-axis-private</span></h2>
 <p>hkl-axis-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-axis-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody><tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-axis-private.html#hkl-parameter-new-axis" title="hkl_parameter_new_axis ()">hkl_parameter_new_axis</a> <span class="c_punctuation">()</span>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-axis-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis">HklAxis</a></td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-axis-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">struct              <a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis">HklAxis</a>;
+<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      <a class="link" href="hkl-hkl-axis-private.html#hkl-parameter-new-axis" title="hkl_parameter_new_axis ()">hkl_parameter_new_axis</a>              (<em class="parameter"><code><span class="type">char</span> const *name</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> const *axis_v</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-axis-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-axis-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="hkl-parameter-new-axis"></a><h3>hkl_parameter_new_axis ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-hkl_parameter_new_axis (<em class="parameter"><code><span class="type">char</span> const *name</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> const *axis_v</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-axis-private.other_details"></a><h2>Types and Values</h2>
+<a name="hkl-hkl-axis-private.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="HklAxis"></a><h3>struct HklAxis</h3>
 <pre class="programlisting">struct HklAxis {
@@ -84,10 +56,16 @@ hkl_parameter_new_axis (<em class="parameter"><code><span class="type">char</spa
 };
 </pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-new-axis"></a><h3>hkl_parameter_new_axis ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      hkl_parameter_new_axis              (<em class="parameter"><code><span class="type">char</span> const *name</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> const *axis_v</code></em>);</pre>
+</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-detector-private.html b/Documentation/api/html/hkl-hkl-detector-private.html
index 0b4a94b..104eaf2 100644
--- a/Documentation/api/html/hkl-hkl-detector-private.html
+++ b/Documentation/api/html/hkl-hkl-detector-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-detector-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-detector-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-axis-private.html" title="hkl-axis-private">
 <link rel="next" href="hkl-hkl-factory-private.html" title="hkl-factory-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-detector-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-axis-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-factory-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-axis-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-factory-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-detector-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-detector-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-detector-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,128 +33,78 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-detector-private.top_of_page"></a>hkl-detector-private</span></h2>
 <p>hkl-detector-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-detector-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="returnvalue">HklDetector</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-new" title="hkl_detector_new ()">hkl_detector_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder" title="hkl_detector_attach_to_holder ()">hkl_detector_attach_to_holder</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-detector-private.html#hkl-detector-compute-kf" title="hkl_detector_compute_kf ()">hkl_detector_compute_kf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-detector-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector">HklDetector</a></td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-detector-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">                    <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector">HklDetector</a>;
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder" title="hkl_detector_attach_to_holder ()">hkl_detector_attach_to_holder</a>       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-detector-private.html#hkl-detector-compute-kf" title="hkl_detector_compute_kf ()">hkl_detector_compute_kf</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *g</code></em>);
+<a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="returnvalue">HklDetector</span></a> *       <a class="link" href="hkl-hkl-detector-private.html#hkl-detector-new" title="hkl_detector_new ()">hkl_detector_new</a>                    (<em class="parameter"><code><span class="type">void</span></code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-detector-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-detector-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-detector-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-detector-new"></a><h3>hkl_detector_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="returnvalue">HklDetector</span></a> *
-hkl_detector_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Create a new default <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.11.6.2.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HklDetector"></a><h3>HklDetector</h3>
+<pre class="programlisting">typedef struct {
+	size_t idx;
+	HklHolder const *holder;
+} HklDetector;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-detector-attach-to-holder"></a><h3>hkl_detector_attach_to_holder ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_detector_attach_to_holder (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *self</code></em>);</pre>
-<p>attach the <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> to an <a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="type">HklHolder</span></a></p>
+<a name="hkl-detector-attach-to-holder"></a><h3>hkl_detector_attach_to_holder ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_detector_attach_to_holder       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *self</code></em>);</pre>
+<p>
+attach the <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> to an <a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="type">HklHolder</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-detector-compute-kf"></a><h3>hkl_detector_compute_kf ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_detector_compute_kf (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> const *self</code></em>,
-                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *g</code></em>);</pre>
-<p>Compute the kf vector of the <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.11.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-detector-compute-kf"></a><h3>hkl_detector_compute_kf ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_detector_compute_kf             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *g</code></em>);</pre>
+<p>
+Compute the kf vector of the <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>g</p></td>
-<td class="parameter_description"><p> the diffractometer <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> use to compute kf. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
+<td><p><span class="term"><em class="parameter"><code>g</code></em> :</span></p></td>
+<td>the diffractometer <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> use to compute kf. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>kf</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> fill with the kf coordinates. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> caller-allocates]</span>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>kf</p></td>
-<td class="parameter_description"><p> the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> fill with the kf coordinates. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>HKL_SUCCESS if everythongs goes fine. HKL_FAIL otherwise.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.11.6.4.6"></a><h4>Returns</h4>
-<p> HKL_SUCCESS if everythongs goes fine. HKL_FAIL otherwise.</p>
-<p></p>
-</div>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-detector-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HklDetector"></a><h3>HklDetector</h3>
-<pre class="programlisting">typedef struct {
-	size_t idx;
-	HklHolder const *holder;
-} HklDetector;
-</pre>
+<a name="hkl-detector-new"></a><h3>hkl_detector_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="returnvalue">HklDetector</span></a> *       hkl_detector_new                    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Create a new default <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a>
+</p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-factory-private.html b/Documentation/api/html/hkl-hkl-factory-private.html
index 32c908e..a943671 100644
--- a/Documentation/api/html/hkl-hkl-factory-private.html
+++ b/Documentation/api/html/hkl-hkl-factory-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-factory-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-factory-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-detector-private.html" title="hkl-detector-private">
 <link rel="next" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-factory-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-detector-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-geometry-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-detector-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-geometry-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-factory-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-factory-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-factory-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,78 +33,23 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-factory-private.top_of_page"></a>hkl-factory-private</span></h2>
 <p>hkl-factory-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-factory-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *
-</td>
-<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="hkl-hkl-factory-private.html#HklFactoryGeometryFunction" title="HklFactoryGeometryFunction ()">*HklFactoryGeometryFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList"><span class="returnvalue">HklEngineList</span></a> *
-</td>
-<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="hkl-hkl-factory-private.html#HklFactoryEngineListFunction" title="HklFactoryEngineListFunction ()">*HklFactoryEngineListFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-factory-private.html#REGISTER-DIFFRACTOMETER:CAPS" title="REGISTER_DIFFRACTOMETER()">REGISTER_DIFFRACTOMETER</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-factory-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory">HklFactory</a></td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-factory-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">                    <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory">HklFactory</a>;
+<a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList"><span class="returnvalue">HklEngineList</span></a> *     (<a class="link" href="hkl-hkl-factory-private.html#HklFactoryEngineListFunction" title="HklFactoryEngineListFunction ()">*HklFactoryEngineListFunction</a>)     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *       (<a class="link" href="hkl-hkl-factory-private.html#HklFactoryGeometryFunction" title="HklFactoryGeometryFunction ()">*HklFactoryGeometryFunction</a>)       (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);
+#define             <a class="link" href="hkl-hkl-factory-private.html#REGISTER-DIFFRACTOMETER:CAPS" title="REGISTER_DIFFRACTOMETER()">REGISTER_DIFFRACTOMETER</a>             (name_,
+                                                         real_name_,
+                                                         description_)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-factory-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-factory-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="HklFactoryGeometryFunction"></a><h3>HklFactoryGeometryFunction ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *
-<span class="c_punctuation">(</span>*HklFactoryGeometryFunction<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklFactoryEngineListFunction"></a><h3>HklFactoryEngineListFunction ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList"><span class="returnvalue">HklEngineList</span></a> *
-<span class="c_punctuation">(</span>*HklFactoryEngineListFunction<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="REGISTER-DIFFRACTOMETER:CAPS"></a><h3>REGISTER_DIFFRACTOMETER()</h3>
-<pre class="programlisting">#define             REGISTER_DIFFRACTOMETER(name_, real_name_, description_)</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-factory-private.other_details"></a><h2>Types and Values</h2>
+<a name="hkl-hkl-factory-private.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="HklFactory"></a><h3>HklFactory</h3>
 <pre class="programlisting">typedef struct {
@@ -112,10 +61,25 @@
 } HklFactory;
 </pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="HklFactoryEngineListFunction"></a><h3>HklFactoryEngineListFunction ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList"><span class="returnvalue">HklEngineList</span></a> *     (*HklFactoryEngineListFunction)     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HklFactoryGeometryFunction"></a><h3>HklFactoryGeometryFunction ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *       (*HklFactoryGeometryFunction)       (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="REGISTER-DIFFRACTOMETER:CAPS"></a><h3>REGISTER_DIFFRACTOMETER()</h3>
+<pre class="programlisting">#define             REGISTER_DIFFRACTOMETER(name_, real_name_, description_)</pre>
+</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-geometry-private.html b/Documentation/api/html/hkl-hkl-geometry-private.html
index 4313b1d..06bd4ef 100644
--- a/Documentation/api/html/hkl-hkl-geometry-private.html
+++ b/Documentation/api/html/hkl-hkl-geometry-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-geometry-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-geometry-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-factory-private.html" title="hkl-factory-private">
 <link rel="next" href="hkl-hkl-interval-private.html" title="hkl-interval-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-geometry-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-factory-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-interval-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-factory-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-interval-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-geometry-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-geometry-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-geometry-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,713 +33,426 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-geometry-private.top_of_page"></a>hkl-geometry-private</span></h2>
 <p>hkl-geometry-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-geometry-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction" title="HklGeometryListMultiplyFunction ()">*HklGeometryListMultiplyFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis" title="hkl_holder_add_rotation_axis ()">hkl_holder_add_rotation_axis</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-new" title="hkl_geometry_new ()">hkl_geometry_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry" title="hkl_geometry_init_geometry ()">hkl_geometry_init_geometry</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="returnvalue">HklHolder</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-add-holder" title="hkl_geometry_add_holder ()">hkl_geometry_add_holder</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-update" title="hkl_geometry_update ()">hkl_geometry_update</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name" title="hkl_geometry_get_axis_idx_by_name ()">hkl_geometry_get_axis_idx_by_name</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name" title="hkl_geometry_get_axis_by_name ()">hkl_geometry_get_axis_by_name</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance" title="hkl_geometry_distance ()">hkl_geometry_distance</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic" title="hkl_geometry_distance_orthodromic ()">hkl_geometry_distance_orthodromic</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range" title="hkl_geometry_closest_from_geometry_with_range ()">hkl_geometry_closest_from_geometry_with_range</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-is-valid" title="hkl_geometry_is_valid ()">hkl_geometry_is_valid</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new" title="hkl_geometry_list_new ()">hkl_geometry_list_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy" title="hkl_geometry_list_new_copy ()">hkl_geometry_list_new_copy</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-add" title="hkl_geometry_list_add ()">hkl_geometry_list_add</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-reset" title="hkl_geometry_list_reset ()">hkl_geometry_list_reset</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-sort" title="hkl_geometry_list_sort ()">hkl_geometry_list_sort</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf" title="hkl_geometry_list_fprintf ()">hkl_geometry_list_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply" title="hkl_geometry_list_multiply ()">hkl_geometry_list_multiply</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range" title="hkl_geometry_list_multiply_from_range ()">hkl_geometry_list_multiply_from_range</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid" title="hkl_geometry_list_remove_invalid ()">hkl_geometry_list_remove_invalid</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new" title="hkl_geometry_list_item_new ()">hkl_geometry_list_item_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy" title="hkl_geometry_list_item_new_copy ()">hkl_geometry_list_item_new_copy</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free" title="hkl_geometry_list_item_free ()">hkl_geometry_list_item_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-geometry-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl-geometry-private.html#darray-holder" title="darray_holder">darray_holder</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-geometry-private.html#HklHolderConfig" title="struct HklHolderConfig">HklHolderConfig</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder">HklHolder</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry">HklGeometry</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-geometry-private.html#HKL-GEOMETRY-ERROR:CAPS" title="HKL_GEOMETRY_ERROR">HKL_GEOMETRY_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-geometry-private.html#HklGeometryError" title="enum HklGeometryError">HklGeometryError</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList">HklGeometryList</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem">HklGeometryListItem</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-geometry-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-geometry-private.html#HKL-GEOMETRY-ERROR:CAPS" title="HKL_GEOMETRY_ERROR">HKL_GEOMETRY_ERROR</a>
+                    <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry">HklGeometry</a>;
+enum                <a class="link" href="hkl-hkl-geometry-private.html#HklGeometryError" title="enum HklGeometryError">HklGeometryError</a>;
+                    <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList">HklGeometryList</a>;
+                    <a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem">HklGeometryListItem</a>;
+<span class="returnvalue">void</span>                (<a class="link" href="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction" title="HklGeometryListMultiplyFunction ()">*HklGeometryListMultiplyFunction</a>)  (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *item</code></em>);
+struct              <a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder">HklHolder</a>;
+typedef             <a class="link" href="hkl-hkl-geometry-private.html#darray-holder" title="darray_holder">darray_holder</a>;
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+<a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="returnvalue">HklHolder</span></a> *         <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-add-holder" title="hkl_geometry_add_holder ()">hkl_geometry_add_holder</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range" title="hkl_geometry_closest_from_geometry_with_range ()">hkl_geometry_closest_from_geometry_with_range</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance" title="hkl_geometry_distance ()">hkl_geometry_distance</a>               (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic" title="hkl_geometry_distance_orthodromic ()">hkl_geometry_distance_orthodromic</a>   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);
+<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name" title="hkl_geometry_get_axis_by_name ()">hkl_geometry_get_axis_by_name</a>       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name" title="hkl_geometry_get_axis_idx_by_name ()">hkl_geometry_get_axis_idx_by_name</a>   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry" title="hkl_geometry_init_geometry ()">hkl_geometry_init_geometry</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *src</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-is-valid" title="hkl_geometry_is_valid ()">hkl_geometry_is_valid</a>               (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-add" title="hkl_geometry_list_add ()">hkl_geometry_list_add</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf" title="hkl_geometry_list_fprintf ()">hkl_geometry_list_fprintf</a>           (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free" title="hkl_geometry_list_item_free ()">hkl_geometry_list_item_free</a>         (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> * <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new" title="hkl_geometry_list_item_new ()">hkl_geometry_list_item_new</a>        (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> * <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy" title="hkl_geometry_list_item_new_copy ()">hkl_geometry_list_item_new_copy</a>   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply" title="hkl_geometry_list_multiply ()">hkl_geometry_list_multiply</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range" title="hkl_geometry_list_multiply_from_range ()">hkl_geometry_list_multiply_from_range</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *   <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new" title="hkl_geometry_list_new ()">hkl_geometry_list_new</a>               (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *   <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy" title="hkl_geometry_list_new_copy ()">hkl_geometry_list_new_copy</a>          (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid" title="hkl_geometry_list_remove_invalid ()">hkl_geometry_list_remove_invalid</a>    (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-reset" title="hkl_geometry_list_reset ()">hkl_geometry_list_reset</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-list-sort" title="hkl_geometry_list_sort ()">hkl_geometry_list_sort</a>              (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);
+<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *       <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-new" title="hkl_geometry_new ()">hkl_geometry_new</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-geometry-private.html#hkl-geometry-update" title="hkl_geometry_update ()">hkl_geometry_update</a>                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      <a class="link" href="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis" title="hkl_holder_add_rotation_axis ()">hkl_holder_add_rotation_axis</a>        (<em class="parameter"><code><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="type">HklHolder</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">char</span> const *name</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-geometry-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-geometry-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-geometry-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="HklGeometryListMultiplyFunction"></a><h3>HklGeometryListMultiplyFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*HklGeometryListMultiplyFunction<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
-                                    <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *item</code></em>);</pre>
+<a name="HKL-GEOMETRY-ERROR:CAPS"></a><h3>HKL_GEOMETRY_ERROR</h3>
+<pre class="programlisting">#define HKL_GEOMETRY_ERROR hkl_geometry_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
+<a name="HklGeometry"></a><h3>HklGeometry</h3>
+<pre class="programlisting">typedef struct {
+	const HklFactory *factory;
+	HklSource source;
+	darray_parameter axes;
+	darray_holder holders;
+} HklGeometry;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-holder-add-rotation-axis"></a><h3>hkl_holder_add_rotation_axis ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-hkl_holder_add_rotation_axis (<em class="parameter"><code><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="type">HklHolder</span></a> *self</code></em>,
-                              <em class="parameter"><code><span class="type">char</span> const *name</code></em>,
-                              <em class="parameter"><code><span class="type">double</span> x</code></em>,
-                              <em class="parameter"><code><span class="type">double</span> y</code></em>,
-                              <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
+<a name="HklGeometryError"></a><h3>enum HklGeometryError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_GEOMETRY_ERROR_AXIS_GET, /* can not get the axis */
+	HKL_GEOMETRY_ERROR_AXIS_SET, /* can not set the axis */
+} HklGeometryError;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-new"></a><h3>hkl_geometry_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *
-hkl_geometry_new (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
-<p>constructor</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.5.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HklGeometryList"></a><h3>HklGeometryList</h3>
+<pre class="programlisting">typedef struct {
+	HklGeometryListMultiplyFunction multiply;
+	struct list_head items;
+	size_t n_items;
+} HklGeometryList;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-init-geometry"></a><h3>hkl_geometry_init_geometry ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_geometry_init_geometry (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                            <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *src</code></em>);</pre>
-<p>initilize an HklGeometry</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to set from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.13.6.6.6"></a><h4>Returns</h4>
-<p> TRUE on success, FALSE if an error occurred</p>
-<p></p>
-</div>
+<a name="HklGeometryListItem"></a><h3>HklGeometryListItem</h3>
+<pre class="programlisting">typedef struct {
+	struct list_node list;
+	HklGeometry *geometry;
+} HklGeometryListItem;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-add-holder"></a><h3>hkl_geometry_add_holder ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="returnvalue">HklHolder</span></a> *
-hkl_geometry_add_holder (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
-<p>add an Holder to the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.13.6.7.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HklGeometryListMultiplyFunction"></a><h3>HklGeometryListMultiplyFunction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                (*HklGeometryListMultiplyFunction)  (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *item</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-update"></a><h3>hkl_geometry_update ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_update (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
-<p>update the geometry internal once an Axis values changed</p>
+<a name="HklHolder"></a><h3>struct HklHolder</h3>
+<pre class="programlisting">struct HklHolder {
+	struct HklHolderConfig *config;
+	HklGeometry *geometry;
+	HklQuaternion q;
+};
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-get-axis-idx-by-name"></a><h3>hkl_geometry_get_axis_idx_by_name ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_geometry_get_axis_idx_by_name (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                                   <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
-<p>get the index of the axes named <em class="parameter"><code>name</code></em>
- in the geometry</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.9.5"></a><h4>Returns</h4>
-<p> -1 if the axis was not found</p>
-<p></p>
+<a name="darray-holder"></a><h3>darray_holder</h3>
+<pre class="programlisting">typedef darray(HklHolder *) darray_holder;
+</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-get-axis-by-name"></a><h3>hkl_geometry_get_axis_by_name ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-hkl_geometry_get_axis_by_name (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                               <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
-<p>get an <a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis"><span class="type">HklAxis</span></a> using its name</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.10.5"></a><h4>Returns</h4>
-<p>. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+<a name="hkl-geometry-add-holder"></a><h3>hkl_geometry_add_holder ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="returnvalue">HklHolder</span></a> *         hkl_geometry_add_holder             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
+<p>
+add an Holder to the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a>
+</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-geometry-closest-from-geometry-with-range"></a><h3>hkl_geometry_closest_from_geometry_with_range ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_geometry_closest_from_geometry_with_range
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
+<p>
+get the closest axes values in the HklInterval compatible with the
+current axes values
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-distance"></a><h3>hkl_geometry_distance ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_geometry_distance (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                       <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
-<p>compute the distance between two <span class="type">HklGeometries</span></p>
-<div class="refsect3">
-<a name="id-1.2.13.6.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-geometry-distance"></a><h3>hkl_geometry_distance ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_geometry_distance               (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
+<p>
+compute the distance between two <span class="type">HklGeometries</span>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>ref</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to compare with</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>ref</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to compare with</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the distance between the two geometries</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.13.6.11.6"></a><h4>Returns</h4>
-<p> the distance between the two geometries</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-distance-orthodromic"></a><h3>hkl_geometry_distance_orthodromic ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_geometry_distance_orthodromic (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                                   <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.13.6.12.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-geometry-distance-orthodromic"></a><h3>hkl_geometry_distance_orthodromic ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_geometry_distance_orthodromic   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ref</code></em> :</span></p></td>
+<td>the reference <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to compare with.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>ref</p></td>
-<td class="parameter_description"><p>the reference <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to compare with.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the orthodromique distance</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.13.6.12.5"></a><h4>Returns</h4>
-<p> the orthodromique distance</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-closest-from-geometry-with-range"></a><h3>hkl_geometry_closest_from_geometry_with_range ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_geometry_closest_from_geometry_with_range
-                               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
-                                <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
-<p>get the closest axes values in the HklInterval compatible with the
-current axes values</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.13.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-geometry-get-axis-by-name"></a><h3>hkl_geometry_get_axis_by_name ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      hkl_geometry_get_axis_by_name       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
+<p>
+get an <a class="link" href="hkl-hkl-axis-private.html#HklAxis" title="struct HklAxis"><span class="type">HklAxis</span></a> using its name
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-is-valid"></a><h3>hkl_geometry_is_valid ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_geometry_is_valid (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
-<p>check if all axes of the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> are valid.</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.14.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-geometry-get-axis-idx-by-name"></a><h3>hkl_geometry_get_axis_idx_by_name ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_geometry_get_axis_idx_by_name   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
+<p>
+get the index of the axes named <em class="parameter"><code>name</code></em> in the geometry
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>-1 if the axis was not found</td>
+</tr></tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-new"></a><h3>hkl_geometry_list_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *
-hkl_geometry_list_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>constructor</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.15.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-geometry-init-geometry"></a><h3>hkl_geometry_init_geometry ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_geometry_init_geometry          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *src</code></em>);</pre>
+<p>
+initilize an HklGeometry
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to set from</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE on success, FALSE if an error occurred</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-new-copy"></a><h3>hkl_geometry_list_new_copy ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *
-hkl_geometry_list_new_copy (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
-<p>copy constructor</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.16.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-geometry-is-valid"></a><h3>hkl_geometry_is_valid ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_geometry_is_valid               (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
+<p>
+check if all axes of the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> are valid.
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-add"></a><h3>hkl_geometry_list_add ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_add (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);</pre>
-<p>this method Add a geometry to the geometries</p>
-<p>This method try to be clever by allocating memory only if the
+<a name="hkl-geometry-list-add"></a><h3>hkl_geometry_list_add ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_add               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);</pre>
+<p>
+this method Add a geometry to the geometries
+</p>
+<p>
+This method try to be clever by allocating memory only if the
 current length of the geometries is not large enought. Then it just
 set the geometry axes and copy it to the right geometries. We do
-not gives the x len as it is equal to the self->axes_len.</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.17.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+not gives the x len as it is equal to the self->axes_len.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>The current <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The current <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>geometry</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to add</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>geometry</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> to add</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-reset"></a><h3>hkl_geometry_list_reset ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_reset (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
-<p>reset the HklGeometry, in fact it is a sort of clean method remove
-all the items of the list.</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
+<a name="hkl-geometry-list-fprintf"></a><h3>hkl_geometry_list_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_fprintf           (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<p>
+print to a file the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-sort"></a><h3>hkl_geometry_list_sort ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_sort (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
-<p>sort the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> compare to the distance of the given
-<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a></p>
+<a name="hkl-geometry-list-item-free"></a><h3>hkl_geometry_list_item_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_item_free         (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);</pre>
+<p>
+destructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-fprintf"></a><h3>hkl_geometry_list_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_fprintf (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
-                           <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
-<p>print to a file the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a></p>
+<a name="hkl-geometry-list-item-new"></a><h3>hkl_geometry_list_item_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> * hkl_geometry_list_item_new        (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);</pre>
+<p>
+constructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-multiply"></a><h3>hkl_geometry_list_multiply ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_multiply (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
-<p>apply the multiply lenthod to the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a></p>
+<a name="hkl-geometry-list-item-new-copy"></a><h3>hkl_geometry_list_item_new_copy ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> * hkl_geometry_list_item_new_copy   (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);</pre>
+<p>
+copy constructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-multiply-from-range"></a><h3>hkl_geometry_list_multiply_from_range ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_multiply_from_range (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<a name="hkl-geometry-list-multiply"></a><h3>hkl_geometry_list_multiply ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_multiply          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<p>
+apply the multiply lenthod to the <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-remove-invalid"></a><h3>hkl_geometry_list_remove_invalid ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_remove_invalid (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
-<p>remove all invalid <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> from the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a></p>
+<a name="hkl-geometry-list-multiply-from-range"></a><h3>hkl_geometry_list_multiply_from_range ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_multiply_from_range
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-geometry-list-item-new"></a><h3>hkl_geometry_list_item_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> *
-hkl_geometry_list_item_new (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>);</pre>
-<p>constructor</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.24.5"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-geometry-list-item-new-copy"></a><h3>hkl_geometry_list_item_new_copy ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="returnvalue">HklGeometryListItem</span></a> *
-hkl_geometry_list_item_new_copy (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);</pre>
-<p>copy constructor</p>
-<div class="refsect3">
-<a name="id-1.2.13.6.25.5"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-geometry-list-item-free"></a><h3>hkl_geometry_list_item_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_geometry_list_item_free (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem"><span class="type">HklGeometryListItem</span></a> *self</code></em>);</pre>
-<p>destructor</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-geometry-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="darray-holder"></a><h3>darray_holder</h3>
-<pre class="programlisting">typedef darray(HklHolder *) darray_holder;
-</pre>
+<a name="hkl-geometry-list-new"></a><h3>hkl_geometry_list_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *   hkl_geometry_list_new               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+constructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklHolderConfig"></a><h3>struct HklHolderConfig</h3>
-<pre class="programlisting">struct HklHolderConfig {
-	int gc;
-	size_t *idx;
-	size_t len;
-};
-</pre>
+<a name="hkl-geometry-list-new-copy"></a><h3>hkl_geometry_list_new_copy ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="returnvalue">HklGeometryList</span></a> *   hkl_geometry_list_new_copy          (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<p>
+copy constructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklHolder"></a><h3>struct HklHolder</h3>
-<pre class="programlisting">struct HklHolder {
-	struct HklHolderConfig *config;
-	HklGeometry *geometry;
-	HklQuaternion q;
-};
-</pre>
+<a name="hkl-geometry-list-remove-invalid"></a><h3>hkl_geometry_list_remove_invalid ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_remove_invalid    (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<p>
+remove all invalid <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> from the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometry"></a><h3>HklGeometry</h3>
-<pre class="programlisting">typedef struct {
-	const HklFactory *factory;
-	HklSource source;
-	darray_parameter axes;
-	darray_holder holders;
-} HklGeometry;
-</pre>
+<a name="hkl-geometry-list-reset"></a><h3>hkl_geometry_list_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_reset             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>);</pre>
+<p>
+reset the HklGeometry, in fact it is a sort of clean method remove
+all the items of the list.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr></tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-GEOMETRY-ERROR:CAPS"></a><h3>HKL_GEOMETRY_ERROR</h3>
-<pre class="programlisting">#define HKL_GEOMETRY_ERROR hkl_geometry_error_quark ()
-</pre>
+<a name="hkl-geometry-list-sort"></a><h3>hkl_geometry_list_sort ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_list_sort              (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *ref</code></em>);</pre>
+<p>
+sort the <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList"><span class="type">HklGeometryList</span></a> compare to the distance of the given
+<a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometryError"></a><h3>enum HklGeometryError</h3>
-<div class="refsect3">
-<a name="id-1.2.13.7.7.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-GEOMETRY-ERROR-AXIS-GET:CAPS"></a>HKL_GEOMETRY_ERROR_AXIS_GET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-GEOMETRY-ERROR-AXIS-SET:CAPS"></a>HKL_GEOMETRY_ERROR_AXIS_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
+<a name="hkl-geometry-new"></a><h3>hkl_geometry_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="returnvalue">HklGeometry</span></a> *       hkl_geometry_new                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory"><span class="type">HklFactory</span></a> *factory</code></em>);</pre>
+<p>
+constructor
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometryList"></a><h3>HklGeometryList</h3>
-<pre class="programlisting">typedef struct {
-	HklGeometryListMultiplyFunction multiply;
-	struct list_head items;
-	size_t n_items;
-} HklGeometryList;
-</pre>
+<a name="hkl-geometry-update"></a><h3>hkl_geometry_update ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_geometry_update                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *self</code></em>);</pre>
+<p>
+update the geometry internal once an Axis values changed
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometryListItem"></a><h3>HklGeometryListItem</h3>
-<pre class="programlisting">typedef struct {
-	struct list_node list;
-	HklGeometry *geometry;
-} HklGeometryListItem;
-</pre>
+<a name="hkl-holder-add-rotation-axis"></a><h3>hkl_holder_add_rotation_axis ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      hkl_holder_add_rotation_axis        (<em class="parameter"><code><a class="link" href="hkl-hkl-geometry-private.html#HklHolder" title="struct HklHolder"><span class="type">HklHolder</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">char</span> const *name</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-interval-private.html b/Documentation/api/html/hkl-hkl-interval-private.html
index d6b621d..a1f3f88 100644
--- a/Documentation/api/html/hkl-hkl-interval-private.html
+++ b/Documentation/api/html/hkl-hkl-interval-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-interval-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-interval-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-geometry-private.html" title="hkl-geometry-private">
 <link rel="next" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-interval-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-geometry-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-lattice-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-geometry-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-lattice-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-interval-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-interval-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-interval-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,360 +33,217 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-interval-private.top_of_page"></a>hkl-interval-private</span></h2>
 <p>hkl-interval-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-interval-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="returnvalue">HklInterval</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-dup" title="hkl_interval_dup ()">hkl_interval_dup</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-free" title="hkl_interval_free ()">hkl_interval_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cmp" title="hkl_interval_cmp ()">hkl_interval_cmp</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-interval" title="hkl_interval_plus_interval ()">hkl_interval_plus_interval</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-double" title="hkl_interval_plus_double ()">hkl_interval_plus_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-interval" title="hkl_interval_minus_interval ()">hkl_interval_minus_interval</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-double" title="hkl_interval_minus_double ()">hkl_interval_minus_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-interval" title="hkl_interval_times_interval ()">hkl_interval_times_interval</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-double" title="hkl_interval_times_double ()">hkl_interval_times_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-divides-double" title="hkl_interval_divides_double ()">hkl_interval_divides_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-contain-zero" title="hkl_interval_contain_zero ()">hkl_interval_contain_zero</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cos" title="hkl_interval_cos ()">hkl_interval_cos</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-acos" title="hkl_interval_acos ()">hkl_interval_acos</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-sin" title="hkl_interval_sin ()">hkl_interval_sin</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-asin" title="hkl_interval_asin ()">hkl_interval_asin</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-tan" title="hkl_interval_tan ()">hkl_interval_tan</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-atan" title="hkl_interval_atan ()">hkl_interval_atan</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-length" title="hkl_interval_length ()">hkl_interval_length</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm" title="hkl_interval_angle_restrict_symm ()">hkl_interval_angle_restrict_symm</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-interval-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval">HklInterval</a></td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-interval-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">struct              <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval">HklInterval</a>;
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-acos" title="hkl_interval_acos ()">hkl_interval_acos</a>                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm" title="hkl_interval_angle_restrict_symm ()">hkl_interval_angle_restrict_symm</a>    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-asin" title="hkl_interval_asin ()">hkl_interval_asin</a>                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-atan" title="hkl_interval_atan ()">hkl_interval_atan</a>                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cmp" title="hkl_interval_cmp ()">hkl_interval_cmp</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-contain-zero" title="hkl_interval_contain_zero ()">hkl_interval_contain_zero</a>           (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-cos" title="hkl_interval_cos ()">hkl_interval_cos</a>                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-divides-double" title="hkl_interval_divides_double ()">hkl_interval_divides_double</a>         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);
+<a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="returnvalue">HklInterval</span></a> *       <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-dup" title="hkl_interval_dup ()">hkl_interval_dup</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-free" title="hkl_interval_free ()">hkl_interval_free</a>                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-length" title="hkl_interval_length ()">hkl_interval_length</a>                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-double" title="hkl_interval_minus_double ()">hkl_interval_minus_double</a>           (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-minus-interval" title="hkl_interval_minus_interval ()">hkl_interval_minus_interval</a>         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-double" title="hkl_interval_plus_double ()">hkl_interval_plus_double</a>            (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-plus-interval" title="hkl_interval_plus_interval ()">hkl_interval_plus_interval</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-sin" title="hkl_interval_sin ()">hkl_interval_sin</a>                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-tan" title="hkl_interval_tan ()">hkl_interval_tan</a>                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-double" title="hkl_interval_times_double ()">hkl_interval_times_double</a>           (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-interval-private.html#hkl-interval-times-interval" title="hkl_interval_times_interval ()">hkl_interval_times_interval</a>         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-interval-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-interval-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-interval-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-interval-dup"></a><h3>hkl_interval_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="returnvalue">HklInterval</span></a> *
-hkl_interval_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>copy an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.14.6.2.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HklInterval"></a><h3>struct HklInterval</h3>
+<pre class="programlisting">struct HklInterval {
+	double min;
+	double max;
+};
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-free"></a><h3>hkl_interval_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_free (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>delete an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-acos"></a><h3>hkl_interval_acos ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_acos                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the arc cosinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-cmp"></a><h3>hkl_interval_cmp ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_interval_cmp (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                  <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
-<p>compare two intervals</p>
-<div class="refsect3">
-<a name="id-1.2.14.6.4.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-interval-angle-restrict-symm"></a><h3>hkl_interval_angle_restrict_symm ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_angle_restrict_symm    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+restrict an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> into -pi, pi
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-plus-interval"></a><h3>hkl_interval_plus_interval ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_plus_interval (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                            <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
-<p>add two ontervals</p>
+<a name="hkl-interval-asin"></a><h3>hkl_interval_asin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_asin                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the arc sinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-plus-double"></a><h3>hkl_interval_plus_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_plus_double (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                          <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
-<p>add to an interval a double</p>
+<a name="hkl-interval-atan"></a><h3>hkl_interval_atan ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_atan                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the arc tangente of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-minus-interval"></a><h3>hkl_interval_minus_interval ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_minus_interval (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                             <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
-<p>substract two <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-cmp"></a><h3>hkl_interval_cmp ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_interval_cmp                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
+<p>
+compare two intervals
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-minus-double"></a><h3>hkl_interval_minus_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_minus_double (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                           <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
-<p>subst a double to an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-contain-zero"></a><h3>hkl_interval_contain_zero ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_interval_contain_zero           (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+check if an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> contain zero
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-times-interval"></a><h3>hkl_interval_times_interval ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_times_interval (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                             <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
-<p>multiply two <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-cos"></a><h3>hkl_interval_cos ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_cos                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the cosinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-times-double"></a><h3>hkl_interval_times_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_times_double (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                           <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
-<p>multiply an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> by a double</p>
+<a name="hkl-interval-divides-double"></a><h3>hkl_interval_divides_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_divides_double         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
+<p>
+divide an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> by a double
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-divides-double"></a><h3>hkl_interval_divides_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_divides_double (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
-                             <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
-<p>divide an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> by a double</p>
+<a name="hkl-interval-dup"></a><h3>hkl_interval_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="returnvalue">HklInterval</span></a> *       hkl_interval_dup                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+copy an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-contain-zero"></a><h3>hkl_interval_contain_zero ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_interval_contain_zero (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>check if an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> contain zero</p>
-<div class="refsect3">
-<a name="id-1.2.14.6.12.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-interval-free"></a><h3>hkl_interval_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_free                   (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+delete an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-cos"></a><h3>hkl_interval_cos ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_cos (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the cosinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-length"></a><h3>hkl_interval_length ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_interval_length                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the length of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-acos"></a><h3>hkl_interval_acos ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_acos (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the arc cosinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-minus-double"></a><h3>hkl_interval_minus_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_minus_double           (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
+<p>
+subst a double to an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-sin"></a><h3>hkl_interval_sin ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_sin (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the sin of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-minus-interval"></a><h3>hkl_interval_minus_interval ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_minus_interval         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
+<p>
+substract two <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-asin"></a><h3>hkl_interval_asin ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_asin (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the arc sinus of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-plus-double"></a><h3>hkl_interval_plus_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_plus_double            (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
+<p>
+add to an interval a double
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-tan"></a><h3>hkl_interval_tan ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_tan (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the tangente of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-plus-interval"></a><h3>hkl_interval_plus_interval ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_plus_interval          (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
+<p>
+add two ontervals
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-atan"></a><h3>hkl_interval_atan ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_atan (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the arc tangente of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
+<a name="hkl-interval-sin"></a><h3>hkl_interval_sin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_sin                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the sin of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-length"></a><h3>hkl_interval_length ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_interval_length (<em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>compute the length of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.14.6.19.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="hkl-interval-tan"></a><h3>hkl_interval_tan ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_tan                    (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
+<p>
+compute the tangente of an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-interval-angle-restrict-symm"></a><h3>hkl_interval_angle_restrict_symm ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_interval_angle_restrict_symm (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>);</pre>
-<p>restrict an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> into -pi, pi</p>
-</div>
+<a name="hkl-interval-times-double"></a><h3>hkl_interval_times_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_times_double           (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> const d</code></em>);</pre>
+<p>
+multiply an <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> by a double
+</p>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-interval-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HklInterval"></a><h3>struct HklInterval</h3>
-<pre class="programlisting">struct HklInterval {
-	double min;
-	double max;
-};
-</pre>
+<a name="hkl-interval-times-interval"></a><h3>hkl_interval_times_interval ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_interval_times_interval         (<em class="parameter"><code><a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a> *interval</code></em>);</pre>
+<p>
+multiply two <a class="link" href="hkl-hkl-interval-private.html#HklInterval" title="struct HklInterval"><span class="type">HklInterval</span></a>
+</p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-lattice-private.html b/Documentation/api/html/hkl-hkl-lattice-private.html
index f07aa42..b2c6a53 100644
--- a/Documentation/api/html/hkl-hkl-lattice-private.html
+++ b/Documentation/api/html/hkl-hkl-lattice-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-lattice-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-lattice-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-interval-private.html" title="hkl-interval-private">
 <link rel="next" href="hkl-hkl-macros-private.html" title="hkl-macros-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-lattice-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-interval-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-macros-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-interval-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-macros-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-lattice-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-lattice-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-lattice-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,132 +33,33 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-lattice-private.top_of_page"></a>hkl-lattice-private</span></h2>
 <p>hkl-lattice-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-lattice-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set" title="hkl_lattice_lattice_set ()">hkl_lattice_lattice_set</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-randomize" title="hkl_lattice_randomize ()">hkl_lattice_randomize</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-fprintf" title="hkl_lattice_fprintf ()">hkl_lattice_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-lattice-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice">HklLattice</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-lattice-private.html#HKL-LATTICE-ERROR:CAPS" title="HKL_LATTICE_ERROR">HKL_LATTICE_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-lattice-private.html#HklLatticeError" title="enum HklLatticeError">HklLatticeError</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-lattice-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-lattice-private.html#HKL-LATTICE-ERROR:CAPS" title="HKL_LATTICE_ERROR">HKL_LATTICE_ERROR</a>
+                    <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice">HklLattice</a>;
+enum                <a class="link" href="hkl-hkl-lattice-private.html#HklLatticeError" title="enum HklLatticeError">HklLatticeError</a>;
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-fprintf" title="hkl_lattice_fprintf ()">hkl_lattice_fprintf</a>                 (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set" title="hkl_lattice_lattice_set ()">hkl_lattice_lattice_set</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *lattice</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-lattice-private.html#hkl-lattice-randomize" title="hkl_lattice_randomize ()">hkl_lattice_randomize</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-lattice-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-lattice-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
-</div>
-<hr>
+<a name="hkl-hkl-lattice-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-lattice-lattice-set"></a><h3>hkl_lattice_lattice_set ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_lattice_lattice_set (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *lattice</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.15.6.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lattice</p></td>
-<td class="parameter_description"><p>the lattice to set from.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-lattice-randomize"></a><h3>hkl_lattice_randomize ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_lattice_randomize (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);</pre>
-<p>randomize the lattice</p>
+<a name="HKL-LATTICE-ERROR:CAPS"></a><h3>HKL_LATTICE_ERROR</h3>
+<pre class="programlisting">#define HKL_LATTICE_ERROR hkl_lattice_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-lattice-fprintf"></a><h3>hkl_lattice_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_lattice_fprintf (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
-                     <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);</pre>
-<p>print into a file the lattice.</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-lattice-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
 <a name="HklLattice"></a><h3>HklLattice</h3>
 <pre class="programlisting">typedef struct {
 	HklParameter *a;
@@ -168,33 +73,57 @@ hkl_lattice_fprintf (<em class="parameter"><code><span class="type">FILE</span>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-LATTICE-ERROR:CAPS"></a><h3>HKL_LATTICE_ERROR</h3>
-<pre class="programlisting">#define HKL_LATTICE_ERROR hkl_lattice_error_quark ()
+<a name="HklLatticeError"></a><h3>enum HklLatticeError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_LATTICE_CHECK_LATTICE, /* the lattice parameters are not valid */
+} HklLatticeError;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklLatticeError"></a><h3>enum HklLatticeError</h3>
-<div class="refsect3">
-<a name="id-1.2.15.7.4.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="enum_member_name"><p><a name="HKL-LATTICE-CHECK-LATTICE:CAPS"></a>HKL_LATTICE_CHECK_LATTICE</p></td>
-<td> </td>
-<td> </td>
-</tr></tbody>
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-lattice-fprintf"></a><h3>hkl_lattice_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_lattice_fprintf                 (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);</pre>
+<p>
+print into a file the lattice.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-lattice-lattice-set"></a><h3>hkl_lattice_lattice_set ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_lattice_lattice_set             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *lattice</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>lattice</code></em> :</span></p></td>
+<td>the lattice to set from.</td>
+</tr>
+</tbody>
 </table></div>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-lattice-randomize"></a><h3>hkl_lattice_randomize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_lattice_randomize               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice"><span class="type">HklLattice</span></a> *self</code></em>);</pre>
+<p>
+randomize the lattice
+</p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-macros-private.html b/Documentation/api/html/hkl-hkl-macros-private.html
index b1c020d..81af59e 100644
--- a/Documentation/api/html/hkl-hkl-macros-private.html
+++ b/Documentation/api/html/hkl-hkl-macros-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-macros-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-macros-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-lattice-private.html" title="hkl-lattice-private">
 <link rel="next" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-macros-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-lattice-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-matrix-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-lattice-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-matrix-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-macros-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-macros-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-macros-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,102 +33,39 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-macros-private.top_of_page"></a>hkl-macros-private</span></h2>
 <p>hkl-macros-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-macros-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#hkl-assert" title="hkl_assert()">hkl_assert</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#hkl-error" title="hkl_error()">hkl_error</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS" title="G_GNUC_PRINTF()">G_GNUC_PRINTF</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#alloc-nr" title="alloc_nr()">alloc_nr</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#ALLOC-GROW:CAPS" title="ALLOC_GROW()">ALLOC_GROW</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#DARRAY:CAPS" title="DARRAY()">DARRAY</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#hkl-printbt" title="hkl_printbt ()">hkl_printbt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-macros-private.html#HKL-MALLOC:CAPS" title="HKL_MALLOC()">HKL_MALLOC</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-macros-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-macros-private.html#HKL-EULERIAN-KAPPA-SOLUTION:CAPS" title="HKL_EULERIAN_KAPPA_SOLUTION">HKL_EULERIAN_KAPPA_SOLUTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-compiler.html#NORETURN:CAPS" title="NORETURN">NORETURN</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-macros-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-macros-private.html#ALLOC-GROW:CAPS" title="ALLOC_GROW()">ALLOC_GROW</a>                          (x,
+                                                         nr,
+                                                         alloc)
+#define             <a class="link" href="hkl-hkl-macros-private.html#DARRAY:CAPS" title="DARRAY()">DARRAY</a>                              (_items)
+#define             <a class="link" href="hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS" title="G_GNUC_PRINTF()">G_GNUC_PRINTF</a>                       (format_idx,
+                                                         arg_idx)
+#define             <a class="link" href="hkl-hkl-macros-private.html#HKL-EULERIAN-KAPPA-SOLUTION:CAPS" title="HKL_EULERIAN_KAPPA_SOLUTION">HKL_EULERIAN_KAPPA_SOLUTION</a>
+#define             <a class="link" href="hkl-hkl-macros-private.html#HKL-MALLOC:CAPS" title="HKL_MALLOC()">HKL_MALLOC</a>                          (type)
+#define             <a class="link" href="hkl-compiler.html#NORETURN:CAPS" title="NORETURN">NORETURN</a>
+#define             <a class="link" href="hkl-hkl-macros-private.html#alloc-nr" title="alloc_nr()">alloc_nr</a>                            (x)
+#define             <a class="link" href="hkl-hkl-macros-private.html#hkl-assert" title="hkl_assert()">hkl_assert</a>                          (x)
+#define             <a class="link" href="hkl-hkl-macros-private.html#hkl-error" title="hkl_error()">hkl_error</a>                           (expr)
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-macros-private.html#hkl-printbt" title="hkl_printbt ()">hkl_printbt</a>                         (<em class="parameter"><code><span class="type">void</span></code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-macros-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-macros-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-macros-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-assert"></a><h3>hkl_assert()</h3>
-<pre class="programlisting"># define hkl_assert(x) do{ if (!(x)) {hkl_printbt(); assert(x); } } while(0)
-</pre>
+<a name="ALLOC-GROW:CAPS"></a><h3>ALLOC_GROW()</h3>
+<pre class="programlisting">#define             ALLOC_GROW(x, nr, alloc)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-error"></a><h3>hkl_error()</h3>
-<pre class="programlisting">#define             hkl_error(expr)</pre>
+<a name="DARRAY:CAPS"></a><h3>DARRAY()</h3>
+<pre class="programlisting">#define DARRAY(_items) {.item=_items, .size=ARRAY_SIZE(_items), .alloc=ARRAY_SIZE(_items)}
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -133,50 +74,47 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="alloc-nr"></a><h3>alloc_nr()</h3>
-<pre class="programlisting">#define alloc_nr(x) (((x)+16)*3/2)
+<a name="HKL-EULERIAN-KAPPA-SOLUTION:CAPS"></a><h3>HKL_EULERIAN_KAPPA_SOLUTION</h3>
+<pre class="programlisting">#define HKL_EULERIAN_KAPPA_SOLUTION 1
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ALLOC-GROW:CAPS"></a><h3>ALLOC_GROW()</h3>
-<pre class="programlisting">#define             ALLOC_GROW(x, nr, alloc)</pre>
+<a name="HKL-MALLOC:CAPS"></a><h3>HKL_MALLOC()</h3>
+<pre class="programlisting">#define HKL_MALLOC(type) (type *)_hkl_malloc(sizeof(type), "Can not allocate memory for a " #type)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="DARRAY:CAPS"></a><h3>DARRAY()</h3>
-<pre class="programlisting">#define DARRAY(_items) {.item=_items, .size=ARRAY_SIZE(_items), .alloc=ARRAY_SIZE(_items)}
-</pre>
+<a name="NORETURN:CAPS"></a><h3>NORETURN</h3>
+<pre class="programlisting">#define             NORETURN</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-printbt"></a><h3>hkl_printbt ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_printbt (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="alloc-nr"></a><h3>alloc_nr()</h3>
+<pre class="programlisting">#define alloc_nr(x) (((x)+16)*3/2)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MALLOC:CAPS"></a><h3>HKL_MALLOC()</h3>
-<pre class="programlisting">#define HKL_MALLOC(type) (type *)_hkl_malloc(sizeof(type), "Can not allocate memory for a " #type)
+<a name="hkl-assert"></a><h3>hkl_assert()</h3>
+<pre class="programlisting"># define hkl_assert(x) do{ if (!(x)) {hkl_printbt(); assert(x); } } while(0)
 </pre>
 </div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-macros-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HKL-EULERIAN-KAPPA-SOLUTION:CAPS"></a><h3>HKL_EULERIAN_KAPPA_SOLUTION</h3>
-<pre class="programlisting">#define HKL_EULERIAN_KAPPA_SOLUTION 1
-</pre>
+<a name="hkl-error"></a><h3>hkl_error()</h3>
+<pre class="programlisting">#define             hkl_error(expr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="NORETURN:CAPS"></a><h3>NORETURN</h3>
-<pre class="programlisting">#define             NORETURN</pre>
+<a name="hkl-printbt"></a><h3>hkl_printbt ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_printbt                         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-matrix-private.html b/Documentation/api/html/hkl-hkl-matrix-private.html
index 7cf0075..f30fdd2 100644
--- a/Documentation/api/html/hkl-hkl-matrix-private.html
+++ b/Documentation/api/html/hkl-hkl-matrix-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-matrix-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-matrix-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-macros-private.html" title="hkl-macros-private">
 <link rel="next" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-matrix-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-macros-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-parameter-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-macros-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-parameter-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-matrix-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-matrix-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-matrix-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,479 +33,308 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-matrix-private.top_of_page"></a>hkl-matrix-private</span></h2>
 <p>hkl-matrix-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-matrix-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">                    <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix">HklMatrix</a>;
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-det" title="hkl_matrix_det ()">hkl_matrix_det</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="returnvalue">HklMatrix</span></a> *         <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-dup" title="hkl_matrix_dup ()">hkl_matrix_dup</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-fprintf" title="hkl_matrix_fprintf ()">hkl_matrix_fprintf</a>                  (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler" title="hkl_matrix_init_from_euler ()">hkl_matrix_init_from_euler</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> euler_x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> euler_y</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector" title="hkl_matrix_init_from_two_vector ()">hkl_matrix_init_from_two_vector</a>     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v2</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-is-null" title="hkl_matrix_is_null ()">hkl_matrix_is_null</a>                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set" title="hkl_matrix_matrix_set ()">hkl_matrix_matrix_set</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-solve" title="hkl_matrix_solve ()">hkl_matrix_solve</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *x</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *b</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-times-vector" title="hkl_matrix_times_vector ()">hkl_matrix_times_vector</a>             (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-to-euler" title="hkl_matrix_to_euler ()">hkl_matrix_to_euler</a>                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_z</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-transpose" title="hkl_matrix_transpose ()">hkl_matrix_transpose</a>                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);
+</pre>
+</div>
 <div class="refsect1">
-<a name="hkl-hkl-matrix-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
+<a name="hkl-hkl-matrix-private.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="hkl-hkl-matrix-private.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="HklMatrix"></a><h3>HklMatrix</h3>
+<pre class="programlisting">typedef struct {
+	double data[3][3];
+} HklMatrix;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-matrix-det"></a><h3>hkl_matrix_det ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_matrix_det                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+<p>
+compute the determinant of an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="returnvalue">HklMatrix</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-dup" title="hkl_matrix_dup ()">hkl_matrix_dup</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler" title="hkl_matrix_init_from_euler ()">hkl_matrix_init_from_euler</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set" title="hkl_matrix_matrix_set ()">hkl_matrix_matrix_set</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector" title="hkl_matrix_init_from_two_vector ()">hkl_matrix_init_from_two_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-fprintf" title="hkl_matrix_fprintf ()">hkl_matrix_fprintf</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to compute the determinant</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-to-euler" title="hkl_matrix_to_euler ()">hkl_matrix_to_euler</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-times-vector" title="hkl_matrix_times_vector ()">hkl_matrix_times_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-transpose" title="hkl_matrix_transpose ()">hkl_matrix_transpose</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the determinant of the self <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+Todo: test</td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-matrix-dup"></a><h3>hkl_matrix_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="returnvalue">HklMatrix</span></a> *         hkl_matrix_dup                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-matrix-fprintf"></a><h3>hkl_matrix_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_fprintf                  (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+<p>
+printf an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> into a FILE stream.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-det" title="hkl_matrix_det ()">hkl_matrix_det</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
+<td>the FILE stream</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-solve" title="hkl_matrix_solve ()">hkl_matrix_solve</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-matrix-private.html#hkl-matrix-is-null" title="hkl_matrix_is_null ()">hkl_matrix_is_null</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to print into the file stream</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-matrix-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix">HklMatrix</a></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-matrix-private.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-matrix-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="hkl-matrix-dup"></a><h3>hkl_matrix_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="returnvalue">HklMatrix</span></a> *
-hkl_matrix_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.17.6.2.4"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-init-from-euler"></a><h3>hkl_matrix_init_from_euler ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_init_from_euler (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
-                            <em class="parameter"><code><span class="type">double</span> euler_x</code></em>,
-                            <em class="parameter"><code><span class="type">double</span> euler_y</code></em>);</pre>
-<p>Create a rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> from three eulerians angles.</p>
-<div class="refsect3">
-<a name="id-1.2.17.6.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-init-from-euler"></a><h3>hkl_matrix_init_from_euler ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_init_from_euler          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> euler_x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> euler_y</code></em>);</pre>
+<p>
+Create a rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> from three eulerians angles.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to initialize</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to initialize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_x</p></td>
-<td class="parameter_description"><p>the eulerian value along X</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>euler_x</code></em> :</span></p></td>
+<td>the eulerian value along X</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_y</p></td>
-<td class="parameter_description"><p>the eulerian value along Y</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>euler_y</code></em> :</span></p></td>
+<td>the eulerian value along Y</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_z</p></td>
-<td class="parameter_description"><p>the eulerian value along Z</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>euler_z</code></em> :</span></p></td>
+<td>the eulerian value along Z</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-matrix-set"></a><h3>hkl_matrix_matrix_set ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_matrix_set (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<p><em class="parameter"><code>todo</code></em>
- test</p>
-<div class="refsect3">
-<a name="id-1.2.17.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-init-from-two-vector"></a><h3>hkl_matrix_init_from_two_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_init_from_two_vector     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v2</code></em>);</pre>
+<p>
+Create an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> which represent a direct oriented base of the space
+the first row correspond to the |v1|, the second row |v2| and the last one
+is |v1 ^ v2|
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to initialize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>m</p></td>
-<td class="parameter_description"><p>the matrix to set</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>v1</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>v2</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-init-from-two-vector"></a><h3>hkl_matrix_init_from_two_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_init_from_two_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v1</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v2</code></em>);</pre>
-<p>Create an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> which represent a direct oriented base of the space
-the first row correspond to the |v1|, the second row |v2| and the last one
-is |v1 ^ v2|</p>
-<div class="refsect3">
-<a name="id-1.2.17.6.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-is-null"></a><h3>hkl_matrix_is_null ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_matrix_is_null                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+<p>
+is all <span class="type">hklMatrix</span> elementes bellow <a class="link" href="hkl-hkl.html#HKL-EPSILON:CAPS" title="HKL_EPSILON"><span class="type">HKL_EPSILON</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>The <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to initialize</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>v1</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to test</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>v2</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if the self <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> is null
+Todo: test</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-fprintf"></a><h3>hkl_matrix_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_fprintf (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<p>printf an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> into a FILE stream.</p>
-<div class="refsect3">
-<a name="id-1.2.17.6.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-matrix-set"></a><h3>hkl_matrix_matrix_set ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_matrix_set               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+<p>
+<em class="parameter"><code>todo</code></em> test
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>file</p></td>
-<td class="parameter_description"><p>the FILE stream</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to print into the file stream</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td>the matrix to set</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-to-euler"></a><h3>hkl_matrix_to_euler ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_to_euler (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> *euler_x</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> *euler_y</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> *euler_z</code></em>);</pre>
-<p>compute the three eulerians values for a given rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.17.6.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-solve"></a><h3>hkl_matrix_solve ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_matrix_solve                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *x</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *b</code></em>);</pre>
+<p>
+solve the system self . X = b
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to compute the eulerians angles</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> of the system</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_x</p></td>
-<td class="parameter_description"><p>the eulerian value along X</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to compute.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_y</p></td>
-<td class="parameter_description"><p>the eulerian value along Y</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>the <span class="type">hklVector</span> of the system to solve.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>euler_z</p></td>
-<td class="parameter_description"><p>the eulerian value along Z</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>-1 if the système has no solution, 0 otherwise.
+Todo: test</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-times-vector"></a><h3>hkl_matrix_times_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_times_vector (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
-                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
-<p>multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.17.6.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-times-vector"></a><h3>hkl_matrix_times_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_times_vector             (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
+<p>
+multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to multiply the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to multiply the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>v</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> multiply by the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> multiply by the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-transpose"></a><h3>hkl_matrix_transpose ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_matrix_transpose (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<p>transpose an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.17.6.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to transpose</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-matrix-det"></a><h3>hkl_matrix_det ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_matrix_det (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<p>compute the determinant of an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.17.6.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to compute the determinant</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.17.6.10.6"></a><h4>Returns</h4>
-<p> the determinant of the self <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
-Todo: test</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-matrix-solve"></a><h3>hkl_matrix_solve ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_matrix_solve (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
-                  <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *x</code></em>,
-                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *b</code></em>);</pre>
-<p>solve the system self . X = b</p>
-<div class="refsect3">
-<a name="id-1.2.17.6.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-to-euler"></a><h3>hkl_matrix_to_euler ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_to_euler                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *euler_z</code></em>);</pre>
+<p>
+compute the three eulerians values for a given rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>The <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> of the system</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the rotation <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to compute the eulerians angles</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to compute.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>euler_x</code></em> :</span></p></td>
+<td>the eulerian value along X</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>b</p></td>
-<td class="parameter_description"><p>the <span class="type">hklVector</span> of the system to solve.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>euler_y</code></em> :</span></p></td>
+<td>the eulerian value along Y</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>euler_z</code></em> :</span></p></td>
+<td>the eulerian value along Z</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.17.6.11.6"></a><h4>Returns</h4>
-<p> -1 if the système has no solution, 0 otherwise.
-Todo: test</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-matrix-is-null"></a><h3>hkl_matrix_is_null ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_matrix_is_null (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
-<p>is all <span class="type">hklMatrix</span> elementes bellow <a class="link" href="hkl-hkl.html#HKL-EPSILON:CAPS" title="HKL_EPSILON"><span class="type">HKL_EPSILON</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.17.6.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-matrix-transpose"></a><h3>hkl_matrix_transpose ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_matrix_transpose                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *self</code></em>);</pre>
+<p>
+transpose an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to test</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> to transpose</td>
 </tr></tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.17.6.12.6"></a><h4>Returns</h4>
-<p> TRUE if the self <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> is null
-Todo: test</p>
-<p></p>
-</div>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-matrix-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="HklMatrix"></a><h3>HklMatrix</h3>
-<pre class="programlisting">typedef struct {
-	double data[3][3];
-} HklMatrix;
-</pre>
-</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-parameter-private.html b/Documentation/api/html/hkl-hkl-parameter-private.html
index c693501..b41c9ca 100644
--- a/Documentation/api/html/hkl-hkl-parameter-private.html
+++ b/Documentation/api/html/hkl-hkl-parameter-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-parameter-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-parameter-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-matrix-private.html" title="hkl-matrix-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-parameter-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-matrix-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-auto-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-matrix-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-auto-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-parameter-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-parameter-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-parameter-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,293 +33,73 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-parameter-private.top_of_page"></a>hkl-parameter-private</span></h2>
 <p>hkl-parameter-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-parameter-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">else</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#fprintf" title="fprintf ()">fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-new" title="hkl_parameter_new ()">hkl_parameter_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-init-copy" title="hkl_parameter_init_copy ()">hkl_parameter_init_copy</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest" title="hkl_parameter_value_get_closest ()">hkl_parameter_value_get_closest</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range" title="hkl_parameter_value_set_smallest_in_range ()">hkl_parameter_value_set_smallest_in_range</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-is-valid" title="hkl_parameter_is_valid ()">hkl_parameter_is_valid</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-fprintf" title="hkl_parameter_fprintf ()">hkl_parameter_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-parameter-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter">HklParameter</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS:CAPS" title="HKL_PARAMETER_DEFAULTS">HKL_PARAMETER_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS-ANGLE:CAPS" title="HKL_PARAMETER_DEFAULTS_ANGLE">HKL_PARAMETER_DEFAULTS_ANGLE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-ERROR:CAPS" title="HKL_PARAMETER_ERROR">HKL_PARAMETER_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HklParameterError" title="enum HklParameterError">HklParameterError</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HklParameterOperations" title="struct HklParameterOperations">HklParameterOperations</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS" title="HKL_PARAMETER_OPERATIONS_DEFAULTS">HKL_PARAMETER_OPERATIONS_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklParameter *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#dup" title="dup">dup</a></td>
-</tr>
-<tr>
-<td class="variable_type">double </td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#alea" title="alea">alea</a></td>
-</tr>
-<tr>
-<td class="variable_type">double </td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#factor" title="factor">factor</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#darray-parameter" title="darray_parameter">darray_parameter</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-parameter-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS:CAPS" title="HKL_PARAMETER_DEFAULTS">HKL_PARAMETER_DEFAULTS</a>
+#define             <a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS-ANGLE:CAPS" title="HKL_PARAMETER_DEFAULTS_ANGLE">HKL_PARAMETER_DEFAULTS_ANGLE</a>
+#define             <a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-ERROR:CAPS" title="HKL_PARAMETER_ERROR">HKL_PARAMETER_ERROR</a>
+#define             <a class="link" href="hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS" title="HKL_PARAMETER_OPERATIONS_DEFAULTS">HKL_PARAMETER_OPERATIONS_DEFAULTS</a>
+                    <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter">HklParameter</a>;
+enum                <a class="link" href="hkl-hkl-parameter-private.html#HklParameterError" title="enum HklParameterError">HklParameterError</a>;
+struct              <a class="link" href="hkl-hkl-parameter-private.html#HklParameterOperations" title="struct HklParameterOperations">HklParameterOperations</a>;
+double              <a class="link" href="hkl-hkl-parameter-private.html#alea" title="alea">alea</a>;
+typedef             <a class="link" href="hkl-hkl-parameter-private.html#darray-parameter" title="darray_parameter">darray_parameter</a>;
+HklPseudoAxis *     <a class="link" href="hkl-hkl-parameter-private.html#dup" title="dup">dup</a>;
+double              <a class="link" href="hkl-hkl-parameter-private.html#factor" title="factor">factor</a>;
+<span class="returnvalue">else</span>                <a class="link" href="hkl-hkl-parameter-private.html#fprintf" title="fprintf ()">fprintf</a>                             (<em class="parameter"><code><span class="type">f</span> Param1</code></em>);
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-fprintf" title="hkl_parameter_fprintf ()">hkl_parameter_fprintf</a>               (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-init-copy" title="hkl_parameter_init_copy ()">hkl_parameter_init_copy</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *src</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-is-valid" title="hkl_parameter_is_valid ()">hkl_parameter_is_valid</a>              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-new" title="hkl_parameter_new ()">hkl_parameter_new</a>                   (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *description</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> min</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> value</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> max</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> fit</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> changed</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *punit</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest" title="hkl_parameter_value_get_closest ()">hkl_parameter_value_get_closest</a>     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *ref</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range" title="hkl_parameter_value_set_smallest_in_range ()">hkl_parameter_value_set_smallest_in_range</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-parameter-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-parameter-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="fprintf"></a><h3>fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">else</span>
-fprintf (<em class="parameter"><code><span class="type">f</span> Param1</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-parameter-new"></a><h3>hkl_parameter_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *
-hkl_parameter_new (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
-                   <em class="parameter"><code>const <span class="type">char</span> *description</code></em>,
-                   <em class="parameter"><code><span class="type">double</span> min</code></em>,
-                   <em class="parameter"><code><span class="type">double</span> value</code></em>,
-                   <em class="parameter"><code><span class="type">double</span> max</code></em>,
-                   <em class="parameter"><code><span class="type">int</span> fit</code></em>,
-                   <em class="parameter"><code><span class="type">int</span> changed</code></em>,
-                   <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>,
-                   <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *punit</code></em>);</pre>
-<p>create a new <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.18.6.4.5"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
-<hr>
+<a name="hkl-hkl-parameter-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-parameter-init-copy"></a><h3>hkl_parameter_init_copy ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_parameter_init_copy (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *src</code></em>,
-                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.18.6.5.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>the parameter to copy from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>return location for a GError, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.18.6.5.5"></a><h4>Returns</h4>
-<p> TRUE on success, FALSE if an error occurred</p>
-<p></p>
-</div>
+<a name="HKL-PARAMETER-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_DEFAULTS</h3>
+<pre class="programlisting">#define HKL_PARAMETER_DEFAULTS .name="dummy", .description="no description", .range={.min=0, .max=0}, ._value=0, .unit=NULL, .punit=NULL, .fit=TRUE, .changed=TRUE, .ops = &hkl_parameter_operations_defaults
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-parameter-value-get-closest"></a><h3>hkl_parameter_value_get_closest ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_parameter_value_get_closest (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *ref</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.18.6.6.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ref</p></td>
-<td class="parameter_description"><p>the reference <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.18.6.6.5"></a><h4>Returns</h4>
-<p> the closest value of the ref <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> from the
-current self <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a></p>
-<p></p>
-</div>
+<a name="HKL-PARAMETER-DEFAULTS-ANGLE:CAPS"></a><h3>HKL_PARAMETER_DEFAULTS_ANGLE</h3>
+<pre class="programlisting">#define HKL_PARAMETER_DEFAULTS_ANGLE HKL_PARAMETER_DEFAULTS, .range={.min=-M_PI, .max=M_PI}, .unit = &hkl_unit_angle_rad, .punit = &hkl_unit_angle_deg
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-parameter-value-set-smallest-in-range"></a><h3>hkl_parameter_value_set_smallest_in_range ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_parameter_value_set_smallest_in_range
-                               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.18.6.7.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the this ptr</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
+<a name="HKL-PARAMETER-ERROR:CAPS"></a><h3>HKL_PARAMETER_ERROR</h3>
+<pre class="programlisting">#define HKL_PARAMETER_ERROR hkl_parameter_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-parameter-is-valid"></a><h3>hkl_parameter_is_valid ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_parameter_is_valid (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
-<p>check if the value of the <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> is in the min,max range</p>
-<div class="refsect3">
-<a name="id-1.2.18.6.8.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_OPERATIONS_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_PARAMETER_OPERATIONS_DEFAULTS</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-parameter-fprintf"></a><h3>hkl_parameter_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_parameter_fprintf (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
-<p>print into the <span class="type">FILE</span> f an <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a></p>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-parameter-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
 <a name="HklParameter"></a><h3>HklParameter</h3>
 <pre class="programlisting">typedef struct {
 	const char *name;
@@ -332,40 +116,11 @@ hkl_parameter_fprintf (<em class="parameter"><code><span class="type">FILE</span
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-PARAMETER-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_DEFAULTS</h3>
-<pre class="programlisting">#define HKL_PARAMETER_DEFAULTS .name="dummy", .description="no description", .range={.min=0, .max=0}, ._value=0, .unit=NULL, .punit=NULL, .fit=TRUE, .changed=TRUE, .ops = &hkl_parameter_operations_defaults
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HKL-PARAMETER-DEFAULTS-ANGLE:CAPS"></a><h3>HKL_PARAMETER_DEFAULTS_ANGLE</h3>
-<pre class="programlisting">#define HKL_PARAMETER_DEFAULTS_ANGLE HKL_PARAMETER_DEFAULTS, .range={.min=-M_PI, .max=M_PI}, .unit = &hkl_unit_angle_rad, .punit = &hkl_unit_angle_deg
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HKL-PARAMETER-ERROR:CAPS"></a><h3>HKL_PARAMETER_ERROR</h3>
-<pre class="programlisting">#define HKL_PARAMETER_ERROR hkl_parameter_error_quark ()
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="HklParameterError"></a><h3>enum HklParameterError</h3>
-<div class="refsect3">
-<a name="id-1.2.18.7.6.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="enum_member_name"><p><a name="HKL-PARAMETER-ERROR-MIN-MAX-SET:CAPS"></a>HKL_PARAMETER_ERROR_MIN_MAX_SET</p></td>
-<td> </td>
-<td> </td>
-</tr></tbody>
-</table></div>
-</div>
+<pre class="programlisting">typedef enum {
+	HKL_PARAMETER_ERROR_MIN_MAX_SET, /* can not set the min max */
+} HklParameterError;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -390,19 +145,20 @@ hkl_parameter_fprintf (<em class="parameter"><code><span class="type">FILE</span
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_OPERATIONS_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_PARAMETER_OPERATIONS_DEFAULTS</pre>
+<a name="alea"></a><h3>alea</h3>
+<pre class="programlisting">		double alea = (double)rand() / (RAND_MAX + 1.);
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="dup"></a><h3>dup</h3>
-<pre class="programlisting">	HklParameter *dup = HKL_MALLOC(HklParameter);
+<a name="darray-parameter"></a><h3>darray_parameter</h3>
+<pre class="programlisting">typedef darray(HklParameter *) darray_parameter;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="alea"></a><h3>alea</h3>
-<pre class="programlisting">		double alea = (double)rand() / (RAND_MAX + 1.);
+<a name="dup"></a><h3>dup</h3>
+<pre class="programlisting">	HklPseudoAxis *dup = HKL_MALLOC(HklPseudoAxis);
 </pre>
 </div>
 <hr>
@@ -413,14 +169,118 @@ hkl_parameter_fprintf (<em class="parameter"><code><span class="type">FILE</span
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-parameter"></a><h3>darray_parameter</h3>
-<pre class="programlisting">typedef darray(HklParameter *) darray_parameter;
-</pre>
+<a name="fprintf"></a><h3>fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">else</span>                fprintf                             (<em class="parameter"><code><span class="type">f</span> Param1</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-fprintf"></a><h3>hkl_parameter_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_parameter_fprintf               (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
+<p>
+print into the <span class="type">FILE</span> f an <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-init-copy"></a><h3>hkl_parameter_init_copy ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_parameter_init_copy             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *src</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>the parameter to copy from</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
+<td>return location for a GError, or NULL</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE on success, FALSE if an error occurred</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-is-valid"></a><h3>hkl_parameter_is_valid ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_parameter_is_valid              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
+<p>
+check if the value of the <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> is in the min,max range
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-new"></a><h3>hkl_parameter_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="returnvalue">HklParameter</span></a> *      hkl_parameter_new                   (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *description</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> min</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> value</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> max</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> fit</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> changed</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *punit</code></em>);</pre>
+<p>
+create a new <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-value-get-closest"></a><h3>hkl_parameter_value_get_closest ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_parameter_value_get_closest     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *ref</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ref</code></em> :</span></p></td>
+<td>the reference <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the closest value of the ref <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> from the
+current self <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-parameter-value-set-smallest-in-range"></a><h3>hkl_parameter_value_set_smallest_in_range ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_parameter_value_set_smallest_in_range
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter"><span class="type">HklParameter</span></a> *self</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the this ptr</td>
+</tr></tbody>
+</table></div>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-auto-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-auto-private.html
index 30ef3a1..286c05d 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-auto-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-auto-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-auto-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-auto-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-parameter-private.html" title="hkl-parameter-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-auto-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-parameter-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-eulerians-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-parameter-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-eulerians-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-auto-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-auto-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-auto-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,129 +33,54 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-auto-private.top_of_page"></a>hkl-pseudoaxis-auto-private</span></h2>
 <p>hkl-pseudoaxis-auto-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-auto-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#CHECK-NAN:CAPS" title="CHECK_NAN()">CHECK_NAN</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO:CAPS" title="HKL_MODE_AUTO_INFO()">HKL_MODE_AUTO_INFO</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO-WITH-PARAMS:CAPS" title="HKL_MODE_AUTO_INFO_WITH_PARAMS()">HKL_MODE_AUTO_INFO_WITH_PARAMS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new" title="hkl_mode_auto_new ()">hkl_mode_auto_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init" title="hkl_mode_auto_init ()">hkl_mode_auto_init</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real" title="hkl_mode_auto_set_real ()">hkl_mode_auto_set_real</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new" title="hkl_mode_auto_with_init_new ()">hkl_mode_auto_with_init_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-auto-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklFunction" title="struct HklFunction">HklFunction</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#darray-function" title="darray_function">darray_function</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo">HklModeAutoInfo</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_AUTO_DEFAULTS">HKL_MODE_OPERATIONS_AUTO_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoWithInit" title="struct HklModeAutoWithInit">HklModeAutoWithInit</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS" title="HKL_MODE_AUTO_WITH_INIT_ERROR">HKL_MODE_AUTO_WITH_INIT_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeError" title="enum HklModeError">HklModeError</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS">HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklModeAutoWithInit *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#self" title="self">self</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-auto-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#CHECK-NAN:CAPS" title="CHECK_NAN()">CHECK_NAN</a>                           (x,
+                                                         len)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO:CAPS" title="HKL_MODE_AUTO_INFO()">HKL_MODE_AUTO_INFO</a>                  (_name,
+                                                         _axes_r,
+                                                         _axes_w,
+                                                         _fn)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO-WITH-PARAMS:CAPS" title="HKL_MODE_AUTO_INFO_WITH_PARAMS()">HKL_MODE_AUTO_INFO_WITH_PARAMS</a>      (_name,
+                                                         _axes_r,
+                                                         _axes_w,
+                                                         _fn,
+                                                         _parameters)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS" title="HKL_MODE_AUTO_WITH_INIT_ERROR">HKL_MODE_AUTO_WITH_INIT_ERROR</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_AUTO_DEFAULTS">HKL_MODE_OPERATIONS_AUTO_DEFAULTS</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS">HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</a>
+struct              <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklFunction" title="struct HklFunction">HklFunction</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo">HklModeAutoInfo</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoWithInit" title="struct HklModeAutoWithInit">HklModeAutoWithInit</a>;
+enum                <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeError" title="enum HklModeError">HklModeError</a>;
+typedef             <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#darray-function" title="darray_function">darray_function</a>;
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init" title="hkl_mode_auto_init ()">hkl_mode_auto_init</a>                  (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);
+<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new" title="hkl_mode_auto_new ()">hkl_mode_auto_new</a>                   (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</co [...]
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real" title="hkl_mode_auto_set_real ()">hkl_mode_auto_set_real</a>              (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new" title="hkl_mode_auto_with_init_new ()">hkl_mode_auto_with_init_new</a>         (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span [...]
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);
+HklMode *           <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#self" title="self">self</a>;
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-auto-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-auto-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-pseudoaxis-auto-private.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="CHECK-NAN:CAPS"></a><h3>CHECK_NAN()</h3>
 <pre class="programlisting">#define             CHECK_NAN(x, len)</pre>
@@ -170,50 +99,22 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-auto-new"></a><h3>hkl_mode_auto_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-hkl_mode_auto_new (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</code></em>,
-                   <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
-                   <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-mode-auto-init"></a><h3>hkl_mode_auto_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_mode_auto_init (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
-                    <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
+<a name="HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS"></a><h3>HKL_MODE_AUTO_WITH_INIT_ERROR</h3>
+<pre class="programlisting">#define HKL_MODE_AUTO_WITH_INIT_ERROR hkl_mode_auto_with_init_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-auto-set-real"></a><h3>hkl_mode_auto_set_real ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_mode_auto_set_real (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
-                        <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
-                        <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+<a name="HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_AUTO_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_MODE_OPERATIONS_AUTO_DEFAULTS</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
+<a name="HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-auto-with-init-new"></a><h3>hkl_mode_auto_with_init_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-hkl_mode_auto_with_init_new (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *info</code></em>,
-                             <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
-                             <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-auto-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
 <a name="HklFunction"></a><h3>struct HklFunction</h3>
 <pre class="programlisting">struct HklFunction {
 	const uint size;
@@ -223,12 +124,6 @@ hkl_mode_auto_with_init_new (<em class="parameter"><code>const <a class="link" h
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-function"></a><h3>darray_function</h3>
-<pre class="programlisting">typedef darray(const HklFunction*) darray_function;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="HklModeAutoInfo"></a><h3>struct HklModeAutoInfo</h3>
 <pre class="programlisting">struct HklModeAutoInfo {
 	const HklModeInfo info;
@@ -238,11 +133,6 @@ hkl_mode_auto_with_init_new (<em class="parameter"><code>const <a class="link" h
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_AUTO_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_MODE_OPERATIONS_AUTO_DEFAULTS</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="HklModeAutoWithInit"></a><h3>struct HklModeAutoWithInit</h3>
 <pre class="programlisting">struct HklModeAutoWithInit {
 	HklMode mode;
@@ -254,44 +144,65 @@ hkl_mode_auto_with_init_new (<em class="parameter"><code>const <a class="link" h
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS"></a><h3>HKL_MODE_AUTO_WITH_INIT_ERROR</h3>
-<pre class="programlisting">#define HKL_MODE_AUTO_WITH_INIT_ERROR hkl_mode_auto_with_init_error_quark ()
+<a name="HklModeError"></a><h3>enum HklModeError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_MODE_AUTO_WITH_INIT_ERROR_INIT /* can not set the pseudo axis engine */
+} HklModeError;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklModeError"></a><h3>enum HklModeError</h3>
-<div class="refsect3">
-<a name="id-1.2.19.7.8.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="enum_member_name"><p><a name="HKL-MODE-AUTO-WITH-INIT-ERROR-INIT:CAPS"></a>HKL_MODE_AUTO_WITH_INIT_ERROR_INIT</p></td>
-<td> </td>
-<td> </td>
-</tr></tbody>
-</table></div>
+<a name="darray-function"></a><h3>darray_function</h3>
+<pre class="programlisting">typedef darray(const HklFunction*) darray_function;
+</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS</pre>
+<a name="hkl-mode-auto-init"></a><h3>hkl_mode_auto_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_mode_auto_init                  (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-mode-auto-new"></a><h3>hkl_mode_auto_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           hkl_mode_auto_new                   (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *auto_info</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-mode-auto-set-real"></a><h3>hkl_mode_auto_set_real ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_mode_auto_set_real              (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-mode-auto-with-init-new"></a><h3>hkl_mode_auto_with_init_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           hkl_mode_auto_with_init_new         (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *info</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations"><span class="type">HklModeOperations</span></a> *ops</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="self"></a><h3>self</h3>
-<pre class="programlisting">	HklModeAutoWithInit *self = container_of(mode, HklModeAutoWithInit, mode);
+<pre class="programlisting">	HklMode *self = NULL;
 </pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-common-eulerians-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-common-eulerians-private.html
index 94b65e8..184cf6b 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-common-eulerians-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-common-eulerians-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-common-eulerians-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-common-eulerians-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-auto-private.html" title="hkl-pseudoaxis-auto-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-common-eulerians-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-auto-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-hkl-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-auto-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-hkl-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-common-eulerians-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-common-eulerians-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-common-eulerians-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,73 +33,26 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-common-eulerians-private.top_of_page"></a>hkl-pseudoaxis-common-eulerians-private</span></h2>
 <p>hkl-pseudoaxis-common-eulerians-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-eulerians-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new" title="hkl_engine_eulerians_new ()">hkl_engine_eulerians_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap" title="kappa_2_kappap ()">kappa_2_kappap</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-eulerians-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#HklEngineEulerians" title="struct HklEngineEulerians">HklEngineEulerians</a></td>
-</tr></tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-common-eulerians-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">struct              <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#HklEngineEulerians" title="struct HklEngineEulerians">HklEngineEulerians</a>;
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new" title="hkl_engine_eulerians_new ()">hkl_engine_eulerians_new</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap" title="kappa_2_kappap ()">kappa_2_kappap</a>                      (<em class="parameter"><code><span class="type">double</span> komega</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> kappa</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> kphi</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> alpha</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *komegap</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *kappap</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *kphip</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-common-eulerians-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-eulerians-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="hkl-engine-eulerians-new"></a><h3>hkl_engine_eulerians_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_eulerians_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="kappa-2-kappap"></a><h3>kappa_2_kappap ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-kappa_2_kappap (<em class="parameter"><code><span class="type">double</span> komega</code></em>,
-                <em class="parameter"><code><span class="type">double</span> kappa</code></em>,
-                <em class="parameter"><code><span class="type">double</span> kphi</code></em>,
-                <em class="parameter"><code><span class="type">double</span> alpha</code></em>,
-                <em class="parameter"><code><span class="type">double</span> *komegap</code></em>,
-                <em class="parameter"><code><span class="type">double</span> *kappap</code></em>,
-                <em class="parameter"><code><span class="type">double</span> *kphip</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-eulerians-private.other_details"></a><h2>Types and Values</h2>
+<a name="hkl-hkl-pseudoaxis-common-eulerians-private.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="HklEngineEulerians"></a><h3>struct HklEngineEulerians</h3>
 <pre class="programlisting">struct HklEngineEulerians {
@@ -106,10 +63,26 @@ kappa_2_kappap (<em class="parameter"><code><span class="type">double</span> kom
 };
 </pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-engine-eulerians-new"></a><h3>hkl_engine_eulerians_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_eulerians_new            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="kappa-2-kappap"></a><h3>kappa_2_kappap ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                kappa_2_kappap                      (<em class="parameter"><code><span class="type">double</span> komega</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> kappa</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> kphi</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> alpha</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *komegap</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *kappap</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *kphip</code></em>);</pre>
+</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-common-hkl-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-common-hkl-private.html
index 2b0e60b..8d44caa 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-common-hkl-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-common-hkl-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-common-hkl-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-common-hkl-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-common-eulerians-private.html" title="hkl-pseudoaxis-common-eulerians-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-common-hkl-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-eulerians-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-psi-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-eulerians-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-psi-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-common-hkl-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-common-hkl-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-common-hkl-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,179 +33,121 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-common-hkl-private.top_of_page"></a>hkl-pseudoaxis-common-hkl-private</span></h2>
 <p>hkl-pseudoaxis-common-hkl-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-hkl-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q" title="RUBh_minus_Q ()">RUBh_minus_Q</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real" title="hkl_mode_get_hkl_real ()">hkl_mode_get_hkl_real</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real" title="hkl_mode_set_hkl_real ()">hkl_mode_set_hkl_real</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real" title="hkl_mode_initialized_set_psi_constant_vertical_real ()">hkl_mode_initialized_set_psi_constant_vertical_real</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new" title="hkl_engine_hkl_new ()">hkl_engine_hkl_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#CONSTANT-PARAMETER:CAPS" title="CONSTANT_PARAMETER()">CONSTANT_PARAMETER</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS" title="PSI_CONSTANT_PARAMETERS()">PSI_CONSTANT_PARAMETERS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-hkl-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl" title="struct HklEngineHkl">HklEngineHkl</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_HKL_DEFAULTS">HKL_MODE_OPERATIONS_HKL_DEFAULTS</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-common-hkl-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#CONSTANT-PARAMETER:CAPS" title="CONSTANT_PARAMETER()">CONSTANT_PARAMETER</a>                  (_name)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_HKL_DEFAULTS">HKL_MODE_OPERATIONS_HKL_DEFAULTS</a>
+struct              <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl" title="struct HklEngineHkl">HklEngineHkl</a>;
+#define             <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS" title="PSI_CONSTANT_PARAMETERS()">PSI_CONSTANT_PARAMETERS</a>             (_h2,
+                                                         _k2,
+                                                         _l2,
+                                                         _psi)
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q" title="RUBh_minus_Q ()">RUBh_minus_Q</a>                        (<em class="parameter"><code><span class="type">double</span> const x[]</code></em>,
+                                                         <em class="parameter"><code><span class="type">void</span> *params</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> f[]</code></em>);
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new" title="hkl_engine_hkl_new ()">hkl_engine_hkl_new</a>                  (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real" title="hkl_mode_get_hkl_real ()">hkl_mode_get_hkl_real</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real" title="hkl_mode_initialized_set_psi_constant_vertical_real ()">hkl_mode_initialized_set_psi_constant_vertical_real</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *base</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real" title="hkl_mode_set_hkl_real ()">hkl_mode_set_hkl_real</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-common-hkl-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-hkl-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-pseudoaxis-common-hkl-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="RUBh-minus-Q"></a><h3>RUBh_minus_Q ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-RUBh_minus_Q (<em class="parameter"><code><span class="type">double</span> const x[]</code></em>,
-              <em class="parameter"><code><span class="type">void</span> *params</code></em>,
-              <em class="parameter"><code><span class="type">double</span> f[]</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.21.6.2.4"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="CONSTANT-PARAMETER:CAPS"></a><h3>CONSTANT_PARAMETER()</h3>
+<pre class="programlisting">#define             CONSTANT_PARAMETER(_name)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-get-hkl-real"></a><h3>hkl_mode_get_hkl_real ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_mode_get_hkl_real (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
-                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+<a name="HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_HKL_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_MODE_OPERATIONS_HKL_DEFAULTS</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-set-hkl-real"></a><h3>hkl_mode_set_hkl_real ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_mode_set_hkl_real (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
-                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+<a name="HklEngineHkl"></a><h3>struct HklEngineHkl</h3>
+<pre class="programlisting">struct HklEngineHkl {
+	HklEngine engine;
+	HklParameter *h;
+	HklParameter *k;
+	HklParameter *l;
+};
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-mode-initialized-set-psi-constant-vertical-real"></a><h3>hkl_mode_initialized_set_psi_constant_vertical_real ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_mode_initialized_set_psi_constant_vertical_real
-                               (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *base</code></em>,
-                                <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
-                                <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
-                                <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
-                                <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
-                                <em class="parameter"><code><span class="type">int</span> initialized</code></em>,
-                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+<a name="PSI-CONSTANT-PARAMETERS:CAPS"></a><h3>PSI_CONSTANT_PARAMETERS()</h3>
+<pre class="programlisting">#define             PSI_CONSTANT_PARAMETERS(_h2, _k2, _l2, _psi)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-engine-hkl-new"></a><h3>hkl_engine_hkl_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_hkl_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="RUBh-minus-Q"></a><h3>RUBh_minus_Q ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 RUBh_minus_Q                        (<em class="parameter"><code><span class="type">double</span> const x[]</code></em>,
+                                                         <em class="parameter"><code><span class="type">void</span> *params</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> f[]</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="CONSTANT-PARAMETER:CAPS"></a><h3>CONSTANT_PARAMETER()</h3>
-<pre class="programlisting">#define             CONSTANT_PARAMETER(_name)</pre>
+<a name="hkl-engine-hkl-new"></a><h3>hkl_engine_hkl_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_hkl_new                  (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="PSI-CONSTANT-PARAMETERS:CAPS"></a><h3>PSI_CONSTANT_PARAMETERS()</h3>
-<pre class="programlisting">#define             PSI_CONSTANT_PARAMETERS(_h2, _k2, _l2, _psi)</pre>
-</div>
+<a name="hkl-mode-get-hkl-real"></a><h3>hkl_mode_get_hkl_real ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_mode_get_hkl_real               (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-hkl-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HklEngineHkl"></a><h3>struct HklEngineHkl</h3>
-<pre class="programlisting">struct HklEngineHkl {
-	HklEngine engine;
-	HklParameter *h;
-	HklParameter *k;
-	HklParameter *l;
-};
-</pre>
+<a name="hkl-mode-initialized-set-psi-constant-vertical-real"></a><h3>hkl_mode_initialized_set_psi_constant_vertical_real ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_mode_initialized_set_psi_constant_vertical_real
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *base</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> initialized</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_HKL_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_MODE_OPERATIONS_HKL_DEFAULTS</pre>
+<a name="hkl-mode-set-hkl-real"></a><h3>hkl_mode_set_hkl_real ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_mode_set_hkl_real               (<em class="parameter"><code><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="type">HklMode</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="type">HklEngine</span></a> *engine</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry"><span class="type">HklGeometry</span></a> *geometry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector"><span class="type">HklDetector</span></a> *detector</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *sample</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-common-psi-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-common-psi-private.html
index 3411b97..03e7d90 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-common-psi-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-common-psi-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-common-psi-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-common-psi-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-common-hkl-private.html" title="hkl-pseudoaxis-common-hkl-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-common-psi-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-hkl-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-q-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-hkl-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-common-q-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-common-psi-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-common-psi-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-common-psi-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,74 +33,31 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-common-psi-private.top_of_page"></a>hkl-pseudoaxis-common-psi-private</span></h2>
 <p>hkl-pseudoaxis-common-psi-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-psi-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new" title="hkl_mode_psi_new ()">hkl_mode_psi_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new" title="hkl_engine_psi_new ()">hkl_engine_psi_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-psi-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi" title="struct HklModePsi">HklModePsi</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#HklEnginePsi" title="struct HklEnginePsi">HklEnginePsi</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-common-psi-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">struct              <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#HklEnginePsi" title="struct HklEnginePsi">HklEnginePsi</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi" title="struct HklModePsi">HklModePsi</a>;
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new" title="hkl_engine_psi_new ()">hkl_engine_psi_new</a>                  (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           <a class="link" href="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new" title="hkl_mode_psi_new ()">hkl_mode_psi_new</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *info</cod [...]
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-common-psi-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-psi-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-pseudoaxis-common-psi-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-mode-psi-new"></a><h3>hkl_mode_psi_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *
-hkl_mode_psi_new (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *info</code></em>);</pre>
+<a name="HklEnginePsi"></a><h3>struct HklEnginePsi</h3>
+<pre class="programlisting">struct HklEnginePsi {
+	HklEngine engine;
+	HklParameter *psi;
+};
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-engine-psi-new"></a><h3>hkl_engine_psi_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_psi_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-psi-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
 <a name="HklModePsi"></a><h3>struct HklModePsi</h3>
 <pre class="programlisting">struct HklModePsi {
 	HklMode parent;
@@ -107,17 +68,18 @@ hkl_engine_psi_new (<em class="parameter"><code><span class="type">void</span></
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEnginePsi"></a><h3>struct HklEnginePsi</h3>
-<pre class="programlisting">struct HklEnginePsi {
-	HklEngine engine;
-	HklParameter *psi;
-};
-</pre>
+<a name="hkl-engine-psi-new"></a><h3>hkl_engine_psi_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_psi_new                  (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-mode-psi-new"></a><h3>hkl_mode_psi_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode"><span class="returnvalue">HklMode</span></a> *           hkl_mode_psi_new                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo" title="struct HklModeAutoInfo"><span class="type">HklModeAutoInfo</span></a> *info</code></em>);</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-common-q-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-common-q-private.html
index f4824a2..44c1dc5 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-common-q-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-common-q-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-common-q-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-common-q-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-common-psi-private.html" title="hkl-pseudoaxis-common-psi-private">
 <link rel="next" href="hkl-hkl-pseudoaxis-private.html" title="hkl-pseudoaxis-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-common-q-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-psi-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-pseudoaxis-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-psi-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-pseudoaxis-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-common-q-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-common-q-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-common-q-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,123 +33,62 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-common-q-private.top_of_page"></a>hkl-pseudoaxis-common-q-private</span></h2>
 <p>hkl-pseudoaxis-common-q-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-q-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#qmax" title="qmax ()">qmax</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new" title="hkl_engine_q_new ()">hkl_engine_q_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new" title="hkl_engine_q2_new ()">hkl_engine_q2_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new" title="hkl_engine_qper_qpar_new ()">hkl_engine_qper_qpar_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-q-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ" title="HklEngineQ">HklEngineQ</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ2" title="HklEngineQ2">HklEngineQ2</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQperQpar" title="HklEngineQperQpar">HklEngineQperQpar</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-common-q-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">                    <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ" title="HklEngineQ">HklEngineQ</a>;
+                    <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ2" title="HklEngineQ2">HklEngineQ2</a>;
+                    <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQperQpar" title="HklEngineQperQpar">HklEngineQperQpar</a>;
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new" title="hkl_engine_q2_new ()">hkl_engine_q2_new</a>                   (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new" title="hkl_engine_q_new ()">hkl_engine_q_new</a>                    (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new" title="hkl_engine_qper_qpar_new ()">hkl_engine_qper_qpar_new</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-pseudoaxis-common-q-private.html#qmax" title="qmax ()">qmax</a>                                (<em class="parameter"><code><span class="type">double</span> wavelength</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-common-q-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-q-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-pseudoaxis-common-q-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="qmax"></a><h3>qmax ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-qmax (<em class="parameter"><code><span class="type">double</span> wavelength</code></em>);</pre>
+<a name="HklEngineQ"></a><h3>HklEngineQ</h3>
+<pre class="programlisting">typedef struct _HklEngineQ HklEngineQ;</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-engine-q-new"></a><h3>hkl_engine_q_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_q_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="HklEngineQ2"></a><h3>HklEngineQ2</h3>
+<pre class="programlisting">typedef struct _HklEngineQ2 HklEngineQ2;</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-engine-q2-new"></a><h3>hkl_engine_q2_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_q2_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="HklEngineQperQpar"></a><h3>HklEngineQperQpar</h3>
+<pre class="programlisting">typedef struct _HklEngineQperQpar HklEngineQperQpar;</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-engine-qper-qpar-new"></a><h3>hkl_engine_qper_qpar_new ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *
-hkl_engine_qper_qpar_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
+<a name="hkl-engine-q2-new"></a><h3>hkl_engine_q2_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_q2_new                   (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-common-q-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HklEngineQ"></a><h3>HklEngineQ</h3>
-<pre class="programlisting">typedef struct _HklEngineQ HklEngineQ;</pre>
+<a name="hkl-engine-q-new"></a><h3>hkl_engine_q_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_q_new                    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineQ2"></a><h3>HklEngineQ2</h3>
-<pre class="programlisting">typedef struct _HklEngineQ2 HklEngineQ2;</pre>
+<a name="hkl-engine-qper-qpar-new"></a><h3>hkl_engine_qper_qpar_new ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine"><span class="returnvalue">HklEngine</span></a> *         hkl_engine_qper_qpar_new            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineQperQpar"></a><h3>HklEngineQperQpar</h3>
-<pre class="programlisting">typedef struct _HklEngineQperQpar HklEngineQperQpar;</pre>
+<a name="qmax"></a><h3>qmax ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              qmax                                (<em class="parameter"><code><span class="type">double</span> wavelength</code></em>);</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-pseudoaxis-private.html b/Documentation/api/html/hkl-hkl-pseudoaxis-private.html
index 372d6c8..8389d20 100644
--- a/Documentation/api/html/hkl-hkl-pseudoaxis-private.html
+++ b/Documentation/api/html/hkl-hkl-pseudoaxis-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-pseudoaxis-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-pseudoaxis-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-common-q-private.html" title="hkl-pseudoaxis-common-q-private">
 <link rel="next" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-pseudoaxis-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-q-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-quaternion-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-common-q-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-quaternion-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-pseudoaxis-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-pseudoaxis-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-pseudoaxis-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,139 +33,64 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-pseudoaxis-private.top_of_page"></a>hkl-pseudoaxis-private</span></h2>
 <p>hkl-pseudoaxis-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO:CAPS" title="HKL_MODE_INFO()">HKL_MODE_INFO</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO-WITH-PARAMS:CAPS" title="HKL_MODE_INFO_WITH_PARAMS()">HKL_MODE_INFO_WITH_PARAMS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#darray-mode" title="darray_mode">darray_mode</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklPseudoAxis" title="struct HklPseudoAxis">HklPseudoAxis</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS" title="HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS">HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklPseudoAxis *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#pseudo-axis" title="pseudo_axis">pseudo_axis</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklParameter *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-parameter-private.html#dup" title="dup">dup</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeInfo" title="struct HklModeInfo">HklModeInfo</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations">HklModeOperations</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-OPERATIONS-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_DEFAULTS">HKL_MODE_OPERATIONS_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode">HklMode</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklModeAutoWithInit *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#self" title="self">self</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineInfo" title="struct HklEngineInfo">HklEngineInfo</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine">HklEngine</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList">HklEngineList</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS" title="HKL_ENGINE_ERROR">HKL_ENGINE_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineError" title="enum HklEngineError">HklEngineError</a></td>
-</tr>
-<tr>
-<td class="variable_type">uint </td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#i" title="i">i</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineOperations" title="struct HklEngineOperations">HklEngineOperations</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS" title="HKL_ENGINE_OPERATIONS_DEFAULTS">HKL_ENGINE_OPERATIONS_DEFAULTS</a></td>
-</tr>
-<tr>
-<td class="variable_type">HklParameter *</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#axis" title="axis">axis</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS" title="HKL_ENGINE_LIST_ERROR">HKL_ENGINE_LIST_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineListError" title="enum HklEngineListError">HklEngineListError</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-pseudoaxis-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS" title="HKL_ENGINE_ERROR">HKL_ENGINE_ERROR</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS" title="HKL_ENGINE_LIST_ERROR">HKL_ENGINE_LIST_ERROR</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS" title="HKL_ENGINE_OPERATIONS_DEFAULTS">HKL_ENGINE_OPERATIONS_DEFAULTS</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO:CAPS" title="HKL_MODE_INFO()">HKL_MODE_INFO</a>                       (_name,
+                                                         _axes_r,
+                                                         _axes_w)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO-WITH-PARAMS:CAPS" title="HKL_MODE_INFO_WITH_PARAMS()">HKL_MODE_INFO_WITH_PARAMS</a>           (_name,
+                                                         _axes_r,
+                                                         _axes_w,
+                                                         _parameters)
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-MODE-OPERATIONS-DEFAULTS:CAPS" title="HKL_MODE_OPERATIONS_DEFAULTS">HKL_MODE_OPERATIONS_DEFAULTS</a>
+#define             <a class="link" href="hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS" title="HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS">HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</a>
+                    <a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine">HklEngine</a>;
+enum                <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineError" title="enum HklEngineError">HklEngineError</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineInfo" title="struct HklEngineInfo">HklEngineInfo</a>;
+                    <a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList">HklEngineList</a>;
+enum                <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineListError" title="enum HklEngineListError">HklEngineListError</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklEngineOperations" title="struct HklEngineOperations">HklEngineOperations</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklMode" title="struct HklMode">HklMode</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeInfo" title="struct HklModeInfo">HklModeInfo</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklModeOperations" title="struct HklModeOperations">HklModeOperations</a>;
+struct              <a class="link" href="hkl-hkl-pseudoaxis-private.html#HklPseudoAxis" title="struct HklPseudoAxis">HklPseudoAxis</a>;
+HklParameter *      <a class="link" href="hkl-hkl-pseudoaxis-private.html#axis" title="axis">axis</a>;
+typedef             <a class="link" href="hkl-hkl-pseudoaxis-private.html#darray-mode" title="darray_mode">darray_mode</a>;
+HklPseudoAxis *     <a class="link" href="hkl-hkl-parameter-private.html#dup" title="dup">dup</a>;
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+uint                <a class="link" href="hkl-hkl-pseudoaxis-private.html#i" title="i">i</a>;
+HklPseudoAxis *     <a class="link" href="hkl-hkl-pseudoaxis-private.html#pseudo-axis" title="pseudo_axis">pseudo_axis</a>;
+HklMode *           <a class="link" href="hkl-hkl-pseudoaxis-auto-private.html#self" title="self">self</a>;
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-pseudoaxis-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-pseudoaxis-private.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="HKL-ENGINE-ERROR:CAPS"></a><h3>HKL_ENGINE_ERROR</h3>
+<pre class="programlisting">#define HKL_ENGINE_ERROR hkl_engine_error_quark ()
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HKL-ENGINE-LIST-ERROR:CAPS"></a><h3>HKL_ENGINE_LIST_ERROR</h3>
+<pre class="programlisting">#define HKL_ENGINE_LIST_ERROR hkl_engine_list_error_quark ()
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_ENGINE_OPERATIONS_DEFAULTS</h3>
+<pre class="programlisting">#define HKL_ENGINE_OPERATIONS_DEFAULTS .free=hkl_engine_free_real
+</pre>
+</div>
+<hr>
 <div class="refsect2">
 <a name="HKL-MODE-INFO:CAPS"></a><h3>HKL_MODE_INFO()</h3>
 <pre class="programlisting">#define HKL_MODE_INFO(_name, _axes_r, _axes_w) .name=_name, .axes_r=DARRAY(_axes_r), .axes_w=DARRAY(_axes_w)
@@ -174,42 +103,97 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
+<a name="HKL-MODE-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_MODE_OPERATIONS_DEFAULTS</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</h3>
+<pre class="programlisting">#define             HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="HklEngine"></a><h3>HklEngine</h3>
+<pre class="programlisting">typedef struct {
+	const HklEngineInfo *info;
+	const HklEngineOperations *ops;
+	HklGeometry *geometry;
+	HklDetector *detector;
+	HklSample *sample;
+	HklMode *mode; /* not owned */
+	HklEngineList *engines; /* not owned */
+	darray_parameter axes;
+	darray_parameter pseudo_axes;
+	darray_string pseudo_axis_names;
+	darray_mode modes;
+	darray_string mode_names;
+} HklEngine;
+</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-pseudoaxis-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="darray-mode"></a><h3>darray_mode</h3>
-<pre class="programlisting">typedef darray(HklMode *) darray_mode;
+<a name="HklEngineError"></a><h3>enum HklEngineError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_GET, /* can not get the engine pseudo axes values */
+	HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_SET, /* can not set the engine pseudo axes values */
+	HKL_ENGINE_ERROR_PSEUDO_AXIS_SET, /* can not set the pseudo axis */
+	HKL_ENGINE_ERROR_INITIALIZE, /* can not initialize the engine */
+	HKL_ENGINE_ERROR_SET, /* can not set the engine */
+	HKL_ENGINE_ERROR_GET, /* can not get the engine */
+	HKL_ENGINE_ERROR_PARAMETER_GET, /* can not get the parameter */
+	HKL_ENGINE_ERROR_PARAMETER_SET, /* can not set the parameter */
+	HKL_ENGINE_ERROR_CURRENT_MODE_SET, /* can not select the mode */
+} HklEngineError;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklPseudoAxis"></a><h3>struct HklPseudoAxis</h3>
-<pre class="programlisting">struct HklPseudoAxis {
-	HklParameter parameter;
-	HklEngine *engine;
+<a name="HklEngineInfo"></a><h3>struct HklEngineInfo</h3>
+<pre class="programlisting">struct HklEngineInfo {
+	const char *name;
+	const darray(const HklPseudoAxis *) pseudo_axes;
 };
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS"></a><h3>HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS</pre>
+<a name="HklEngineList"></a><h3>HklEngineList</h3>
+<pre class="programlisting">typedef struct {
+	_darray(HklEngine *);
+	HklGeometryList *geometries;
+	HklGeometry *geometry;
+	HklDetector *detector;
+	HklSample *sample;
+} HklEngineList;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="pseudo-axis"></a><h3>pseudo_axis</h3>
-<pre class="programlisting">	HklPseudoAxis *pseudo_axis = container_of(self, HklPseudoAxis, parameter);
+<a name="HklEngineListError"></a><h3>enum HklEngineListError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_ENGINE_LIST_ERROR_ENGINE_GET_BY_NAME, /* can not set this geometry */
+	HKL_ENGINE_LIST_ERROR_PSEUDO_AXIS_GET_BY_NAME, /* can not set this geometry */
+} HklEngineListError;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="dup"></a><h3>dup</h3>
-<pre class="programlisting">	HklParameter *dup = HKL_MALLOC(HklParameter);
+<a name="HklEngineOperations"></a><h3>struct HklEngineOperations</h3>
+<pre class="programlisting">struct HklEngineOperations {
+	void (*free)(HklEngine *self);
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HklMode"></a><h3>struct HklMode</h3>
+<pre class="programlisting">struct HklMode {
+	const HklModeInfo *info;
+	const HklModeOperations *ops;
+	darray_parameter parameters;
+	darray_string parameters_names;
+	int initialized;
+};
 </pre>
 </div>
 <hr>
@@ -255,133 +239,35 @@ g_quark_from_static_string ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-MODE-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_MODE_OPERATIONS_DEFAULTS</h3>
-<pre class="programlisting">#define             HKL_MODE_OPERATIONS_DEFAULTS</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklMode"></a><h3>struct HklMode</h3>
-<pre class="programlisting">struct HklMode {
-	const HklModeInfo *info;
-	const HklModeOperations *ops;
-	darray_parameter parameters;
-	darray_string parameters_names;
-	int initialized;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="self"></a><h3>self</h3>
-<pre class="programlisting">	HklModeAutoWithInit *self = container_of(mode, HklModeAutoWithInit, mode);
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklEngineInfo"></a><h3>struct HklEngineInfo</h3>
-<pre class="programlisting">struct HklEngineInfo {
-	const char *name;
-	const darray(const HklPseudoAxis *) pseudo_axes;
+<a name="HklPseudoAxis"></a><h3>struct HklPseudoAxis</h3>
+<pre class="programlisting">struct HklPseudoAxis {
+	HklParameter parameter;
+	HklEngine *engine;
 };
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngine"></a><h3>HklEngine</h3>
-<pre class="programlisting">typedef struct {
-	const HklEngineInfo *info;
-	const HklEngineOperations *ops;
-	HklGeometry *geometry;
-	HklDetector *detector;
-	HklSample *sample;
-	HklMode *mode; /* not owned */
-	HklEngineList *engines; /* not owned */
-	darray_parameter axes;
-	darray_parameter pseudo_axes;
-	darray_string pseudo_axis_names;
-	darray_mode modes;
-	darray_string mode_names;
-} HklEngine;
+<a name="axis"></a><h3>axis</h3>
+<pre class="programlisting">			HklParameter *axis = hkl_geometry_get_axis_by_name(self->geometry,
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineList"></a><h3>HklEngineList</h3>
-<pre class="programlisting">typedef struct {
-	_darray(HklEngine *);
-	HklGeometryList *geometries;
-	HklGeometry *geometry;
-	HklDetector *detector;
-	HklSample *sample;
-} HklEngineList;
+<a name="darray-mode"></a><h3>darray_mode</h3>
+<pre class="programlisting">typedef darray(HklMode *) darray_mode;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-ENGINE-ERROR:CAPS"></a><h3>HKL_ENGINE_ERROR</h3>
-<pre class="programlisting">#define HKL_ENGINE_ERROR hkl_engine_error_quark ()
+<a name="dup"></a><h3>dup</h3>
+<pre class="programlisting">	HklPseudoAxis *dup = HKL_MALLOC(HklPseudoAxis);
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineError"></a><h3>enum HklEngineError</h3>
-<div class="refsect3">
-<a name="id-1.2.24.7.16.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-PSEUDO-AXIS-VALUES-GET:CAPS"></a>HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_GET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-PSEUDO-AXIS-VALUES-SET:CAPS"></a>HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-PSEUDO-AXIS-SET:CAPS"></a>HKL_ENGINE_ERROR_PSEUDO_AXIS_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-INITIALIZE:CAPS"></a>HKL_ENGINE_ERROR_INITIALIZE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-SET:CAPS"></a>HKL_ENGINE_ERROR_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-GET:CAPS"></a>HKL_ENGINE_ERROR_GET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-PARAMETER-GET:CAPS"></a>HKL_ENGINE_ERROR_PARAMETER_GET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-PARAMETER-SET:CAPS"></a>HKL_ENGINE_ERROR_PARAMETER_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-ERROR-CURRENT-MODE-SET:CAPS"></a>HKL_ENGINE_ERROR_CURRENT_MODE_SET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -391,60 +277,20 @@ g_quark_from_static_string ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineOperations"></a><h3>struct HklEngineOperations</h3>
-<pre class="programlisting">struct HklEngineOperations {
-	void (*free)(HklEngine *self);
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS"></a><h3>HKL_ENGINE_OPERATIONS_DEFAULTS</h3>
-<pre class="programlisting">#define HKL_ENGINE_OPERATIONS_DEFAULTS .free=hkl_engine_free_real
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="axis"></a><h3>axis</h3>
-<pre class="programlisting">			HklParameter *axis = hkl_geometry_get_axis_by_name(self->geometry,
+<a name="pseudo-axis"></a><h3>pseudo_axis</h3>
+<pre class="programlisting">	HklPseudoAxis *pseudo_axis = container_of(self, HklPseudoAxis, parameter);
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-ENGINE-LIST-ERROR:CAPS"></a><h3>HKL_ENGINE_LIST_ERROR</h3>
-<pre class="programlisting">#define HKL_ENGINE_LIST_ERROR hkl_engine_list_error_quark ()
+<a name="self"></a><h3>self</h3>
+<pre class="programlisting">	HklMode *self = NULL;
 </pre>
 </div>
-<hr>
-<div class="refsect2">
-<a name="HklEngineListError"></a><h3>enum HklEngineListError</h3>
-<div class="refsect3">
-<a name="id-1.2.24.7.22.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-LIST-ERROR-ENGINE-GET-BY-NAME:CAPS"></a>HKL_ENGINE_LIST_ERROR_ENGINE_GET_BY_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-LIST-ERROR-PSEUDO-AXIS-GET-BY-NAME:CAPS"></a>HKL_ENGINE_LIST_ERROR_PSEUDO_AXIS_GET_BY_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-quaternion-private.html b/Documentation/api/html/hkl-hkl-quaternion-private.html
index 1df48c1..0f05fb9 100644
--- a/Documentation/api/html/hkl-hkl-quaternion-private.html
+++ b/Documentation/api/html/hkl-hkl-quaternion-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-quaternion-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-quaternion-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-pseudoaxis-private.html" title="hkl-pseudoaxis-private">
 <link rel="next" href="hkl-hkl-sample-private.html" title="hkl-sample-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-quaternion-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-pseudoaxis-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-sample-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-pseudoaxis-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-sample-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-quaternion-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-quaternion-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-quaternion-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,519 +33,345 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-quaternion-private.top_of_page"></a>hkl-quaternion-private</span></h2>
 <p>hkl-quaternion-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-quaternion-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"><span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp" title="hkl_quaternion_cmp ()">hkl_quaternion_cmp</a>                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate" title="hkl_quaternion_conjugate ()">hkl_quaternion_conjugate</a>            (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="returnvalue">HklQuaternion</span></a> *     <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-dup" title="hkl_quaternion_dup ()">hkl_quaternion_dup</a>                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf" title="hkl_quaternion_fprintf ()">hkl_quaternion_fprintf</a>              (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-free" title="hkl_quaternion_free ()">hkl_quaternion_free</a>                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init" title="hkl_quaternion_init ()">hkl_quaternion_init</a>                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> a</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> b</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> c</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> d</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe" title="hkl_quaternion_init_from_angle_and_axe ()">hkl_quaternion_init_from_angle_and_axe</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector" title="hkl_quaternion_init_from_vector ()">hkl_quaternion_init_from_vector</a>     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion" title="hkl_quaternion_minus_quaternion ()">hkl_quaternion_minus_quaternion</a>     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2" title="hkl_quaternion_norm2 ()">hkl_quaternion_norm2</a>                (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion" title="hkl_quaternion_times_quaternion ()">hkl_quaternion_times_quaternion</a>     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe" title="hkl_quaternion_to_angle_and_axe ()">hkl_quaternion_to_angle_and_axe</a>     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *angle</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix" title="hkl_quaternion_to_matrix ()">hkl_quaternion_to_matrix</a>            (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="hkl-hkl-quaternion-private.description"></a><h2>Description</h2>
+</div>
 <div class="refsect1">
-<a name="hkl-hkl-quaternion-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
+<a name="hkl-hkl-quaternion-private.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="hkl-quaternion-cmp"></a><h3>hkl_quaternion_cmp ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_quaternion_cmp                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
+<p>
+compare two <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="returnvalue">HklQuaternion</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-dup" title="hkl_quaternion_dup ()">hkl_quaternion_dup</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-free" title="hkl_quaternion_free ()">hkl_quaternion_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init" title="hkl_quaternion_init ()">hkl_quaternion_init</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector" title="hkl_quaternion_init_from_vector ()">hkl_quaternion_init_from_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe" title="hkl_quaternion_init_from_angle_and_axe ()">hkl_quaternion_init_from_angle_and_axe</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf" title="hkl_quaternion_fprintf ()">hkl_quaternion_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp" title="hkl_quaternion_cmp ()">hkl_quaternion_cmp</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion" title="hkl_quaternion_minus_quaternion ()">hkl_quaternion_minus_quaternion</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion" title="hkl_quaternion_times_quaternion ()">hkl_quaternion_times_quaternion</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2" title="hkl_quaternion_norm2 ()">hkl_quaternion_norm2</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate" title="hkl_quaternion_conjugate ()">hkl_quaternion_conjugate</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix" title="hkl_quaternion_to_matrix ()">hkl_quaternion_to_matrix</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe" title="hkl_quaternion_to_angle_and_axe ()">hkl_quaternion_to_angle_and_axe</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if both are equal, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a> otherwise.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-quaternion-private.description"></a><h2>Description</h2>
+<hr>
+<div class="refsect2">
+<a name="hkl-quaternion-conjugate"></a><h3>hkl_quaternion_conjugate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_conjugate            (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
+<p>
+compute the conjugate of a quaternion
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to conjugate</td>
+</tr></tbody>
+</table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-quaternion-private.functions_details"></a><h2>Functions</h2>
+<hr>
 <div class="refsect2">
-<a name="hkl-quaternion-dup"></a><h3>hkl_quaternion_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="returnvalue">HklQuaternion</span></a> *
-hkl_quaternion_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.25.5.2.4"></a><h4>Returns</h4>
-<p></p>
+<a name="hkl-quaternion-dup"></a><h3>hkl_quaternion_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="returnvalue">HklQuaternion</span></a> *     hkl_quaternion_dup                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-quaternion-fprintf"></a><h3>hkl_quaternion_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_fprintf              (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
+<p>
+print an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> into a FILE stream
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
+<td>the file to send the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> into</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to write into the file stream.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-free"></a><h3>hkl_quaternion_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_free (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
+<a name="hkl-quaternion-free"></a><h3>hkl_quaternion_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_free                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-init"></a><h3>hkl_quaternion_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_init (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> a</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> b</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> c</code></em>,
-                     <em class="parameter"><code><span class="type">double</span> d</code></em>);</pre>
-<p>initialize the four elements of an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.25.5.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-init"></a><h3>hkl_quaternion_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_init                 (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> a</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> b</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> c</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> d</code></em>);</pre>
+<p>
+initialize the four elements of an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to initialize</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to initialize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>a</p></td>
-<td class="parameter_description"><p>the 1st element value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>the 1st element value</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>b</p></td>
-<td class="parameter_description"><p>the 2nd element value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>the 2nd element value</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>c</p></td>
-<td class="parameter_description"><p>the 3rd element value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
+<td>the 3rd element value</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>d</p></td>
-<td class="parameter_description"><p>the 4th element value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
+<td>the 4th element value</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-init-from-vector"></a><h3>hkl_quaternion_init_from_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_init_from_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
-<p>initialize an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> from an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.25.5.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-init-from-angle-and-axe"></a><h3>hkl_quaternion_init_from_angle_and_axe ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_init_from_angle_and_axe
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
+<p>
+initialize an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> from a vector and a angle.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to set</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to set</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>v</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> used to set the self <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>angle</code></em> :</span></p></td>
+<td>the angles of the rotation</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
+<td>the axe of rotation</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-init-from-angle-and-axe"></a><h3>hkl_quaternion_init_from_angle_and_axe ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_init_from_angle_and_axe
-                               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                                <em class="parameter"><code><span class="type">double</span> angle</code></em>,
-                                <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
-<p>initialize an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> from a vector and a angle.</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-init-from-vector"></a><h3>hkl_quaternion_init_from_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_init_from_vector     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
+<p>
+initialize an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> from an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to set</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to set</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>angle</p></td>
-<td class="parameter_description"><p>the angles of the rotation</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>v</p></td>
-<td class="parameter_description"><p>the axe of rotation</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> used to set the self <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-fprintf"></a><h3>hkl_quaternion_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_fprintf (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
-<p>print an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> into a FILE stream</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-minus-quaternion"></a><h3>hkl_quaternion_minus_quaternion ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_minus_quaternion     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
+<p>
+substract two <a href="hkl-hkl.html#HklQuaternion"><span class="type">HklQuaternions</span></a>
+Todo: test
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>file</p></td>
-<td class="parameter_description"><p>the file to send the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> into</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to modify.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to write into the file stream.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to substract</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-cmp"></a><h3>hkl_quaternion_cmp ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_quaternion_cmp (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
-<p>compare two <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>.</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-norm2"></a><h3>hkl_quaternion_norm2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_quaternion_norm2                (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
+<p>
+compute the norm2 of an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the quaternion use to compute the norm</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>q</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the self <span class="type">hklquaternion</span> norm</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.25.5.8.6"></a><h4>Returns</h4>
-<p> <span class="type">TRUE</span> if both are equal, <span class="type">FALSE</span> otherwise.</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-minus-quaternion"></a><h3>hkl_quaternion_minus_quaternion ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_minus_quaternion (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
-<p>substract two <a href="hkl-hkl.html#HklQuaternion"><span class="type">HklQuaternions</span></a>
-Todo: test</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-times-quaternion"></a><h3>hkl_quaternion_times_quaternion ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_times_quaternion     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
+<p>
+multiply two quaternions
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to modify.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to modify</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>q</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to substract</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to multiply by</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-times-quaternion"></a><h3>hkl_quaternion_times_quaternion ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_times_quaternion (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                                 <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *q</code></em>);</pre>
-<p>multiply two quaternions</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-quaternion-to-angle-and-axe"></a><h3>hkl_quaternion_to_angle_and_axe ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_to_angle_and_axe     (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> *angle</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
+<p>
+compute the axe and angle of the unitary quaternion angle [-pi, pi]
+if q is the (1, 0, 0, 0) quaternion return the (0,0,0) axe and a 0 angle
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to modify</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to compute the angle and the roation axis.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>q</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to multiply by</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>angle</code></em> :</span></p></td>
+<td>the returned angle of the rotation.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
+<td>the returned axis of the rotation.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-quaternion-norm2"></a><h3>hkl_quaternion_norm2 ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_quaternion_norm2 (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
-<p>compute the norm2 of an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.25.5.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the quaternion use to compute the norm</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.25.5.11.6"></a><h4>Returns</h4>
-<p> the self <span class="type">hklquaternion</span> norm</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-quaternion-conjugate"></a><h3>hkl_quaternion_conjugate ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_conjugate (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>);</pre>
-<p>compute the conjugate of a quaternion</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> to conjugate</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-quaternion-to-matrix"></a><h3>hkl_quaternion_to_matrix ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_to_matrix (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                          <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);</pre>
-<p>Compute the rotation matrix of a Quaternion.</p>
-<p>compute the rotation matrix corresponding to the unitary quaternion.
-\f$ q = a + b \cdot i + c \cdot j + d \cdot k \f$</p>
-<p>\f$
+<a name="hkl-quaternion-to-matrix"></a><h3>hkl_quaternion_to_matrix ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_quaternion_to_matrix            (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);</pre>
+<p>
+Compute the rotation matrix of a Quaternion.
+</p>
+<p>
+compute the rotation matrix corresponding to the unitary quaternion.
+\f$ q = a + b \cdot i + c \cdot j + d \cdot k \f$
+</p>
+<p>
+\f$
 \left(
  \begin{array}{ccc}
-   a^2+b^2-c^2-d^2 & 2bc-2ad         & 2ac+2bd\
-   2ad+2bc         & a^2-b^2+c^2-d^2 & 2cd-2ab\
+   a^2+b^2-c^2-d^2 & 2bc-2ad         & 2ac+2bd\\
+   2ad+2bc         & a^2-b^2+c^2-d^2 & 2cd-2ab\\
    2bd-2ac         & 2ab+2cd         & a^2-b^2-c^2+d^2
  \end{array}
 \right)
 \f$
-Todo: optimize</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.13.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+Todo: optimize
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to compute the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>m</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> return.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-quaternion-to-angle-and-axe"></a><h3>hkl_quaternion_to_angle_and_axe ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_quaternion_to_angle_and_axe (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *self</code></em>,
-                                 <em class="parameter"><code><span class="type">double</span> *angle</code></em>,
-                                 <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *v</code></em>);</pre>
-<p>compute the axe and angle of the unitary quaternion angle [-pi, pi]
-if q is the (1, 0, 0, 0) quaternion return the (0,0,0) axe and a 0 angle</p>
-<div class="refsect3">
-<a name="id-1.2.25.5.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>The <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to compute the angle and the roation axis.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>angle</p></td>
-<td class="parameter_description"><p>the returned angle of the rotation.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to compute the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>v</p></td>
-<td class="parameter_description"><p>the returned axis of the rotation.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> return.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-quaternion-private.other_details"></a><h2>Types and Values</h2>
-</div>
-</div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-sample-private.html b/Documentation/api/html/hkl-hkl-sample-private.html
index cf1a1a3..47aa8b0 100644
--- a/Documentation/api/html/hkl-hkl-sample-private.html
+++ b/Documentation/api/html/hkl-hkl-sample-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-sample-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-sample-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-quaternion-private.html" title="hkl-quaternion-private">
 <link rel="next" href="hkl-hkl-source-private.html" title="hkl-source-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-sample-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-quaternion-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-source-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-quaternion-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-source-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-sample-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-sample-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-sample-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,126 +33,41 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-sample-private.top_of_page"></a>hkl-sample-private</span></h2>
 <p>hkl-sample-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-sample-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-fprintf" title="hkl_sample_fprintf ()">hkl_sample_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="returnvalue">HklSampleReflection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy" title="hkl_sample_reflection_new_copy ()">hkl_sample_reflection_new_copy</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-free" title="hkl_sample_reflection_free ()">hkl_sample_reflection_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-sample-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklSample" title="HklSample">HklSample</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-sample-private.html#HKL-SAMPLE-ERROR:CAPS" title="HKL_SAMPLE_ERROR">HKL_SAMPLE_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-sample-private.html#HklSampleError" title="enum HklSampleError">HklSampleError</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection">HklSampleReflection</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS" title="HKL_SAMPLE_REFLECTION_ERROR">HKL_SAMPLE_REFLECTION_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-sample-private.html#HklSampleReflectionError" title="enum HklSampleReflectionError">HklSampleReflectionError</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-sample-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-sample-private.html#HKL-SAMPLE-ERROR:CAPS" title="HKL_SAMPLE_ERROR">HKL_SAMPLE_ERROR</a>
+#define             <a class="link" href="hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS" title="HKL_SAMPLE_REFLECTION_ERROR">HKL_SAMPLE_REFLECTION_ERROR</a>
+                    <a class="link" href="hkl-hkl.html#HklSample" title="HklSample">HklSample</a>;
+enum                <a class="link" href="hkl-hkl-sample-private.html#HklSampleError" title="enum HklSampleError">HklSampleError</a>;
+                    <a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection">HklSampleReflection</a>;
+enum                <a class="link" href="hkl-hkl-sample-private.html#HklSampleReflectionError" title="enum HklSampleReflectionError">HklSampleReflectionError</a>;
+<span class="returnvalue">return</span>              <a class="link" href="hkl-hkl-geometry-private.html#g-quark-from-static-string" title="g_quark_from_static_string ()">g_quark_from_static_string</a>          ();
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-sample-private.html#hkl-sample-fprintf" title="hkl_sample_fprintf ()">hkl_sample_fprintf</a>                  (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-free" title="hkl_sample_reflection_free ()">hkl_sample_reflection_free</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);
+<a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="returnvalue">HklSampleReflection</span></a> * <a class="link" href="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy" title="hkl_sample_reflection_new_copy ()">hkl_sample_reflection_new_copy</a>    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-sample-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-sample-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-g_quark_from_static_string ();</pre>
-</div>
-<hr>
+<a name="hkl-hkl-sample-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-sample-fprintf"></a><h3>hkl_sample_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_sample_fprintf (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *self</code></em>);</pre>
-<p>print to a file a sample</p>
+<a name="HKL-SAMPLE-ERROR:CAPS"></a><h3>HKL_SAMPLE_ERROR</h3>
+<pre class="programlisting">#define HKL_SAMPLE_ERROR hkl_sample_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-sample-reflection-new-copy"></a><h3>hkl_sample_reflection_new_copy ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="returnvalue">HklSampleReflection</span></a> *
-hkl_sample_reflection_new_copy (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);</pre>
-<p>copy constructor</p>
-<div class="refsect3">
-<a name="id-1.2.26.6.4.5"></a><h4>Returns</h4>
-<p></p>
-</div>
+<a name="HKL-SAMPLE-REFLECTION-ERROR:CAPS"></a><h3>HKL_SAMPLE_REFLECTION_ERROR</h3>
+<pre class="programlisting">#define HKL_SAMPLE_REFLECTION_ERROR hkl_sample_reflection_error_quark ()
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-sample-reflection-free"></a><h3>hkl_sample_reflection_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_sample_reflection_free (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);</pre>
-<p>destructor</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-sample-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
 <a name="HklSample"></a><h3>HklSample</h3>
 <pre class="programlisting">typedef struct {
 	char *name;
@@ -165,35 +84,12 @@ hkl_sample_reflection_free (<em class="parameter"><code><a class="link" href="hk
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-SAMPLE-ERROR:CAPS"></a><h3>HKL_SAMPLE_ERROR</h3>
-<pre class="programlisting">#define HKL_SAMPLE_ERROR hkl_sample_error_quark ()
-</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="HklSampleError"></a><h3>enum HklSampleError</h3>
-<div class="refsect3">
-<a name="id-1.2.26.7.4.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-SAMPLE-ERROR-MINIMIZED:CAPS"></a>HKL_SAMPLE_ERROR_MINIMIZED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-SAMPLE-ERROR-COMPUTE-UB-BUSING-LEVY:CAPS"></a>HKL_SAMPLE_ERROR_COMPUTE_UB_BUSING_LEVY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
+<pre class="programlisting">typedef enum {
+	HKL_SAMPLE_ERROR_MINIMIZED, /* can not minimize the sample */
+	HKL_SAMPLE_ERROR_COMPUTE_UB_BUSING_LEVY, /* can not compute UB */
+} HklSampleError;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -210,33 +106,46 @@ hkl_sample_reflection_free (<em class="parameter"><code><a class="link" href="hk
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-SAMPLE-REFLECTION-ERROR:CAPS"></a><h3>HKL_SAMPLE_REFLECTION_ERROR</h3>
-<pre class="programlisting">#define HKL_SAMPLE_REFLECTION_ERROR hkl_sample_reflection_error_quark ()
+<a name="HklSampleReflectionError"></a><h3>enum HklSampleReflectionError</h3>
+<pre class="programlisting">typedef enum {
+	HKL_SAMPLE_REFLECTION_ERROR_HKL_SET, /* can not set the hkl part of the reflection */
+} HklSampleReflectionError;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklSampleReflectionError"></a><h3>enum HklSampleReflectionError</h3>
-<div class="refsect3">
-<a name="id-1.2.26.7.7.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="enum_member_name"><p><a name="HKL-SAMPLE-REFLECTION-ERROR-HKL-SET:CAPS"></a>HKL_SAMPLE_REFLECTION_ERROR_HKL_SET</p></td>
-<td> </td>
-<td> </td>
-</tr></tbody>
-</table></div>
+<a name="g-quark-from-static-string"></a><h3>g_quark_from_static_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              g_quark_from_static_string          ();</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-sample-fprintf"></a><h3>hkl_sample_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_sample_fprintf                  (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSample" title="HklSample"><span class="type">HklSample</span></a> *self</code></em>);</pre>
+<p>
+print to a file a sample
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-sample-reflection-free"></a><h3>hkl_sample_reflection_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_sample_reflection_free          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);</pre>
+<p>
+destructor
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-sample-reflection-new-copy"></a><h3>hkl_sample_reflection_new_copy ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="returnvalue">HklSampleReflection</span></a> * hkl_sample_reflection_new_copy    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection"><span class="type">HklSampleReflection</span></a> *self</code></em>);</pre>
+<p>
+copy constructor
+</p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-source-private.html b/Documentation/api/html/hkl-hkl-source-private.html
index 350b073..5971eed 100644
--- a/Documentation/api/html/hkl-hkl-source-private.html
+++ b/Documentation/api/html/hkl-hkl-source-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-source-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-source-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-sample-private.html" title="hkl-sample-private">
 <link rel="next" href="hkl-hkl-type-builtins.html" title="hkl-type-builtins">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-source-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-sample-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-type-builtins.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-sample-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-type-builtins.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-source-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-source-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-source-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,297 +33,189 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-source-private.top_of_page"></a>hkl-source-private</span></h2>
 <p>hkl-source-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-source-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-source-private.html#HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS" title="HKL_SOURCE_DEFAULT_WAVE_LENGTH">HKL_SOURCE_DEFAULT_WAVE_LENGTH</a>
+struct              <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource">HklSource</a>;
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-source-private.html#hkl-source-cmp" title="hkl_source_cmp ()">hkl_source_cmp</a>                      (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *s</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-source-private.html#hkl-source-compute-ki" title="hkl_source_compute_ki ()">hkl_source_compute_ki</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ki</code></em>);
+<a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="returnvalue">HklSource</span></a> *         <a class="link" href="hkl-hkl-source-private.html#hkl-source-dup" title="hkl_source_dup ()">hkl_source_dup</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-source-private.html#hkl-source-fprintf" title="hkl_source_fprintf ()">hkl_source_fprintf</a>                  (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-source-private.html#hkl-source-free" title="hkl_source_free ()">hkl_source_free</a>                     (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-source-private.html#hkl-source-get-wavelength" title="hkl_source_get_wavelength ()">hkl_source_get_wavelength</a>           (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-source-private.html#hkl-source-init" title="hkl_source_init ()">hkl_source_init</a>                     (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> wave_length</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="hkl-hkl-source-private.description"></a><h2>Description</h2>
+</div>
 <div class="refsect1">
-<a name="hkl-hkl-source-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
+<a name="hkl-hkl-source-private.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS"></a><h3>HKL_SOURCE_DEFAULT_WAVE_LENGTH</h3>
+<pre class="programlisting">#define HKL_SOURCE_DEFAULT_WAVE_LENGTH (1.54)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HklSource"></a><h3>struct HklSource</h3>
+<pre class="programlisting">struct HklSource {
+	double wave_length;
+	HklVector direction;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-source-cmp"></a><h3>hkl_source_cmp ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_source_cmp                      (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *s</code></em>);</pre>
+<p>
+compare two sources
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-source-private.html#HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS" title="HKL_SOURCE_DEFAULT_WAVE_LENGTH">HKL_SOURCE_DEFAULT_WAVE_LENGTH</a></td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="returnvalue">HklSource</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-dup" title="hkl_source_dup ()">hkl_source_dup</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>1st <span class="type">Hklsource</span>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-free" title="hkl_source_free ()">hkl_source_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-init" title="hkl_source_init ()">hkl_source_init</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-cmp" title="hkl_source_cmp ()">hkl_source_cmp</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-compute-ki" title="hkl_source_compute_ki ()">hkl_source_compute_ki</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-get-wavelength" title="hkl_source_get_wavelength ()">hkl_source_get_wavelength</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-source-private.html#hkl-source-fprintf" title="hkl_source_fprintf ()">hkl_source_fprintf</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
+<td>2nd <span class="type">Hklsource</span>
 </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-source-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
+<hr>
+<div class="refsect2">
+<a name="hkl-source-compute-ki"></a><h3>hkl_source_compute_ki ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_source_compute_ki               (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ki</code></em>);</pre>
+<p>
+compute the ki hkl_vector
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody><tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource">HklSource</a></td>
+<td><p><span class="term"><em class="parameter"><code>ki</code></em> :</span></p></td>
+<td>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> caller-allocates]</span>
+</td>
 </tr></tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-source-private.description"></a><h2>Description</h2>
+<hr>
+<div class="refsect2">
+<a name="hkl-source-dup"></a><h3>hkl_source_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="returnvalue">HklSource</span></a> *         hkl_source_dup                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);</pre>
+<p>
+copy constructor
+TODO test
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <span class="type">Hklsource</span> to copy</td>
+</tr></tbody>
+</table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-source-private.functions_details"></a><h2>Functions</h2>
+<hr>
 <div class="refsect2">
-<a name="HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS"></a><h3>HKL_SOURCE_DEFAULT_WAVE_LENGTH</h3>
-<pre class="programlisting">#define HKL_SOURCE_DEFAULT_WAVE_LENGTH (1.54)
-</pre>
+<a name="hkl-source-fprintf"></a><h3>hkl_source_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_source_fprintf                  (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);</pre>
+<p>
+printf the source
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-source-dup"></a><h3>hkl_source_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="returnvalue">HklSource</span></a> *
-hkl_source_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);</pre>
-<p>copy constructor
-TODO test</p>
-<div class="refsect3">
-<a name="id-1.2.27.6.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-source-free"></a><h3>hkl_source_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_source_free                     (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);</pre>
+<p>
+destructor
+TODO: test
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <span class="type">Hklsource</span> to copy</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <span class="type">Hklsource</span> to delete</td>
 </tr></tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.27.6.3.6"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-source-free"></a><h3>hkl_source_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_source_free (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>);</pre>
-<p>destructor
-TODO: test</p>
-<div class="refsect3">
-<a name="id-1.2.27.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-source-get-wavelength"></a><h3>hkl_source_get_wavelength ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_source_get_wavelength           (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);</pre>
+<p>
+get the wave_length
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <span class="type">Hklsource</span> to delete</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the wave_length</td>
 </tr></tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-source-init"></a><h3>hkl_source_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_source_init (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> wave_length</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> x</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> y</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
-<p>initialize the <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.27.6.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-source-init"></a><h3>hkl_source_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_source_init                     (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> wave_length</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
+<p>
+initialize the <a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <span class="type">Hklsource</span> to initialize</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <span class="type">Hklsource</span> to initialize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>wave_length</p></td>
-<td class="parameter_description"><p>the wave length to set</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>wave_length</code></em> :</span></p></td>
+<td>the wave length to set</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>x coordinates of the ki vector</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
+<td>x coordinates of the ki vector</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>y coordinates of the ki vector</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
+<td>y coordinates of the ki vector</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>z</p></td>
-<td class="parameter_description"><p>z coordinates of the ki vector</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>z</code></em> :</span></p></td>
+<td>z coordinates of the ki vector</td>
 </tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.27.6.5.6"></a><h4>Returns</h4>
-<p> HKL_SUCCESS if everythongs goes fine, HKL_FAIL otherwise</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-source-cmp"></a><h3>hkl_source_cmp ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_source_cmp (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
-                <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *s</code></em>);</pre>
-<p>compare two sources</p>
-<div class="refsect3">
-<a name="id-1.2.27.6.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>1st <span class="type">Hklsource</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>s</p></td>
-<td class="parameter_description"><p>2nd <span class="type">Hklsource</span></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>HKL_SUCCESS if everythongs goes fine, HKL_FAIL otherwise</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.27.6.6.6"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-source-compute-ki"></a><h3>hkl_source_compute_ki ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_source_compute_ki (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>,
-                       <em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ki</code></em>);</pre>
-<p>compute the ki hkl_vector</p>
-<div class="refsect3">
-<a name="id-1.2.27.6.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>ki</p></td>
-<td class="parameter_description"><p>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-source-get-wavelength"></a><h3>hkl_source_get_wavelength ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_source_get_wavelength (<em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);</pre>
-<p>get the wave_length</p>
-<div class="refsect3">
-<a name="id-1.2.27.6.8.5"></a><h4>Returns</h4>
-<p> the wave_length</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-source-fprintf"></a><h3>hkl_source_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_source_fprintf (<em class="parameter"><code><span class="type">FILE</span> *f</code></em>,
-                    <em class="parameter"><code><a class="link" href="hkl-hkl-source-private.html#HklSource" title="struct HklSource"><span class="type">HklSource</span></a> const *self</code></em>);</pre>
-<p>printf the source</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-source-private.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="HklSource"></a><h3>struct HklSource</h3>
-<pre class="programlisting">struct HklSource {
-	double wave_length;
-	HklVector direction;
-};
-</pre>
-</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-type-builtins.html b/Documentation/api/html/hkl-hkl-type-builtins.html
index 41a9a6e..0f644a1 100644
--- a/Documentation/api/html/hkl-hkl-type-builtins.html
+++ b/Documentation/api/html/hkl-hkl-type-builtins.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-type-builtins</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-type-builtins</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-source-private.html" title="hkl-source-private">
 <link rel="next" href="hkl-hkl-types.html" title="hkl-types">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-type-builtins.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-source-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-source-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-types.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-type-builtins.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-type-builtins.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-type-builtins"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,49 +33,30 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-type-builtins.top_of_page"></a>hkl-type-builtins</span></h2>
 <p>hkl-type-builtins</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-type-builtins.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS" title="HKL_TYPE_UNIT_ENUM">HKL_TYPE_UNIT_ENUM</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-DETECTOR-TYPE:CAPS" title="HKL_TYPE_DETECTOR_TYPE">HKL_TYPE_DETECTOR_TYPE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS" title="HKL_TYPE_ENGINE_CAPABILITIES">HKL_TYPE_ENGINE_CAPABILITIES</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS" title="HKL_TYPE_ENGINE_AXIS_NAMES_GET">HKL_TYPE_ENGINE_AXIS_NAMES_GET</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-type-builtins.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-DETECTOR-TYPE:CAPS" title="HKL_TYPE_DETECTOR_TYPE">HKL_TYPE_DETECTOR_TYPE</a>
+#define             <a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS" title="HKL_TYPE_ENGINE_AXIS_NAMES_GET">HKL_TYPE_ENGINE_AXIS_NAMES_GET</a>
+#define             <a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS" title="HKL_TYPE_ENGINE_CAPABILITIES">HKL_TYPE_ENGINE_CAPABILITIES</a>
+#define             <a class="link" href="hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS" title="HKL_TYPE_UNIT_ENUM">HKL_TYPE_UNIT_ENUM</a>
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-type-builtins.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-type-builtins.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-type-builtins.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="HKL-TYPE-UNIT-ENUM:CAPS"></a><h3>HKL_TYPE_UNIT_ENUM</h3>
-<pre class="programlisting">#define HKL_TYPE_UNIT_ENUM (hkl_unit_enum_get_type ())
+<a name="HKL-TYPE-DETECTOR-TYPE:CAPS"></a><h3>HKL_TYPE_DETECTOR_TYPE</h3>
+<pre class="programlisting">#define HKL_TYPE_DETECTOR_TYPE (hkl_detector_type_get_type ())
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-TYPE-DETECTOR-TYPE:CAPS"></a><h3>HKL_TYPE_DETECTOR_TYPE</h3>
-<pre class="programlisting">#define HKL_TYPE_DETECTOR_TYPE (hkl_detector_type_get_type ())
+<a name="HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS"></a><h3>HKL_TYPE_ENGINE_AXIS_NAMES_GET</h3>
+<pre class="programlisting">#define HKL_TYPE_ENGINE_AXIS_NAMES_GET (hkl_engine_axis_names_get_get_type ())
 </pre>
 </div>
 <hr>
@@ -82,17 +67,14 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS"></a><h3>HKL_TYPE_ENGINE_AXIS_NAMES_GET</h3>
-<pre class="programlisting">#define HKL_TYPE_ENGINE_AXIS_NAMES_GET (hkl_engine_axis_names_get_get_type ())
+<a name="HKL-TYPE-UNIT-ENUM:CAPS"></a><h3>HKL_TYPE_UNIT_ENUM</h3>
+<pre class="programlisting">#define HKL_TYPE_UNIT_ENUM (hkl_unit_enum_get_type ())
 </pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-type-builtins.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-types.html b/Documentation/api/html/hkl-hkl-types.html
index 32a7d4d..37e5050 100644
--- a/Documentation/api/html/hkl-hkl-types.html
+++ b/Documentation/api/html/hkl-hkl-types.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-types</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-types</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-type-builtins.html" title="hkl-type-builtins">
 <link rel="next" href="hkl-hkl-unit-private.html" title="hkl-unit-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-types.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-type-builtins.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-unit-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-type-builtins.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-unit-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-types.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-types.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-types"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,80 +33,31 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-types.top_of_page"></a>hkl-types</span></h2>
 <p>hkl-types</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-types.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-DETECTOR:CAPS" title="TYPE_HKL_DETECTOR">TYPE_HKL_DETECTOR</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-ENGINE:CAPS" title="TYPE_HKL_ENGINE">TYPE_HKL_ENGINE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-ENGINE-LIST:CAPS" title="TYPE_HKL_ENGINE_LIST">TYPE_HKL_ENGINE_LIST</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-FACTORY:CAPS" title="TYPE_HKL_FACTORY">TYPE_HKL_FACTORY</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY:CAPS" title="TYPE_HKL_GEOMETRY">TYPE_HKL_GEOMETRY</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY-LIST:CAPS" title="TYPE_HKL_GEOMETRY_LIST">TYPE_HKL_GEOMETRY_LIST</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY-LIST-ITEM:CAPS" title="TYPE_HKL_GEOMETRY_LIST_ITEM">TYPE_HKL_GEOMETRY_LIST_ITEM</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-LATTICE:CAPS" title="TYPE_HKL_LATTICE">TYPE_HKL_LATTICE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-MATRIX:CAPS" title="TYPE_HKL_MATRIX">TYPE_HKL_MATRIX</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-PARAMETER:CAPS" title="TYPE_HKL_PARAMETER">TYPE_HKL_PARAMETER</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS" title="TYPE_HKL_SAMPLE_REFLECTION">TYPE_HKL_SAMPLE_REFLECTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-SAMPLE:CAPS" title="TYPE_HKL_SAMPLE">TYPE_HKL_SAMPLE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-UNIT:CAPS" title="TYPE_HKL_UNIT">TYPE_HKL_UNIT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl-types.html#TYPE-HKL-VECTOR:CAPS" title="TYPE_HKL_VECTOR">TYPE_HKL_VECTOR</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-types.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-DETECTOR:CAPS" title="TYPE_HKL_DETECTOR">TYPE_HKL_DETECTOR</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-ENGINE:CAPS" title="TYPE_HKL_ENGINE">TYPE_HKL_ENGINE</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-ENGINE-LIST:CAPS" title="TYPE_HKL_ENGINE_LIST">TYPE_HKL_ENGINE_LIST</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-FACTORY:CAPS" title="TYPE_HKL_FACTORY">TYPE_HKL_FACTORY</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY:CAPS" title="TYPE_HKL_GEOMETRY">TYPE_HKL_GEOMETRY</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY-LIST:CAPS" title="TYPE_HKL_GEOMETRY_LIST">TYPE_HKL_GEOMETRY_LIST</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-GEOMETRY-LIST-ITEM:CAPS" title="TYPE_HKL_GEOMETRY_LIST_ITEM">TYPE_HKL_GEOMETRY_LIST_ITEM</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-LATTICE:CAPS" title="TYPE_HKL_LATTICE">TYPE_HKL_LATTICE</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-MATRIX:CAPS" title="TYPE_HKL_MATRIX">TYPE_HKL_MATRIX</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-PARAMETER:CAPS" title="TYPE_HKL_PARAMETER">TYPE_HKL_PARAMETER</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-SAMPLE:CAPS" title="TYPE_HKL_SAMPLE">TYPE_HKL_SAMPLE</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS" title="TYPE_HKL_SAMPLE_REFLECTION">TYPE_HKL_SAMPLE_REFLECTION</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-UNIT:CAPS" title="TYPE_HKL_UNIT">TYPE_HKL_UNIT</a>
+#define             <a class="link" href="hkl-hkl-types.html#TYPE-HKL-VECTOR:CAPS" title="TYPE_HKL_VECTOR">TYPE_HKL_VECTOR</a>
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-types.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-types.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-types.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="TYPE-HKL-DETECTOR:CAPS"></a><h3>TYPE_HKL_DETECTOR</h3>
 <pre class="programlisting">#define TYPE_HKL_DETECTOR (hkl_detector_get_type ())
@@ -164,14 +119,14 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="TYPE-HKL-SAMPLE-REFLECTION:CAPS"></a><h3>TYPE_HKL_SAMPLE_REFLECTION</h3>
-<pre class="programlisting">#define TYPE_HKL_SAMPLE_REFLECTION (hkl_sample_reflection_get_type ())
+<a name="TYPE-HKL-SAMPLE:CAPS"></a><h3>TYPE_HKL_SAMPLE</h3>
+<pre class="programlisting">#define TYPE_HKL_SAMPLE (hkl_sample_get_type ())
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="TYPE-HKL-SAMPLE:CAPS"></a><h3>TYPE_HKL_SAMPLE</h3>
-<pre class="programlisting">#define TYPE_HKL_SAMPLE (hkl_sample_get_type ())
+<a name="TYPE-HKL-SAMPLE-REFLECTION:CAPS"></a><h3>TYPE_HKL_SAMPLE_REFLECTION</h3>
+<pre class="programlisting">#define TYPE_HKL_SAMPLE_REFLECTION (hkl_sample_reflection_get_type ())
 </pre>
 </div>
 <hr>
@@ -187,12 +142,9 @@
 </pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-types.other_details"></a><h2>Types and Values</h2>
-</div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-unit-private.html b/Documentation/api/html/hkl-hkl-unit-private.html
index 843d6b8..6bfbcbc 100644
--- a/Documentation/api/html/hkl-hkl-unit-private.html
+++ b/Documentation/api/html/hkl-hkl-unit-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-unit-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-unit-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-types.html" title="hkl-types">
 <link rel="next" href="hkl-hkl-vector-private.html" title="hkl-vector-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-unit-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-vector-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-types.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-vector-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-unit-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-unit-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-unit-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,195 +33,116 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-unit-private.top_of_page"></a>hkl-unit-private</span></h2>
 <p>hkl-unit-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl-unit-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="returnvalue">HklUnit</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-dup" title="hkl_unit_dup ()">hkl_unit_dup</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-free" title="hkl_unit_free ()">hkl_unit_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-compatible" title="hkl_unit_compatible ()">hkl_unit_compatible</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-unit-private.html#hkl-unit-factor" title="hkl_unit_factor ()">hkl_unit_factor</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-unit-private.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl-unit-private.html#HklUnitType" title="enum HklUnitType">HklUnitType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit">HklUnit</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-unit-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">struct              <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit">HklUnit</a>;
+enum                <a class="link" href="hkl-hkl-unit-private.html#HklUnitType" title="enum HklUnitType">HklUnitType</a>;
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-unit-private.html#hkl-unit-compatible" title="hkl_unit_compatible ()">hkl_unit_compatible</a>                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);
+<a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="returnvalue">HklUnit</span></a> *           <a class="link" href="hkl-hkl-unit-private.html#hkl-unit-dup" title="hkl_unit_dup ()">hkl_unit_dup</a>                        (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-unit-private.html#hkl-unit-factor" title="hkl_unit_factor ()">hkl_unit_factor</a>                     (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-unit-private.html#hkl-unit-free" title="hkl_unit_free ()">hkl_unit_free</a>                       (<em class="parameter"><code><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl-unit-private.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl-unit-private.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl-unit-private.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="hkl-unit-dup"></a><h3>hkl_unit_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="returnvalue">HklUnit</span></a> *
-hkl_unit_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);</pre>
-<p>copy an <span class="type">Hklunit</span></p>
-<div class="refsect3">
-<a name="id-1.2.30.6.2.5"></a><h4>Returns</h4>
-<p> the copied <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> (memory must be release with
-hkl_unit_free)</p>
-<p></p>
-</div>
+<a name="HklUnit"></a><h3>struct HklUnit</h3>
+<pre class="programlisting">struct HklUnit {
+	HklUnitType type;
+	char const *name;
+	char const *repr;
+};
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-unit-free"></a><h3>hkl_unit_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_unit_free (<em class="parameter"><code><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);</pre>
-<p>release the memory of an <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a></p>
+<a name="HklUnitType"></a><h3>enum HklUnitType</h3>
+<pre class="programlisting">typedef enum {
+	HKL_UNIT_ANGLE_DEG,
+	HKL_UNIT_ANGLE_RAD,
+	HKL_UNIT_LENGTH_NM
+} HklUnitType;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-unit-compatible"></a><h3>hkl_unit_compatible ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_unit_compatible (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
-                     <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);</pre>
-<p>check if two units are compatible.</p>
-<div class="refsect3">
-<a name="id-1.2.30.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-unit-compatible"></a><h3>hkl_unit_compatible ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_unit_compatible                 (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);</pre>
+<p>
+check if two units are compatible.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <em class="parameter"><code>HklUnit</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <em class="parameter"><code>HklUnit</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>unit</code></em> :</span></p></td>
+<td>the second <em class="parameter"><code>HklUnit</code></em> to check</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>unit</p></td>
-<td class="parameter_description"><p>the second <em class="parameter"><code>HklUnit</code></em>
-to check</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE or FALSE</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.30.6.4.6"></a><h4>Returns</h4>
-<p> TRUE or FALSE</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-unit-factor"></a><h3>hkl_unit_factor ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_unit_factor (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
-                 <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);</pre>
-<p>compute the factor to convert from one <em class="parameter"><code>Hklunit</code></em>
- to another one.
-<em class="parameter"><code>self</code></em>
- * factor =  <em class="parameter"><code>unit</code></em>
+<a name="hkl-unit-dup"></a><h3>hkl_unit_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="returnvalue">HklUnit</span></a> *           hkl_unit_dup                        (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);</pre>
+<p>
+copy an <span class="type">Hklunit</span>
 </p>
-<div class="refsect3">
-<a name="id-1.2.30.6.5.5"></a><h4>Returns</h4>
-<p> the factor of the conversion.</p>
-<p></p>
-</div>
-</div>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the copied <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> (memory must be release with
+hkl_unit_free)</td>
+</tr></tbody>
+</table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-unit-private.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HklUnitType"></a><h3>enum HklUnitType</h3>
-<div class="refsect3">
-<a name="id-1.2.30.7.2.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-UNIT-ANGLE-DEG:CAPS"></a>HKL_UNIT_ANGLE_DEG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-UNIT-ANGLE-RAD:CAPS"></a>HKL_UNIT_ANGLE_RAD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-UNIT-LENGTH-NM:CAPS"></a>HKL_UNIT_LENGTH_NM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
+<a name="hkl-unit-factor"></a><h3>hkl_unit_factor ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_unit_factor                     (<em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *unit</code></em>);</pre>
+<p>
+compute the factor to convert from one <em class="parameter"><code>Hklunit</code></em> to another one.
+<em class="parameter"><code>self</code></em> * factor =  <em class="parameter"><code>unit</code></em>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the factor of the conversion.</td>
+</tr></tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="HklUnit"></a><h3>struct HklUnit</h3>
-<pre class="programlisting">struct HklUnit {
-	HklUnitType type;
-	char const *name;
-	char const *repr;
-};
-</pre>
+<a name="hkl-unit-free"></a><h3>hkl_unit_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_unit_free                       (<em class="parameter"><code><a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a> *self</code></em>);</pre>
+<p>
+release the memory of an <a class="link" href="hkl-hkl-unit-private.html#HklUnit" title="struct HklUnit"><span class="type">HklUnit</span></a>
+</p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl-vector-private.html b/Documentation/api/html/hkl-hkl-vector-private.html
index 6b054d7..72e1aa2 100644
--- a/Documentation/api/html/hkl-hkl-vector-private.html
+++ b/Documentation/api/html/hkl-hkl-vector-private.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl-vector-private</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl-vector-private</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-unit-private.html" title="hkl-unit-private">
 <link rel="next" href="hkl-list.html" title="list">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl-vector-private.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-unit-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-list.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-unit-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl-vector-private.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl-vector-private.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl-vector-private"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,1213 +33,818 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl-vector-private.top_of_page"></a>hkl-vector-private</span></h2>
 <p>hkl-vector-private</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl-vector-private.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"><span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-add-vector" title="hkl_vector_add_vector ()">hkl_vector_add_vector</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-angle" title="hkl_vector_angle ()">hkl_vector_angle</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-cmp" title="hkl_vector_cmp ()">hkl_vector_cmp</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-div-double" title="hkl_vector_div_double ()">hkl_vector_div_double</a>               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">double</span> d</code></em>);
+<a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="returnvalue">HklVector</span></a> *         <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-dup" title="hkl_vector_dup ()">hkl_vector_dup</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-fprintf" title="hkl_vector_fprintf ()">hkl_vector_fprintf</a>                  (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-free" title="hkl_vector_free ()">hkl_vector_free</a>                     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-init" title="hkl_vector_init ()">hkl_vector_init</a>                     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-colinear" title="hkl_vector_is_colinear ()">hkl_vector_is_colinear</a>              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-null" title="hkl_vector_is_null ()">hkl_vector_is_null</a>                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-opposite" title="hkl_vector_is_opposite ()">hkl_vector_is_opposite</a>              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-minus-vector" title="hkl_vector_minus_vector ()">hkl_vector_minus_vector</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-norm2" title="hkl_vector_norm2 ()">hkl_vector_norm2</a>                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-normalize" title="hkl_vector_normalize ()">hkl_vector_normalize</a>                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle" title="hkl_vector_oriented_angle ()">hkl_vector_oriented_angle</a>           (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points" title="hkl_vector_oriented_angle_points ()">hkl_vector_oriented_angle_points</a>    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p2</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p3</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan" title="hkl_vector_project_on_plan ()">hkl_vector_project_on_plan</a>          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point" title="hkl_vector_project_on_plan_with_point ()">hkl_vector_project_on_plan_with_point</a>
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *point</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize" title="hkl_vector_randomize ()">hkl_vector_randomize</a>                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector" title="hkl_vector_randomize_vector ()">hkl_vector_randomize_vector</a>         (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector" title="hkl_vector_randomize_vector_vector ()">hkl_vector_randomize_vector_vector</a>  (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector2</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line" title="hkl_vector_rotated_around_line ()">hkl_vector_rotated_around_line</a>      (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c2</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector" title="hkl_vector_rotated_around_vector ()">hkl_vector_rotated_around_vector</a>    (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *axe</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion" title="hkl_vector_rotated_quaternion ()">hkl_vector_rotated_quaternion</a>       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *qr</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-scalar-product" title="hkl_vector_scalar_product ()">hkl_vector_scalar_product</a>           (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">double</span>              <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-sum" title="hkl_vector_sum ()">hkl_vector_sum</a>                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-double" title="hkl_vector_times_double ()">hkl_vector_times_double</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">double</span> d</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-matrix" title="hkl_vector_times_matrix ()">hkl_vector_times_matrix</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-vector" title="hkl_vector_times_vector ()">hkl_vector_times_vector</a>             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-hkl-vector-private.html#hkl-vector-vectorial-product" title="hkl_vector_vectorial_product ()">hkl_vector_vectorial_product</a>        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="hkl-hkl-vector-private.description"></a><h2>Description</h2>
+</div>
 <div class="refsect1">
-<a name="hkl-hkl-vector-private.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
+<a name="hkl-hkl-vector-private.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="hkl-vector-add-vector"></a><h3>hkl_vector_add_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_add_vector               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+add an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to another one.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="function_type">
-<a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="returnvalue">HklVector</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-dup" title="hkl_vector_dup ()">hkl_vector_dup</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-free" title="hkl_vector_free ()">hkl_vector_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-init" title="hkl_vector_init ()">hkl_vector_init</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-fprintf" title="hkl_vector_fprintf ()">hkl_vector_fprintf</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-cmp" title="hkl_vector_cmp ()">hkl_vector_cmp</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-opposite" title="hkl_vector_is_opposite ()">hkl_vector_is_opposite</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-add-vector" title="hkl_vector_add_vector ()">hkl_vector_add_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-minus-vector" title="hkl_vector_minus_vector ()">hkl_vector_minus_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-div-double" title="hkl_vector_div_double ()">hkl_vector_div_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-double" title="hkl_vector_times_double ()">hkl_vector_times_double</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-vector" title="hkl_vector_times_vector ()">hkl_vector_times_vector</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-times-matrix" title="hkl_vector_times_matrix ()">hkl_vector_times_matrix</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-sum" title="hkl_vector_sum ()">hkl_vector_sum</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-scalar-product" title="hkl_vector_scalar_product ()">hkl_vector_scalar_product</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-vectorial-product" title="hkl_vector_vectorial_product ()">hkl_vector_vectorial_product</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-angle" title="hkl_vector_angle ()">hkl_vector_angle</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the modified <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle" title="hkl_vector_oriented_angle ()">hkl_vector_oriented_angle</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the <span class="type">hklvector</span> to add</td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-angle"></a><h3>hkl_vector_angle ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_angle                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+compute the angles beetween two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points" title="hkl_vector_oriented_angle_points ()">hkl_vector_oriented_angle_points</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the fist <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">double</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-norm2" title="hkl_vector_norm2 ()">hkl_vector_norm2</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-normalize" title="hkl_vector_normalize ()">hkl_vector_normalize</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-colinear" title="hkl_vector_is_colinear ()">hkl_vector_is_colinear</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the return value is in beetween [0, pi]</td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-cmp"></a><h3>hkl_vector_cmp ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_vector_cmp                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+compare two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>. this comparison use HKL_EPSILON
+to do the comparison.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize" title="hkl_vector_randomize ()">hkl_vector_randomize</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first vector</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector" title="hkl_vector_randomize_vector ()">hkl_vector_randomize_vector</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>th vector to compare with</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector" title="hkl_vector_randomize_vector_vector ()">hkl_vector_randomize_vector_vector</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>FALSE if both are equals, TRUE otherwise.</td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-div-double"></a><h3>hkl_vector_div_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_div_double               (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">double</span> d</code></em>);</pre>
+<p>
+divide an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector" title="hkl_vector_rotated_around_vector ()">hkl_vector_rotated_around_vector</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to divide.</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion" title="hkl_vector_rotated_quaternion ()">hkl_vector_rotated_quaternion</a> <span class="c_punctuation">()</span>
+<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
+<td>constant use to divide the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
 </td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-dup"></a><h3>hkl_vector_dup ()</h3>
+<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="returnvalue">HklVector</span></a> *         hkl_vector_dup                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+Copy an HklVector
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line" title="hkl_vector_rotated_around_line ()">hkl_vector_rotated_around_line</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the HklVector to copy</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-is-null" title="hkl_vector_is_null ()">hkl_vector_is_null</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A copy of self which need to be free using hkl_vector_free</td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-fprintf"></a><h3>hkl_vector_fprintf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_fprintf                  (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+print an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> into a stream
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan" title="hkl_vector_project_on_plan ()">hkl_vector_project_on_plan</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
+<td>the stream to print into</td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point" title="hkl_vector_project_on_plan_with_point ()">hkl_vector_project_on_plan_with_point</a> <span class="c_punctuation">()</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to print.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-vector-private.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl-vector-private.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="hkl-vector-dup"></a><h3>hkl_vector_dup ()</h3>
-<pre class="programlisting"><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="returnvalue">HklVector</span></a> *
-hkl_vector_dup (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>Copy an HklVector</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the HklVector to copy</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.31.5.2.6"></a><h4>Returns</h4>
-<p> A copy of self which need to be free using hkl_vector_free</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-free"></a><h3>hkl_vector_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_free (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>delete an HklVector struct</p>
+<a name="hkl-vector-free"></a><h3>hkl_vector_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_free                     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+delete an HklVector struct
+</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-init"></a><h3>hkl_vector_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_init (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> x</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> y</code></em>,
-                 <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
-<p>initialize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.31.5.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-init"></a><h3>hkl_vector_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_init                     (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> x</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> y</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> z</code></em>);</pre>
+<p>
+initialize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to initialize.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to initialize.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the first coordinate value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
+<td>the first coordinate value</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the second coordinate value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
+<td>the second coordinate value</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>z</p></td>
-<td class="parameter_description"><p>the third coordinate value</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>z</code></em> :</span></p></td>
+<td>the third coordinate value</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-fprintf"></a><h3>hkl_vector_fprintf ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_fprintf (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
-                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>print an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> into a stream</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-is-colinear"></a><h3>hkl_vector_is_colinear ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_vector_is_colinear              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+check if two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> are colinears
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>file</p></td>
-<td class="parameter_description"><p>the stream to print into</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to print.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if both are colinear.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-cmp"></a><h3>hkl_vector_cmp ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_vector_cmp (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>compare two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>. this comparison use HKL_EPSILON
-to do the comparison.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-is-null"></a><h3>hkl_vector_is_null ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_vector_is_null                  (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+check if all the coordinates of an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> are null.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first vector</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <span class="type">hklvector</span> to check</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>th vector to compare with</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>HKl_TRUE if all |elements| are below HKL_EPSILON, HKl_FALSE otherwise
+Todo: test</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.6.6"></a><h4>Returns</h4>
-<p> FALSE if both are equals, TRUE otherwise.</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-is-opposite"></a><h3>hkl_vector_is_opposite ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_vector_is_opposite (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>Check if two vectors are oposite.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.7.5"></a><h4>Returns</h4>
-<p> TRUE is vector are oposite vectors.</p>
-<p></p>
-</div>
+<a name="hkl-vector-is-opposite"></a><h3>hkl_vector_is_opposite ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_vector_is_opposite              (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+Check if two vectors are oposite.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE is vector are oposite vectors.</td>
+</tr></tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-add-vector"></a><h3>hkl_vector_add_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_add_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                       <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>add an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to another one.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-minus-vector"></a><h3>hkl_vector_minus_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_minus_vector             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+substract an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to another one.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the modified <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the modified <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the <span class="type">hklvector</span> to add</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the <span class="type">hklvector</span> to substract</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-minus-vector"></a><h3>hkl_vector_minus_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_minus_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>substract an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to another one.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-norm2"></a><h3>hkl_vector_norm2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_norm2                    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+compute the norm2 of an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the modified <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <span class="type">hklvector</span> use to compute the norm2</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the <span class="type">hklvector</span> to substract</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the sqrt(|v|)</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-div-double"></a><h3>hkl_vector_div_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_div_double (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                       <em class="parameter"><code>const <span class="type">double</span> d</code></em>);</pre>
-<p>divide an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by constant.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-normalize"></a><h3>hkl_vector_normalize ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 hkl_vector_normalize                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+normalize a hkl_vector
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to divide.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to normalize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>d</p></td>
-<td class="parameter_description"><p>constant use to divide the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> can be normalized, FALSE otherwise</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-times-double"></a><h3>hkl_vector_times_double ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_times_double (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <span class="type">double</span> d</code></em>);</pre>
-<p>multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by a constant value.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-oriented-angle"></a><h3>hkl_vector_oriented_angle ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_oriented_angle           (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);</pre>
+<p>
+compute the angles beetween two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> and use
+a reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to orientate the space. That's
+way the return value can be in beetween [-pi, pi].
+the (self, vector, ref) is a right oriented base.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to modify</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>d</p></td>
-<td class="parameter_description"><p>the multiply factor</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-times-vector"></a><h3>hkl_vector_times_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_times_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by another one. This method multiply
-coordinate by coordinate.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to modify</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>ref</code></em> :</span></p></td>
+<td>the reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> use to modify the first one</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the angles [-pi, pi]</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-times-matrix"></a><h3>hkl_vector_times_matrix ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_times_matrix (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);</pre>
-<p>multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>.
-compute v'= M . v</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-oriented-angle-points"></a><h3>hkl_vector_oriented_angle_points ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_oriented_angle_points    (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p2</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p3</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);</pre>
+<p>
+compute the angles beetween three points (p1, p2, p3) and use
+a reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to orientate the space. That's
+way the return value can be in beetween [-pi, pi].
+the (self, vector, ref) is a right oriented base.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to multiply</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first point</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p2</code></em> :</span></p></td>
+<td>the second point</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p3</code></em> :</span></p></td>
+<td>the third point</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ref</code></em> :</span></p></td>
+<td>the reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>m</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to multiply the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the angles [-pi, pi]</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-sum"></a><h3>hkl_vector_sum ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_sum (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>compute the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> sum of all its elements.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to sum.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.31.5.14.6"></a><h4>Returns</h4>
-<p> the sum of all elements.</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-scalar-product"></a><h3>hkl_vector_scalar_product ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_scalar_product (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                           <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>compute the scalar product of two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.31.5.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-project-on-plan"></a><h3>hkl_vector_project_on_plan ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_project_on_plan          (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>);</pre>
+<p>
+project an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> on a plan of normal which contain
+the origin [0, 0, 0]
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the vector to project</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>normal</code></em> :</span></p></td>
+<td>the normal of the plane.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.15.6"></a><h4>Returns</h4>
-<p> the scalar product.</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-vectorial-product"></a><h3>hkl_vector_vectorial_product ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_vectorial_product (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                              <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>compute the vectorial product of two vectors</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.16.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-project-on-plan-with-point"></a><h3>hkl_vector_project_on_plan_with_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_project_on_plan_with_point
+                                                        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *point</code></em>);</pre>
+<p>
+project an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> on a plan of normal <span class="type">normal</span> which contain <span class="type">point</span>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> (modify)</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the vector to project (modify)</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>normal</code></em> :</span></p></td>
+<td>the normal of the plane.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>point</code></em> :</span></p></td>
+<td>a point of the plan.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<hr>
+<div class="refsect2">
+<a name="hkl-vector-randomize"></a><h3>hkl_vector_randomize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_randomize                (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+initialize a vector with random values.
+coordinates range [-1, 1]
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</td>
+</tr></tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-angle"></a><h3>hkl_vector_angle ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_angle (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>compute the angles beetween two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.31.5.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-randomize-vector"></a><h3>hkl_vector_randomize_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_randomize_vector         (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+randomize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> an be sure that it is not equal
+to the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> vector.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the fist <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> result to avoid</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.17.6"></a><h4>Returns</h4>
-<p> the return value is in beetween [0, pi]</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-oriented-angle"></a><h3>hkl_vector_oriented_angle ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_oriented_angle (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                           <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>,
-                           <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);</pre>
-<p>compute the angles beetween two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> and use
-a reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to orientate the space. That's
-way the return value can be in beetween [-pi, pi].
-the (self, vector, ref) is a right oriented base.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-randomize-vector-vector"></a><h3>hkl_vector_randomize_vector_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_randomize_vector_vector  (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector2</code></em>);</pre>
+<p>
+randomize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> an be sure that it is not equal
+to the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> vector1 and vector2.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector1</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> solution to avoid</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>ref</p></td>
-<td class="parameter_description"><p>the reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector2</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> solution to avoid</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.18.6"></a><h4>Returns</h4>
-<p> the angles [-pi, pi]</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-oriented-angle-points"></a><h3>hkl_vector_oriented_angle_points ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_oriented_angle_points (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p2</code></em>,
-                                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *p3</code></em>,
-                                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *ref</code></em>);</pre>
-<p>compute the angles beetween three points (p1, p2, p3) and use
-a reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to orientate the space. That's
-way the return value can be in beetween [-pi, pi].
-the (self, vector, ref) is a right oriented base.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.19.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-rotated-around-line"></a><h3>hkl_vector_rotated_around_line ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_rotated_around_line      (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c1</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c2</code></em>);</pre>
+<p>
+This method rotate a point around a line defined by two points
+of a certain amount of angle. The rotation is right handed.
+this mean that c2 - c1 gives the direction of the rotation.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first point</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the point to rotate around a line</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>p2</p></td>
-<td class="parameter_description"><p>the second point</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>angle</code></em> :</span></p></td>
+<td>the angle of the rotation</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>p3</p></td>
-<td class="parameter_description"><p>the third point</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>c1</code></em> :</span></p></td>
+<td>the fist point of the line</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>ref</p></td>
-<td class="parameter_description"><p>the reference <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>c2</code></em> :</span></p></td>
+<td>the second point of the line</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.19.6"></a><h4>Returns</h4>
-<p> the angles [-pi, pi]</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-norm2"></a><h3>hkl_vector_norm2 ()</h3>
-<pre class="programlisting"><span class="returnvalue">double</span>
-hkl_vector_norm2 (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>compute the norm2 of an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p>
-<div class="refsect3">
-<a name="id-1.2.31.5.20.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <span class="type">hklvector</span> use to compute the norm2</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.31.5.20.6"></a><h4>Returns</h4>
-<p> the sqrt(|v|)</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-normalize"></a><h3>hkl_vector_normalize ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_vector_normalize (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>normalize a hkl_vector</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.21.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to normalize</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.31.5.21.6"></a><h4>Returns</h4>
-<p> TRUE if the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> can be normalized, FALSE otherwise</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-is-colinear"></a><h3>hkl_vector_is_colinear ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_vector_is_colinear (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>check if two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> are colinears</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.22.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-rotated-around-vector"></a><h3>hkl_vector_rotated_around_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_rotated_around_vector    (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *axe</code></em>,
+                                                         <em class="parameter"><code><span class="type">double</span> angle</code></em>);</pre>
+<p>
+rotate a vector around another one with a given angle.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to rotate</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>axe</code></em> :</span></p></td>
+<td>the axe of rotation</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>angle</code></em> :</span></p></td>
+<td>the angle of the rotation</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect3">
-<a name="id-1.2.31.5.22.6"></a><h4>Returns</h4>
-<p> TRUE if both are colinear.</p>
-<p></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-randomize"></a><h3>hkl_vector_randomize ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_randomize (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>initialize a vector with random values.
-coordinates range [-1, 1]</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.23.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-randomize-vector"></a><h3>hkl_vector_randomize_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_randomize_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                             <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
-<p>randomize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> an be sure that it is not equal
-to the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> vector.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.24.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-rotated-quaternion"></a><h3>hkl_vector_rotated_quaternion ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_rotated_quaternion       (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *qr</code></em>);</pre>
+<p>
+rotate an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> using an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to rotate</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> result to avoid</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>qr</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to rotate the vector</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-randomize-vector-vector"></a><h3>hkl_vector_randomize_vector_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_randomize_vector_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector1</code></em>,
-                                    <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector2</code></em>);</pre>
-<p>randomize an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> an be sure that it is not equal
-to the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> vector1 and vector2.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.25.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-scalar-product"></a><h3>hkl_vector_scalar_product ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_scalar_product           (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+compute the scalar product of two <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to randomize</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector1</p></td>
-<td class="parameter_description"><p>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> solution to avoid</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>vector2</p></td>
-<td class="parameter_description"><p>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> solution to avoid</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the scalar product.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-rotated-around-vector"></a><h3>hkl_vector_rotated_around_vector ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_rotated_around_vector (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                                  <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *axe</code></em>,
-                                  <em class="parameter"><code><span class="type">double</span> angle</code></em>);</pre>
-<p>rotate a vector around another one with a given angle.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.26.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-sum"></a><h3>hkl_vector_sum ()</h3>
+<pre class="programlisting"><span class="returnvalue">double</span>              hkl_vector_sum                      (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
+<p>
+compute the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> sum of all its elements.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to rotate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>axe</p></td>
-<td class="parameter_description"><p>the axe of rotation</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to sum.</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>angle</p></td>
-<td class="parameter_description"><p>the angle of the rotation</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the sum of all elements.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-rotated-quaternion"></a><h3>hkl_vector_rotated_quaternion ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_rotated_quaternion (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                               <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> *qr</code></em>);</pre>
-<p>rotate an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> using an <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a>.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.27.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-times-double"></a><h3>hkl_vector_times_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_times_double             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">double</span> d</code></em>);</pre>
+<p>
+multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by a constant value.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to rotate</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to modify</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>qr</p></td>
-<td class="parameter_description"><p>the <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion"><span class="type">HklQuaternion</span></a> use to rotate the vector</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
+<td>the multiply factor</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-rotated-around-line"></a><h3>hkl_vector_rotated_around_line ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_rotated_around_line (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                                <em class="parameter"><code><span class="type">double</span> angle</code></em>,
-                                <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c1</code></em>,
-                                <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *c2</code></em>);</pre>
-<p>This method rotate a point around a line defined by two points
-of a certain amount of angle. The rotation is right handed.
-this mean that c2 - c1 gives the direction of the rotation.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.28.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-times-matrix"></a><h3>hkl_vector_times_matrix ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_times_matrix             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> *m</code></em>);</pre>
+<p>
+multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by an <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a>.
+compute v'= M . v
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the point to rotate around a line</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>angle</p></td>
-<td class="parameter_description"><p>the angle of the rotation</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>c1</p></td>
-<td class="parameter_description"><p>the fist point of the line</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to multiply</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>c2</p></td>
-<td class="parameter_description"><p>the second point of the line</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix"><span class="type">HklMatrix</span></a> use to multiply the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hkl-vector-is-null"></a><h3>hkl_vector_is_null ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-hkl_vector_is_null (<em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>);</pre>
-<p>check if all the coordinates of an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> are null.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.29.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the <span class="type">hklvector</span> to check</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.31.5.29.6"></a><h4>Returns</h4>
-<p> HKl_TRUE if all |elements| are below HKL_EPSILON, HKl_FALSE otherwise</p>
-<p>Todo: test</p>
-<p></p>
-</div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-project-on-plan"></a><h3>hkl_vector_project_on_plan ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_project_on_plan (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                            <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>);</pre>
-<p>project an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> on a plan of normal which contain
-the origin [0, 0, 0]</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.30.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-times-vector"></a><h3>hkl_vector_times_vector ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_times_vector             (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+multiply an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> by another one. This method multiply
+coordinate by coordinate.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the vector to project</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> to modify</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>normal</p></td>
-<td class="parameter_description"><p>the normal of the plane.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> use to modify the first one</td>
 </tr>
 </tbody>
 </table></div>
 </div>
-</div>
 <hr>
 <div class="refsect2">
-<a name="hkl-vector-project-on-plan-with-point"></a><h3>hkl_vector_project_on_plan_with_point ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hkl_vector_project_on_plan_with_point (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
-                                       <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *normal</code></em>,
-                                       <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *point</code></em>);</pre>
-<p>project an <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> on a plan of normal <span class="type">normal</span> which contain <span class="type">point</span>.</p>
-<div class="refsect3">
-<a name="id-1.2.31.5.31.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
+<a name="hkl-vector-vectorial-product"></a><h3>hkl_vector_vectorial_product ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                hkl_vector_vectorial_product        (<em class="parameter"><code><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *self</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> *vector</code></em>);</pre>
+<p>
+compute the vectorial product of two vectors
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
 <tbody>
 <tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the vector to project (modify)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>normal</p></td>
-<td class="parameter_description"><p>the normal of the plane.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>the first <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a> (modify)</td>
 </tr>
 <tr>
-<td class="parameter_name"><p>point</p></td>
-<td class="parameter_description"><p>a point of the plan.</p></td>
-<td class="parameter_annotations"> </td>
+<td><p><span class="term"><em class="parameter"><code>vector</code></em> :</span></p></td>
+<td>the second <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector"><span class="type">HklVector</span></a>
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="hkl-hkl-vector-private.other_details"></a><h2>Types and Values</h2>
-</div>
-</div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-hkl.html b/Documentation/api/html/hkl-hkl.html
index 2174c01..3d1a9ce 100644
--- a/Documentation/api/html/hkl-hkl.html
+++ b/Documentation/api/html/hkl-hkl.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-darray.html" title="darray">
 <link rel="next" href="hkl-hkl-axis-private.html" title="hkl-axis-private">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-hkl.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-darray.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-hkl-axis-private.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-darray.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-hkl-axis-private.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-hkl.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-hkl.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-hkl"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,174 +33,60 @@
 <h2><span class="refentrytitle"><a name="hkl-hkl.top_of_page"></a>hkl</span></h2>
 <p>hkl</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-hkl.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS" title="HKL_DEPRECATED_FOR()">HKL_DEPRECATED_FOR</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-DEGTORAD:CAPS" title="HKL_DEGTORAD">HKL_DEGTORAD</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-RADTODEG:CAPS" title="HKL_RADTODEG">HKL_RADTODEG</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-TAU:CAPS" title="HKL_TAU">HKL_TAU</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl.html#HKL-ARG-NONNULL:CAPS" title="HKL_ARG_NONNULL()">HKL_ARG_NONNULL</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl.html#HKL-GEOMETRY-LIST-FOREACH:CAPS" title="HKL_GEOMETRY_LIST_FOREACH()">HKL_GEOMETRY_LIST_FOREACH</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-hkl.html#HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS" title="HKL_SAMPLE_REFLECTIONS_FOREACH()">HKL_SAMPLE_REFLECTIONS_FOREACH</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-DEPRECATED:CAPS" title="HKL_DEPRECATED">HKL_DEPRECATED</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-TINY:CAPS" title="HKL_TINY">HKL_TINY</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-EPSILON:CAPS" title="HKL_EPSILON">HKL_EPSILON</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKLAPI:CAPS" title="HKLAPI">HKLAPI</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS" title="HKL_WARN_UNUSED_RESULT">HKL_WARN_UNUSED_RESULT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector">HklVector</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion">HklQuaternion</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#darray-string" title="darray_string">darray_string</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklUnitEnum" title="enum HklUnitEnum">HklUnitEnum</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklDetectorType" title="enum HklDetectorType">HklDetectorType</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#darray-engine" title="darray_engine">darray_engine</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngineCapabilities" title="enum HklEngineCapabilities">HklEngineCapabilities</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngineAxisNamesGet" title="enum HklEngineAxisNamesGet">HklEngineAxisNamesGet</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter">HklParameter</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry">HklGeometry</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection">HklSampleReflection</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklSample" title="HklSample">HklSample</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem">HklGeometryListItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory">HklFactory</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList">HklEngineList</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList">HklGeometryList</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice">HklLattice</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix">HklMatrix</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector">HklDetector</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine">HklEngine</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-hkl.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-hkl.html#HKLAPI:CAPS" title="HKLAPI">HKLAPI</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-ARG-NONNULL:CAPS" title="HKL_ARG_NONNULL()">HKL_ARG_NONNULL</a>                     (...)
+#define             <a class="link" href="hkl-hkl.html#HKL-DEGTORAD:CAPS" title="HKL_DEGTORAD">HKL_DEGTORAD</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-DEPRECATED:CAPS" title="HKL_DEPRECATED">HKL_DEPRECATED</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS" title="HKL_DEPRECATED_FOR()">HKL_DEPRECATED_FOR</a>                  (f)
+#define             <a class="link" href="hkl-hkl.html#HKL-EPSILON:CAPS" title="HKL_EPSILON">HKL_EPSILON</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-GEOMETRY-LIST-FOREACH:CAPS" title="HKL_GEOMETRY_LIST_FOREACH()">HKL_GEOMETRY_LIST_FOREACH</a>           (item,
+                                                         list)
+#define             <a class="link" href="hkl-hkl.html#HKL-RADTODEG:CAPS" title="HKL_RADTODEG">HKL_RADTODEG</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS" title="HKL_SAMPLE_REFLECTIONS_FOREACH()">HKL_SAMPLE_REFLECTIONS_FOREACH</a>      (_item,
+                                                         _list)
+#define             <a class="link" href="hkl-hkl.html#HKL-TAU:CAPS" title="HKL_TAU">HKL_TAU</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-TINY:CAPS" title="HKL_TINY">HKL_TINY</a>
+#define             <a class="link" href="hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS" title="HKL_WARN_UNUSED_RESULT">HKL_WARN_UNUSED_RESULT</a>
+                    <a class="link" href="hkl-hkl.html#HklDetector" title="HklDetector">HklDetector</a>;
+enum                <a class="link" href="hkl-hkl.html#HklDetectorType" title="enum HklDetectorType">HklDetectorType</a>;
+                    <a class="link" href="hkl-hkl.html#HklEngine" title="HklEngine">HklEngine</a>;
+enum                <a class="link" href="hkl-hkl.html#HklEngineAxisNamesGet" title="enum HklEngineAxisNamesGet">HklEngineAxisNamesGet</a>;
+enum                <a class="link" href="hkl-hkl.html#HklEngineCapabilities" title="enum HklEngineCapabilities">HklEngineCapabilities</a>;
+                    <a class="link" href="hkl-hkl.html#HklEngineList" title="HklEngineList">HklEngineList</a>;
+                    <a class="link" href="hkl-hkl.html#HklFactory" title="HklFactory">HklFactory</a>;
+                    <a class="link" href="hkl-hkl.html#HklGeometry" title="HklGeometry">HklGeometry</a>;
+                    <a class="link" href="hkl-hkl.html#HklGeometryList" title="HklGeometryList">HklGeometryList</a>;
+                    <a class="link" href="hkl-hkl.html#HklGeometryListItem" title="HklGeometryListItem">HklGeometryListItem</a>;
+                    <a class="link" href="hkl-hkl.html#HklLattice" title="HklLattice">HklLattice</a>;
+                    <a class="link" href="hkl-hkl.html#HklMatrix" title="HklMatrix">HklMatrix</a>;
+                    <a class="link" href="hkl-hkl.html#HklParameter" title="HklParameter">HklParameter</a>;
+struct              <a class="link" href="hkl-hkl.html#HklQuaternion" title="struct HklQuaternion">HklQuaternion</a>;
+                    <a class="link" href="hkl-hkl.html#HklSample" title="HklSample">HklSample</a>;
+                    <a class="link" href="hkl-hkl.html#HklSampleReflection" title="HklSampleReflection">HklSampleReflection</a>;
+enum                <a class="link" href="hkl-hkl.html#HklUnitEnum" title="enum HklUnitEnum">HklUnitEnum</a>;
+struct              <a class="link" href="hkl-hkl.html#HklVector" title="struct HklVector">HklVector</a>;
+typedef             <a class="link" href="hkl-hkl.html#darray-engine" title="darray_engine">darray_engine</a>;
+typedef             <a class="link" href="hkl-hkl.html#darray-string" title="darray_string">darray_string</a>;
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-hkl.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-hkl.functions_details"></a><h2>Functions</h2>
+<a name="hkl-hkl.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="HKL-DEPRECATED-FOR:CAPS"></a><h3>HKL_DEPRECATED_FOR()</h3>
-<pre class="programlisting"># define HKL_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead")))
+<a name="HKLAPI:CAPS"></a><h3>HKLAPI</h3>
+<pre class="programlisting">#  define HKLAPI __attribute__ ((visibility("default")))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HKL-ARG-NONNULL:CAPS"></a><h3>HKL_ARG_NONNULL()</h3>
+<pre class="programlisting"># define HKL_ARG_NONNULL(...) __attribute__ ((__nonnull__(__VA_ARGS__)))
 </pre>
 </div>
 <hr>
@@ -207,20 +97,20 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-RADTODEG:CAPS"></a><h3>HKL_RADTODEG</h3>
-<pre class="programlisting">#define HKL_RADTODEG (180./M_PI)
+<a name="HKL-DEPRECATED:CAPS"></a><h3>HKL_DEPRECATED</h3>
+<pre class="programlisting"># define HKL_DEPRECATED __attribute__((__deprecated__))
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-TAU:CAPS"></a><h3>HKL_TAU</h3>
-<pre class="programlisting">#define HKL_TAU (2. * M_PI)
+<a name="HKL-DEPRECATED-FOR:CAPS"></a><h3>HKL_DEPRECATED_FOR()</h3>
+<pre class="programlisting"># define HKL_DEPRECATED_FOR(f) __attribute__((__deprecated__("Use '" #f "' instead")))
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-ARG-NONNULL:CAPS"></a><h3>HKL_ARG_NONNULL()</h3>
-<pre class="programlisting"># define HKL_ARG_NONNULL(...) __attribute__ ((__nonnull__(__VA_ARGS__)))
+<a name="HKL-EPSILON:CAPS"></a><h3>HKL_EPSILON</h3>
+<pre class="programlisting">#define HKL_EPSILON 1e-6
 </pre>
 </div>
 <hr>
@@ -230,15 +120,19 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="HKL-RADTODEG:CAPS"></a><h3>HKL_RADTODEG</h3>
+<pre class="programlisting">#define HKL_RADTODEG (180./M_PI)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
 <a name="HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS"></a><h3>HKL_SAMPLE_REFLECTIONS_FOREACH()</h3>
 <pre class="programlisting">#define             HKL_SAMPLE_REFLECTIONS_FOREACH(_item, _list)</pre>
 </div>
-</div>
-<div class="refsect1">
-<a name="hkl-hkl.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="HKL-DEPRECATED:CAPS"></a><h3>HKL_DEPRECATED</h3>
-<pre class="programlisting"># define HKL_DEPRECATED __attribute__((__deprecated__))
+<a name="HKL-TAU:CAPS"></a><h3>HKL_TAU</h3>
+<pre class="programlisting">#define HKL_TAU (2. * M_PI)
 </pre>
 </div>
 <hr>
@@ -249,151 +143,139 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-EPSILON:CAPS"></a><h3>HKL_EPSILON</h3>
-<pre class="programlisting">#define HKL_EPSILON 1e-6
+<a name="HKL-WARN-UNUSED-RESULT:CAPS"></a><h3>HKL_WARN_UNUSED_RESULT</h3>
+<pre class="programlisting">#  define HKL_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKLAPI:CAPS"></a><h3>HKLAPI</h3>
-<pre class="programlisting">#  define HKLAPI __attribute__ ((visibility("default")))
+<a name="HklDetector"></a><h3>HklDetector</h3>
+<pre class="programlisting">typedef struct {
+	size_t idx;
+	HklHolder const *holder;
+} HklDetector;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HKL-WARN-UNUSED-RESULT:CAPS"></a><h3>HKL_WARN_UNUSED_RESULT</h3>
-<pre class="programlisting">#  define HKL_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
+<a name="HklDetectorType"></a><h3>enum HklDetectorType</h3>
+<pre class="programlisting">typedef enum {
+	HKL_DETECTOR_TYPE_0D
+} HklDetectorType;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklVector"></a><h3>struct HklVector</h3>
-<pre class="programlisting">struct HklVector {
-	double data[3];
-};
+<a name="HklEngine"></a><h3>HklEngine</h3>
+<pre class="programlisting">typedef struct {
+	const HklEngineInfo *info;
+	const HklEngineOperations *ops;
+	HklGeometry *geometry;
+	HklDetector *detector;
+	HklSample *sample;
+	HklMode *mode; /* not owned */
+	HklEngineList *engines; /* not owned */
+	darray_parameter axes;
+	darray_parameter pseudo_axes;
+	darray_string pseudo_axis_names;
+	darray_mode modes;
+	darray_string mode_names;
+} HklEngine;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklQuaternion"></a><h3>struct HklQuaternion</h3>
-<pre class="programlisting">struct HklQuaternion {
-	double data[4];
-};
+<a name="HklEngineAxisNamesGet"></a><h3>enum HklEngineAxisNamesGet</h3>
+<pre class="programlisting">typedef enum {
+	HKL_ENGINE_AXIS_NAMES_GET_READ,
+	HKL_ENGINE_AXIS_NAMES_GET_WRITE,
+} HklEngineAxisNamesGet;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-string"></a><h3>darray_string</h3>
-<pre class="programlisting">typedef darray(const char *) darray_string;
+<a name="HklEngineCapabilities"></a><h3>enum HklEngineCapabilities</h3>
+<pre class="programlisting">typedef enum {
+	HKL_ENGINE_CAPABILITIES_READABLE = 1u << 0,
+	HKL_ENGINE_CAPABILITIES_WRITABLE = 1u << 1,
+	HKL_ENGINE_CAPABILITIES_INITIALIZABLE = 1u << 2,
+} HklEngineCapabilities;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklUnitEnum"></a><h3>enum HklUnitEnum</h3>
-<div class="refsect3">
-<a name="id-1.2.9.7.10.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-UNIT-DEFAULT:CAPS"></a>HKL_UNIT_DEFAULT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-UNIT-USER:CAPS"></a>HKL_UNIT_USER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
+<a name="HklEngineList"></a><h3>HklEngineList</h3>
+<pre class="programlisting">typedef struct {
+	_darray(HklEngine *);
+	HklGeometryList *geometries;
+	HklGeometry *geometry;
+	HklDetector *detector;
+	HklSample *sample;
+} HklEngineList;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklDetectorType"></a><h3>enum HklDetectorType</h3>
-<div class="refsect3">
-<a name="id-1.2.9.7.11.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="enum_member_name"><p><a name="HKL-DETECTOR-TYPE-0D:CAPS"></a>HKL_DETECTOR_TYPE_0D</p></td>
-<td> </td>
-<td> </td>
-</tr></tbody>
-</table></div>
-</div>
+<a name="HklFactory"></a><h3>HklFactory</h3>
+<pre class="programlisting">typedef struct {
+	const char *name;
+	const char *description;
+	const darray_string axes;
+	HklFactoryGeometryFunction create_new_geometry;
+	HklFactoryEngineListFunction create_new_engine_list;
+} HklFactory;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="darray-engine"></a><h3>darray_engine</h3>
-<pre class="programlisting">typedef darray(HklEngine *) darray_engine;
+<a name="HklGeometry"></a><h3>HklGeometry</h3>
+<pre class="programlisting">typedef struct {
+	const HklFactory *factory;
+	HklSource source;
+	darray_parameter axes;
+	darray_holder holders;
+} HklGeometry;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineCapabilities"></a><h3>enum HklEngineCapabilities</h3>
-<div class="refsect3">
-<a name="id-1.2.9.7.13.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-CAPABILITIES-READABLE:CAPS"></a>HKL_ENGINE_CAPABILITIES_READABLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-CAPABILITIES-WRITABLE:CAPS"></a>HKL_ENGINE_CAPABILITIES_WRITABLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-CAPABILITIES-INITIALIZABLE:CAPS"></a>HKL_ENGINE_CAPABILITIES_INITIALIZABLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
+<a name="HklGeometryList"></a><h3>HklGeometryList</h3>
+<pre class="programlisting">typedef struct {
+	HklGeometryListMultiplyFunction multiply;
+	struct list_head items;
+	size_t n_items;
+} HklGeometryList;
+</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="HklGeometryListItem"></a><h3>HklGeometryListItem</h3>
+<pre class="programlisting">typedef struct {
+	struct list_node list;
+	HklGeometry *geometry;
+} HklGeometryListItem;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngineAxisNamesGet"></a><h3>enum HklEngineAxisNamesGet</h3>
-<div class="refsect3">
-<a name="id-1.2.9.7.14.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-AXIS-NAMES-GET-READ:CAPS"></a>HKL_ENGINE_AXIS_NAMES_GET_READ</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HKL-ENGINE-AXIS-NAMES-GET-WRITE:CAPS"></a>HKL_ENGINE_AXIS_NAMES_GET_WRITE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
+<a name="HklLattice"></a><h3>HklLattice</h3>
+<pre class="programlisting">typedef struct {
+	HklParameter *a;
+	HklParameter *b;
+	HklParameter *c;
+	HklParameter *alpha;
+	HklParameter *beta;
+	HklParameter *gamma;
+} HklLattice;
+</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="HklMatrix"></a><h3>HklMatrix</h3>
+<pre class="programlisting">typedef struct {
+	double data[3][3];
+} HklMatrix;
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -413,26 +295,10 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometry"></a><h3>HklGeometry</h3>
-<pre class="programlisting">typedef struct {
-	const HklFactory *factory;
-	HklSource source;
-	darray_parameter axes;
-	darray_holder holders;
-} HklGeometry;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklSampleReflection"></a><h3>HklSampleReflection</h3>
-<pre class="programlisting">typedef struct {
-	HklGeometry *geometry;
-	HklDetector *detector;
-	HklVector hkl;
-	HklVector _hkl;
-	int flag;
-	struct list_node list;
-} HklSampleReflection;
+<a name="HklQuaternion"></a><h3>struct HklQuaternion</h3>
+<pre class="programlisting">struct HklQuaternion {
+	double data[4];
+};
 </pre>
 </div>
 <hr>
@@ -453,100 +319,50 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklGeometryListItem"></a><h3>HklGeometryListItem</h3>
-<pre class="programlisting">typedef struct {
-	struct list_node list;
-	HklGeometry *geometry;
-} HklGeometryListItem;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklFactory"></a><h3>HklFactory</h3>
-<pre class="programlisting">typedef struct {
-	const char *name;
-	const char *description;
-	const darray_string axes;
-	HklFactoryGeometryFunction create_new_geometry;
-	HklFactoryEngineListFunction create_new_engine_list;
-} HklFactory;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklEngineList"></a><h3>HklEngineList</h3>
+<a name="HklSampleReflection"></a><h3>HklSampleReflection</h3>
 <pre class="programlisting">typedef struct {
-	_darray(HklEngine *);
-	HklGeometryList *geometries;
 	HklGeometry *geometry;
 	HklDetector *detector;
-	HklSample *sample;
-} HklEngineList;
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HklGeometryList"></a><h3>HklGeometryList</h3>
-<pre class="programlisting">typedef struct {
-	HklGeometryListMultiplyFunction multiply;
-	struct list_head items;
-	size_t n_items;
-} HklGeometryList;
+	HklVector hkl;
+	HklVector _hkl;
+	int flag;
+	struct list_node list;
+} HklSampleReflection;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklLattice"></a><h3>HklLattice</h3>
-<pre class="programlisting">typedef struct {
-	HklParameter *a;
-	HklParameter *b;
-	HklParameter *c;
-	HklParameter *alpha;
-	HklParameter *beta;
-	HklParameter *gamma;
-} HklLattice;
+<a name="HklUnitEnum"></a><h3>enum HklUnitEnum</h3>
+<pre class="programlisting">typedef enum {
+	HKL_UNIT_DEFAULT,
+	HKL_UNIT_USER
+} HklUnitEnum;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklMatrix"></a><h3>HklMatrix</h3>
-<pre class="programlisting">typedef struct {
-	double data[3][3];
-} HklMatrix;
+<a name="HklVector"></a><h3>struct HklVector</h3>
+<pre class="programlisting">struct HklVector {
+	double data[3];
+};
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklDetector"></a><h3>HklDetector</h3>
-<pre class="programlisting">typedef struct {
-	size_t idx;
-	HklHolder const *holder;
-} HklDetector;
+<a name="darray-engine"></a><h3>darray_engine</h3>
+<pre class="programlisting">typedef darray(HklEngine *) darray_engine;
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HklEngine"></a><h3>HklEngine</h3>
-<pre class="programlisting">typedef struct {
-	const HklEngineInfo *info;
-	const HklEngineOperations *ops;
-	HklGeometry *geometry;
-	HklDetector *detector;
-	HklSample *sample;
-	HklMode *mode; /* not owned */
-	HklEngineList *engines; /* not owned */
-	darray_parameter axes;
-	darray_parameter pseudo_axes;
-	darray_string pseudo_axis_names;
-	darray_mode modes;
-	darray_string mode_names;
-} HklEngine;
+<a name="darray-string"></a><h3>darray_string</h3>
+<pre class="programlisting">typedef darray(const char *) darray_string;
 </pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-list.html b/Documentation/api/html/hkl-list.html
index 8e9c9e3..705d8a1 100644
--- a/Documentation/api/html/hkl-list.html
+++ b/Documentation/api/html/hkl-list.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: list</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>list</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-hkl-vector-private.html" title="hkl-vector-private">
 <link rel="next" href="hkl-noerr.html" title="noerr">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-list.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-hkl-vector-private.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-noerr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-hkl-vector-private.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-noerr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-list.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-list.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-list"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,374 +33,216 @@
 <h2><span class="refentrytitle"><a name="hkl-list.top_of_page"></a>list</span></h2>
 <p>list</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-list.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">struct <a class="link" href="hkl-list.html#list-head" title="struct list_head"><span class="returnvalue">list_head</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-check" title="list_check ()">list_check</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">struct <a class="link" href="hkl-list.html#list-node" title="struct list_node"><span class="returnvalue">list_node</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-check-node" title="list_check_node ()">list_check_node</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-debug" title="list_debug()">list_debug</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-debug-node" title="list_debug_node()">list_debug_node</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#LIST-HEAD-INIT:CAPS" title="LIST_HEAD_INIT()">LIST_HEAD_INIT</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#LIST-HEAD:CAPS" title="LIST_HEAD()">LIST_HEAD</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-add" title="list_add()">list_add</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-add-tail" title="list_add_tail()">list_add_tail</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-empty" title="list_empty()">list_empty</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-empty-nodebug" title="list_empty_nodebug()">list_empty_nodebug</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-del" title="list_del()">list_del</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-entry" title="list_entry()">list_entry</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-top" title="list_top()">list_top</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-pop" title="list_pop()">list_pop</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-tail" title="list_tail()">list_tail</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-for-each" title="list_for_each()">list_for_each</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-for-each-rev" title="list_for_each_rev()">list_for_each_rev</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-for-each-safe" title="list_for_each_safe()">list_for_each_safe</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-next" title="list_next()">list_next</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-prev" title="list_prev()">list_prev</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-append-list" title="list_append_list()">list_append_list</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-prepend-list" title="list_prepend_list()">list_prepend_list</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-for-each-off" title="list_for_each_off()">list_for_each_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-for-each-safe-off" title="list_for_each_safe_off()">list_for_each_safe_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-entry-off" title="list_entry_off()">list_entry_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-head-off" title="list_head_off()">list_head_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-tail-off" title="list_tail_off()">list_tail_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-add-off" title="list_add_off()">list_add_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-del-off" title="list_del_off()">list_del_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-del-from-off" title="list_del_from_off()">list_del_from_off</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-off-" title="list_off_()">list_off_</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-off-var-" title="list_off_var_()">list_off_var_</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-list.html#list-typeof" title="list_typeof()">list_typeof</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-list.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-list.html#list-node" title="struct list_node">list_node</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-list.html#list-head" title="struct list_head">list_head</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="hkl-list.html#LIST-LOC:CAPS" title="LIST_LOC">LIST_LOC</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-list.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-list.html#LIST-HEAD:CAPS" title="LIST_HEAD()">LIST_HEAD</a>                           (name)
+#define             <a class="link" href="hkl-list.html#LIST-HEAD-INIT:CAPS" title="LIST_HEAD_INIT()">LIST_HEAD_INIT</a>                      (name)
+#define             <a class="link" href="hkl-list.html#LIST-LOC:CAPS" title="LIST_LOC">LIST_LOC</a>
+#define             <a class="link" href="hkl-list.html#list-add" title="list_add()">list_add</a>                            (h,
+                                                         n)
+#define             <a class="link" href="hkl-list.html#list-add-off" title="list_add_off()">list_add_off</a>                        (h,
+                                                         n,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-add-tail" title="list_add_tail()">list_add_tail</a>                       (h,
+                                                         n)
+#define             <a class="link" href="hkl-list.html#list-append-list" title="list_append_list()">list_append_list</a>                    (t,
+                                                         f)
+struct <span class="returnvalue">list_head</span> *  <a class="link" href="hkl-list.html#list-check" title="list_check ()">list_check</a>                          (<em class="parameter"><code>const <span class="type">struct list_head</span> *h</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);
+struct <span class="returnvalue">list_node</span> *  <a class="link" href="hkl-list.html#list-check-node" title="list_check_node ()">list_check_node</a>                     (<em class="parameter"><code>const <span class="type">struct list_node</span> *n</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);
+#define             <a class="link" href="hkl-list.html#list-debug" title="list_debug()">list_debug</a>                          (h,
+                                                         loc)
+#define             <a class="link" href="hkl-list.html#list-debug-node" title="list_debug_node()">list_debug_node</a>                     (n,
+                                                         loc)
+#define             <a class="link" href="hkl-list.html#list-del" title="list_del()">list_del</a>                            (n)
+#define             <a class="link" href="hkl-list.html#list-del-from-off" title="list_del_from_off()">list_del_from_off</a>                   (h,
+                                                         n,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-del-off" title="list_del_off()">list_del_off</a>                        (n,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-empty" title="list_empty()">list_empty</a>                          (h)
+#define             <a class="link" href="hkl-list.html#list-empty-nodebug" title="list_empty_nodebug()">list_empty_nodebug</a>                  (h)
+#define             <a class="link" href="hkl-list.html#list-entry" title="list_entry()">list_entry</a>                          (n,
+                                                         type,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-entry-off" title="list_entry_off()">list_entry_off</a>                      (n,
+                                                         type,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-for-each" title="list_for_each()">list_for_each</a>                       (h,
+                                                         i,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-for-each-off" title="list_for_each_off()">list_for_each_off</a>                   (h,
+                                                         i,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-for-each-rev" title="list_for_each_rev()">list_for_each_rev</a>                   (h,
+                                                         i,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-for-each-safe" title="list_for_each_safe()">list_for_each_safe</a>                  (h,
+                                                         i,
+                                                         nxt,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-for-each-safe-off" title="list_for_each_safe_off()">list_for_each_safe_off</a>              (h,
+                                                         i,
+                                                         nxt,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-head-off" title="list_head_off()">list_head_off</a>                       (h,
+                                                         type,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-next" title="list_next()">list_next</a>                           (h,
+                                                         i,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-off-" title="list_off_()">list_off_</a>                           (type,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-off-var-" title="list_off_var_()">list_off_var_</a>                       (var,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-pop" title="list_pop()">list_pop</a>                            (h,
+                                                         type,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-prepend-list" title="list_prepend_list()">list_prepend_list</a>                   (t,
+                                                         f)
+#define             <a class="link" href="hkl-list.html#list-prev" title="list_prev()">list_prev</a>                           (h,
+                                                         i,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-tail" title="list_tail()">list_tail</a>                           (h,
+                                                         type,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-tail-off" title="list_tail_off()">list_tail_off</a>                       (h,
+                                                         type,
+                                                         off)
+#define             <a class="link" href="hkl-list.html#list-top" title="list_top()">list_top</a>                            (h,
+                                                         type,
+                                                         member)
+#define             <a class="link" href="hkl-list.html#list-typeof" title="list_typeof()">list_typeof</a>                         (var)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-list.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-list.functions_details"></a><h2>Functions</h2>
+<a name="hkl-list.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="list-check"></a><h3>list_check ()</h3>
-<pre class="programlisting">struct <a class="link" href="hkl-list.html#list-head" title="struct list_head"><span class="returnvalue">list_head</span></a> *
-list_check (<em class="parameter"><code>const <span class="type">struct list_head</span> *h</code></em>,
-            <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="list-check-node"></a><h3>list_check_node ()</h3>
-<pre class="programlisting">struct <a class="link" href="hkl-list.html#list-node" title="struct list_node"><span class="returnvalue">list_node</span></a> *
-list_check_node (<em class="parameter"><code>const <span class="type">struct list_node</span> *n</code></em>,
-                 <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);</pre>
+<a name="LIST-HEAD:CAPS"></a><h3>LIST_HEAD()</h3>
+<pre class="programlisting">#define             LIST_HEAD(name)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-debug"></a><h3>list_debug()</h3>
-<pre class="programlisting">#define list_debug(h, loc) list_check((h), loc)
+<a name="LIST-HEAD-INIT:CAPS"></a><h3>LIST_HEAD_INIT()</h3>
+<pre class="programlisting">#define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-debug-node"></a><h3>list_debug_node()</h3>
-<pre class="programlisting">#define list_debug_node(n, loc) list_check_node((n), loc)
+<a name="LIST-LOC:CAPS"></a><h3>LIST_LOC</h3>
+<pre class="programlisting">#define LIST_LOC __FILE__  ":" stringify(__LINE__)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="LIST-HEAD-INIT:CAPS"></a><h3>LIST_HEAD_INIT()</h3>
-<pre class="programlisting">#define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
+<a name="list-add"></a><h3>list_add()</h3>
+<pre class="programlisting">#define list_add(h, n) list_add_(h, n, LIST_LOC)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="LIST-HEAD:CAPS"></a><h3>LIST_HEAD()</h3>
-<pre class="programlisting">#define             LIST_HEAD(name)</pre>
+<a name="list-add-off"></a><h3>list_add_off()</h3>
+<pre class="programlisting">#define             list_add_off(h, n, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-add"></a><h3>list_add()</h3>
-<pre class="programlisting">#define list_add(h, n) list_add_(h, n, LIST_LOC)
+<a name="list-add-tail"></a><h3>list_add_tail()</h3>
+<pre class="programlisting">#define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-add-tail"></a><h3>list_add_tail()</h3>
-<pre class="programlisting">#define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)
-</pre>
+<a name="list-append-list"></a><h3>list_append_list()</h3>
+<pre class="programlisting">#define             list_append_list(t, f)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-empty"></a><h3>list_empty()</h3>
-<pre class="programlisting">#define list_empty(h) list_empty_(h, LIST_LOC)
-</pre>
+<a name="list-check"></a><h3>list_check ()</h3>
+<pre class="programlisting">struct <span class="returnvalue">list_head</span> *  list_check                          (<em class="parameter"><code>const <span class="type">struct list_head</span> *h</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-empty-nodebug"></a><h3>list_empty_nodebug()</h3>
-<pre class="programlisting">#define list_empty_nodebug(h) list_empty(h)
-</pre>
+<a name="list-check-node"></a><h3>list_check_node ()</h3>
+<pre class="programlisting">struct <span class="returnvalue">list_node</span> *  list_check_node                     (<em class="parameter"><code>const <span class="type">struct list_node</span> *n</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *abortstr</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-del"></a><h3>list_del()</h3>
-<pre class="programlisting">#define list_del(n) list_del_(n, LIST_LOC)
+<a name="list-debug"></a><h3>list_debug()</h3>
+<pre class="programlisting">#define list_debug(h, loc) list_check((h), loc)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-entry"></a><h3>list_entry()</h3>
-<pre class="programlisting">#define list_entry(n, type, member) container_of(n, type, member)
+<a name="list-debug-node"></a><h3>list_debug_node()</h3>
+<pre class="programlisting">#define list_debug_node(n, loc) list_check_node((n), loc)
 </pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-top"></a><h3>list_top()</h3>
-<pre class="programlisting">#define             list_top(h, type, member)</pre>
+<a name="list-del"></a><h3>list_del()</h3>
+<pre class="programlisting">#define list_del(n) list_del_(n, LIST_LOC)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-pop"></a><h3>list_pop()</h3>
-<pre class="programlisting">#define             list_pop(h, type, member)</pre>
+<a name="list-del-from-off"></a><h3>list_del_from_off()</h3>
+<pre class="programlisting">#define             list_del_from_off(h, n, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-tail"></a><h3>list_tail()</h3>
-<pre class="programlisting">#define             list_tail(h, type, member)</pre>
+<a name="list-del-off"></a><h3>list_del_off()</h3>
+<pre class="programlisting">#define             list_del_off(n, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-for-each"></a><h3>list_for_each()</h3>
-<pre class="programlisting">#define             list_for_each(h, i, member)</pre>
+<a name="list-empty"></a><h3>list_empty()</h3>
+<pre class="programlisting">#define list_empty(h) list_empty_(h, LIST_LOC)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-for-each-rev"></a><h3>list_for_each_rev()</h3>
-<pre class="programlisting">#define             list_for_each_rev(h, i, member)</pre>
+<a name="list-empty-nodebug"></a><h3>list_empty_nodebug()</h3>
+<pre class="programlisting">#define list_empty_nodebug(h) list_empty(h)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-for-each-safe"></a><h3>list_for_each_safe()</h3>
-<pre class="programlisting">#define             list_for_each_safe(h, i, nxt, member)</pre>
+<a name="list-entry"></a><h3>list_entry()</h3>
+<pre class="programlisting">#define list_entry(n, type, member) container_of(n, type, member)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-next"></a><h3>list_next()</h3>
-<pre class="programlisting">#define             list_next(h, i, member)</pre>
+<a name="list-entry-off"></a><h3>list_entry_off()</h3>
+<pre class="programlisting">#define             list_entry_off(n, type, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-prev"></a><h3>list_prev()</h3>
-<pre class="programlisting">#define             list_prev(h, i, member)</pre>
+<a name="list-for-each"></a><h3>list_for_each()</h3>
+<pre class="programlisting">#define             list_for_each(h, i, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-append-list"></a><h3>list_append_list()</h3>
-<pre class="programlisting">#define             list_append_list(t, f)</pre>
+<a name="list-for-each-off"></a><h3>list_for_each_off()</h3>
+<pre class="programlisting">#define             list_for_each_off(h, i, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-prepend-list"></a><h3>list_prepend_list()</h3>
-<pre class="programlisting">#define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)
-</pre>
+<a name="list-for-each-rev"></a><h3>list_for_each_rev()</h3>
+<pre class="programlisting">#define             list_for_each_rev(h, i, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-for-each-off"></a><h3>list_for_each_off()</h3>
-<pre class="programlisting">#define             list_for_each_off(h, i, off)</pre>
+<a name="list-for-each-safe"></a><h3>list_for_each_safe()</h3>
+<pre class="programlisting">#define             list_for_each_safe(h, i, nxt, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -405,78 +251,65 @@ list_check_node (<em class="parameter"><code>const <span class="type">struct lis
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-entry-off"></a><h3>list_entry_off()</h3>
-<pre class="programlisting">#define             list_entry_off(n, type, off)</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="list-head-off"></a><h3>list_head_off()</h3>
 <pre class="programlisting">#define             list_head_off(h, type, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-tail-off"></a><h3>list_tail_off()</h3>
-<pre class="programlisting">#define             list_tail_off(h, type, off)</pre>
+<a name="list-next"></a><h3>list_next()</h3>
+<pre class="programlisting">#define             list_next(h, i, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-add-off"></a><h3>list_add_off()</h3>
-<pre class="programlisting">#define             list_add_off(h, n, off)</pre>
+<a name="list-off-"></a><h3>list_off_()</h3>
+<pre class="programlisting">#define             list_off_(type, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-del-off"></a><h3>list_del_off()</h3>
-<pre class="programlisting">#define             list_del_off(n, off)</pre>
+<a name="list-off-var-"></a><h3>list_off_var_()</h3>
+<pre class="programlisting">#define             list_off_var_(var, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-del-from-off"></a><h3>list_del_from_off()</h3>
-<pre class="programlisting">#define             list_del_from_off(h, n, off)</pre>
+<a name="list-pop"></a><h3>list_pop()</h3>
+<pre class="programlisting">#define             list_pop(h, type, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-off-"></a><h3>list_off_()</h3>
-<pre class="programlisting">#define             list_off_(type, member)</pre>
+<a name="list-prepend-list"></a><h3>list_prepend_list()</h3>
+<pre class="programlisting">#define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-off-var-"></a><h3>list_off_var_()</h3>
-<pre class="programlisting">#define             list_off_var_(var, member)</pre>
+<a name="list-prev"></a><h3>list_prev()</h3>
+<pre class="programlisting">#define             list_prev(h, i, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-typeof"></a><h3>list_typeof()</h3>
-<pre class="programlisting">#define list_typeof(var) typeof(var)
-</pre>
-</div>
+<a name="list-tail"></a><h3>list_tail()</h3>
+<pre class="programlisting">#define             list_tail(h, type, member)</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-list.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="list-node"></a><h3>struct list_node</h3>
-<pre class="programlisting">struct list_node {
-	struct list_node *next, *prev;
-};
-</pre>
+<a name="list-tail-off"></a><h3>list_tail_off()</h3>
+<pre class="programlisting">#define             list_tail_off(h, type, off)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="list-head"></a><h3>struct list_head</h3>
-<pre class="programlisting">struct list_head {
-	struct list_node n;
-};
-</pre>
+<a name="list-top"></a><h3>list_top()</h3>
+<pre class="programlisting">#define             list_top(h, type, member)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="LIST-LOC:CAPS"></a><h3>LIST_LOC</h3>
-<pre class="programlisting">#define LIST_LOC __FILE__  ":" stringify(__LINE__)
+<a name="list-typeof"></a><h3>list_typeof()</h3>
+<pre class="programlisting">#define list_typeof(var) typeof(var)
 </pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-noerr.html b/Documentation/api/html/hkl-noerr.html
index 7be29af..3eac030 100644
--- a/Documentation/api/html/hkl-noerr.html
+++ b/Documentation/api/html/hkl-noerr.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: noerr</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>noerr</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-list.html" title="list">
 <link rel="next" href="hkl-ptr-valid.html" title="ptr_valid">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-noerr.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-list.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-ptr-valid.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-ptr-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-noerr.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-noerr.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-noerr"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,72 +33,38 @@
 <h2><span class="refentrytitle"><a name="hkl-noerr.top_of_page"></a>noerr</span></h2>
 <p>noerr</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-noerr.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-noerr.html#close-noerr" title="close_noerr ()">close_noerr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-noerr.html#fclose-noerr" title="fclose_noerr ()">fclose_noerr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-noerr.html#unlink-noerr" title="unlink_noerr ()">unlink_noerr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-noerr.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"><span class="returnvalue">int</span>                 <a class="link" href="hkl-noerr.html#close-noerr" title="close_noerr ()">close_noerr</a>                         (<em class="parameter"><code><span class="type">int</span> fd</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-noerr.html#fclose-noerr" title="fclose_noerr ()">fclose_noerr</a>                        (<em class="parameter"><code><span class="type">FILE</span> *fp</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-noerr.html#unlink-noerr" title="unlink_noerr ()">unlink_noerr</a>                        (<em class="parameter"><code>const <span class="type">char</span> *pathname</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-noerr.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-noerr.functions_details"></a><h2>Functions</h2>
+<a name="hkl-noerr.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="close-noerr"></a><h3>close_noerr ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-close_noerr (<em class="parameter"><code><span class="type">int</span> fd</code></em>);</pre>
+<a name="close-noerr"></a><h3>close_noerr ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 close_noerr                         (<em class="parameter"><code><span class="type">int</span> fd</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="fclose-noerr"></a><h3>fclose_noerr ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-fclose_noerr (<em class="parameter"><code><span class="type">FILE</span> *fp</code></em>);</pre>
+<a name="fclose-noerr"></a><h3>fclose_noerr ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 fclose_noerr                        (<em class="parameter"><code><span class="type">FILE</span> *fp</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="unlink-noerr"></a><h3>unlink_noerr ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-unlink_noerr (<em class="parameter"><code>const <span class="type">char</span> *pathname</code></em>);</pre>
-</div>
+<a name="unlink-noerr"></a><h3>unlink_noerr ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 unlink_noerr                        (<em class="parameter"><code>const <span class="type">char</span> *pathname</code></em>);</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-noerr.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-ptr-valid.html b/Documentation/api/html/hkl-ptr-valid.html
index cc53bde..88c0c1f 100644
--- a/Documentation/api/html/hkl-ptr-valid.html
+++ b/Documentation/api/html/hkl-ptr-valid.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: ptr_valid</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>ptr_valid</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-noerr.html" title="noerr">
 <link rel="next" href="hkl-str.html" title="str">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-ptr-valid.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-noerr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-str.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-noerr.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-str.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-ptr-valid.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-ptr-valid.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-ptr-valid"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,142 +33,64 @@
 <h2><span class="refentrytitle"><a name="hkl-ptr-valid.top_of_page"></a>ptr_valid</span></h2>
 <p>ptr_valid</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-ptr-valid.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-read" title="ptr_valid_read()">ptr_valid_read</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-write" title="ptr_valid_write()">ptr_valid_write</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">bool</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-string" title="ptr_valid_string ()">ptr_valid_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">bool</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid" title="ptr_valid ()">ptr_valid</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">bool</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-start" title="ptr_valid_batch_start ()">ptr_valid_batch_start</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-read" title="ptr_valid_batch_read()">ptr_valid_batch_read</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-write" title="ptr_valid_batch_write()">ptr_valid_batch_write</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">bool</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-string" title="ptr_valid_batch_string ()">ptr_valid_batch_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-end" title="ptr_valid_batch_end ()">ptr_valid_batch_end</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS" title="PTR_VALID_ALIGNOF()">PTR_VALID_ALIGNOF</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="hkl-ptr-valid.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-ptr-valid.html#ptr-valid-batch" title="struct ptr_valid_batch">ptr_valid_batch</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="hkl-ptr-valid.html#ptr-valid-map" title="struct ptr_valid_map">ptr_valid_map</a></td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-ptr-valid.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS" title="PTR_VALID_ALIGNOF()">PTR_VALID_ALIGNOF</a>                   (var)
+<span class="returnvalue">bool</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid" title="ptr_valid ()">ptr_valid</a>                           (<em class="parameter"><code>const <span class="type">void</span> *p</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> align</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>,
+                                                         <em class="parameter"><code><span class="type">bool</span> write</code></em>);
+<span class="returnvalue">bool</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch" title="ptr_valid_batch ()">ptr_valid_batch</a>                     (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">void</span> *p</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> alignment</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>,
+                                                         <em class="parameter"><code><span class="type">bool</span> write</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-end" title="ptr_valid_batch_end ()">ptr_valid_batch_end</a>                 (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);
+#define             <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-read" title="ptr_valid_batch_read()">ptr_valid_batch_read</a>                (batch,
+                                                         p)
+<span class="returnvalue">bool</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-start" title="ptr_valid_batch_start ()">ptr_valid_batch_start</a>               (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);
+<span class="returnvalue">bool</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-string" title="ptr_valid_batch_string ()">ptr_valid_batch_string</a>              (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *p</code></em>);
+#define             <a class="link" href="hkl-ptr-valid.html#ptr-valid-batch-write" title="ptr_valid_batch_write()">ptr_valid_batch_write</a>               (batch,
+                                                         p)
+#define             <a class="link" href="hkl-ptr-valid.html#ptr-valid-read" title="ptr_valid_read()">ptr_valid_read</a>                      (p)
+<span class="returnvalue">bool</span>                <a class="link" href="hkl-ptr-valid.html#ptr-valid-string" title="ptr_valid_string ()">ptr_valid_string</a>                    (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);
+#define             <a class="link" href="hkl-ptr-valid.html#ptr-valid-write" title="ptr_valid_write()">ptr_valid_write</a>                     (p)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-ptr-valid.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-ptr-valid.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="ptr-valid-read"></a><h3>ptr_valid_read()</h3>
-<pre class="programlisting">#define             ptr_valid_read(p)</pre>
-</div>
-<hr>
+<a name="hkl-ptr-valid.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="ptr-valid-write"></a><h3>ptr_valid_write()</h3>
-<pre class="programlisting">#define             ptr_valid_write(p)</pre>
+<a name="PTR-VALID-ALIGNOF:CAPS"></a><h3>PTR_VALID_ALIGNOF()</h3>
+<pre class="programlisting">#define PTR_VALID_ALIGNOF(var) __alignof__(var)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-string"></a><h3>ptr_valid_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">bool</span>
-ptr_valid_string (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
+<a name="ptr-valid"></a><h3>ptr_valid ()</h3>
+<pre class="programlisting"><span class="returnvalue">bool</span>                ptr_valid                           (<em class="parameter"><code>const <span class="type">void</span> *p</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> align</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>,
+                                                         <em class="parameter"><code><span class="type">bool</span> write</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid"></a><h3>ptr_valid ()</h3>
-<pre class="programlisting"><span class="returnvalue">bool</span>
-ptr_valid (<em class="parameter"><code>const <span class="type">void</span> *p</code></em>,
-           <em class="parameter"><code><span class="type">size_t</span> align</code></em>,
-           <em class="parameter"><code><span class="type">size_t</span> size</code></em>,
-           <em class="parameter"><code><span class="type">bool</span> write</code></em>);</pre>
+<a name="ptr-valid-batch"></a><h3>ptr_valid_batch ()</h3>
+<pre class="programlisting"><span class="returnvalue">bool</span>                ptr_valid_batch                     (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">void</span> *p</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> alignment</code></em>,
+                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>,
+                                                         <em class="parameter"><code><span class="type">bool</span> write</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-batch-start"></a><h3>ptr_valid_batch_start ()</h3>
-<pre class="programlisting"><span class="returnvalue">bool</span>
-ptr_valid_batch_start (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);</pre>
+<a name="ptr-valid-batch-end"></a><h3>ptr_valid_batch_end ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                ptr_valid_batch_end                 (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -173,56 +99,39 @@ ptr_valid_batch_start (<em class="parameter"><code><span class="type">struct ptr
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-batch-write"></a><h3>ptr_valid_batch_write()</h3>
-<pre class="programlisting">#define             ptr_valid_batch_write(batch, p)</pre>
+<a name="ptr-valid-batch-start"></a><h3>ptr_valid_batch_start ()</h3>
+<pre class="programlisting"><span class="returnvalue">bool</span>                ptr_valid_batch_start               (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-batch-string"></a><h3>ptr_valid_batch_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">bool</span>
-ptr_valid_batch_string (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>,
-                        <em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
+<a name="ptr-valid-batch-string"></a><h3>ptr_valid_batch_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">bool</span>                ptr_valid_batch_string              (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-batch-end"></a><h3>ptr_valid_batch_end ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-ptr_valid_batch_end (<em class="parameter"><code><span class="type">struct ptr_valid_batch</span> *batch</code></em>);</pre>
+<a name="ptr-valid-batch-write"></a><h3>ptr_valid_batch_write()</h3>
+<pre class="programlisting">#define             ptr_valid_batch_write(batch, p)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="PTR-VALID-ALIGNOF:CAPS"></a><h3>PTR_VALID_ALIGNOF()</h3>
-<pre class="programlisting">#define PTR_VALID_ALIGNOF(var) __alignof__(var)
-</pre>
-</div>
+<a name="ptr-valid-read"></a><h3>ptr_valid_read()</h3>
+<pre class="programlisting">#define             ptr_valid_read(p)</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-ptr-valid.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="ptr-valid-batch"></a><h3>struct ptr_valid_batch</h3>
-<pre class="programlisting">struct ptr_valid_batch {
-	unsigned int num_maps;
-	struct ptr_valid_map *maps;
-	int child_pid;
-	int to_child, from_child;
-	void *last;
-	bool last_ok;
-};
-</pre>
+<a name="ptr-valid-string"></a><h3>ptr_valid_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">bool</span>                ptr_valid_string                    (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ptr-valid-map"></a><h3>struct ptr_valid_map</h3>
-<pre class="programlisting">struct ptr_valid_map {
-	const char *start, *end;
-	bool is_write;
-};
-</pre>
+<a name="ptr-valid-write"></a><h3>ptr_valid_write()</h3>
+<pre class="programlisting">#define             ptr_valid_write(p)</pre>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-str-debug.html b/Documentation/api/html/hkl-str-debug.html
index 84170fb..90d6a77 100644
--- a/Documentation/api/html/hkl-str-debug.html
+++ b/Documentation/api/html/hkl-str-debug.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: str_debug</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>str_debug</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-str.html" title="str">
 <link rel="next" href="object-tree.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-str-debug.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-str.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-str.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-str-debug.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-str-debug.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-str-debug"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,257 +33,122 @@
 <h2><span class="refentrytitle"><a name="hkl-str-debug.top_of_page"></a>str_debug</span></h2>
 <p>str_debug</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-str-debug.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isalnum" title="str_isalnum ()">str_isalnum</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isalpha" title="str_isalpha ()">str_isalpha</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isascii" title="str_isascii ()">str_isascii</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isblank" title="str_isblank ()">str_isblank</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-iscntrl" title="str_iscntrl ()">str_iscntrl</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isdigit" title="str_isdigit ()">str_isdigit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isgraph" title="str_isgraph ()">str_isgraph</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-islower" title="str_islower ()">str_islower</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isprint" title="str_isprint ()">str_isprint</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-ispunct" title="str_ispunct ()">str_ispunct</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isspace" title="str_isspace ()">str_isspace</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isupper" title="str_isupper ()">str_isupper</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-isxdigit" title="str_isxdigit ()">str_isxdigit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-strstr" title="str_strstr ()">str_strstr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-strchr" title="str_strchr ()">str_strchr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str-debug.html#str-strrchr" title="str_strrchr ()">str_strrchr</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-str-debug.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"><span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isalnum" title="str_isalnum ()">str_isalnum</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isalpha" title="str_isalpha ()">str_isalpha</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isascii" title="str_isascii ()">str_isascii</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isblank" title="str_isblank ()">str_isblank</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-iscntrl" title="str_iscntrl ()">str_iscntrl</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isdigit" title="str_isdigit ()">str_isdigit</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isgraph" title="str_isgraph ()">str_isgraph</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-islower" title="str_islower ()">str_islower</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isprint" title="str_isprint ()">str_isprint</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-ispunct" title="str_ispunct ()">str_ispunct</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isspace" title="str_isspace ()">str_isspace</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isupper" title="str_isupper ()">str_isupper</a>                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">int</span>                 <a class="link" href="hkl-str-debug.html#str-isxdigit" title="str_isxdigit ()">str_isxdigit</a>                        (<em class="parameter"><code><span class="type">int</span> i</code></em>);
+<span class="returnvalue">char</span> *              <a class="link" href="hkl-str-debug.html#str-strchr" title="str_strchr ()">str_strchr</a>                          (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> c</code></em>);
+<span class="returnvalue">char</span> *              <a class="link" href="hkl-str-debug.html#str-strrchr" title="str_strrchr ()">str_strrchr</a>                         (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> c</code></em>);
+<span class="returnvalue">char</span> *              <a class="link" href="hkl-str-debug.html#str-strstr" title="str_strstr ()">str_strstr</a>                          (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-str-debug.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-str-debug.functions_details"></a><h2>Functions</h2>
+<a name="hkl-str-debug.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="str-isalnum"></a><h3>str_isalnum ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isalnum (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isalnum"></a><h3>str_isalnum ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isalnum                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isalpha"></a><h3>str_isalpha ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isalpha (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isalpha"></a><h3>str_isalpha ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isalpha                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isascii"></a><h3>str_isascii ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isascii (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isascii"></a><h3>str_isascii ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isascii                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isblank"></a><h3>str_isblank ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isblank (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isblank"></a><h3>str_isblank ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isblank                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-iscntrl"></a><h3>str_iscntrl ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_iscntrl (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-iscntrl"></a><h3>str_iscntrl ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_iscntrl                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isdigit"></a><h3>str_isdigit ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isdigit (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isdigit"></a><h3>str_isdigit ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isdigit                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isgraph"></a><h3>str_isgraph ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isgraph (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isgraph"></a><h3>str_isgraph ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isgraph                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-islower"></a><h3>str_islower ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_islower (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-islower"></a><h3>str_islower ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_islower                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isprint"></a><h3>str_isprint ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isprint (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isprint"></a><h3>str_isprint ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isprint                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-ispunct"></a><h3>str_ispunct ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_ispunct (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-ispunct"></a><h3>str_ispunct ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_ispunct                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isspace"></a><h3>str_isspace ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isspace (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isspace"></a><h3>str_isspace ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isspace                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isupper"></a><h3>str_isupper ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isupper (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isupper"></a><h3>str_isupper ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isupper                         (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-isxdigit"></a><h3>str_isxdigit ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>
-str_isxdigit (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
+<a name="str-isxdigit"></a><h3>str_isxdigit ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>                 str_isxdigit                        (<em class="parameter"><code><span class="type">int</span> i</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-strstr"></a><h3>str_strstr ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *
-str_strstr (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
-            <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);</pre>
+<a name="str-strchr"></a><h3>str_strchr ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *              str_strchr                          (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> c</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-strchr"></a><h3>str_strchr ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *
-str_strchr (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
-            <em class="parameter"><code><span class="type">int</span> c</code></em>);</pre>
+<a name="str-strrchr"></a><h3>str_strrchr ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *              str_strrchr                         (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
+                                                         <em class="parameter"><code><span class="type">int</span> c</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-strrchr"></a><h3>str_strrchr ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *
-str_strrchr (<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
-             <em class="parameter"><code><span class="type">int</span> c</code></em>);</pre>
-</div>
+<a name="str-strstr"></a><h3>str_strstr ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *              str_strstr                          (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-str-debug.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl-str.html b/Documentation/api/html/hkl-str.html
index cd1cbc4..b0e48c1 100644
--- a/Documentation/api/html/hkl-str.html
+++ b/Documentation/api/html/hkl-str.html
@@ -2,26 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: str</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>str</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="ch01.html" title="[Insert title here]">
 <link rel="prev" href="hkl-ptr-valid.html" title="ptr_valid">
 <link rel="next" href="hkl-str-debug.html" title="str_debug">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#hkl-str.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="hkl-ptr-valid.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="hkl-str-debug.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="hkl-ptr-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.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">hkl Reference Manual</th>
+<td><a accesskey="n" href="hkl-str-debug.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#hkl-str.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#hkl-str.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="hkl-str"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -29,341 +33,175 @@
 <h2><span class="refentrytitle"><a name="hkl-str.top_of_page"></a>str</span></h2>
 <p>str</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="hkl-str.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#streq" title="streq()">streq</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#strstarts" title="strstarts()">strstarts</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#stringify" title="stringify()">stringify</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#stringify-1" title="stringify_1()">stringify_1</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">size_t</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#strcount" title="strcount ()">strcount</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#STR-MAX-CHARS:CAPS" title="STR_MAX_CHARS()">STR_MAX_CHARS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#STR-MAX-CHARS-TCHECK-:CAPS" title="STR_MAX_CHARS_TCHECK_()">STR_MAX_CHARS_TCHECK_</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isalnum" title="isalnum ()">isalnum</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isalpha" title="isalpha ()">isalpha</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isascii" title="isascii ()">isascii</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isblank" title="isblank ()">isblank</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#iscntrl" title="iscntrl ()">iscntrl</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isdigit" title="isdigit ()">isdigit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isgraph" title="isgraph ()">isgraph</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#islower" title="islower ()">islower</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isprint" title="isprint ()">isprint</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#ispunct" title="ispunct ()">ispunct</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isspace" title="isspace ()">isspace</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isupper" title="isupper ()">isupper</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">return</span>
-</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#isxdigit" title="isxdigit ()">isxdigit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#str-check-arg-" title="str_check_arg_()">str_check_arg_</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#strstr" title="strstr()">strstr</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#strchr" title="strchr()">strchr</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="hkl-str.html#strrchr" title="strrchr()">strrchr</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
+<div class="refsynopsisdiv">
+<a name="hkl-str.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="hkl-str.html#STR-MAX-CHARS:CAPS" title="STR_MAX_CHARS()">STR_MAX_CHARS</a>                       (type_or_expr)
+#define             <a class="link" href="hkl-str.html#STR-MAX-CHARS-TCHECK-:CAPS" title="STR_MAX_CHARS_TCHECK_()">STR_MAX_CHARS_TCHECK_</a>               (type_or_expr)
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isalnum" title="isalnum ()">isalnum</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isalpha" title="isalpha ()">isalpha</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isascii" title="isascii ()">isascii</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isblank" title="isblank ()">isblank</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#iscntrl" title="iscntrl ()">iscntrl</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isdigit" title="isdigit ()">isdigit</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isgraph" title="isgraph ()">isgraph</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#islower" title="islower ()">islower</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isprint" title="isprint ()">isprint</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#ispunct" title="ispunct ()">ispunct</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isspace" title="isspace ()">isspace</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isupper" title="isupper ()">isupper</a>                             ();
+<span class="returnvalue">return</span>              <a class="link" href="hkl-str.html#isxdigit" title="isxdigit ()">isxdigit</a>                            ();
+#define             <a class="link" href="hkl-str.html#str-check-arg-" title="str_check_arg_()">str_check_arg_</a>                      (i)
+#define             <a class="link" href="hkl-str.html#strchr" title="strchr()">strchr</a>                              (haystack,
+                                                         c)
+<span class="returnvalue">size_t</span>              <a class="link" href="hkl-str.html#strcount" title="strcount ()">strcount</a>                            (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);
+#define             <a class="link" href="hkl-str.html#streq" title="streq()">streq</a>                               (a,
+                                                         b)
+#define             <a class="link" href="hkl-str.html#stringify" title="stringify()">stringify</a>                           (expr)
+#define             <a class="link" href="hkl-str.html#stringify-1" title="stringify_1()">stringify_1</a>                         (expr)
+#define             <a class="link" href="hkl-str.html#strrchr" title="strrchr()">strrchr</a>                             (haystack,
+                                                         c)
+#define             <a class="link" href="hkl-str.html#strstarts" title="strstarts()">strstarts</a>                           (str,
+                                                         prefix)
+#define             <a class="link" href="hkl-str.html#strstr" title="strstr()">strstr</a>                              (haystack,
+                                                         needle)
+</pre>
 </div>
 <div class="refsect1">
 <a name="hkl-str.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<a name="hkl-str.functions_details"></a><h2>Functions</h2>
+<a name="hkl-str.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="streq"></a><h3>streq()</h3>
-<pre class="programlisting">#define streq(a,b) (strcmp((a),(b)) == 0)
-</pre>
+<a name="STR-MAX-CHARS:CAPS"></a><h3>STR_MAX_CHARS()</h3>
+<pre class="programlisting">#define             STR_MAX_CHARS(type_or_expr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="strstarts"></a><h3>strstarts()</h3>
-<pre class="programlisting">#define strstarts(str,prefix) (strncmp((str),(prefix),strlen(prefix)) == 0)
-</pre>
+<a name="STR-MAX-CHARS-TCHECK-:CAPS"></a><h3>STR_MAX_CHARS_TCHECK_()</h3>
+<pre class="programlisting">#define             STR_MAX_CHARS_TCHECK_(type_or_expr)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="stringify"></a><h3>stringify()</h3>
-<pre class="programlisting">#define stringify(expr)		stringify_1(expr)
-</pre>
+<a name="isalnum"></a><h3>isalnum ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isalnum                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="stringify-1"></a><h3>stringify_1()</h3>
-<pre class="programlisting">#define stringify_1(expr) #expr
-</pre>
+<a name="isalpha"></a><h3>isalpha ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isalpha                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="strcount"></a><h3>strcount ()</h3>
-<pre class="programlisting"><span class="returnvalue">size_t</span>
-strcount (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
-          <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);</pre>
+<a name="isascii"></a><h3>isascii ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isascii                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="STR-MAX-CHARS:CAPS"></a><h3>STR_MAX_CHARS()</h3>
-<pre class="programlisting">#define             STR_MAX_CHARS(type_or_expr)</pre>
+<a name="isblank"></a><h3>isblank ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isblank                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="STR-MAX-CHARS-TCHECK-:CAPS"></a><h3>STR_MAX_CHARS_TCHECK_()</h3>
-<pre class="programlisting">#define             STR_MAX_CHARS_TCHECK_(type_or_expr)</pre>
+<a name="iscntrl"></a><h3>iscntrl ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              iscntrl                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isalnum"></a><h3>isalnum ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isalnum ();</pre>
+<a name="isdigit"></a><h3>isdigit ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isdigit                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isalpha"></a><h3>isalpha ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isalpha ();</pre>
+<a name="isgraph"></a><h3>isgraph ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isgraph                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isascii"></a><h3>isascii ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isascii ();</pre>
+<a name="islower"></a><h3>islower ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              islower                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isblank"></a><h3>isblank ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isblank ();</pre>
+<a name="isprint"></a><h3>isprint ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isprint                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="iscntrl"></a><h3>iscntrl ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-iscntrl ();</pre>
+<a name="ispunct"></a><h3>ispunct ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              ispunct                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isdigit"></a><h3>isdigit ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isdigit ();</pre>
+<a name="isspace"></a><h3>isspace ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isspace                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isgraph"></a><h3>isgraph ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isgraph ();</pre>
+<a name="isupper"></a><h3>isupper ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isupper                             ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="islower"></a><h3>islower ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-islower ();</pre>
+<a name="isxdigit"></a><h3>isxdigit ()</h3>
+<pre class="programlisting"><span class="returnvalue">return</span>              isxdigit                            ();</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isprint"></a><h3>isprint ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isprint ();</pre>
+<a name="str-check-arg-"></a><h3>str_check_arg_()</h3>
+<pre class="programlisting">#define             str_check_arg_(i)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="ispunct"></a><h3>ispunct ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-ispunct ();</pre>
+<a name="strchr"></a><h3>strchr()</h3>
+<pre class="programlisting">#define             strchr(haystack, c)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isspace"></a><h3>isspace ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isspace ();</pre>
+<a name="strcount"></a><h3>strcount ()</h3>
+<pre class="programlisting"><span class="returnvalue">size_t</span>              strcount                            (<em class="parameter"><code>const <span class="type">char</span> *haystack</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *needle</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isupper"></a><h3>isupper ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isupper ();</pre>
+<a name="streq"></a><h3>streq()</h3>
+<pre class="programlisting">#define streq(a,b) (strcmp((a),(b)) == 0)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="isxdigit"></a><h3>isxdigit ()</h3>
-<pre class="programlisting"><span class="returnvalue">return</span>
-isxdigit ();</pre>
+<a name="stringify"></a><h3>stringify()</h3>
+<pre class="programlisting">#define stringify(expr)		stringify_1(expr)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="str-check-arg-"></a><h3>str_check_arg_()</h3>
-<pre class="programlisting">#define             str_check_arg_(i)</pre>
+<a name="stringify-1"></a><h3>stringify_1()</h3>
+<pre class="programlisting">#define stringify_1(expr) #expr
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="strstr"></a><h3>strstr()</h3>
-<pre class="programlisting">#define             strstr(haystack, needle)</pre>
+<a name="strrchr"></a><h3>strrchr()</h3>
+<pre class="programlisting">#define             strrchr(haystack, c)</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="strchr"></a><h3>strchr()</h3>
-<pre class="programlisting">#define             strchr(haystack, c)</pre>
+<a name="strstarts"></a><h3>strstarts()</h3>
+<pre class="programlisting">#define strstarts(str,prefix) (strncmp((str),(prefix),strlen(prefix)) == 0)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="strrchr"></a><h3>strrchr()</h3>
-<pre class="programlisting">#define             strrchr(haystack, c)</pre>
-</div>
+<a name="strstr"></a><h3>strstr()</h3>
+<pre class="programlisting">#define             strstr(haystack, needle)</pre>
 </div>
-<div class="refsect1">
-<a name="hkl-str.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/hkl.devhelp2 b/Documentation/api/html/hkl.devhelp2
index 48cc79d..5397101 100644
--- a/Documentation/api/html/hkl.devhelp2
+++ b/Documentation/api/html/hkl.devhelp2
@@ -46,321 +46,320 @@
   </chapters>
   <functions>
     <keyword type="macro" name="ARRAY_SIZE()" link="hkl-array-size.html#ARRAY-SIZE:CAPS"/>
-    <keyword type="macro" name="AUTODATA_TYPE()" link="hkl-autodata.html#AUTODATA-TYPE:CAPS"/>
     <keyword type="macro" name="AUTODATA()" link="hkl-autodata.html#AUTODATA:CAPS"/>
-    <keyword type="macro" name="autodata_get()" link="hkl-autodata.html#autodata-get"/>
-    <keyword type="function" name="autodata_free ()" link="hkl-autodata.html#autodata-free"/>
-    <keyword type="macro" name="AUTODATA_VAR__()" link="hkl-autodata.html#AUTODATA-VAR--:CAPS"/>
-    <keyword type="macro" name="AUTODATA_VAR_()" link="hkl-autodata.html#AUTODATA-VAR-:CAPS"/>
-    <keyword type="function" name="autodata_get_section ()" link="hkl-autodata.html#autodata-get-section"/>
     <keyword type="macro" name="AUTODATA_MAGIC" link="hkl-autodata.html#AUTODATA-MAGIC:CAPS"/>
-    <keyword type="function" name="autodata_make_table ()" link="hkl-autodata.html#autodata-make-table"/>
+    <keyword type="macro" name="AUTODATA_TYPE()" link="hkl-autodata.html#AUTODATA-TYPE:CAPS"/>
+    <keyword type="macro" name="AUTODATA_VAR_()" link="hkl-autodata.html#AUTODATA-VAR-:CAPS"/>
+    <keyword type="macro" name="AUTODATA_VAR__()" link="hkl-autodata.html#AUTODATA-VAR--:CAPS"/>
+    <keyword type="function" name="autodata_free ()" link="hkl-autodata.html#autodata-free"/>
+    <keyword type="macro" name="autodata_get()" link="hkl-autodata.html#autodata-get"/>
+    <keyword type="function" name="autodata_get_section ()" link="hkl-autodata.html#autodata-get-section"/>
+    <keyword type="function" name="autodata_make_table ()" link="hkl-autodata.html#autodata-make-table"/>
     <keyword type="macro" name="BUILD_ASSERT()" link="hkl-build-assert.html#BUILD-ASSERT:CAPS"/>
     <keyword type="macro" name="BUILD_ASSERT_OR_ZERO()" link="hkl-build-assert.html#BUILD-ASSERT-OR-ZERO:CAPS"/>
     <keyword type="macro" name="check_type()" link="hkl-check-type.html#check-type"/>
     <keyword type="macro" name="check_types_match()" link="hkl-check-type.html#check-types-match"/>
-    <keyword type="macro" name="PRINTF_FMT()" link="hkl-compiler.html#PRINTF-FMT:CAPS"/>
-    <keyword type="macro" name="IS_COMPILE_CONSTANT()" link="hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS"/>
     <keyword type="macro" name="COLD" link="hkl-compiler.html#COLD:CAPS"/>
-    <keyword type="macro" name="NORETURN" link="hkl-compiler.html#NORETURN:CAPS"/>
     <keyword type="macro" name="CONST_FUNCTION" link="hkl-compiler.html#CONST-FUNCTION:CAPS"/>
+    <keyword type="macro" name="IS_COMPILE_CONSTANT()" link="hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS"/>
+    <keyword type="macro" name="NEEDED" link="hkl-compiler.html#NEEDED:CAPS"/>
+    <keyword type="macro" name="NORETURN" link="hkl-compiler.html#NORETURN:CAPS"/>
+    <keyword type="macro" name="PRINTF_FMT()" link="hkl-compiler.html#PRINTF-FMT:CAPS"/>
     <keyword type="macro" name="PURE_FUNCTION" link="hkl-compiler.html#PURE-FUNCTION:CAPS"/>
     <keyword type="macro" name="UNNEEDED" link="hkl-compiler.html#UNNEEDED:CAPS"/>
-    <keyword type="macro" name="NEEDED" link="hkl-compiler.html#NEEDED:CAPS"/>
     <keyword type="macro" name="UNUSED" link="hkl-compiler.html#UNUSED:CAPS"/>
     <keyword type="macro" name="WARN_UNUSED_RESULT" link="hkl-compiler.html#WARN-UNUSED-RESULT:CAPS"/>
     <keyword type="macro" name="container_of()" link="hkl-container-of.html#container-of"/>
-    <keyword type="macro" name="container_off()" link="hkl-container-of.html#container-off"/>
     <keyword type="macro" name="container_of_var()" link="hkl-container-of.html#container-of-var"/>
+    <keyword type="macro" name="container_off()" link="hkl-container-of.html#container-off"/>
     <keyword type="macro" name="container_off_var()" link="hkl-container-of.html#container-off-var"/>
     <keyword type="macro" name="darray()" link="hkl-darray.html#darray"/>
-    <keyword type="macro" name="darray_new" link="hkl-darray.html#darray-new"/>
-    <keyword type="macro" name="darray_init()" link="hkl-darray.html#darray-init"/>
-    <keyword type="macro" name="darray_free()" link="hkl-darray.html#darray-free"/>
-    <keyword type="macro" name="darray_item()" link="hkl-darray.html#darray-item"/>
-    <keyword type="macro" name="darray_size()" link="hkl-darray.html#darray-size"/>
     <keyword type="macro" name="darray_alloc()" link="hkl-darray.html#darray-alloc"/>
-    <keyword type="macro" name="darray_empty()" link="hkl-darray.html#darray-empty"/>
     <keyword type="macro" name="darray_append()" link="hkl-darray.html#darray-append"/>
-    <keyword type="macro" name="darray_prepend()" link="hkl-darray.html#darray-prepend"/>
-    <keyword type="macro" name="darray_push()" link="hkl-darray.html#darray-push"/>
     <keyword type="macro" name="darray_append_items()" link="hkl-darray.html#darray-append-items"/>
-    <keyword type="macro" name="darray_prepend_items()" link="hkl-darray.html#darray-prepend-items"/>
     <keyword type="macro" name="darray_append_items_nullterminate()" link="hkl-darray.html#darray-append-items-nullterminate"/>
-    <keyword type="macro" name="darray_prepend_items_nullterminate()" link="hkl-darray.html#darray-prepend-items-nullterminate"/>
+    <keyword type="macro" name="darray_append_lit()" link="hkl-darray.html#darray-append-lit"/>
+    <keyword type="macro" name="darray_append_string()" link="hkl-darray.html#darray-append-string"/>
     <keyword type="macro" name="darray_appends()" link="hkl-darray.html#darray-appends"/>
-    <keyword type="macro" name="darray_prepends()" link="hkl-darray.html#darray-prepends"/>
     <keyword type="macro" name="darray_appends_t()" link="hkl-darray.html#darray-appends-t"/>
-    <keyword type="macro" name="darray_prepends_t()" link="hkl-darray.html#darray-prepends-t"/>
+    <keyword type="typedef" name="darray_char" link="hkl-darray.html#darray-char"/>
+    <keyword type="macro" name="darray_empty()" link="hkl-darray.html#darray-empty"/>
+    <keyword type="macro" name="darray_foreach()" link="hkl-darray.html#darray-foreach"/>
+    <keyword type="macro" name="darray_foreach_reverse()" link="hkl-darray.html#darray-foreach-reverse"/>
+    <keyword type="macro" name="darray_free()" link="hkl-darray.html#darray-free"/>
+    <keyword type="macro" name="darray_from_c()" link="hkl-darray.html#darray-from-c"/>
+    <keyword type="macro" name="darray_from_items()" link="hkl-darray.html#darray-from-items"/>
+    <keyword type="macro" name="darray_from_lit()" link="hkl-darray.html#darray-from-lit"/>
+    <keyword type="macro" name="darray_from_string()" link="hkl-darray.html#darray-from-string"/>
+    <keyword type="macro" name="darray_growalloc()" link="hkl-darray.html#darray-growalloc"/>
+    <keyword type="macro" name="darray_init()" link="hkl-darray.html#darray-init"/>
+    <keyword type="typedef" name="darray_int" link="hkl-darray.html#darray-int"/>
+    <keyword type="macro" name="darray_item()" link="hkl-darray.html#darray-item"/>
+    <keyword type="typedef" name="darray_long" link="hkl-darray.html#darray-long"/>
+    <keyword type="macro" name="darray_make_room()" link="hkl-darray.html#darray-make-room"/>
+    <keyword type="macro" name="darray_new" link="hkl-darray.html#darray-new"/>
     <keyword type="macro" name="darray_pop()" link="hkl-darray.html#darray-pop"/>
     <keyword type="macro" name="darray_pop_check()" link="hkl-darray.html#darray-pop-check"/>
-    <keyword type="macro" name="darray_from_items()" link="hkl-darray.html#darray-from-items"/>
-    <keyword type="macro" name="darray_from_c()" link="hkl-darray.html#darray-from-c"/>
-    <keyword type="macro" name="darray_append_string()" link="hkl-darray.html#darray-append-string"/>
-    <keyword type="macro" name="darray_append_lit()" link="hkl-darray.html#darray-append-lit"/>
-    <keyword type="macro" name="darray_prepend_string()" link="hkl-darray.html#darray-prepend-string"/>
+    <keyword type="macro" name="darray_prepend()" link="hkl-darray.html#darray-prepend"/>
+    <keyword type="macro" name="darray_prepend_items()" link="hkl-darray.html#darray-prepend-items"/>
+    <keyword type="macro" name="darray_prepend_items_nullterminate()" link="hkl-darray.html#darray-prepend-items-nullterminate"/>
     <keyword type="macro" name="darray_prepend_lit()" link="hkl-darray.html#darray-prepend-lit"/>
-    <keyword type="macro" name="darray_from_string()" link="hkl-darray.html#darray-from-string"/>
-    <keyword type="macro" name="darray_from_lit()" link="hkl-darray.html#darray-from-lit"/>
+    <keyword type="macro" name="darray_prepend_string()" link="hkl-darray.html#darray-prepend-string"/>
+    <keyword type="macro" name="darray_prepends()" link="hkl-darray.html#darray-prepends"/>
+    <keyword type="macro" name="darray_prepends_t()" link="hkl-darray.html#darray-prepends-t"/>
+    <keyword type="macro" name="darray_push()" link="hkl-darray.html#darray-push"/>
+    <keyword type="macro" name="darray_realloc()" link="hkl-darray.html#darray-realloc"/>
     <keyword type="macro" name="darray_resize()" link="hkl-darray.html#darray-resize"/>
     <keyword type="macro" name="darray_resize0()" link="hkl-darray.html#darray-resize0"/>
-    <keyword type="macro" name="darray_realloc()" link="hkl-darray.html#darray-realloc"/>
-    <keyword type="macro" name="darray_growalloc()" link="hkl-darray.html#darray-growalloc"/>
-    <keyword type="macro" name="darray_make_room()" link="hkl-darray.html#darray-make-room"/>
-    <keyword type="macro" name="darray_foreach()" link="hkl-darray.html#darray-foreach"/>
-    <keyword type="macro" name="darray_foreach_reverse()" link="hkl-darray.html#darray-foreach-reverse"/>
-    <keyword type="typedef" name="darray_char" link="hkl-darray.html#darray-char"/>
     <keyword type="typedef" name="darray_schar" link="hkl-darray.html#darray-schar"/>
-    <keyword type="typedef" name="darray_uchar" link="hkl-darray.html#darray-uchar"/>
     <keyword type="typedef" name="darray_short" link="hkl-darray.html#darray-short"/>
-    <keyword type="typedef" name="darray_int" link="hkl-darray.html#darray-int"/>
-    <keyword type="typedef" name="darray_long" link="hkl-darray.html#darray-long"/>
-    <keyword type="typedef" name="darray_ushort" link="hkl-darray.html#darray-ushort"/>
+    <keyword type="macro" name="darray_size()" link="hkl-darray.html#darray-size"/>
+    <keyword type="typedef" name="darray_uchar" link="hkl-darray.html#darray-uchar"/>
     <keyword type="typedef" name="darray_uint" link="hkl-darray.html#darray-uint"/>
     <keyword type="typedef" name="darray_ulong" link="hkl-darray.html#darray-ulong"/>
-    <keyword type="macro" name="HKL_DEPRECATED_FOR()" link="hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS"/>
-    <keyword type="macro" name="HKL_DEGTORAD" link="hkl-hkl.html#HKL-DEGTORAD:CAPS"/>
-    <keyword type="macro" name="HKL_RADTODEG" link="hkl-hkl.html#HKL-RADTODEG:CAPS"/>
-    <keyword type="macro" name="HKL_TAU" link="hkl-hkl.html#HKL-TAU:CAPS"/>
+    <keyword type="typedef" name="darray_ushort" link="hkl-darray.html#darray-ushort"/>
+    <keyword type="macro" name="HKLAPI" link="hkl-hkl.html#HKLAPI:CAPS"/>
     <keyword type="macro" name="HKL_ARG_NONNULL()" link="hkl-hkl.html#HKL-ARG-NONNULL:CAPS"/>
+    <keyword type="macro" name="HKL_DEGTORAD" link="hkl-hkl.html#HKL-DEGTORAD:CAPS"/>
+    <keyword type="macro" name="HKL_DEPRECATED" link="hkl-hkl.html#HKL-DEPRECATED:CAPS"/>
+    <keyword type="macro" name="HKL_DEPRECATED_FOR()" link="hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS"/>
+    <keyword type="macro" name="HKL_EPSILON" link="hkl-hkl.html#HKL-EPSILON:CAPS"/>
     <keyword type="macro" name="HKL_GEOMETRY_LIST_FOREACH()" link="hkl-hkl.html#HKL-GEOMETRY-LIST-FOREACH:CAPS"/>
+    <keyword type="macro" name="HKL_RADTODEG" link="hkl-hkl.html#HKL-RADTODEG:CAPS"/>
     <keyword type="macro" name="HKL_SAMPLE_REFLECTIONS_FOREACH()" link="hkl-hkl.html#HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS"/>
-    <keyword type="macro" name="HKL_DEPRECATED" link="hkl-hkl.html#HKL-DEPRECATED:CAPS"/>
+    <keyword type="macro" name="HKL_TAU" link="hkl-hkl.html#HKL-TAU:CAPS"/>
     <keyword type="macro" name="HKL_TINY" link="hkl-hkl.html#HKL-TINY:CAPS"/>
-    <keyword type="macro" name="HKL_EPSILON" link="hkl-hkl.html#HKL-EPSILON:CAPS"/>
-    <keyword type="macro" name="HKLAPI" link="hkl-hkl.html#HKLAPI:CAPS"/>
     <keyword type="macro" name="HKL_WARN_UNUSED_RESULT" link="hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS"/>
-    <keyword type="struct" name="struct HklVector" link="hkl-hkl.html#HklVector"/>
-    <keyword type="struct" name="struct HklQuaternion" link="hkl-hkl.html#HklQuaternion"/>
-    <keyword type="typedef" name="darray_string" link="hkl-hkl.html#darray-string"/>
-    <keyword type="enum" name="enum HklUnitEnum" link="hkl-hkl.html#HklUnitEnum"/>
+    <keyword type="struct" name="HklDetector" link="hkl-hkl.html#HklDetector"/>
     <keyword type="enum" name="enum HklDetectorType" link="hkl-hkl.html#HklDetectorType"/>
-    <keyword type="typedef" name="darray_engine" link="hkl-hkl.html#darray-engine"/>
-    <keyword type="enum" name="enum HklEngineCapabilities" link="hkl-hkl.html#HklEngineCapabilities"/>
+    <keyword type="struct" name="HklEngine" link="hkl-hkl.html#HklEngine"/>
     <keyword type="enum" name="enum HklEngineAxisNamesGet" link="hkl-hkl.html#HklEngineAxisNamesGet"/>
-    <keyword type="struct" name="HklParameter" link="hkl-hkl.html#HklParameter"/>
-    <keyword type="struct" name="HklGeometry" link="hkl-hkl.html#HklGeometry"/>
-    <keyword type="struct" name="HklSampleReflection" link="hkl-hkl.html#HklSampleReflection"/>
-    <keyword type="struct" name="HklSample" link="hkl-hkl.html#HklSample"/>
-    <keyword type="struct" name="HklGeometryListItem" link="hkl-hkl.html#HklGeometryListItem"/>
-    <keyword type="struct" name="HklFactory" link="hkl-hkl.html#HklFactory"/>
+    <keyword type="enum" name="enum HklEngineCapabilities" link="hkl-hkl.html#HklEngineCapabilities"/>
     <keyword type="struct" name="HklEngineList" link="hkl-hkl.html#HklEngineList"/>
+    <keyword type="struct" name="HklFactory" link="hkl-hkl.html#HklFactory"/>
+    <keyword type="struct" name="HklGeometry" link="hkl-hkl.html#HklGeometry"/>
     <keyword type="struct" name="HklGeometryList" link="hkl-hkl.html#HklGeometryList"/>
+    <keyword type="struct" name="HklGeometryListItem" link="hkl-hkl.html#HklGeometryListItem"/>
     <keyword type="struct" name="HklLattice" link="hkl-hkl.html#HklLattice"/>
     <keyword type="struct" name="HklMatrix" link="hkl-hkl.html#HklMatrix"/>
-    <keyword type="struct" name="HklDetector" link="hkl-hkl.html#HklDetector"/>
-    <keyword type="struct" name="HklEngine" link="hkl-hkl.html#HklEngine"/>
-    <keyword type="function" name="hkl_parameter_new_axis ()" link="hkl-hkl-axis-private.html#hkl-parameter-new-axis"/>
+    <keyword type="struct" name="HklParameter" link="hkl-hkl.html#HklParameter"/>
+    <keyword type="struct" name="struct HklQuaternion" link="hkl-hkl.html#HklQuaternion"/>
+    <keyword type="struct" name="HklSample" link="hkl-hkl.html#HklSample"/>
+    <keyword type="struct" name="HklSampleReflection" link="hkl-hkl.html#HklSampleReflection"/>
+    <keyword type="enum" name="enum HklUnitEnum" link="hkl-hkl.html#HklUnitEnum"/>
+    <keyword type="struct" name="struct HklVector" link="hkl-hkl.html#HklVector"/>
+    <keyword type="typedef" name="darray_engine" link="hkl-hkl.html#darray-engine"/>
+    <keyword type="typedef" name="darray_string" link="hkl-hkl.html#darray-string"/>
     <keyword type="struct" name="struct HklAxis" link="hkl-hkl-axis-private.html#HklAxis"/>
-    <keyword type="function" name="hkl_detector_new ()" link="hkl-hkl-detector-private.html#hkl-detector-new"/>
-    <keyword type="function" name="hkl_detector_attach_to_holder ()" link="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder"/>
-    <keyword type="function" name="hkl_detector_compute_kf ()" link="hkl-hkl-detector-private.html#hkl-detector-compute-kf"/>
+    <keyword type="function" name="hkl_parameter_new_axis ()" link="hkl-hkl-axis-private.html#hkl-parameter-new-axis"/>
     <keyword type="struct" name="HklDetector" link="hkl-hkl-detector-private.html#HklDetector"/>
-    <keyword type="function" name="HklFactoryGeometryFunction ()" link="hkl-hkl-factory-private.html#HklFactoryGeometryFunction"/>
-    <keyword type="function" name="HklFactoryEngineListFunction ()" link="hkl-hkl-factory-private.html#HklFactoryEngineListFunction"/>
-    <keyword type="macro" name="REGISTER_DIFFRACTOMETER()" link="hkl-hkl-factory-private.html#REGISTER-DIFFRACTOMETER:CAPS"/>
+    <keyword type="function" name="hkl_detector_attach_to_holder ()" link="hkl-hkl-detector-private.html#hkl-detector-attach-to-holder"/>
+    <keyword type="function" name="hkl_detector_compute_kf ()" link="hkl-hkl-detector-private.html#hkl-detector-compute-kf"/>
+    <keyword type="function" name="hkl_detector_new ()" link="hkl-hkl-detector-private.html#hkl-detector-new"/>
     <keyword type="struct" name="HklFactory" link="hkl-hkl-factory-private.html#HklFactory"/>
-    <keyword type="function" name="HklGeometryListMultiplyFunction ()" link="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-geometry-private.html#g-quark-from-static-string"/>
-    <keyword type="function" name="hkl_holder_add_rotation_axis ()" link="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis"/>
-    <keyword type="function" name="hkl_geometry_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-new"/>
-    <keyword type="function" name="hkl_geometry_init_geometry ()" link="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry"/>
-    <keyword type="function" name="hkl_geometry_add_holder ()" link="hkl-hkl-geometry-private.html#hkl-geometry-add-holder"/>
-    <keyword type="function" name="hkl_geometry_update ()" link="hkl-hkl-geometry-private.html#hkl-geometry-update"/>
-    <keyword type="function" name="hkl_geometry_get_axis_idx_by_name ()" link="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name"/>
-    <keyword type="function" name="hkl_geometry_get_axis_by_name ()" link="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name"/>
-    <keyword type="function" name="hkl_geometry_distance ()" link="hkl-hkl-geometry-private.html#hkl-geometry-distance"/>
-    <keyword type="function" name="hkl_geometry_distance_orthodromic ()" link="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic"/>
-    <keyword type="function" name="hkl_geometry_closest_from_geometry_with_range ()" link="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range"/>
-    <keyword type="function" name="hkl_geometry_is_valid ()" link="hkl-hkl-geometry-private.html#hkl-geometry-is-valid"/>
-    <keyword type="function" name="hkl_geometry_list_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-new"/>
-    <keyword type="function" name="hkl_geometry_list_new_copy ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy"/>
-    <keyword type="function" name="hkl_geometry_list_add ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-add"/>
-    <keyword type="function" name="hkl_geometry_list_reset ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-reset"/>
-    <keyword type="function" name="hkl_geometry_list_sort ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-sort"/>
-    <keyword type="function" name="hkl_geometry_list_fprintf ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf"/>
-    <keyword type="function" name="hkl_geometry_list_multiply ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply"/>
-    <keyword type="function" name="hkl_geometry_list_multiply_from_range ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range"/>
-    <keyword type="function" name="hkl_geometry_list_remove_invalid ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid"/>
-    <keyword type="function" name="hkl_geometry_list_item_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new"/>
-    <keyword type="function" name="hkl_geometry_list_item_new_copy ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy"/>
-    <keyword type="function" name="hkl_geometry_list_item_free ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free"/>
-    <keyword type="typedef" name="darray_holder" link="hkl-hkl-geometry-private.html#darray-holder"/>
-    <keyword type="struct" name="struct HklHolderConfig" link="hkl-hkl-geometry-private.html#HklHolderConfig"/>
-    <keyword type="struct" name="struct HklHolder" link="hkl-hkl-geometry-private.html#HklHolder"/>
-    <keyword type="struct" name="HklGeometry" link="hkl-hkl-geometry-private.html#HklGeometry"/>
+    <keyword type="function" name="HklFactoryEngineListFunction ()" link="hkl-hkl-factory-private.html#HklFactoryEngineListFunction"/>
+    <keyword type="function" name="HklFactoryGeometryFunction ()" link="hkl-hkl-factory-private.html#HklFactoryGeometryFunction"/>
+    <keyword type="macro" name="REGISTER_DIFFRACTOMETER()" link="hkl-hkl-factory-private.html#REGISTER-DIFFRACTOMETER:CAPS"/>
     <keyword type="macro" name="HKL_GEOMETRY_ERROR" link="hkl-hkl-geometry-private.html#HKL-GEOMETRY-ERROR:CAPS"/>
+    <keyword type="struct" name="HklGeometry" link="hkl-hkl-geometry-private.html#HklGeometry"/>
     <keyword type="enum" name="enum HklGeometryError" link="hkl-hkl-geometry-private.html#HklGeometryError"/>
     <keyword type="struct" name="HklGeometryList" link="hkl-hkl-geometry-private.html#HklGeometryList"/>
     <keyword type="struct" name="HklGeometryListItem" link="hkl-hkl-geometry-private.html#HklGeometryListItem"/>
-    <keyword type="function" name="hkl_interval_dup ()" link="hkl-hkl-interval-private.html#hkl-interval-dup"/>
-    <keyword type="function" name="hkl_interval_free ()" link="hkl-hkl-interval-private.html#hkl-interval-free"/>
-    <keyword type="function" name="hkl_interval_cmp ()" link="hkl-hkl-interval-private.html#hkl-interval-cmp"/>
-    <keyword type="function" name="hkl_interval_plus_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-plus-interval"/>
-    <keyword type="function" name="hkl_interval_plus_double ()" link="hkl-hkl-interval-private.html#hkl-interval-plus-double"/>
-    <keyword type="function" name="hkl_interval_minus_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-minus-interval"/>
-    <keyword type="function" name="hkl_interval_minus_double ()" link="hkl-hkl-interval-private.html#hkl-interval-minus-double"/>
-    <keyword type="function" name="hkl_interval_times_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-times-interval"/>
-    <keyword type="function" name="hkl_interval_times_double ()" link="hkl-hkl-interval-private.html#hkl-interval-times-double"/>
-    <keyword type="function" name="hkl_interval_divides_double ()" link="hkl-hkl-interval-private.html#hkl-interval-divides-double"/>
-    <keyword type="function" name="hkl_interval_contain_zero ()" link="hkl-hkl-interval-private.html#hkl-interval-contain-zero"/>
-    <keyword type="function" name="hkl_interval_cos ()" link="hkl-hkl-interval-private.html#hkl-interval-cos"/>
-    <keyword type="function" name="hkl_interval_acos ()" link="hkl-hkl-interval-private.html#hkl-interval-acos"/>
-    <keyword type="function" name="hkl_interval_sin ()" link="hkl-hkl-interval-private.html#hkl-interval-sin"/>
-    <keyword type="function" name="hkl_interval_asin ()" link="hkl-hkl-interval-private.html#hkl-interval-asin"/>
-    <keyword type="function" name="hkl_interval_tan ()" link="hkl-hkl-interval-private.html#hkl-interval-tan"/>
-    <keyword type="function" name="hkl_interval_atan ()" link="hkl-hkl-interval-private.html#hkl-interval-atan"/>
-    <keyword type="function" name="hkl_interval_length ()" link="hkl-hkl-interval-private.html#hkl-interval-length"/>
-    <keyword type="function" name="hkl_interval_angle_restrict_symm ()" link="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm"/>
+    <keyword type="function" name="HklGeometryListMultiplyFunction ()" link="hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction"/>
+    <keyword type="struct" name="struct HklHolder" link="hkl-hkl-geometry-private.html#HklHolder"/>
+    <keyword type="typedef" name="darray_holder" link="hkl-hkl-geometry-private.html#darray-holder"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-geometry-private.html#g-quark-from-static-string"/>
+    <keyword type="function" name="hkl_geometry_add_holder ()" link="hkl-hkl-geometry-private.html#hkl-geometry-add-holder"/>
+    <keyword type="function" name="hkl_geometry_closest_from_geometry_with_range ()" link="hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range"/>
+    <keyword type="function" name="hkl_geometry_distance ()" link="hkl-hkl-geometry-private.html#hkl-geometry-distance"/>
+    <keyword type="function" name="hkl_geometry_distance_orthodromic ()" link="hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic"/>
+    <keyword type="function" name="hkl_geometry_get_axis_by_name ()" link="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name"/>
+    <keyword type="function" name="hkl_geometry_get_axis_idx_by_name ()" link="hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name"/>
+    <keyword type="function" name="hkl_geometry_init_geometry ()" link="hkl-hkl-geometry-private.html#hkl-geometry-init-geometry"/>
+    <keyword type="function" name="hkl_geometry_is_valid ()" link="hkl-hkl-geometry-private.html#hkl-geometry-is-valid"/>
+    <keyword type="function" name="hkl_geometry_list_add ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-add"/>
+    <keyword type="function" name="hkl_geometry_list_fprintf ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf"/>
+    <keyword type="function" name="hkl_geometry_list_item_free ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-free"/>
+    <keyword type="function" name="hkl_geometry_list_item_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new"/>
+    <keyword type="function" name="hkl_geometry_list_item_new_copy ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy"/>
+    <keyword type="function" name="hkl_geometry_list_multiply ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply"/>
+    <keyword type="function" name="hkl_geometry_list_multiply_from_range ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range"/>
+    <keyword type="function" name="hkl_geometry_list_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-new"/>
+    <keyword type="function" name="hkl_geometry_list_new_copy ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy"/>
+    <keyword type="function" name="hkl_geometry_list_remove_invalid ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid"/>
+    <keyword type="function" name="hkl_geometry_list_reset ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-reset"/>
+    <keyword type="function" name="hkl_geometry_list_sort ()" link="hkl-hkl-geometry-private.html#hkl-geometry-list-sort"/>
+    <keyword type="function" name="hkl_geometry_new ()" link="hkl-hkl-geometry-private.html#hkl-geometry-new"/>
+    <keyword type="function" name="hkl_geometry_update ()" link="hkl-hkl-geometry-private.html#hkl-geometry-update"/>
+    <keyword type="function" name="hkl_holder_add_rotation_axis ()" link="hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis"/>
     <keyword type="struct" name="struct HklInterval" link="hkl-hkl-interval-private.html#HklInterval"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-lattice-private.html#g-quark-from-static-string"/>
-    <keyword type="function" name="hkl_lattice_lattice_set ()" link="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set"/>
-    <keyword type="function" name="hkl_lattice_randomize ()" link="hkl-hkl-lattice-private.html#hkl-lattice-randomize"/>
-    <keyword type="function" name="hkl_lattice_fprintf ()" link="hkl-hkl-lattice-private.html#hkl-lattice-fprintf"/>
-    <keyword type="struct" name="HklLattice" link="hkl-hkl-lattice-private.html#HklLattice"/>
+    <keyword type="function" name="hkl_interval_acos ()" link="hkl-hkl-interval-private.html#hkl-interval-acos"/>
+    <keyword type="function" name="hkl_interval_angle_restrict_symm ()" link="hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm"/>
+    <keyword type="function" name="hkl_interval_asin ()" link="hkl-hkl-interval-private.html#hkl-interval-asin"/>
+    <keyword type="function" name="hkl_interval_atan ()" link="hkl-hkl-interval-private.html#hkl-interval-atan"/>
+    <keyword type="function" name="hkl_interval_cmp ()" link="hkl-hkl-interval-private.html#hkl-interval-cmp"/>
+    <keyword type="function" name="hkl_interval_contain_zero ()" link="hkl-hkl-interval-private.html#hkl-interval-contain-zero"/>
+    <keyword type="function" name="hkl_interval_cos ()" link="hkl-hkl-interval-private.html#hkl-interval-cos"/>
+    <keyword type="function" name="hkl_interval_divides_double ()" link="hkl-hkl-interval-private.html#hkl-interval-divides-double"/>
+    <keyword type="function" name="hkl_interval_dup ()" link="hkl-hkl-interval-private.html#hkl-interval-dup"/>
+    <keyword type="function" name="hkl_interval_free ()" link="hkl-hkl-interval-private.html#hkl-interval-free"/>
+    <keyword type="function" name="hkl_interval_length ()" link="hkl-hkl-interval-private.html#hkl-interval-length"/>
+    <keyword type="function" name="hkl_interval_minus_double ()" link="hkl-hkl-interval-private.html#hkl-interval-minus-double"/>
+    <keyword type="function" name="hkl_interval_minus_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-minus-interval"/>
+    <keyword type="function" name="hkl_interval_plus_double ()" link="hkl-hkl-interval-private.html#hkl-interval-plus-double"/>
+    <keyword type="function" name="hkl_interval_plus_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-plus-interval"/>
+    <keyword type="function" name="hkl_interval_sin ()" link="hkl-hkl-interval-private.html#hkl-interval-sin"/>
+    <keyword type="function" name="hkl_interval_tan ()" link="hkl-hkl-interval-private.html#hkl-interval-tan"/>
+    <keyword type="function" name="hkl_interval_times_double ()" link="hkl-hkl-interval-private.html#hkl-interval-times-double"/>
+    <keyword type="function" name="hkl_interval_times_interval ()" link="hkl-hkl-interval-private.html#hkl-interval-times-interval"/>
     <keyword type="macro" name="HKL_LATTICE_ERROR" link="hkl-hkl-lattice-private.html#HKL-LATTICE-ERROR:CAPS"/>
+    <keyword type="struct" name="HklLattice" link="hkl-hkl-lattice-private.html#HklLattice"/>
     <keyword type="enum" name="enum HklLatticeError" link="hkl-hkl-lattice-private.html#HklLatticeError"/>
-    <keyword type="macro" name="hkl_assert()" link="hkl-hkl-macros-private.html#hkl-assert"/>
-    <keyword type="macro" name="hkl_error()" link="hkl-hkl-macros-private.html#hkl-error"/>
-    <keyword type="macro" name="G_GNUC_PRINTF()" link="hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS"/>
-    <keyword type="macro" name="alloc_nr()" link="hkl-hkl-macros-private.html#alloc-nr"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-lattice-private.html#g-quark-from-static-string"/>
+    <keyword type="function" name="hkl_lattice_fprintf ()" link="hkl-hkl-lattice-private.html#hkl-lattice-fprintf"/>
+    <keyword type="function" name="hkl_lattice_lattice_set ()" link="hkl-hkl-lattice-private.html#hkl-lattice-lattice-set"/>
+    <keyword type="function" name="hkl_lattice_randomize ()" link="hkl-hkl-lattice-private.html#hkl-lattice-randomize"/>
     <keyword type="macro" name="ALLOC_GROW()" link="hkl-hkl-macros-private.html#ALLOC-GROW:CAPS"/>
     <keyword type="macro" name="DARRAY()" link="hkl-hkl-macros-private.html#DARRAY:CAPS"/>
-    <keyword type="function" name="hkl_printbt ()" link="hkl-hkl-macros-private.html#hkl-printbt"/>
-    <keyword type="macro" name="HKL_MALLOC()" link="hkl-hkl-macros-private.html#HKL-MALLOC:CAPS"/>
+    <keyword type="macro" name="G_GNUC_PRINTF()" link="hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS"/>
     <keyword type="macro" name="HKL_EULERIAN_KAPPA_SOLUTION" link="hkl-hkl-macros-private.html#HKL-EULERIAN-KAPPA-SOLUTION:CAPS"/>
+    <keyword type="macro" name="HKL_MALLOC()" link="hkl-hkl-macros-private.html#HKL-MALLOC:CAPS"/>
     <keyword type="macro" name="NORETURN" link="hkl-hkl-macros-private.html#NORETURN:CAPS"/>
-    <keyword type="function" name="hkl_matrix_dup ()" link="hkl-hkl-matrix-private.html#hkl-matrix-dup"/>
-    <keyword type="function" name="hkl_matrix_init_from_euler ()" link="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler"/>
-    <keyword type="function" name="hkl_matrix_matrix_set ()" link="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set"/>
-    <keyword type="function" name="hkl_matrix_init_from_two_vector ()" link="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector"/>
-    <keyword type="function" name="hkl_matrix_fprintf ()" link="hkl-hkl-matrix-private.html#hkl-matrix-fprintf"/>
-    <keyword type="function" name="hkl_matrix_to_euler ()" link="hkl-hkl-matrix-private.html#hkl-matrix-to-euler"/>
-    <keyword type="function" name="hkl_matrix_times_vector ()" link="hkl-hkl-matrix-private.html#hkl-matrix-times-vector"/>
-    <keyword type="function" name="hkl_matrix_transpose ()" link="hkl-hkl-matrix-private.html#hkl-matrix-transpose"/>
-    <keyword type="function" name="hkl_matrix_det ()" link="hkl-hkl-matrix-private.html#hkl-matrix-det"/>
-    <keyword type="function" name="hkl_matrix_solve ()" link="hkl-hkl-matrix-private.html#hkl-matrix-solve"/>
-    <keyword type="function" name="hkl_matrix_is_null ()" link="hkl-hkl-matrix-private.html#hkl-matrix-is-null"/>
+    <keyword type="macro" name="alloc_nr()" link="hkl-hkl-macros-private.html#alloc-nr"/>
+    <keyword type="macro" name="hkl_assert()" link="hkl-hkl-macros-private.html#hkl-assert"/>
+    <keyword type="macro" name="hkl_error()" link="hkl-hkl-macros-private.html#hkl-error"/>
+    <keyword type="function" name="hkl_printbt ()" link="hkl-hkl-macros-private.html#hkl-printbt"/>
     <keyword type="struct" name="HklMatrix" link="hkl-hkl-matrix-private.html#HklMatrix"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-parameter-private.html#g-quark-from-static-string"/>
-    <keyword type="function" name="fprintf ()" link="hkl-hkl-parameter-private.html#fprintf"/>
-    <keyword type="function" name="hkl_parameter_new ()" link="hkl-hkl-parameter-private.html#hkl-parameter-new"/>
-    <keyword type="function" name="hkl_parameter_init_copy ()" link="hkl-hkl-parameter-private.html#hkl-parameter-init-copy"/>
-    <keyword type="function" name="hkl_parameter_value_get_closest ()" link="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest"/>
-    <keyword type="function" name="hkl_parameter_value_set_smallest_in_range ()" link="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range"/>
-    <keyword type="function" name="hkl_parameter_is_valid ()" link="hkl-hkl-parameter-private.html#hkl-parameter-is-valid"/>
-    <keyword type="function" name="hkl_parameter_fprintf ()" link="hkl-hkl-parameter-private.html#hkl-parameter-fprintf"/>
-    <keyword type="struct" name="HklParameter" link="hkl-hkl-parameter-private.html#HklParameter"/>
+    <keyword type="function" name="hkl_matrix_det ()" link="hkl-hkl-matrix-private.html#hkl-matrix-det"/>
+    <keyword type="function" name="hkl_matrix_dup ()" link="hkl-hkl-matrix-private.html#hkl-matrix-dup"/>
+    <keyword type="function" name="hkl_matrix_fprintf ()" link="hkl-hkl-matrix-private.html#hkl-matrix-fprintf"/>
+    <keyword type="function" name="hkl_matrix_init_from_euler ()" link="hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler"/>
+    <keyword type="function" name="hkl_matrix_init_from_two_vector ()" link="hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector"/>
+    <keyword type="function" name="hkl_matrix_is_null ()" link="hkl-hkl-matrix-private.html#hkl-matrix-is-null"/>
+    <keyword type="function" name="hkl_matrix_matrix_set ()" link="hkl-hkl-matrix-private.html#hkl-matrix-matrix-set"/>
+    <keyword type="function" name="hkl_matrix_solve ()" link="hkl-hkl-matrix-private.html#hkl-matrix-solve"/>
+    <keyword type="function" name="hkl_matrix_times_vector ()" link="hkl-hkl-matrix-private.html#hkl-matrix-times-vector"/>
+    <keyword type="function" name="hkl_matrix_to_euler ()" link="hkl-hkl-matrix-private.html#hkl-matrix-to-euler"/>
+    <keyword type="function" name="hkl_matrix_transpose ()" link="hkl-hkl-matrix-private.html#hkl-matrix-transpose"/>
     <keyword type="macro" name="HKL_PARAMETER_DEFAULTS" link="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS:CAPS"/>
     <keyword type="macro" name="HKL_PARAMETER_DEFAULTS_ANGLE" link="hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS-ANGLE:CAPS"/>
     <keyword type="macro" name="HKL_PARAMETER_ERROR" link="hkl-hkl-parameter-private.html#HKL-PARAMETER-ERROR:CAPS"/>
+    <keyword type="macro" name="HKL_PARAMETER_OPERATIONS_DEFAULTS" link="hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS"/>
+    <keyword type="struct" name="HklParameter" link="hkl-hkl-parameter-private.html#HklParameter"/>
     <keyword type="enum" name="enum HklParameterError" link="hkl-hkl-parameter-private.html#HklParameterError"/>
     <keyword type="struct" name="struct HklParameterOperations" link="hkl-hkl-parameter-private.html#HklParameterOperations"/>
-    <keyword type="macro" name="HKL_PARAMETER_OPERATIONS_DEFAULTS" link="hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS"/>
-    <keyword type="variable" name="dup" link="hkl-hkl-parameter-private.html#dup"/>
     <keyword type="variable" name="alea" link="hkl-hkl-parameter-private.html#alea"/>
-    <keyword type="variable" name="factor" link="hkl-hkl-parameter-private.html#factor"/>
     <keyword type="typedef" name="darray_parameter" link="hkl-hkl-parameter-private.html#darray-parameter"/>
+    <keyword type="variable" name="dup" link="hkl-hkl-parameter-private.html#dup"/>
+    <keyword type="variable" name="factor" link="hkl-hkl-parameter-private.html#factor"/>
+    <keyword type="function" name="fprintf ()" link="hkl-hkl-parameter-private.html#fprintf"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-parameter-private.html#g-quark-from-static-string"/>
+    <keyword type="function" name="hkl_parameter_fprintf ()" link="hkl-hkl-parameter-private.html#hkl-parameter-fprintf"/>
+    <keyword type="function" name="hkl_parameter_init_copy ()" link="hkl-hkl-parameter-private.html#hkl-parameter-init-copy"/>
+    <keyword type="function" name="hkl_parameter_is_valid ()" link="hkl-hkl-parameter-private.html#hkl-parameter-is-valid"/>
+    <keyword type="function" name="hkl_parameter_new ()" link="hkl-hkl-parameter-private.html#hkl-parameter-new"/>
+    <keyword type="function" name="hkl_parameter_value_get_closest ()" link="hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest"/>
+    <keyword type="function" name="hkl_parameter_value_set_smallest_in_range ()" link="hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range"/>
     <keyword type="macro" name="CHECK_NAN()" link="hkl-hkl-pseudoaxis-auto-private.html#CHECK-NAN:CAPS"/>
     <keyword type="macro" name="HKL_MODE_AUTO_INFO()" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO:CAPS"/>
     <keyword type="macro" name="HKL_MODE_AUTO_INFO_WITH_PARAMS()" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO-WITH-PARAMS:CAPS"/>
-    <keyword type="function" name="hkl_mode_auto_new ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new"/>
-    <keyword type="function" name="hkl_mode_auto_init ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init"/>
-    <keyword type="function" name="hkl_mode_auto_set_real ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-pseudoaxis-auto-private.html#g-quark-from-static-string"/>
-    <keyword type="function" name="hkl_mode_auto_with_init_new ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new"/>
+    <keyword type="macro" name="HKL_MODE_AUTO_WITH_INIT_ERROR" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS"/>
+    <keyword type="macro" name="HKL_MODE_OPERATIONS_AUTO_DEFAULTS" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS"/>
+    <keyword type="macro" name="HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS"/>
     <keyword type="struct" name="struct HklFunction" link="hkl-hkl-pseudoaxis-auto-private.html#HklFunction"/>
-    <keyword type="typedef" name="darray_function" link="hkl-hkl-pseudoaxis-auto-private.html#darray-function"/>
     <keyword type="struct" name="struct HklModeAutoInfo" link="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo"/>
-    <keyword type="macro" name="HKL_MODE_OPERATIONS_AUTO_DEFAULTS" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS"/>
     <keyword type="struct" name="struct HklModeAutoWithInit" link="hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoWithInit"/>
-    <keyword type="macro" name="HKL_MODE_AUTO_WITH_INIT_ERROR" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS"/>
     <keyword type="enum" name="enum HklModeError" link="hkl-hkl-pseudoaxis-auto-private.html#HklModeError"/>
-    <keyword type="macro" name="HKL_MODE_OPERATIONS_AUTO_WITH_INIT_DEFAULTS" link="hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS"/>
+    <keyword type="typedef" name="darray_function" link="hkl-hkl-pseudoaxis-auto-private.html#darray-function"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-pseudoaxis-auto-private.html#g-quark-from-static-string"/>
+    <keyword type="function" name="hkl_mode_auto_init ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init"/>
+    <keyword type="function" name="hkl_mode_auto_new ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new"/>
+    <keyword type="function" name="hkl_mode_auto_set_real ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real"/>
+    <keyword type="function" name="hkl_mode_auto_with_init_new ()" link="hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new"/>
     <keyword type="variable" name="self" link="hkl-hkl-pseudoaxis-auto-private.html#self"/>
-    <keyword type="function" name="hkl_engine_eulerians_new ()" link="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new"/>
-    <keyword type="function" name="kappa_2_kappap ()" link="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap"/>
     <keyword type="struct" name="struct HklEngineEulerians" link="hkl-hkl-pseudoaxis-common-eulerians-private.html#HklEngineEulerians"/>
-    <keyword type="function" name="RUBh_minus_Q ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q"/>
-    <keyword type="function" name="hkl_mode_get_hkl_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real"/>
-    <keyword type="function" name="hkl_mode_set_hkl_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real"/>
-    <keyword type="function" name="hkl_mode_initialized_set_psi_constant_vertical_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real"/>
-    <keyword type="function" name="hkl_engine_hkl_new ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new"/>
+    <keyword type="function" name="hkl_engine_eulerians_new ()" link="hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new"/>
+    <keyword type="function" name="kappa_2_kappap ()" link="hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap"/>
     <keyword type="macro" name="CONSTANT_PARAMETER()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#CONSTANT-PARAMETER:CAPS"/>
-    <keyword type="macro" name="PSI_CONSTANT_PARAMETERS()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS"/>
-    <keyword type="struct" name="struct HklEngineHkl" link="hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl"/>
     <keyword type="macro" name="HKL_MODE_OPERATIONS_HKL_DEFAULTS" link="hkl-hkl-pseudoaxis-common-hkl-private.html#HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS"/>
-    <keyword type="function" name="hkl_mode_psi_new ()" link="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new"/>
-    <keyword type="function" name="hkl_engine_psi_new ()" link="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new"/>
-    <keyword type="struct" name="struct HklModePsi" link="hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi"/>
+    <keyword type="struct" name="struct HklEngineHkl" link="hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl"/>
+    <keyword type="macro" name="PSI_CONSTANT_PARAMETERS()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS"/>
+    <keyword type="function" name="RUBh_minus_Q ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q"/>
+    <keyword type="function" name="hkl_engine_hkl_new ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new"/>
+    <keyword type="function" name="hkl_mode_get_hkl_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real"/>
+    <keyword type="function" name="hkl_mode_initialized_set_psi_constant_vertical_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real"/>
+    <keyword type="function" name="hkl_mode_set_hkl_real ()" link="hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real"/>
     <keyword type="struct" name="struct HklEnginePsi" link="hkl-hkl-pseudoaxis-common-psi-private.html#HklEnginePsi"/>
-    <keyword type="function" name="qmax ()" link="hkl-hkl-pseudoaxis-common-q-private.html#qmax"/>
-    <keyword type="function" name="hkl_engine_q_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new"/>
-    <keyword type="function" name="hkl_engine_q2_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new"/>
-    <keyword type="function" name="hkl_engine_qper_qpar_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new"/>
+    <keyword type="struct" name="struct HklModePsi" link="hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi"/>
+    <keyword type="function" name="hkl_engine_psi_new ()" link="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new"/>
+    <keyword type="function" name="hkl_mode_psi_new ()" link="hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new"/>
     <keyword type="struct" name="HklEngineQ" link="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ"/>
     <keyword type="struct" name="HklEngineQ2" link="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ2"/>
     <keyword type="struct" name="HklEngineQperQpar" link="hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQperQpar"/>
+    <keyword type="function" name="hkl_engine_q2_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new"/>
+    <keyword type="function" name="hkl_engine_q_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new"/>
+    <keyword type="function" name="hkl_engine_qper_qpar_new ()" link="hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new"/>
+    <keyword type="function" name="qmax ()" link="hkl-hkl-pseudoaxis-common-q-private.html#qmax"/>
+    <keyword type="macro" name="HKL_ENGINE_ERROR" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS"/>
+    <keyword type="macro" name="HKL_ENGINE_LIST_ERROR" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS"/>
+    <keyword type="macro" name="HKL_ENGINE_OPERATIONS_DEFAULTS" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS"/>
     <keyword type="macro" name="HKL_MODE_INFO()" link="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO:CAPS"/>
     <keyword type="macro" name="HKL_MODE_INFO_WITH_PARAMS()" link="hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO-WITH-PARAMS:CAPS"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-pseudoaxis-private.html#g-quark-from-static-string"/>
-    <keyword type="typedef" name="darray_mode" link="hkl-hkl-pseudoaxis-private.html#darray-mode"/>
-    <keyword type="struct" name="struct HklPseudoAxis" link="hkl-hkl-pseudoaxis-private.html#HklPseudoAxis"/>
-    <keyword type="macro" name="HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS" link="hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS"/>
-    <keyword type="variable" name="pseudo_axis" link="hkl-hkl-pseudoaxis-private.html#pseudo-axis"/>
-    <keyword type="variable" name="dup" link="hkl-hkl-pseudoaxis-private.html#dup"/>
-    <keyword type="struct" name="struct HklModeInfo" link="hkl-hkl-pseudoaxis-private.html#HklModeInfo"/>
-    <keyword type="struct" name="struct HklModeOperations" link="hkl-hkl-pseudoaxis-private.html#HklModeOperations"/>
     <keyword type="macro" name="HKL_MODE_OPERATIONS_DEFAULTS" link="hkl-hkl-pseudoaxis-private.html#HKL-MODE-OPERATIONS-DEFAULTS:CAPS"/>
-    <keyword type="struct" name="struct HklMode" link="hkl-hkl-pseudoaxis-private.html#HklMode"/>
-    <keyword type="variable" name="self" link="hkl-hkl-pseudoaxis-private.html#self"/>
-    <keyword type="struct" name="struct HklEngineInfo" link="hkl-hkl-pseudoaxis-private.html#HklEngineInfo"/>
+    <keyword type="macro" name="HKL_PARAMETER_OPERATIONS_PSEUDOAXIS_DEFAULTS" link="hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS"/>
     <keyword type="struct" name="HklEngine" link="hkl-hkl-pseudoaxis-private.html#HklEngine"/>
-    <keyword type="struct" name="HklEngineList" link="hkl-hkl-pseudoaxis-private.html#HklEngineList"/>
-    <keyword type="macro" name="HKL_ENGINE_ERROR" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS"/>
     <keyword type="enum" name="enum HklEngineError" link="hkl-hkl-pseudoaxis-private.html#HklEngineError"/>
-    <keyword type="variable" name="i" link="hkl-hkl-pseudoaxis-private.html#i"/>
+    <keyword type="struct" name="struct HklEngineInfo" link="hkl-hkl-pseudoaxis-private.html#HklEngineInfo"/>
+    <keyword type="struct" name="HklEngineList" link="hkl-hkl-pseudoaxis-private.html#HklEngineList"/>
+    <keyword type="enum" name="enum HklEngineListError" link="hkl-hkl-pseudoaxis-private.html#HklEngineListError"/>
     <keyword type="struct" name="struct HklEngineOperations" link="hkl-hkl-pseudoaxis-private.html#HklEngineOperations"/>
-    <keyword type="macro" name="HKL_ENGINE_OPERATIONS_DEFAULTS" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS"/>
+    <keyword type="struct" name="struct HklMode" link="hkl-hkl-pseudoaxis-private.html#HklMode"/>
+    <keyword type="struct" name="struct HklModeInfo" link="hkl-hkl-pseudoaxis-private.html#HklModeInfo"/>
+    <keyword type="struct" name="struct HklModeOperations" link="hkl-hkl-pseudoaxis-private.html#HklModeOperations"/>
+    <keyword type="struct" name="struct HklPseudoAxis" link="hkl-hkl-pseudoaxis-private.html#HklPseudoAxis"/>
     <keyword type="variable" name="axis" link="hkl-hkl-pseudoaxis-private.html#axis"/>
-    <keyword type="macro" name="HKL_ENGINE_LIST_ERROR" link="hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS"/>
-    <keyword type="enum" name="enum HklEngineListError" link="hkl-hkl-pseudoaxis-private.html#HklEngineListError"/>
-    <keyword type="function" name="hkl_quaternion_dup ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-dup"/>
-    <keyword type="function" name="hkl_quaternion_free ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-free"/>
-    <keyword type="function" name="hkl_quaternion_init ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init"/>
-    <keyword type="function" name="hkl_quaternion_init_from_vector ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector"/>
-    <keyword type="function" name="hkl_quaternion_init_from_angle_and_axe ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe"/>
-    <keyword type="function" name="hkl_quaternion_fprintf ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf"/>
-    <keyword type="function" name="hkl_quaternion_cmp ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp"/>
-    <keyword type="function" name="hkl_quaternion_minus_quaternion ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion"/>
-    <keyword type="function" name="hkl_quaternion_times_quaternion ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion"/>
-    <keyword type="function" name="hkl_quaternion_norm2 ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2"/>
-    <keyword type="function" name="hkl_quaternion_conjugate ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate"/>
-    <keyword type="function" name="hkl_quaternion_to_matrix ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix"/>
-    <keyword type="function" name="hkl_quaternion_to_angle_and_axe ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe"/>
-    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-sample-private.html#g-quark-from-static-string"/>
-    <keyword type="function" name="hkl_sample_fprintf ()" link="hkl-hkl-sample-private.html#hkl-sample-fprintf"/>
-    <keyword type="function" name="hkl_sample_reflection_new_copy ()" link="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy"/>
-    <keyword type="function" name="hkl_sample_reflection_free ()" link="hkl-hkl-sample-private.html#hkl-sample-reflection-free"/>
-    <keyword type="struct" name="HklSample" link="hkl-hkl-sample-private.html#HklSample"/>
+    <keyword type="typedef" name="darray_mode" link="hkl-hkl-pseudoaxis-private.html#darray-mode"/>
+    <keyword type="variable" name="dup" link="hkl-hkl-pseudoaxis-private.html#dup"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-pseudoaxis-private.html#g-quark-from-static-string"/>
+    <keyword type="variable" name="i" link="hkl-hkl-pseudoaxis-private.html#i"/>
+    <keyword type="variable" name="pseudo_axis" link="hkl-hkl-pseudoaxis-private.html#pseudo-axis"/>
+    <keyword type="variable" name="self" link="hkl-hkl-pseudoaxis-private.html#self"/>
+    <keyword type="function" name="hkl_quaternion_cmp ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-cmp"/>
+    <keyword type="function" name="hkl_quaternion_conjugate ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate"/>
+    <keyword type="function" name="hkl_quaternion_dup ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-dup"/>
+    <keyword type="function" name="hkl_quaternion_fprintf ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf"/>
+    <keyword type="function" name="hkl_quaternion_free ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-free"/>
+    <keyword type="function" name="hkl_quaternion_init ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init"/>
+    <keyword type="function" name="hkl_quaternion_init_from_angle_and_axe ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe"/>
+    <keyword type="function" name="hkl_quaternion_init_from_vector ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector"/>
+    <keyword type="function" name="hkl_quaternion_minus_quaternion ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion"/>
+    <keyword type="function" name="hkl_quaternion_norm2 ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-norm2"/>
+    <keyword type="function" name="hkl_quaternion_times_quaternion ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion"/>
+    <keyword type="function" name="hkl_quaternion_to_angle_and_axe ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe"/>
+    <keyword type="function" name="hkl_quaternion_to_matrix ()" link="hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix"/>
     <keyword type="macro" name="HKL_SAMPLE_ERROR" link="hkl-hkl-sample-private.html#HKL-SAMPLE-ERROR:CAPS"/>
+    <keyword type="macro" name="HKL_SAMPLE_REFLECTION_ERROR" link="hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS"/>
+    <keyword type="struct" name="HklSample" link="hkl-hkl-sample-private.html#HklSample"/>
     <keyword type="enum" name="enum HklSampleError" link="hkl-hkl-sample-private.html#HklSampleError"/>
     <keyword type="struct" name="HklSampleReflection" link="hkl-hkl-sample-private.html#HklSampleReflection"/>
-    <keyword type="macro" name="HKL_SAMPLE_REFLECTION_ERROR" link="hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS"/>
     <keyword type="enum" name="enum HklSampleReflectionError" link="hkl-hkl-sample-private.html#HklSampleReflectionError"/>
+    <keyword type="function" name="g_quark_from_static_string ()" link="hkl-hkl-sample-private.html#g-quark-from-static-string"/>
+    <keyword type="function" name="hkl_sample_fprintf ()" link="hkl-hkl-sample-private.html#hkl-sample-fprintf"/>
+    <keyword type="function" name="hkl_sample_reflection_free ()" link="hkl-hkl-sample-private.html#hkl-sample-reflection-free"/>
+    <keyword type="function" name="hkl_sample_reflection_new_copy ()" link="hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy"/>
     <keyword type="macro" name="HKL_SOURCE_DEFAULT_WAVE_LENGTH" link="hkl-hkl-source-private.html#HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS"/>
-    <keyword type="function" name="hkl_source_dup ()" link="hkl-hkl-source-private.html#hkl-source-dup"/>
-    <keyword type="function" name="hkl_source_free ()" link="hkl-hkl-source-private.html#hkl-source-free"/>
-    <keyword type="function" name="hkl_source_init ()" link="hkl-hkl-source-private.html#hkl-source-init"/>
-    <keyword type="function" name="hkl_source_cmp ()" link="hkl-hkl-source-private.html#hkl-source-cmp"/>
-    <keyword type="function" name="hkl_source_compute_ki ()" link="hkl-hkl-source-private.html#hkl-source-compute-ki"/>
-    <keyword type="function" name="hkl_source_get_wavelength ()" link="hkl-hkl-source-private.html#hkl-source-get-wavelength"/>
-    <keyword type="function" name="hkl_source_fprintf ()" link="hkl-hkl-source-private.html#hkl-source-fprintf"/>
     <keyword type="struct" name="struct HklSource" link="hkl-hkl-source-private.html#HklSource"/>
-    <keyword type="macro" name="HKL_TYPE_UNIT_ENUM" link="hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS"/>
+    <keyword type="function" name="hkl_source_cmp ()" link="hkl-hkl-source-private.html#hkl-source-cmp"/>
+    <keyword type="function" name="hkl_source_compute_ki ()" link="hkl-hkl-source-private.html#hkl-source-compute-ki"/>
+    <keyword type="function" name="hkl_source_dup ()" link="hkl-hkl-source-private.html#hkl-source-dup"/>
+    <keyword type="function" name="hkl_source_fprintf ()" link="hkl-hkl-source-private.html#hkl-source-fprintf"/>
+    <keyword type="function" name="hkl_source_free ()" link="hkl-hkl-source-private.html#hkl-source-free"/>
+    <keyword type="function" name="hkl_source_get_wavelength ()" link="hkl-hkl-source-private.html#hkl-source-get-wavelength"/>
+    <keyword type="function" name="hkl_source_init ()" link="hkl-hkl-source-private.html#hkl-source-init"/>
     <keyword type="macro" name="HKL_TYPE_DETECTOR_TYPE" link="hkl-hkl-type-builtins.html#HKL-TYPE-DETECTOR-TYPE:CAPS"/>
-    <keyword type="macro" name="HKL_TYPE_ENGINE_CAPABILITIES" link="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS"/>
     <keyword type="macro" name="HKL_TYPE_ENGINE_AXIS_NAMES_GET" link="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS"/>
+    <keyword type="macro" name="HKL_TYPE_ENGINE_CAPABILITIES" link="hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS"/>
+    <keyword type="macro" name="HKL_TYPE_UNIT_ENUM" link="hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_DETECTOR" link="hkl-hkl-types.html#TYPE-HKL-DETECTOR:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_ENGINE" link="hkl-hkl-types.html#TYPE-HKL-ENGINE:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_ENGINE_LIST" link="hkl-hkl-types.html#TYPE-HKL-ENGINE-LIST:CAPS"/>
@@ -371,136 +370,133 @@
     <keyword type="macro" name="TYPE_HKL_LATTICE" link="hkl-hkl-types.html#TYPE-HKL-LATTICE:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_MATRIX" link="hkl-hkl-types.html#TYPE-HKL-MATRIX:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_PARAMETER" link="hkl-hkl-types.html#TYPE-HKL-PARAMETER:CAPS"/>
-    <keyword type="macro" name="TYPE_HKL_SAMPLE_REFLECTION" link="hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_SAMPLE" link="hkl-hkl-types.html#TYPE-HKL-SAMPLE:CAPS"/>
+    <keyword type="macro" name="TYPE_HKL_SAMPLE_REFLECTION" link="hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_UNIT" link="hkl-hkl-types.html#TYPE-HKL-UNIT:CAPS"/>
     <keyword type="macro" name="TYPE_HKL_VECTOR" link="hkl-hkl-types.html#TYPE-HKL-VECTOR:CAPS"/>
-    <keyword type="function" name="hkl_unit_dup ()" link="hkl-hkl-unit-private.html#hkl-unit-dup"/>
-    <keyword type="function" name="hkl_unit_free ()" link="hkl-hkl-unit-private.html#hkl-unit-free"/>
-    <keyword type="function" name="hkl_unit_compatible ()" link="hkl-hkl-unit-private.html#hkl-unit-compatible"/>
-    <keyword type="function" name="hkl_unit_factor ()" link="hkl-hkl-unit-private.html#hkl-unit-factor"/>
-    <keyword type="enum" name="enum HklUnitType" link="hkl-hkl-unit-private.html#HklUnitType"/>
     <keyword type="struct" name="struct HklUnit" link="hkl-hkl-unit-private.html#HklUnit"/>
-    <keyword type="function" name="hkl_vector_dup ()" link="hkl-hkl-vector-private.html#hkl-vector-dup"/>
-    <keyword type="function" name="hkl_vector_free ()" link="hkl-hkl-vector-private.html#hkl-vector-free"/>
-    <keyword type="function" name="hkl_vector_init ()" link="hkl-hkl-vector-private.html#hkl-vector-init"/>
-    <keyword type="function" name="hkl_vector_fprintf ()" link="hkl-hkl-vector-private.html#hkl-vector-fprintf"/>
-    <keyword type="function" name="hkl_vector_cmp ()" link="hkl-hkl-vector-private.html#hkl-vector-cmp"/>
-    <keyword type="function" name="hkl_vector_is_opposite ()" link="hkl-hkl-vector-private.html#hkl-vector-is-opposite"/>
-    <keyword type="function" name="hkl_vector_add_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-add-vector"/>
-    <keyword type="function" name="hkl_vector_minus_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-minus-vector"/>
-    <keyword type="function" name="hkl_vector_div_double ()" link="hkl-hkl-vector-private.html#hkl-vector-div-double"/>
-    <keyword type="function" name="hkl_vector_times_double ()" link="hkl-hkl-vector-private.html#hkl-vector-times-double"/>
-    <keyword type="function" name="hkl_vector_times_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-times-vector"/>
-    <keyword type="function" name="hkl_vector_times_matrix ()" link="hkl-hkl-vector-private.html#hkl-vector-times-matrix"/>
-    <keyword type="function" name="hkl_vector_sum ()" link="hkl-hkl-vector-private.html#hkl-vector-sum"/>
-    <keyword type="function" name="hkl_vector_scalar_product ()" link="hkl-hkl-vector-private.html#hkl-vector-scalar-product"/>
-    <keyword type="function" name="hkl_vector_vectorial_product ()" link="hkl-hkl-vector-private.html#hkl-vector-vectorial-product"/>
-    <keyword type="function" name="hkl_vector_angle ()" link="hkl-hkl-vector-private.html#hkl-vector-angle"/>
-    <keyword type="function" name="hkl_vector_oriented_angle ()" link="hkl-hkl-vector-private.html#hkl-vector-oriented-angle"/>
-    <keyword type="function" name="hkl_vector_oriented_angle_points ()" link="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points"/>
-    <keyword type="function" name="hkl_vector_norm2 ()" link="hkl-hkl-vector-private.html#hkl-vector-norm2"/>
-    <keyword type="function" name="hkl_vector_normalize ()" link="hkl-hkl-vector-private.html#hkl-vector-normalize"/>
-    <keyword type="function" name="hkl_vector_is_colinear ()" link="hkl-hkl-vector-private.html#hkl-vector-is-colinear"/>
-    <keyword type="function" name="hkl_vector_randomize ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize"/>
-    <keyword type="function" name="hkl_vector_randomize_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize-vector"/>
-    <keyword type="function" name="hkl_vector_randomize_vector_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector"/>
-    <keyword type="function" name="hkl_vector_rotated_around_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector"/>
-    <keyword type="function" name="hkl_vector_rotated_quaternion ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion"/>
-    <keyword type="function" name="hkl_vector_rotated_around_line ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line"/>
-    <keyword type="function" name="hkl_vector_is_null ()" link="hkl-hkl-vector-private.html#hkl-vector-is-null"/>
-    <keyword type="function" name="hkl_vector_project_on_plan ()" link="hkl-hkl-vector-private.html#hkl-vector-project-on-plan"/>
-    <keyword type="function" name="hkl_vector_project_on_plan_with_point ()" link="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point"/>
-    <keyword type="function" name="list_check ()" link="hkl-list.html#list-check"/>
-    <keyword type="function" name="list_check_node ()" link="hkl-list.html#list-check-node"/>
-    <keyword type="macro" name="list_debug()" link="hkl-list.html#list-debug"/>
-    <keyword type="macro" name="list_debug_node()" link="hkl-list.html#list-debug-node"/>
-    <keyword type="macro" name="LIST_HEAD_INIT()" link="hkl-list.html#LIST-HEAD-INIT:CAPS"/>
+    <keyword type="enum" name="enum HklUnitType" link="hkl-hkl-unit-private.html#HklUnitType"/>
+    <keyword type="function" name="hkl_unit_compatible ()" link="hkl-hkl-unit-private.html#hkl-unit-compatible"/>
+    <keyword type="function" name="hkl_unit_dup ()" link="hkl-hkl-unit-private.html#hkl-unit-dup"/>
+    <keyword type="function" name="hkl_unit_factor ()" link="hkl-hkl-unit-private.html#hkl-unit-factor"/>
+    <keyword type="function" name="hkl_unit_free ()" link="hkl-hkl-unit-private.html#hkl-unit-free"/>
+    <keyword type="function" name="hkl_vector_add_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-add-vector"/>
+    <keyword type="function" name="hkl_vector_angle ()" link="hkl-hkl-vector-private.html#hkl-vector-angle"/>
+    <keyword type="function" name="hkl_vector_cmp ()" link="hkl-hkl-vector-private.html#hkl-vector-cmp"/>
+    <keyword type="function" name="hkl_vector_div_double ()" link="hkl-hkl-vector-private.html#hkl-vector-div-double"/>
+    <keyword type="function" name="hkl_vector_dup ()" link="hkl-hkl-vector-private.html#hkl-vector-dup"/>
+    <keyword type="function" name="hkl_vector_fprintf ()" link="hkl-hkl-vector-private.html#hkl-vector-fprintf"/>
+    <keyword type="function" name="hkl_vector_free ()" link="hkl-hkl-vector-private.html#hkl-vector-free"/>
+    <keyword type="function" name="hkl_vector_init ()" link="hkl-hkl-vector-private.html#hkl-vector-init"/>
+    <keyword type="function" name="hkl_vector_is_colinear ()" link="hkl-hkl-vector-private.html#hkl-vector-is-colinear"/>
+    <keyword type="function" name="hkl_vector_is_null ()" link="hkl-hkl-vector-private.html#hkl-vector-is-null"/>
+    <keyword type="function" name="hkl_vector_is_opposite ()" link="hkl-hkl-vector-private.html#hkl-vector-is-opposite"/>
+    <keyword type="function" name="hkl_vector_minus_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-minus-vector"/>
+    <keyword type="function" name="hkl_vector_norm2 ()" link="hkl-hkl-vector-private.html#hkl-vector-norm2"/>
+    <keyword type="function" name="hkl_vector_normalize ()" link="hkl-hkl-vector-private.html#hkl-vector-normalize"/>
+    <keyword type="function" name="hkl_vector_oriented_angle ()" link="hkl-hkl-vector-private.html#hkl-vector-oriented-angle"/>
+    <keyword type="function" name="hkl_vector_oriented_angle_points ()" link="hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points"/>
+    <keyword type="function" name="hkl_vector_project_on_plan ()" link="hkl-hkl-vector-private.html#hkl-vector-project-on-plan"/>
+    <keyword type="function" name="hkl_vector_project_on_plan_with_point ()" link="hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point"/>
+    <keyword type="function" name="hkl_vector_randomize ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize"/>
+    <keyword type="function" name="hkl_vector_randomize_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize-vector"/>
+    <keyword type="function" name="hkl_vector_randomize_vector_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector"/>
+    <keyword type="function" name="hkl_vector_rotated_around_line ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-around-line"/>
+    <keyword type="function" name="hkl_vector_rotated_around_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector"/>
+    <keyword type="function" name="hkl_vector_rotated_quaternion ()" link="hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion"/>
+    <keyword type="function" name="hkl_vector_scalar_product ()" link="hkl-hkl-vector-private.html#hkl-vector-scalar-product"/>
+    <keyword type="function" name="hkl_vector_sum ()" link="hkl-hkl-vector-private.html#hkl-vector-sum"/>
+    <keyword type="function" name="hkl_vector_times_double ()" link="hkl-hkl-vector-private.html#hkl-vector-times-double"/>
+    <keyword type="function" name="hkl_vector_times_matrix ()" link="hkl-hkl-vector-private.html#hkl-vector-times-matrix"/>
+    <keyword type="function" name="hkl_vector_times_vector ()" link="hkl-hkl-vector-private.html#hkl-vector-times-vector"/>
+    <keyword type="function" name="hkl_vector_vectorial_product ()" link="hkl-hkl-vector-private.html#hkl-vector-vectorial-product"/>
     <keyword type="macro" name="LIST_HEAD()" link="hkl-list.html#LIST-HEAD:CAPS"/>
+    <keyword type="macro" name="LIST_HEAD_INIT()" link="hkl-list.html#LIST-HEAD-INIT:CAPS"/>
+    <keyword type="macro" name="LIST_LOC" link="hkl-list.html#LIST-LOC:CAPS"/>
     <keyword type="macro" name="list_add()" link="hkl-list.html#list-add"/>
+    <keyword type="macro" name="list_add_off()" link="hkl-list.html#list-add-off"/>
     <keyword type="macro" name="list_add_tail()" link="hkl-list.html#list-add-tail"/>
+    <keyword type="macro" name="list_append_list()" link="hkl-list.html#list-append-list"/>
+    <keyword type="function" name="list_check ()" link="hkl-list.html#list-check"/>
+    <keyword type="function" name="list_check_node ()" link="hkl-list.html#list-check-node"/>
+    <keyword type="macro" name="list_debug()" link="hkl-list.html#list-debug"/>
+    <keyword type="macro" name="list_debug_node()" link="hkl-list.html#list-debug-node"/>
+    <keyword type="macro" name="list_del()" link="hkl-list.html#list-del"/>
+    <keyword type="macro" name="list_del_from_off()" link="hkl-list.html#list-del-from-off"/>
+    <keyword type="macro" name="list_del_off()" link="hkl-list.html#list-del-off"/>
     <keyword type="macro" name="list_empty()" link="hkl-list.html#list-empty"/>
     <keyword type="macro" name="list_empty_nodebug()" link="hkl-list.html#list-empty-nodebug"/>
-    <keyword type="macro" name="list_del()" link="hkl-list.html#list-del"/>
     <keyword type="macro" name="list_entry()" link="hkl-list.html#list-entry"/>
-    <keyword type="macro" name="list_top()" link="hkl-list.html#list-top"/>
-    <keyword type="macro" name="list_pop()" link="hkl-list.html#list-pop"/>
-    <keyword type="macro" name="list_tail()" link="hkl-list.html#list-tail"/>
+    <keyword type="macro" name="list_entry_off()" link="hkl-list.html#list-entry-off"/>
     <keyword type="macro" name="list_for_each()" link="hkl-list.html#list-for-each"/>
+    <keyword type="macro" name="list_for_each_off()" link="hkl-list.html#list-for-each-off"/>
     <keyword type="macro" name="list_for_each_rev()" link="hkl-list.html#list-for-each-rev"/>
     <keyword type="macro" name="list_for_each_safe()" link="hkl-list.html#list-for-each-safe"/>
-    <keyword type="macro" name="list_next()" link="hkl-list.html#list-next"/>
-    <keyword type="macro" name="list_prev()" link="hkl-list.html#list-prev"/>
-    <keyword type="macro" name="list_append_list()" link="hkl-list.html#list-append-list"/>
-    <keyword type="macro" name="list_prepend_list()" link="hkl-list.html#list-prepend-list"/>
-    <keyword type="macro" name="list_for_each_off()" link="hkl-list.html#list-for-each-off"/>
     <keyword type="macro" name="list_for_each_safe_off()" link="hkl-list.html#list-for-each-safe-off"/>
-    <keyword type="macro" name="list_entry_off()" link="hkl-list.html#list-entry-off"/>
     <keyword type="macro" name="list_head_off()" link="hkl-list.html#list-head-off"/>
-    <keyword type="macro" name="list_tail_off()" link="hkl-list.html#list-tail-off"/>
-    <keyword type="macro" name="list_add_off()" link="hkl-list.html#list-add-off"/>
-    <keyword type="macro" name="list_del_off()" link="hkl-list.html#list-del-off"/>
-    <keyword type="macro" name="list_del_from_off()" link="hkl-list.html#list-del-from-off"/>
+    <keyword type="macro" name="list_next()" link="hkl-list.html#list-next"/>
     <keyword type="macro" name="list_off_()" link="hkl-list.html#list-off-"/>
     <keyword type="macro" name="list_off_var_()" link="hkl-list.html#list-off-var-"/>
+    <keyword type="macro" name="list_pop()" link="hkl-list.html#list-pop"/>
+    <keyword type="macro" name="list_prepend_list()" link="hkl-list.html#list-prepend-list"/>
+    <keyword type="macro" name="list_prev()" link="hkl-list.html#list-prev"/>
+    <keyword type="macro" name="list_tail()" link="hkl-list.html#list-tail"/>
+    <keyword type="macro" name="list_tail_off()" link="hkl-list.html#list-tail-off"/>
+    <keyword type="macro" name="list_top()" link="hkl-list.html#list-top"/>
     <keyword type="macro" name="list_typeof()" link="hkl-list.html#list-typeof"/>
-    <keyword type="struct" name="struct list_node" link="hkl-list.html#list-node"/>
-    <keyword type="struct" name="struct list_head" link="hkl-list.html#list-head"/>
-    <keyword type="macro" name="LIST_LOC" link="hkl-list.html#LIST-LOC:CAPS"/>
-    <keyword type="function" name="close_noerr ()" link="hkl-noerr.html#close-noerr"/>
-    <keyword type="function" name="fclose_noerr ()" link="hkl-noerr.html#fclose-noerr"/>
-    <keyword type="function" name="unlink_noerr ()" link="hkl-noerr.html#unlink-noerr"/>
-    <keyword type="macro" name="ptr_valid_read()" link="hkl-ptr-valid.html#ptr-valid-read"/>
-    <keyword type="macro" name="ptr_valid_write()" link="hkl-ptr-valid.html#ptr-valid-write"/>
-    <keyword type="function" name="ptr_valid_string ()" link="hkl-ptr-valid.html#ptr-valid-string"/>
-    <keyword type="function" name="ptr_valid ()" link="hkl-ptr-valid.html#ptr-valid"/>
-    <keyword type="function" name="ptr_valid_batch_start ()" link="hkl-ptr-valid.html#ptr-valid-batch-start"/>
+    <keyword type="function" name="close_noerr ()" link="hkl-noerr.html#close-noerr"/>
+    <keyword type="function" name="fclose_noerr ()" link="hkl-noerr.html#fclose-noerr"/>
+    <keyword type="function" name="unlink_noerr ()" link="hkl-noerr.html#unlink-noerr"/>
+    <keyword type="macro" name="PTR_VALID_ALIGNOF()" link="hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS"/>
+    <keyword type="function" name="ptr_valid ()" link="hkl-ptr-valid.html#ptr-valid"/>
+    <keyword type="function" name="ptr_valid_batch ()" link="hkl-ptr-valid.html#ptr-valid-batch"/>
+    <keyword type="function" name="ptr_valid_batch_end ()" link="hkl-ptr-valid.html#ptr-valid-batch-end"/>
     <keyword type="macro" name="ptr_valid_batch_read()" link="hkl-ptr-valid.html#ptr-valid-batch-read"/>
+    <keyword type="function" name="ptr_valid_batch_start ()" link="hkl-ptr-valid.html#ptr-valid-batch-start"/>
+    <keyword type="function" name="ptr_valid_batch_string ()" link="hkl-ptr-valid.html#ptr-valid-batch-string"/>
     <keyword type="macro" name="ptr_valid_batch_write()" link="hkl-ptr-valid.html#ptr-valid-batch-write"/>
-    <keyword type="function" name="ptr_valid_batch_string ()" link="hkl-ptr-valid.html#ptr-valid-batch-string"/>
-    <keyword type="function" name="ptr_valid_batch_end ()" link="hkl-ptr-valid.html#ptr-valid-batch-end"/>
-    <keyword type="macro" name="PTR_VALID_ALIGNOF()" link="hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS"/>
-    <keyword type="struct" name="struct ptr_valid_batch" link="hkl-ptr-valid.html#ptr-valid-batch"/>
-    <keyword type="struct" name="struct ptr_valid_map" link="hkl-ptr-valid.html#ptr-valid-map"/>
-    <keyword type="macro" name="streq()" link="hkl-str.html#streq"/>
-    <keyword type="macro" name="strstarts()" link="hkl-str.html#strstarts"/>
-    <keyword type="macro" name="stringify()" link="hkl-str.html#stringify"/>
-    <keyword type="macro" name="stringify_1()" link="hkl-str.html#stringify-1"/>
-    <keyword type="function" name="strcount ()" link="hkl-str.html#strcount"/>
+    <keyword type="macro" name="ptr_valid_read()" link="hkl-ptr-valid.html#ptr-valid-read"/>
+    <keyword type="function" name="ptr_valid_string ()" link="hkl-ptr-valid.html#ptr-valid-string"/>
+    <keyword type="macro" name="ptr_valid_write()" link="hkl-ptr-valid.html#ptr-valid-write"/>
     <keyword type="macro" name="STR_MAX_CHARS()" link="hkl-str.html#STR-MAX-CHARS:CAPS"/>
     <keyword type="macro" name="STR_MAX_CHARS_TCHECK_()" link="hkl-str.html#STR-MAX-CHARS-TCHECK-:CAPS"/>
-    <keyword type="function" name="isalnum ()" link="hkl-str.html#isalnum"/>
-    <keyword type="function" name="isalpha ()" link="hkl-str.html#isalpha"/>
-    <keyword type="function" name="isascii ()" link="hkl-str.html#isascii"/>
-    <keyword type="function" name="isblank ()" link="hkl-str.html#isblank"/>
-    <keyword type="function" name="iscntrl ()" link="hkl-str.html#iscntrl"/>
-    <keyword type="function" name="isdigit ()" link="hkl-str.html#isdigit"/>
-    <keyword type="function" name="isgraph ()" link="hkl-str.html#isgraph"/>
-    <keyword type="function" name="islower ()" link="hkl-str.html#islower"/>
-    <keyword type="function" name="isprint ()" link="hkl-str.html#isprint"/>
-    <keyword type="function" name="ispunct ()" link="hkl-str.html#ispunct"/>
-    <keyword type="function" name="isspace ()" link="hkl-str.html#isspace"/>
-    <keyword type="function" name="isupper ()" link="hkl-str.html#isupper"/>
-    <keyword type="function" name="isxdigit ()" link="hkl-str.html#isxdigit"/>
+    <keyword type="function" name="isalnum ()" link="hkl-str.html#isalnum"/>
+    <keyword type="function" name="isalpha ()" link="hkl-str.html#isalpha"/>
+    <keyword type="function" name="isascii ()" link="hkl-str.html#isascii"/>
+    <keyword type="function" name="isblank ()" link="hkl-str.html#isblank"/>
+    <keyword type="function" name="iscntrl ()" link="hkl-str.html#iscntrl"/>
+    <keyword type="function" name="isdigit ()" link="hkl-str.html#isdigit"/>
+    <keyword type="function" name="isgraph ()" link="hkl-str.html#isgraph"/>
+    <keyword type="function" name="islower ()" link="hkl-str.html#islower"/>
+    <keyword type="function" name="isprint ()" link="hkl-str.html#isprint"/>
+    <keyword type="function" name="ispunct ()" link="hkl-str.html#ispunct"/>
+    <keyword type="function" name="isspace ()" link="hkl-str.html#isspace"/>
+    <keyword type="function" name="isupper ()" link="hkl-str.html#isupper"/>
+    <keyword type="function" name="isxdigit ()" link="hkl-str.html#isxdigit"/>
     <keyword type="macro" name="str_check_arg_()" link="hkl-str.html#str-check-arg-"/>
-    <keyword type="macro" name="strstr()" link="hkl-str.html#strstr"/>
     <keyword type="macro" name="strchr()" link="hkl-str.html#strchr"/>
+    <keyword type="function" name="strcount ()" link="hkl-str.html#strcount"/>
+    <keyword type="macro" name="streq()" link="hkl-str.html#streq"/>
+    <keyword type="macro" name="stringify()" link="hkl-str.html#stringify"/>
+    <keyword type="macro" name="stringify_1()" link="hkl-str.html#stringify-1"/>
     <keyword type="macro" name="strrchr()" link="hkl-str.html#strrchr"/>
-    <keyword type="function" name="str_isalnum ()" link="hkl-str-debug.html#str-isalnum"/>
-    <keyword type="function" name="str_isalpha ()" link="hkl-str-debug.html#str-isalpha"/>
-    <keyword type="function" name="str_isascii ()" link="hkl-str-debug.html#str-isascii"/>
-    <keyword type="function" name="str_isblank ()" link="hkl-str-debug.html#str-isblank"/>
-    <keyword type="function" name="str_iscntrl ()" link="hkl-str-debug.html#str-iscntrl"/>
-    <keyword type="function" name="str_isdigit ()" link="hkl-str-debug.html#str-isdigit"/>
-    <keyword type="function" name="str_isgraph ()" link="hkl-str-debug.html#str-isgraph"/>
-    <keyword type="function" name="str_islower ()" link="hkl-str-debug.html#str-islower"/>
-    <keyword type="function" name="str_isprint ()" link="hkl-str-debug.html#str-isprint"/>
-    <keyword type="function" name="str_ispunct ()" link="hkl-str-debug.html#str-ispunct"/>
-    <keyword type="function" name="str_isspace ()" link="hkl-str-debug.html#str-isspace"/>
-    <keyword type="function" name="str_isupper ()" link="hkl-str-debug.html#str-isupper"/>
-    <keyword type="function" name="str_isxdigit ()" link="hkl-str-debug.html#str-isxdigit"/>
-    <keyword type="function" name="str_strstr ()" link="hkl-str-debug.html#str-strstr"/>
-    <keyword type="function" name="str_strchr ()" link="hkl-str-debug.html#str-strchr"/>
-    <keyword type="function" name="str_strrchr ()" link="hkl-str-debug.html#str-strrchr"/>
+    <keyword type="macro" name="strstarts()" link="hkl-str.html#strstarts"/>
+    <keyword type="macro" name="strstr()" link="hkl-str.html#strstr"/>
+    <keyword type="function" name="str_isalnum ()" link="hkl-str-debug.html#str-isalnum"/>
+    <keyword type="function" name="str_isalpha ()" link="hkl-str-debug.html#str-isalpha"/>
+    <keyword type="function" name="str_isascii ()" link="hkl-str-debug.html#str-isascii"/>
+    <keyword type="function" name="str_isblank ()" link="hkl-str-debug.html#str-isblank"/>
+    <keyword type="function" name="str_iscntrl ()" link="hkl-str-debug.html#str-iscntrl"/>
+    <keyword type="function" name="str_isdigit ()" link="hkl-str-debug.html#str-isdigit"/>
+    <keyword type="function" name="str_isgraph ()" link="hkl-str-debug.html#str-isgraph"/>
+    <keyword type="function" name="str_islower ()" link="hkl-str-debug.html#str-islower"/>
+    <keyword type="function" name="str_isprint ()" link="hkl-str-debug.html#str-isprint"/>
+    <keyword type="function" name="str_ispunct ()" link="hkl-str-debug.html#str-ispunct"/>
+    <keyword type="function" name="str_isspace ()" link="hkl-str-debug.html#str-isspace"/>
+    <keyword type="function" name="str_isupper ()" link="hkl-str-debug.html#str-isupper"/>
+    <keyword type="function" name="str_isxdigit ()" link="hkl-str-debug.html#str-isxdigit"/>
+    <keyword type="function" name="str_strchr ()" link="hkl-str-debug.html#str-strchr"/>
+    <keyword type="function" name="str_strrchr ()" link="hkl-str-debug.html#str-strrchr"/>
+    <keyword type="function" name="str_strstr ()" link="hkl-str-debug.html#str-strstr"/>
   </functions>
 </book>
diff --git a/Documentation/api/html/home.png b/Documentation/api/html/home.png
index 9346b33..1700361 100644
Binary files a/Documentation/api/html/home.png and b/Documentation/api/html/home.png differ
diff --git a/Documentation/api/html/index.html b/Documentation/api/html/index.html
index 7233baf..9124ceb 100644
--- a/Documentation/api/html/index.html
+++ b/Documentation/api/html/index.html
@@ -2,11 +2,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: hkl Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>hkl Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="next" href="ch01.html" title="[Insert title here]">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -22,7 +22,7 @@
 </div>
 <hr>
 </div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
 <dt><span class="chapter"><a href="ch01.html">[Insert title here]</a></span></dt>
 <dd><dl>
 <dt>
@@ -139,6 +139,6 @@
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/index.sgml b/Documentation/api/html/index.sgml
index f3e4566..0962d3e 100644
--- a/Documentation/api/html/index.sgml
+++ b/Documentation/api/html/index.sgml
@@ -1,479 +1,431 @@
 <ONLINE href="http://[SERVER]/hkl/index.html">
 <ANCHOR id="hkl-array-size" href="hkl/hkl-array-size.html">
-<ANCHOR id="hkl-array-size.functions" href="hkl/hkl-array-size.html#hkl-array-size.functions">
+<ANCHOR id="hkl-array-size.synopsis" href="hkl/hkl-array-size.html#hkl-array-size.synopsis">
 <ANCHOR id="hkl-array-size.description" href="hkl/hkl-array-size.html#hkl-array-size.description">
-<ANCHOR id="hkl-array-size.functions_details" href="hkl/hkl-array-size.html#hkl-array-size.functions_details">
+<ANCHOR id="hkl-array-size.details" href="hkl/hkl-array-size.html#hkl-array-size.details">
 <ANCHOR id="ARRAY-SIZE:CAPS" href="hkl/hkl-array-size.html#ARRAY-SIZE:CAPS">
-<ANCHOR id="hkl-array-size.other_details" href="hkl/hkl-array-size.html#hkl-array-size.other_details">
 <ANCHOR id="hkl-autodata" href="hkl/hkl-autodata.html">
-<ANCHOR id="hkl-autodata.functions" href="hkl/hkl-autodata.html#hkl-autodata.functions">
+<ANCHOR id="hkl-autodata.synopsis" href="hkl/hkl-autodata.html#hkl-autodata.synopsis">
 <ANCHOR id="hkl-autodata.description" href="hkl/hkl-autodata.html#hkl-autodata.description">
-<ANCHOR id="hkl-autodata.functions_details" href="hkl/hkl-autodata.html#hkl-autodata.functions_details">
-<ANCHOR id="AUTODATA-TYPE:CAPS" href="hkl/hkl-autodata.html#AUTODATA-TYPE:CAPS">
+<ANCHOR id="hkl-autodata.details" href="hkl/hkl-autodata.html#hkl-autodata.details">
 <ANCHOR id="AUTODATA:CAPS" href="hkl/hkl-autodata.html#AUTODATA:CAPS">
-<ANCHOR id="autodata-get" href="hkl/hkl-autodata.html#autodata-get">
-<ANCHOR id="autodata-free" href="hkl/hkl-autodata.html#autodata-free">
-<ANCHOR id="AUTODATA-VAR--:CAPS" href="hkl/hkl-autodata.html#AUTODATA-VAR--:CAPS">
+<ANCHOR id="AUTODATA-MAGIC:CAPS" href="hkl/hkl-autodata.html#AUTODATA-MAGIC:CAPS">
+<ANCHOR id="AUTODATA-TYPE:CAPS" href="hkl/hkl-autodata.html#AUTODATA-TYPE:CAPS">
 <ANCHOR id="AUTODATA-VAR-:CAPS" href="hkl/hkl-autodata.html#AUTODATA-VAR-:CAPS">
+<ANCHOR id="AUTODATA-VAR--:CAPS" href="hkl/hkl-autodata.html#AUTODATA-VAR--:CAPS">
+<ANCHOR id="autodata-free" href="hkl/hkl-autodata.html#autodata-free">
+<ANCHOR id="autodata-get" href="hkl/hkl-autodata.html#autodata-get">
 <ANCHOR id="autodata-get-section" href="hkl/hkl-autodata.html#autodata-get-section">
-<ANCHOR id="AUTODATA-MAGIC:CAPS" href="hkl/hkl-autodata.html#AUTODATA-MAGIC:CAPS">
 <ANCHOR id="autodata-make-table" href="hkl/hkl-autodata.html#autodata-make-table">
-<ANCHOR id="hkl-autodata.other_details" href="hkl/hkl-autodata.html#hkl-autodata.other_details">
 <ANCHOR id="hkl-build-assert" href="hkl/hkl-build-assert.html">
-<ANCHOR id="hkl-build-assert.functions" href="hkl/hkl-build-assert.html#hkl-build-assert.functions">
+<ANCHOR id="hkl-build-assert.synopsis" href="hkl/hkl-build-assert.html#hkl-build-assert.synopsis">
 <ANCHOR id="hkl-build-assert.description" href="hkl/hkl-build-assert.html#hkl-build-assert.description">
-<ANCHOR id="hkl-build-assert.functions_details" href="hkl/hkl-build-assert.html#hkl-build-assert.functions_details">
+<ANCHOR id="hkl-build-assert.details" href="hkl/hkl-build-assert.html#hkl-build-assert.details">
 <ANCHOR id="BUILD-ASSERT:CAPS" href="hkl/hkl-build-assert.html#BUILD-ASSERT:CAPS">
 <ANCHOR id="BUILD-ASSERT-OR-ZERO:CAPS" href="hkl/hkl-build-assert.html#BUILD-ASSERT-OR-ZERO:CAPS">
-<ANCHOR id="hkl-build-assert.other_details" href="hkl/hkl-build-assert.html#hkl-build-assert.other_details">
 <ANCHOR id="hkl-check-type" href="hkl/hkl-check-type.html">
-<ANCHOR id="hkl-check-type.functions" href="hkl/hkl-check-type.html#hkl-check-type.functions">
+<ANCHOR id="hkl-check-type.synopsis" href="hkl/hkl-check-type.html#hkl-check-type.synopsis">
 <ANCHOR id="hkl-check-type.description" href="hkl/hkl-check-type.html#hkl-check-type.description">
-<ANCHOR id="hkl-check-type.functions_details" href="hkl/hkl-check-type.html#hkl-check-type.functions_details">
+<ANCHOR id="hkl-check-type.details" href="hkl/hkl-check-type.html#hkl-check-type.details">
 <ANCHOR id="check-type" href="hkl/hkl-check-type.html#check-type">
 <ANCHOR id="check-types-match" href="hkl/hkl-check-type.html#check-types-match">
-<ANCHOR id="hkl-check-type.other_details" href="hkl/hkl-check-type.html#hkl-check-type.other_details">
 <ANCHOR id="hkl-compiler" href="hkl/hkl-compiler.html">
-<ANCHOR id="hkl-compiler.functions" href="hkl/hkl-compiler.html#hkl-compiler.functions">
-<ANCHOR id="hkl-compiler.other" href="hkl/hkl-compiler.html#hkl-compiler.other">
+<ANCHOR id="hkl-compiler.synopsis" href="hkl/hkl-compiler.html#hkl-compiler.synopsis">
 <ANCHOR id="hkl-compiler.description" href="hkl/hkl-compiler.html#hkl-compiler.description">
-<ANCHOR id="hkl-compiler.functions_details" href="hkl/hkl-compiler.html#hkl-compiler.functions_details">
-<ANCHOR id="PRINTF-FMT:CAPS" href="hkl/hkl-compiler.html#PRINTF-FMT:CAPS">
-<ANCHOR id="IS-COMPILE-CONSTANT:CAPS" href="hkl/hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS">
-<ANCHOR id="hkl-compiler.other_details" href="hkl/hkl-compiler.html#hkl-compiler.other_details">
+<ANCHOR id="hkl-compiler.details" href="hkl/hkl-compiler.html#hkl-compiler.details">
 <ANCHOR id="COLD:CAPS" href="hkl/hkl-compiler.html#COLD:CAPS">
-<ANCHOR id="NORETURN:CAPS" href="hkl/hkl-compiler.html#NORETURN:CAPS">
 <ANCHOR id="CONST-FUNCTION:CAPS" href="hkl/hkl-compiler.html#CONST-FUNCTION:CAPS">
+<ANCHOR id="IS-COMPILE-CONSTANT:CAPS" href="hkl/hkl-compiler.html#IS-COMPILE-CONSTANT:CAPS">
+<ANCHOR id="NEEDED:CAPS" href="hkl/hkl-compiler.html#NEEDED:CAPS">
+<ANCHOR id="NORETURN:CAPS" href="hkl/hkl-compiler.html#NORETURN:CAPS">
+<ANCHOR id="PRINTF-FMT:CAPS" href="hkl/hkl-compiler.html#PRINTF-FMT:CAPS">
 <ANCHOR id="PURE-FUNCTION:CAPS" href="hkl/hkl-compiler.html#PURE-FUNCTION:CAPS">
 <ANCHOR id="UNNEEDED:CAPS" href="hkl/hkl-compiler.html#UNNEEDED:CAPS">
-<ANCHOR id="NEEDED:CAPS" href="hkl/hkl-compiler.html#NEEDED:CAPS">
 <ANCHOR id="UNUSED:CAPS" href="hkl/hkl-compiler.html#UNUSED:CAPS">
 <ANCHOR id="WARN-UNUSED-RESULT:CAPS" href="hkl/hkl-compiler.html#WARN-UNUSED-RESULT:CAPS">
 <ANCHOR id="hkl-container-of" href="hkl/hkl-container-of.html">
-<ANCHOR id="hkl-container-of.functions" href="hkl/hkl-container-of.html#hkl-container-of.functions">
+<ANCHOR id="hkl-container-of.synopsis" href="hkl/hkl-container-of.html#hkl-container-of.synopsis">
 <ANCHOR id="hkl-container-of.description" href="hkl/hkl-container-of.html#hkl-container-of.description">
-<ANCHOR id="hkl-container-of.functions_details" href="hkl/hkl-container-of.html#hkl-container-of.functions_details">
+<ANCHOR id="hkl-container-of.details" href="hkl/hkl-container-of.html#hkl-container-of.details">
 <ANCHOR id="container-of" href="hkl/hkl-container-of.html#container-of">
-<ANCHOR id="container-off" href="hkl/hkl-container-of.html#container-off">
 <ANCHOR id="container-of-var" href="hkl/hkl-container-of.html#container-of-var">
+<ANCHOR id="container-off" href="hkl/hkl-container-of.html#container-off">
 <ANCHOR id="container-off-var" href="hkl/hkl-container-of.html#container-off-var">
-<ANCHOR id="hkl-container-of.other_details" href="hkl/hkl-container-of.html#hkl-container-of.other_details">
 <ANCHOR id="hkl-darray" href="hkl/hkl-darray.html">
-<ANCHOR id="hkl-darray.functions" href="hkl/hkl-darray.html#hkl-darray.functions">
-<ANCHOR id="hkl-darray.other" href="hkl/hkl-darray.html#hkl-darray.other">
+<ANCHOR id="hkl-darray.synopsis" href="hkl/hkl-darray.html#hkl-darray.synopsis">
 <ANCHOR id="hkl-darray.description" href="hkl/hkl-darray.html#hkl-darray.description">
-<ANCHOR id="hkl-darray.functions_details" href="hkl/hkl-darray.html#hkl-darray.functions_details">
+<ANCHOR id="hkl-darray.details" href="hkl/hkl-darray.html#hkl-darray.details">
 <ANCHOR id="darray" href="hkl/hkl-darray.html#darray">
-<ANCHOR id="darray-new" href="hkl/hkl-darray.html#darray-new">
-<ANCHOR id="darray-init" href="hkl/hkl-darray.html#darray-init">
-<ANCHOR id="darray-free" href="hkl/hkl-darray.html#darray-free">
-<ANCHOR id="darray-item" href="hkl/hkl-darray.html#darray-item">
-<ANCHOR id="darray-size" href="hkl/hkl-darray.html#darray-size">
 <ANCHOR id="darray-alloc" href="hkl/hkl-darray.html#darray-alloc">
-<ANCHOR id="darray-empty" href="hkl/hkl-darray.html#darray-empty">
 <ANCHOR id="darray-append" href="hkl/hkl-darray.html#darray-append">
-<ANCHOR id="darray-prepend" href="hkl/hkl-darray.html#darray-prepend">
-<ANCHOR id="darray-push" href="hkl/hkl-darray.html#darray-push">
 <ANCHOR id="darray-append-items" href="hkl/hkl-darray.html#darray-append-items">
-<ANCHOR id="darray-prepend-items" href="hkl/hkl-darray.html#darray-prepend-items">
 <ANCHOR id="darray-append-items-nullterminate" href="hkl/hkl-darray.html#darray-append-items-nullterminate">
-<ANCHOR id="darray-prepend-items-nullterminate" href="hkl/hkl-darray.html#darray-prepend-items-nullterminate">
+<ANCHOR id="darray-append-lit" href="hkl/hkl-darray.html#darray-append-lit">
+<ANCHOR id="darray-append-string" href="hkl/hkl-darray.html#darray-append-string">
 <ANCHOR id="darray-appends" href="hkl/hkl-darray.html#darray-appends">
-<ANCHOR id="darray-prepends" href="hkl/hkl-darray.html#darray-prepends">
 <ANCHOR id="darray-appends-t" href="hkl/hkl-darray.html#darray-appends-t">
-<ANCHOR id="darray-prepends-t" href="hkl/hkl-darray.html#darray-prepends-t">
+<ANCHOR id="darray-char" href="hkl/hkl-darray.html#darray-char">
+<ANCHOR id="darray-empty" href="hkl/hkl-darray.html#darray-empty">
+<ANCHOR id="darray-foreach" href="hkl/hkl-darray.html#darray-foreach">
+<ANCHOR id="darray-foreach-reverse" href="hkl/hkl-darray.html#darray-foreach-reverse">
+<ANCHOR id="darray-free" href="hkl/hkl-darray.html#darray-free">
+<ANCHOR id="darray-from-c" href="hkl/hkl-darray.html#darray-from-c">
+<ANCHOR id="darray-from-items" href="hkl/hkl-darray.html#darray-from-items">
+<ANCHOR id="darray-from-lit" href="hkl/hkl-darray.html#darray-from-lit">
+<ANCHOR id="darray-from-string" href="hkl/hkl-darray.html#darray-from-string">
+<ANCHOR id="darray-growalloc" href="hkl/hkl-darray.html#darray-growalloc">
+<ANCHOR id="darray-init" href="hkl/hkl-darray.html#darray-init">
+<ANCHOR id="darray-int" href="hkl/hkl-darray.html#darray-int">
+<ANCHOR id="darray-item" href="hkl/hkl-darray.html#darray-item">
+<ANCHOR id="darray-long" href="hkl/hkl-darray.html#darray-long">
+<ANCHOR id="darray-make-room" href="hkl/hkl-darray.html#darray-make-room">
+<ANCHOR id="darray-new" href="hkl/hkl-darray.html#darray-new">
 <ANCHOR id="darray-pop" href="hkl/hkl-darray.html#darray-pop">
 <ANCHOR id="darray-pop-check" href="hkl/hkl-darray.html#darray-pop-check">
-<ANCHOR id="darray-from-items" href="hkl/hkl-darray.html#darray-from-items">
-<ANCHOR id="darray-from-c" href="hkl/hkl-darray.html#darray-from-c">
-<ANCHOR id="darray-append-string" href="hkl/hkl-darray.html#darray-append-string">
-<ANCHOR id="darray-append-lit" href="hkl/hkl-darray.html#darray-append-lit">
-<ANCHOR id="darray-prepend-string" href="hkl/hkl-darray.html#darray-prepend-string">
+<ANCHOR id="darray-prepend" href="hkl/hkl-darray.html#darray-prepend">
+<ANCHOR id="darray-prepend-items" href="hkl/hkl-darray.html#darray-prepend-items">
+<ANCHOR id="darray-prepend-items-nullterminate" href="hkl/hkl-darray.html#darray-prepend-items-nullterminate">
 <ANCHOR id="darray-prepend-lit" href="hkl/hkl-darray.html#darray-prepend-lit">
-<ANCHOR id="darray-from-string" href="hkl/hkl-darray.html#darray-from-string">
-<ANCHOR id="darray-from-lit" href="hkl/hkl-darray.html#darray-from-lit">
+<ANCHOR id="darray-prepend-string" href="hkl/hkl-darray.html#darray-prepend-string">
+<ANCHOR id="darray-prepends" href="hkl/hkl-darray.html#darray-prepends">
+<ANCHOR id="darray-prepends-t" href="hkl/hkl-darray.html#darray-prepends-t">
+<ANCHOR id="darray-push" href="hkl/hkl-darray.html#darray-push">
+<ANCHOR id="darray-realloc" href="hkl/hkl-darray.html#darray-realloc">
 <ANCHOR id="darray-resize" href="hkl/hkl-darray.html#darray-resize">
 <ANCHOR id="darray-resize0" href="hkl/hkl-darray.html#darray-resize0">
-<ANCHOR id="darray-realloc" href="hkl/hkl-darray.html#darray-realloc">
-<ANCHOR id="darray-growalloc" href="hkl/hkl-darray.html#darray-growalloc">
-<ANCHOR id="darray-make-room" href="hkl/hkl-darray.html#darray-make-room">
-<ANCHOR id="darray-foreach" href="hkl/hkl-darray.html#darray-foreach">
-<ANCHOR id="darray-foreach-reverse" href="hkl/hkl-darray.html#darray-foreach-reverse">
-<ANCHOR id="hkl-darray.other_details" href="hkl/hkl-darray.html#hkl-darray.other_details">
-<ANCHOR id="darray-char" href="hkl/hkl-darray.html#darray-char">
 <ANCHOR id="darray-schar" href="hkl/hkl-darray.html#darray-schar">
-<ANCHOR id="darray-uchar" href="hkl/hkl-darray.html#darray-uchar">
 <ANCHOR id="darray-short" href="hkl/hkl-darray.html#darray-short">
-<ANCHOR id="darray-int" href="hkl/hkl-darray.html#darray-int">
-<ANCHOR id="darray-long" href="hkl/hkl-darray.html#darray-long">
-<ANCHOR id="darray-ushort" href="hkl/hkl-darray.html#darray-ushort">
+<ANCHOR id="darray-size" href="hkl/hkl-darray.html#darray-size">
+<ANCHOR id="darray-uchar" href="hkl/hkl-darray.html#darray-uchar">
 <ANCHOR id="darray-uint" href="hkl/hkl-darray.html#darray-uint">
 <ANCHOR id="darray-ulong" href="hkl/hkl-darray.html#darray-ulong">
+<ANCHOR id="darray-ushort" href="hkl/hkl-darray.html#darray-ushort">
 <ANCHOR id="hkl-hkl" href="hkl/hkl-hkl.html">
-<ANCHOR id="hkl-hkl.functions" href="hkl/hkl-hkl.html#hkl-hkl.functions">
-<ANCHOR id="hkl-hkl.other" href="hkl/hkl-hkl.html#hkl-hkl.other">
+<ANCHOR id="hkl-hkl.synopsis" href="hkl/hkl-hkl.html#hkl-hkl.synopsis">
 <ANCHOR id="hkl-hkl.description" href="hkl/hkl-hkl.html#hkl-hkl.description">
-<ANCHOR id="hkl-hkl.functions_details" href="hkl/hkl-hkl.html#hkl-hkl.functions_details">
-<ANCHOR id="HKL-DEPRECATED-FOR:CAPS" href="hkl/hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS">
-<ANCHOR id="HKL-DEGTORAD:CAPS" href="hkl/hkl-hkl.html#HKL-DEGTORAD:CAPS">
-<ANCHOR id="HKL-RADTODEG:CAPS" href="hkl/hkl-hkl.html#HKL-RADTODEG:CAPS">
-<ANCHOR id="HKL-TAU:CAPS" href="hkl/hkl-hkl.html#HKL-TAU:CAPS">
+<ANCHOR id="hkl-hkl.details" href="hkl/hkl-hkl.html#hkl-hkl.details">
+<ANCHOR id="HKLAPI:CAPS" href="hkl/hkl-hkl.html#HKLAPI:CAPS">
 <ANCHOR id="HKL-ARG-NONNULL:CAPS" href="hkl/hkl-hkl.html#HKL-ARG-NONNULL:CAPS">
+<ANCHOR id="HKL-DEGTORAD:CAPS" href="hkl/hkl-hkl.html#HKL-DEGTORAD:CAPS">
+<ANCHOR id="HKL-DEPRECATED:CAPS" href="hkl/hkl-hkl.html#HKL-DEPRECATED:CAPS">
+<ANCHOR id="HKL-DEPRECATED-FOR:CAPS" href="hkl/hkl-hkl.html#HKL-DEPRECATED-FOR:CAPS">
+<ANCHOR id="HKL-EPSILON:CAPS" href="hkl/hkl-hkl.html#HKL-EPSILON:CAPS">
 <ANCHOR id="HKL-GEOMETRY-LIST-FOREACH:CAPS" href="hkl/hkl-hkl.html#HKL-GEOMETRY-LIST-FOREACH:CAPS">
+<ANCHOR id="HKL-RADTODEG:CAPS" href="hkl/hkl-hkl.html#HKL-RADTODEG:CAPS">
 <ANCHOR id="HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS" href="hkl/hkl-hkl.html#HKL-SAMPLE-REFLECTIONS-FOREACH:CAPS">
-<ANCHOR id="hkl-hkl.other_details" href="hkl/hkl-hkl.html#hkl-hkl.other_details">
-<ANCHOR id="HKL-DEPRECATED:CAPS" href="hkl/hkl-hkl.html#HKL-DEPRECATED:CAPS">
+<ANCHOR id="HKL-TAU:CAPS" href="hkl/hkl-hkl.html#HKL-TAU:CAPS">
 <ANCHOR id="HKL-TINY:CAPS" href="hkl/hkl-hkl.html#HKL-TINY:CAPS">
-<ANCHOR id="HKL-EPSILON:CAPS" href="hkl/hkl-hkl.html#HKL-EPSILON:CAPS">
-<ANCHOR id="HKLAPI:CAPS" href="hkl/hkl-hkl.html#HKLAPI:CAPS">
 <ANCHOR id="HKL-WARN-UNUSED-RESULT:CAPS" href="hkl/hkl-hkl.html#HKL-WARN-UNUSED-RESULT:CAPS">
-<ANCHOR id="HklVector" href="hkl/hkl-hkl.html#HklVector">
-<ANCHOR id="HklQuaternion" href="hkl/hkl-hkl.html#HklQuaternion">
-<ANCHOR id="darray-string" href="hkl/hkl-hkl.html#darray-string">
-<ANCHOR id="HklUnitEnum" href="hkl/hkl-hkl.html#HklUnitEnum">
+<ANCHOR id="HklDetector" href="hkl/hkl-hkl.html#HklDetector">
 <ANCHOR id="HklDetectorType" href="hkl/hkl-hkl.html#HklDetectorType">
-<ANCHOR id="darray-engine" href="hkl/hkl-hkl.html#darray-engine">
-<ANCHOR id="HklEngineCapabilities" href="hkl/hkl-hkl.html#HklEngineCapabilities">
+<ANCHOR id="HklEngine" href="hkl/hkl-hkl.html#HklEngine">
 <ANCHOR id="HklEngineAxisNamesGet" href="hkl/hkl-hkl.html#HklEngineAxisNamesGet">
-<ANCHOR id="HklParameter" href="hkl/hkl-hkl.html#HklParameter">
-<ANCHOR id="HklGeometry" href="hkl/hkl-hkl.html#HklGeometry">
-<ANCHOR id="HklSampleReflection" href="hkl/hkl-hkl.html#HklSampleReflection">
-<ANCHOR id="HklSample" href="hkl/hkl-hkl.html#HklSample">
-<ANCHOR id="HklGeometryListItem" href="hkl/hkl-hkl.html#HklGeometryListItem">
-<ANCHOR id="HklFactory" href="hkl/hkl-hkl.html#HklFactory">
+<ANCHOR id="HklEngineCapabilities" href="hkl/hkl-hkl.html#HklEngineCapabilities">
 <ANCHOR id="HklEngineList" href="hkl/hkl-hkl.html#HklEngineList">
+<ANCHOR id="HklFactory" href="hkl/hkl-hkl.html#HklFactory">
+<ANCHOR id="HklGeometry" href="hkl/hkl-hkl.html#HklGeometry">
 <ANCHOR id="HklGeometryList" href="hkl/hkl-hkl.html#HklGeometryList">
+<ANCHOR id="HklGeometryListItem" href="hkl/hkl-hkl.html#HklGeometryListItem">
 <ANCHOR id="HklLattice" href="hkl/hkl-hkl.html#HklLattice">
 <ANCHOR id="HklMatrix" href="hkl/hkl-hkl.html#HklMatrix">
-<ANCHOR id="HklDetector" href="hkl/hkl-hkl.html#HklDetector">
-<ANCHOR id="HklEngine" href="hkl/hkl-hkl.html#HklEngine">
+<ANCHOR id="HklParameter" href="hkl/hkl-hkl.html#HklParameter">
+<ANCHOR id="HklQuaternion" href="hkl/hkl-hkl.html#HklQuaternion">
+<ANCHOR id="HklSample" href="hkl/hkl-hkl.html#HklSample">
+<ANCHOR id="HklSampleReflection" href="hkl/hkl-hkl.html#HklSampleReflection">
+<ANCHOR id="HklUnitEnum" href="hkl/hkl-hkl.html#HklUnitEnum">
+<ANCHOR id="HklVector" href="hkl/hkl-hkl.html#HklVector">
+<ANCHOR id="darray-engine" href="hkl/hkl-hkl.html#darray-engine">
+<ANCHOR id="darray-string" href="hkl/hkl-hkl.html#darray-string">
 <ANCHOR id="hkl-hkl-axis-private" href="hkl/hkl-hkl-axis-private.html">
-<ANCHOR id="hkl-hkl-axis-private.functions" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.functions">
-<ANCHOR id="hkl-hkl-axis-private.other" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.other">
+<ANCHOR id="hkl-hkl-axis-private.synopsis" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.synopsis">
 <ANCHOR id="hkl-hkl-axis-private.description" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.description">
-<ANCHOR id="hkl-hkl-axis-private.functions_details" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.functions_details">
-<ANCHOR id="hkl-parameter-new-axis" href="hkl/hkl-hkl-axis-private.html#hkl-parameter-new-axis">
-<ANCHOR id="hkl-hkl-axis-private.other_details" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.other_details">
+<ANCHOR id="hkl-hkl-axis-private.details" href="hkl/hkl-hkl-axis-private.html#hkl-hkl-axis-private.details">
 <ANCHOR id="HklAxis" href="hkl/hkl-hkl-axis-private.html#HklAxis">
+<ANCHOR id="hkl-parameter-new-axis" href="hkl/hkl-hkl-axis-private.html#hkl-parameter-new-axis">
 <ANCHOR id="hkl-hkl-detector-private" href="hkl/hkl-hkl-detector-private.html">
-<ANCHOR id="hkl-hkl-detector-private.functions" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.functions">
-<ANCHOR id="hkl-hkl-detector-private.other" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.other">
+<ANCHOR id="hkl-hkl-detector-private.synopsis" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.synopsis">
 <ANCHOR id="hkl-hkl-detector-private.description" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.description">
-<ANCHOR id="hkl-hkl-detector-private.functions_details" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.functions_details">
-<ANCHOR id="hkl-detector-new" href="hkl/hkl-hkl-detector-private.html#hkl-detector-new">
+<ANCHOR id="hkl-hkl-detector-private.details" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.details">
+<ANCHOR id="HklDetector" href="hkl/hkl-hkl-detector-private.html#HklDetector">
 <ANCHOR id="hkl-detector-attach-to-holder" href="hkl/hkl-hkl-detector-private.html#hkl-detector-attach-to-holder">
 <ANCHOR id="hkl-detector-compute-kf" href="hkl/hkl-hkl-detector-private.html#hkl-detector-compute-kf">
-<ANCHOR id="hkl-hkl-detector-private.other_details" href="hkl/hkl-hkl-detector-private.html#hkl-hkl-detector-private.other_details">
-<ANCHOR id="HklDetector" href="hkl/hkl-hkl-detector-private.html#HklDetector">
+<ANCHOR id="hkl-detector-new" href="hkl/hkl-hkl-detector-private.html#hkl-detector-new">
 <ANCHOR id="hkl-hkl-factory-private" href="hkl/hkl-hkl-factory-private.html">
-<ANCHOR id="hkl-hkl-factory-private.functions" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.functions">
-<ANCHOR id="hkl-hkl-factory-private.other" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.other">
+<ANCHOR id="hkl-hkl-factory-private.synopsis" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.synopsis">
 <ANCHOR id="hkl-hkl-factory-private.description" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.description">
-<ANCHOR id="hkl-hkl-factory-private.functions_details" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.functions_details">
-<ANCHOR id="HklFactoryGeometryFunction" href="hkl/hkl-hkl-factory-private.html#HklFactoryGeometryFunction">
+<ANCHOR id="hkl-hkl-factory-private.details" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.details">
+<ANCHOR id="HklFactory" href="hkl/hkl-hkl-factory-private.html#HklFactory">
 <ANCHOR id="HklFactoryEngineListFunction" href="hkl/hkl-hkl-factory-private.html#HklFactoryEngineListFunction">
+<ANCHOR id="HklFactoryGeometryFunction" href="hkl/hkl-hkl-factory-private.html#HklFactoryGeometryFunction">
 <ANCHOR id="REGISTER-DIFFRACTOMETER:CAPS" href="hkl/hkl-hkl-factory-private.html#REGISTER-DIFFRACTOMETER:CAPS">
-<ANCHOR id="hkl-hkl-factory-private.other_details" href="hkl/hkl-hkl-factory-private.html#hkl-hkl-factory-private.other_details">
-<ANCHOR id="HklFactory" href="hkl/hkl-hkl-factory-private.html#HklFactory">
 <ANCHOR id="hkl-hkl-geometry-private" href="hkl/hkl-hkl-geometry-private.html">
-<ANCHOR id="hkl-hkl-geometry-private.functions" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.functions">
-<ANCHOR id="hkl-hkl-geometry-private.other" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.other">
+<ANCHOR id="hkl-hkl-geometry-private.synopsis" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.synopsis">
 <ANCHOR id="hkl-hkl-geometry-private.description" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.description">
-<ANCHOR id="hkl-hkl-geometry-private.functions_details" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.functions_details">
+<ANCHOR id="hkl-hkl-geometry-private.details" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.details">
+<ANCHOR id="HKL-GEOMETRY-ERROR:CAPS" href="hkl/hkl-hkl-geometry-private.html#HKL-GEOMETRY-ERROR:CAPS">
+<ANCHOR id="HklGeometry" href="hkl/hkl-hkl-geometry-private.html#HklGeometry">
+<ANCHOR id="HklGeometryError" href="hkl/hkl-hkl-geometry-private.html#HklGeometryError">
+<ANCHOR id="HklGeometryList" href="hkl/hkl-hkl-geometry-private.html#HklGeometryList">
+<ANCHOR id="HklGeometryListItem" href="hkl/hkl-hkl-geometry-private.html#HklGeometryListItem">
 <ANCHOR id="HklGeometryListMultiplyFunction" href="hkl/hkl-hkl-geometry-private.html#HklGeometryListMultiplyFunction">
+<ANCHOR id="HklHolder" href="hkl/hkl-hkl-geometry-private.html#HklHolder">
+<ANCHOR id="darray-holder" href="hkl/hkl-hkl-geometry-private.html#darray-holder">
 <ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-geometry-private.html#g-quark-from-static-string">
-<ANCHOR id="hkl-holder-add-rotation-axis" href="hkl/hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis">
-<ANCHOR id="hkl-geometry-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-new">
-<ANCHOR id="hkl-geometry-init-geometry" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-init-geometry">
 <ANCHOR id="hkl-geometry-add-holder" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-add-holder">
-<ANCHOR id="hkl-geometry-update" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-update">
-<ANCHOR id="hkl-geometry-get-axis-idx-by-name" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name">
-<ANCHOR id="hkl-geometry-get-axis-by-name" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name">
+<ANCHOR id="hkl-geometry-closest-from-geometry-with-range" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range">
 <ANCHOR id="hkl-geometry-distance" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-distance">
 <ANCHOR id="hkl-geometry-distance-orthodromic" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-distance-orthodromic">
-<ANCHOR id="hkl-geometry-closest-from-geometry-with-range" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-closest-from-geometry-with-range">
+<ANCHOR id="hkl-geometry-get-axis-by-name" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-get-axis-by-name">
+<ANCHOR id="hkl-geometry-get-axis-idx-by-name" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-get-axis-idx-by-name">
+<ANCHOR id="hkl-geometry-init-geometry" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-init-geometry">
 <ANCHOR id="hkl-geometry-is-valid" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-is-valid">
-<ANCHOR id="hkl-geometry-list-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-new">
-<ANCHOR id="hkl-geometry-list-new-copy" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy">
 <ANCHOR id="hkl-geometry-list-add" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-add">
-<ANCHOR id="hkl-geometry-list-reset" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-reset">
-<ANCHOR id="hkl-geometry-list-sort" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-sort">
 <ANCHOR id="hkl-geometry-list-fprintf" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-fprintf">
+<ANCHOR id="hkl-geometry-list-item-free" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-free">
+<ANCHOR id="hkl-geometry-list-item-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-new">
+<ANCHOR id="hkl-geometry-list-item-new-copy" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy">
 <ANCHOR id="hkl-geometry-list-multiply" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-multiply">
 <ANCHOR id="hkl-geometry-list-multiply-from-range" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-multiply-from-range">
+<ANCHOR id="hkl-geometry-list-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-new">
+<ANCHOR id="hkl-geometry-list-new-copy" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-new-copy">
 <ANCHOR id="hkl-geometry-list-remove-invalid" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-remove-invalid">
-<ANCHOR id="hkl-geometry-list-item-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-new">
-<ANCHOR id="hkl-geometry-list-item-new-copy" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-new-copy">
-<ANCHOR id="hkl-geometry-list-item-free" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-item-free">
-<ANCHOR id="hkl-hkl-geometry-private.other_details" href="hkl/hkl-hkl-geometry-private.html#hkl-hkl-geometry-private.other_details">
-<ANCHOR id="darray-holder" href="hkl/hkl-hkl-geometry-private.html#darray-holder">
-<ANCHOR id="HklHolderConfig" href="hkl/hkl-hkl-geometry-private.html#HklHolderConfig">
-<ANCHOR id="HklHolder" href="hkl/hkl-hkl-geometry-private.html#HklHolder">
-<ANCHOR id="HklGeometry" href="hkl/hkl-hkl-geometry-private.html#HklGeometry">
-<ANCHOR id="HKL-GEOMETRY-ERROR:CAPS" href="hkl/hkl-hkl-geometry-private.html#HKL-GEOMETRY-ERROR:CAPS">
-<ANCHOR id="HklGeometryError" href="hkl/hkl-hkl-geometry-private.html#HklGeometryError">
-<ANCHOR id="HklGeometryList" href="hkl/hkl-hkl-geometry-private.html#HklGeometryList">
-<ANCHOR id="HklGeometryListItem" href="hkl/hkl-hkl-geometry-private.html#HklGeometryListItem">
+<ANCHOR id="hkl-geometry-list-reset" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-reset">
+<ANCHOR id="hkl-geometry-list-sort" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-list-sort">
+<ANCHOR id="hkl-geometry-new" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-new">
+<ANCHOR id="hkl-geometry-update" href="hkl/hkl-hkl-geometry-private.html#hkl-geometry-update">
+<ANCHOR id="hkl-holder-add-rotation-axis" href="hkl/hkl-hkl-geometry-private.html#hkl-holder-add-rotation-axis">
 <ANCHOR id="hkl-hkl-interval-private" href="hkl/hkl-hkl-interval-private.html">
-<ANCHOR id="hkl-hkl-interval-private.functions" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.functions">
-<ANCHOR id="hkl-hkl-interval-private.other" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.other">
+<ANCHOR id="hkl-hkl-interval-private.synopsis" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.synopsis">
 <ANCHOR id="hkl-hkl-interval-private.description" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.description">
-<ANCHOR id="hkl-hkl-interval-private.functions_details" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.functions_details">
-<ANCHOR id="hkl-interval-dup" href="hkl/hkl-hkl-interval-private.html#hkl-interval-dup">
-<ANCHOR id="hkl-interval-free" href="hkl/hkl-hkl-interval-private.html#hkl-interval-free">
+<ANCHOR id="hkl-hkl-interval-private.details" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.details">
+<ANCHOR id="HklInterval" href="hkl/hkl-hkl-interval-private.html#HklInterval">
+<ANCHOR id="hkl-interval-acos" href="hkl/hkl-hkl-interval-private.html#hkl-interval-acos">
+<ANCHOR id="hkl-interval-angle-restrict-symm" href="hkl/hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm">
+<ANCHOR id="hkl-interval-asin" href="hkl/hkl-hkl-interval-private.html#hkl-interval-asin">
+<ANCHOR id="hkl-interval-atan" href="hkl/hkl-hkl-interval-private.html#hkl-interval-atan">
 <ANCHOR id="hkl-interval-cmp" href="hkl/hkl-hkl-interval-private.html#hkl-interval-cmp">
-<ANCHOR id="hkl-interval-plus-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-plus-interval">
-<ANCHOR id="hkl-interval-plus-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-plus-double">
-<ANCHOR id="hkl-interval-minus-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-minus-interval">
-<ANCHOR id="hkl-interval-minus-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-minus-double">
-<ANCHOR id="hkl-interval-times-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-times-interval">
-<ANCHOR id="hkl-interval-times-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-times-double">
-<ANCHOR id="hkl-interval-divides-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-divides-double">
 <ANCHOR id="hkl-interval-contain-zero" href="hkl/hkl-hkl-interval-private.html#hkl-interval-contain-zero">
 <ANCHOR id="hkl-interval-cos" href="hkl/hkl-hkl-interval-private.html#hkl-interval-cos">
-<ANCHOR id="hkl-interval-acos" href="hkl/hkl-hkl-interval-private.html#hkl-interval-acos">
+<ANCHOR id="hkl-interval-divides-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-divides-double">
+<ANCHOR id="hkl-interval-dup" href="hkl/hkl-hkl-interval-private.html#hkl-interval-dup">
+<ANCHOR id="hkl-interval-free" href="hkl/hkl-hkl-interval-private.html#hkl-interval-free">
+<ANCHOR id="hkl-interval-length" href="hkl/hkl-hkl-interval-private.html#hkl-interval-length">
+<ANCHOR id="hkl-interval-minus-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-minus-double">
+<ANCHOR id="hkl-interval-minus-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-minus-interval">
+<ANCHOR id="hkl-interval-plus-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-plus-double">
+<ANCHOR id="hkl-interval-plus-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-plus-interval">
 <ANCHOR id="hkl-interval-sin" href="hkl/hkl-hkl-interval-private.html#hkl-interval-sin">
-<ANCHOR id="hkl-interval-asin" href="hkl/hkl-hkl-interval-private.html#hkl-interval-asin">
 <ANCHOR id="hkl-interval-tan" href="hkl/hkl-hkl-interval-private.html#hkl-interval-tan">
-<ANCHOR id="hkl-interval-atan" href="hkl/hkl-hkl-interval-private.html#hkl-interval-atan">
-<ANCHOR id="hkl-interval-length" href="hkl/hkl-hkl-interval-private.html#hkl-interval-length">
-<ANCHOR id="hkl-interval-angle-restrict-symm" href="hkl/hkl-hkl-interval-private.html#hkl-interval-angle-restrict-symm">
-<ANCHOR id="hkl-hkl-interval-private.other_details" href="hkl/hkl-hkl-interval-private.html#hkl-hkl-interval-private.other_details">
-<ANCHOR id="HklInterval" href="hkl/hkl-hkl-interval-private.html#HklInterval">
+<ANCHOR id="hkl-interval-times-double" href="hkl/hkl-hkl-interval-private.html#hkl-interval-times-double">
+<ANCHOR id="hkl-interval-times-interval" href="hkl/hkl-hkl-interval-private.html#hkl-interval-times-interval">
 <ANCHOR id="hkl-hkl-lattice-private" href="hkl/hkl-hkl-lattice-private.html">
-<ANCHOR id="hkl-hkl-lattice-private.functions" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.functions">
-<ANCHOR id="hkl-hkl-lattice-private.other" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.other">
+<ANCHOR id="hkl-hkl-lattice-private.synopsis" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.synopsis">
 <ANCHOR id="hkl-hkl-lattice-private.description" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.description">
-<ANCHOR id="hkl-hkl-lattice-private.functions_details" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.functions_details">
+<ANCHOR id="hkl-hkl-lattice-private.details" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.details">
+<ANCHOR id="HKL-LATTICE-ERROR:CAPS" href="hkl/hkl-hkl-lattice-private.html#HKL-LATTICE-ERROR:CAPS">
+<ANCHOR id="HklLattice" href="hkl/hkl-hkl-lattice-private.html#HklLattice">
+<ANCHOR id="HklLatticeError" href="hkl/hkl-hkl-lattice-private.html#HklLatticeError">
 <ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-lattice-private.html#g-quark-from-static-string">
+<ANCHOR id="hkl-lattice-fprintf" href="hkl/hkl-hkl-lattice-private.html#hkl-lattice-fprintf">
 <ANCHOR id="hkl-lattice-lattice-set" href="hkl/hkl-hkl-lattice-private.html#hkl-lattice-lattice-set">
 <ANCHOR id="hkl-lattice-randomize" href="hkl/hkl-hkl-lattice-private.html#hkl-lattice-randomize">
-<ANCHOR id="hkl-lattice-fprintf" href="hkl/hkl-hkl-lattice-private.html#hkl-lattice-fprintf">
-<ANCHOR id="hkl-hkl-lattice-private.other_details" href="hkl/hkl-hkl-lattice-private.html#hkl-hkl-lattice-private.other_details">
-<ANCHOR id="HklLattice" href="hkl/hkl-hkl-lattice-private.html#HklLattice">
-<ANCHOR id="HKL-LATTICE-ERROR:CAPS" href="hkl/hkl-hkl-lattice-private.html#HKL-LATTICE-ERROR:CAPS">
-<ANCHOR id="HklLatticeError" href="hkl/hkl-hkl-lattice-private.html#HklLatticeError">
 <ANCHOR id="hkl-hkl-macros-private" href="hkl/hkl-hkl-macros-private.html">
-<ANCHOR id="hkl-hkl-macros-private.functions" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.functions">
-<ANCHOR id="hkl-hkl-macros-private.other" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.other">
+<ANCHOR id="hkl-hkl-macros-private.synopsis" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.synopsis">
 <ANCHOR id="hkl-hkl-macros-private.description" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.description">
-<ANCHOR id="hkl-hkl-macros-private.functions_details" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.functions_details">
-<ANCHOR id="hkl-assert" href="hkl/hkl-hkl-macros-private.html#hkl-assert">
-<ANCHOR id="hkl-error" href="hkl/hkl-hkl-macros-private.html#hkl-error">
-<ANCHOR id="G-GNUC-PRINTF:CAPS" href="hkl/hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS">
-<ANCHOR id="alloc-nr" href="hkl/hkl-hkl-macros-private.html#alloc-nr">
+<ANCHOR id="hkl-hkl-macros-private.details" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.details">
 <ANCHOR id="ALLOC-GROW:CAPS" href="hkl/hkl-hkl-macros-private.html#ALLOC-GROW:CAPS">
 <ANCHOR id="DARRAY:CAPS" href="hkl/hkl-hkl-macros-private.html#DARRAY:CAPS">
-<ANCHOR id="hkl-printbt" href="hkl/hkl-hkl-macros-private.html#hkl-printbt">
-<ANCHOR id="HKL-MALLOC:CAPS" href="hkl/hkl-hkl-macros-private.html#HKL-MALLOC:CAPS">
-<ANCHOR id="hkl-hkl-macros-private.other_details" href="hkl/hkl-hkl-macros-private.html#hkl-hkl-macros-private.other_details">
+<ANCHOR id="G-GNUC-PRINTF:CAPS" href="hkl/hkl-hkl-macros-private.html#G-GNUC-PRINTF:CAPS">
 <ANCHOR id="HKL-EULERIAN-KAPPA-SOLUTION:CAPS" href="hkl/hkl-hkl-macros-private.html#HKL-EULERIAN-KAPPA-SOLUTION:CAPS">
+<ANCHOR id="HKL-MALLOC:CAPS" href="hkl/hkl-hkl-macros-private.html#HKL-MALLOC:CAPS">
 <ANCHOR id="NORETURN:CAPS" href="hkl/hkl-hkl-macros-private.html#NORETURN:CAPS">
+<ANCHOR id="alloc-nr" href="hkl/hkl-hkl-macros-private.html#alloc-nr">
+<ANCHOR id="hkl-assert" href="hkl/hkl-hkl-macros-private.html#hkl-assert">
+<ANCHOR id="hkl-error" href="hkl/hkl-hkl-macros-private.html#hkl-error">
+<ANCHOR id="hkl-printbt" href="hkl/hkl-hkl-macros-private.html#hkl-printbt">
 <ANCHOR id="hkl-hkl-matrix-private" href="hkl/hkl-hkl-matrix-private.html">
-<ANCHOR id="hkl-hkl-matrix-private.functions" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.functions">
-<ANCHOR id="hkl-hkl-matrix-private.other" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.other">
+<ANCHOR id="hkl-hkl-matrix-private.synopsis" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.synopsis">
 <ANCHOR id="hkl-hkl-matrix-private.description" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.description">
-<ANCHOR id="hkl-hkl-matrix-private.functions_details" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.functions_details">
+<ANCHOR id="hkl-hkl-matrix-private.details" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.details">
+<ANCHOR id="HklMatrix" href="hkl/hkl-hkl-matrix-private.html#HklMatrix">
+<ANCHOR id="hkl-matrix-det" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-det">
 <ANCHOR id="hkl-matrix-dup" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-dup">
+<ANCHOR id="hkl-matrix-fprintf" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-fprintf">
 <ANCHOR id="hkl-matrix-init-from-euler" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-init-from-euler">
-<ANCHOR id="hkl-matrix-matrix-set" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-matrix-set">
 <ANCHOR id="hkl-matrix-init-from-two-vector" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-init-from-two-vector">
-<ANCHOR id="hkl-matrix-fprintf" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-fprintf">
-<ANCHOR id="hkl-matrix-to-euler" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-to-euler">
+<ANCHOR id="hkl-matrix-is-null" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-is-null">
+<ANCHOR id="hkl-matrix-matrix-set" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-matrix-set">
+<ANCHOR id="hkl-matrix-solve" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-solve">
 <ANCHOR id="hkl-matrix-times-vector" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-times-vector">
+<ANCHOR id="hkl-matrix-to-euler" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-to-euler">
 <ANCHOR id="hkl-matrix-transpose" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-transpose">
-<ANCHOR id="hkl-matrix-det" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-det">
-<ANCHOR id="hkl-matrix-solve" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-solve">
-<ANCHOR id="hkl-matrix-is-null" href="hkl/hkl-hkl-matrix-private.html#hkl-matrix-is-null">
-<ANCHOR id="hkl-hkl-matrix-private.other_details" href="hkl/hkl-hkl-matrix-private.html#hkl-hkl-matrix-private.other_details">
-<ANCHOR id="HklMatrix" href="hkl/hkl-hkl-matrix-private.html#HklMatrix">
 <ANCHOR id="hkl-hkl-parameter-private" href="hkl/hkl-hkl-parameter-private.html">
-<ANCHOR id="hkl-hkl-parameter-private.functions" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.functions">
-<ANCHOR id="hkl-hkl-parameter-private.other" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.other">
+<ANCHOR id="hkl-hkl-parameter-private.synopsis" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.synopsis">
 <ANCHOR id="hkl-hkl-parameter-private.description" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.description">
-<ANCHOR id="hkl-hkl-parameter-private.functions_details" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.functions_details">
-<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-parameter-private.html#g-quark-from-static-string">
-<ANCHOR id="fprintf" href="hkl/hkl-hkl-parameter-private.html#fprintf">
-<ANCHOR id="hkl-parameter-new" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-new">
-<ANCHOR id="hkl-parameter-init-copy" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-init-copy">
-<ANCHOR id="hkl-parameter-value-get-closest" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest">
-<ANCHOR id="hkl-parameter-value-set-smallest-in-range" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range">
-<ANCHOR id="hkl-parameter-is-valid" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-is-valid">
-<ANCHOR id="hkl-parameter-fprintf" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-fprintf">
-<ANCHOR id="hkl-hkl-parameter-private.other_details" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.other_details">
-<ANCHOR id="HklParameter" href="hkl/hkl-hkl-parameter-private.html#HklParameter">
+<ANCHOR id="hkl-hkl-parameter-private.details" href="hkl/hkl-hkl-parameter-private.html#hkl-hkl-parameter-private.details">
 <ANCHOR id="HKL-PARAMETER-DEFAULTS:CAPS" href="hkl/hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS:CAPS">
 <ANCHOR id="HKL-PARAMETER-DEFAULTS-ANGLE:CAPS" href="hkl/hkl-hkl-parameter-private.html#HKL-PARAMETER-DEFAULTS-ANGLE:CAPS">
 <ANCHOR id="HKL-PARAMETER-ERROR:CAPS" href="hkl/hkl-hkl-parameter-private.html#HKL-PARAMETER-ERROR:CAPS">
+<ANCHOR id="HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS" href="hkl/hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS">
+<ANCHOR id="HklParameter" href="hkl/hkl-hkl-parameter-private.html#HklParameter">
 <ANCHOR id="HklParameterError" href="hkl/hkl-hkl-parameter-private.html#HklParameterError">
 <ANCHOR id="HklParameterOperations" href="hkl/hkl-hkl-parameter-private.html#HklParameterOperations">
-<ANCHOR id="HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS" href="hkl/hkl-hkl-parameter-private.html#HKL-PARAMETER-OPERATIONS-DEFAULTS:CAPS">
-<ANCHOR id="dup" href="hkl/hkl-hkl-parameter-private.html#dup">
 <ANCHOR id="alea" href="hkl/hkl-hkl-parameter-private.html#alea">
-<ANCHOR id="factor" href="hkl/hkl-hkl-parameter-private.html#factor">
 <ANCHOR id="darray-parameter" href="hkl/hkl-hkl-parameter-private.html#darray-parameter">
+<ANCHOR id="dup" href="hkl/hkl-hkl-parameter-private.html#dup">
+<ANCHOR id="factor" href="hkl/hkl-hkl-parameter-private.html#factor">
+<ANCHOR id="fprintf" href="hkl/hkl-hkl-parameter-private.html#fprintf">
+<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-parameter-private.html#g-quark-from-static-string">
+<ANCHOR id="hkl-parameter-fprintf" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-fprintf">
+<ANCHOR id="hkl-parameter-init-copy" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-init-copy">
+<ANCHOR id="hkl-parameter-is-valid" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-is-valid">
+<ANCHOR id="hkl-parameter-new" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-new">
+<ANCHOR id="hkl-parameter-value-get-closest" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-value-get-closest">
+<ANCHOR id="hkl-parameter-value-set-smallest-in-range" href="hkl/hkl-hkl-parameter-private.html#hkl-parameter-value-set-smallest-in-range">
 <ANCHOR id="hkl-hkl-pseudoaxis-auto-private" href="hkl/hkl-hkl-pseudoaxis-auto-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.functions" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.other" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-auto-private.description" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.functions_details">
+<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.details" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.details">
 <ANCHOR id="CHECK-NAN:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#CHECK-NAN:CAPS">
 <ANCHOR id="HKL-MODE-AUTO-INFO:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO:CAPS">
 <ANCHOR id="HKL-MODE-AUTO-INFO-WITH-PARAMS:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-INFO-WITH-PARAMS:CAPS">
-<ANCHOR id="hkl-mode-auto-new" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new">
-<ANCHOR id="hkl-mode-auto-init" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init">
-<ANCHOR id="hkl-mode-auto-set-real" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real">
-<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#g-quark-from-static-string">
-<ANCHOR id="hkl-mode-auto-with-init-new" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new">
-<ANCHOR id="hkl-hkl-pseudoaxis-auto-private.other_details" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-hkl-pseudoaxis-auto-private.other_details">
+<ANCHOR id="HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS">
+<ANCHOR id="HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS">
+<ANCHOR id="HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS">
 <ANCHOR id="HklFunction" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HklFunction">
-<ANCHOR id="darray-function" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#darray-function">
 <ANCHOR id="HklModeAutoInfo" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoInfo">
-<ANCHOR id="HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-DEFAULTS:CAPS">
 <ANCHOR id="HklModeAutoWithInit" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HklModeAutoWithInit">
-<ANCHOR id="HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-AUTO-WITH-INIT-ERROR:CAPS">
 <ANCHOR id="HklModeError" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HklModeError">
-<ANCHOR id="HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#HKL-MODE-OPERATIONS-AUTO-WITH-INIT-DEFAULTS:CAPS">
+<ANCHOR id="darray-function" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#darray-function">
+<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#g-quark-from-static-string">
+<ANCHOR id="hkl-mode-auto-init" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-init">
+<ANCHOR id="hkl-mode-auto-new" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-new">
+<ANCHOR id="hkl-mode-auto-set-real" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-set-real">
+<ANCHOR id="hkl-mode-auto-with-init-new" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#hkl-mode-auto-with-init-new">
 <ANCHOR id="self" href="hkl/hkl-hkl-pseudoaxis-auto-private.html#self">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.functions" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.other" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.description" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.functions_details">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.details" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.details">
+<ANCHOR id="HklEngineEulerians" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#HklEngineEulerians">
 <ANCHOR id="hkl-engine-eulerians-new" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-engine-eulerians-new">
 <ANCHOR id="kappa-2-kappap" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#kappa-2-kappap">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-eulerians-private.other_details" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#hkl-hkl-pseudoaxis-common-eulerians-private.other_details">
-<ANCHOR id="HklEngineEulerians" href="hkl/hkl-hkl-pseudoaxis-common-eulerians-private.html#HklEngineEulerians">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.functions" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.other" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.description" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.functions_details">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.details" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.details">
+<ANCHOR id="CONSTANT-PARAMETER:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#CONSTANT-PARAMETER:CAPS">
+<ANCHOR id="HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS">
+<ANCHOR id="HklEngineHkl" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl">
+<ANCHOR id="PSI-CONSTANT-PARAMETERS:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS">
 <ANCHOR id="RUBh-minus-Q" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#RUBh-minus-Q">
+<ANCHOR id="hkl-engine-hkl-new" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new">
 <ANCHOR id="hkl-mode-get-hkl-real" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-get-hkl-real">
-<ANCHOR id="hkl-mode-set-hkl-real" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real">
 <ANCHOR id="hkl-mode-initialized-set-psi-constant-vertical-real" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-initialized-set-psi-constant-vertical-real">
-<ANCHOR id="hkl-engine-hkl-new" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-engine-hkl-new">
-<ANCHOR id="CONSTANT-PARAMETER:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#CONSTANT-PARAMETER:CAPS">
-<ANCHOR id="PSI-CONSTANT-PARAMETERS:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#PSI-CONSTANT-PARAMETERS:CAPS">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-hkl-private.other_details" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-hkl-pseudoaxis-common-hkl-private.other_details">
-<ANCHOR id="HklEngineHkl" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#HklEngineHkl">
-<ANCHOR id="HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#HKL-MODE-OPERATIONS-HKL-DEFAULTS:CAPS">
+<ANCHOR id="hkl-mode-set-hkl-real" href="hkl/hkl-hkl-pseudoaxis-common-hkl-private.html#hkl-mode-set-hkl-real">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.functions" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.other" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.description" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.functions_details">
-<ANCHOR id="hkl-mode-psi-new" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new">
-<ANCHOR id="hkl-engine-psi-new" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.other_details" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.other_details">
-<ANCHOR id="HklModePsi" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-psi-private.details" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-hkl-pseudoaxis-common-psi-private.details">
 <ANCHOR id="HklEnginePsi" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#HklEnginePsi">
+<ANCHOR id="HklModePsi" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#HklModePsi">
+<ANCHOR id="hkl-engine-psi-new" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-engine-psi-new">
+<ANCHOR id="hkl-mode-psi-new" href="hkl/hkl-hkl-pseudoaxis-common-psi-private.html#hkl-mode-psi-new">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-q-private" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.functions" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.other" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.description" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.functions_details">
-<ANCHOR id="qmax" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#qmax">
-<ANCHOR id="hkl-engine-q-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new">
-<ANCHOR id="hkl-engine-q2-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new">
-<ANCHOR id="hkl-engine-qper-qpar-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new">
-<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.other_details" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.other_details">
+<ANCHOR id="hkl-hkl-pseudoaxis-common-q-private.details" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-hkl-pseudoaxis-common-q-private.details">
 <ANCHOR id="HklEngineQ" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ">
 <ANCHOR id="HklEngineQ2" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQ2">
 <ANCHOR id="HklEngineQperQpar" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#HklEngineQperQpar">
+<ANCHOR id="hkl-engine-q2-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q2-new">
+<ANCHOR id="hkl-engine-q-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-q-new">
+<ANCHOR id="hkl-engine-qper-qpar-new" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#hkl-engine-qper-qpar-new">
+<ANCHOR id="qmax" href="hkl/hkl-hkl-pseudoaxis-common-q-private.html#qmax">
 <ANCHOR id="hkl-hkl-pseudoaxis-private" href="hkl/hkl-hkl-pseudoaxis-private.html">
-<ANCHOR id="hkl-hkl-pseudoaxis-private.functions" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.functions">
-<ANCHOR id="hkl-hkl-pseudoaxis-private.other" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.other">
+<ANCHOR id="hkl-hkl-pseudoaxis-private.synopsis" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.synopsis">
 <ANCHOR id="hkl-hkl-pseudoaxis-private.description" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.description">
-<ANCHOR id="hkl-hkl-pseudoaxis-private.functions_details" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.functions_details">
+<ANCHOR id="hkl-hkl-pseudoaxis-private.details" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.details">
+<ANCHOR id="HKL-ENGINE-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS">
+<ANCHOR id="HKL-ENGINE-LIST-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS">
+<ANCHOR id="HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS">
 <ANCHOR id="HKL-MODE-INFO:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO:CAPS">
 <ANCHOR id="HKL-MODE-INFO-WITH-PARAMS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-MODE-INFO-WITH-PARAMS:CAPS">
-<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-pseudoaxis-private.html#g-quark-from-static-string">
-<ANCHOR id="hkl-hkl-pseudoaxis-private.other_details" href="hkl/hkl-hkl-pseudoaxis-private.html#hkl-hkl-pseudoaxis-private.other_details">
-<ANCHOR id="darray-mode" href="hkl/hkl-hkl-pseudoaxis-private.html#darray-mode">
-<ANCHOR id="HklPseudoAxis" href="hkl/hkl-hkl-pseudoaxis-private.html#HklPseudoAxis">
-<ANCHOR id="HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS">
-<ANCHOR id="pseudo-axis" href="hkl/hkl-hkl-pseudoaxis-private.html#pseudo-axis">
-<ANCHOR id="dup" href="hkl/hkl-hkl-pseudoaxis-private.html#dup">
-<ANCHOR id="HklModeInfo" href="hkl/hkl-hkl-pseudoaxis-private.html#HklModeInfo">
-<ANCHOR id="HklModeOperations" href="hkl/hkl-hkl-pseudoaxis-private.html#HklModeOperations">
 <ANCHOR id="HKL-MODE-OPERATIONS-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-MODE-OPERATIONS-DEFAULTS:CAPS">
-<ANCHOR id="HklMode" href="hkl/hkl-hkl-pseudoaxis-private.html#HklMode">
-<ANCHOR id="self" href="hkl/hkl-hkl-pseudoaxis-private.html#self">
-<ANCHOR id="HklEngineInfo" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineInfo">
+<ANCHOR id="HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-PARAMETER-OPERATIONS-PSEUDOAXIS-DEFAULTS:CAPS">
 <ANCHOR id="HklEngine" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngine">
-<ANCHOR id="HklEngineList" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineList">
-<ANCHOR id="HKL-ENGINE-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-ERROR:CAPS">
 <ANCHOR id="HklEngineError" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineError">
-<ANCHOR id="i" href="hkl/hkl-hkl-pseudoaxis-private.html#i">
+<ANCHOR id="HklEngineInfo" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineInfo">
+<ANCHOR id="HklEngineList" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineList">
+<ANCHOR id="HklEngineListError" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineListError">
 <ANCHOR id="HklEngineOperations" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineOperations">
-<ANCHOR id="HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-OPERATIONS-DEFAULTS:CAPS">
+<ANCHOR id="HklMode" href="hkl/hkl-hkl-pseudoaxis-private.html#HklMode">
+<ANCHOR id="HklModeInfo" href="hkl/hkl-hkl-pseudoaxis-private.html#HklModeInfo">
+<ANCHOR id="HklModeOperations" href="hkl/hkl-hkl-pseudoaxis-private.html#HklModeOperations">
+<ANCHOR id="HklPseudoAxis" href="hkl/hkl-hkl-pseudoaxis-private.html#HklPseudoAxis">
 <ANCHOR id="axis" href="hkl/hkl-hkl-pseudoaxis-private.html#axis">
-<ANCHOR id="HKL-ENGINE-LIST-ERROR:CAPS" href="hkl/hkl-hkl-pseudoaxis-private.html#HKL-ENGINE-LIST-ERROR:CAPS">
-<ANCHOR id="HklEngineListError" href="hkl/hkl-hkl-pseudoaxis-private.html#HklEngineListError">
+<ANCHOR id="darray-mode" href="hkl/hkl-hkl-pseudoaxis-private.html#darray-mode">
+<ANCHOR id="dup" href="hkl/hkl-hkl-pseudoaxis-private.html#dup">
+<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-pseudoaxis-private.html#g-quark-from-static-string">
+<ANCHOR id="i" href="hkl/hkl-hkl-pseudoaxis-private.html#i">
+<ANCHOR id="pseudo-axis" href="hkl/hkl-hkl-pseudoaxis-private.html#pseudo-axis">
+<ANCHOR id="self" href="hkl/hkl-hkl-pseudoaxis-private.html#self">
 <ANCHOR id="hkl-hkl-quaternion-private" href="hkl/hkl-hkl-quaternion-private.html">
-<ANCHOR id="hkl-hkl-quaternion-private.functions" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.functions">
+<ANCHOR id="hkl-hkl-quaternion-private.synopsis" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.synopsis">
 <ANCHOR id="hkl-hkl-quaternion-private.description" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.description">
-<ANCHOR id="hkl-hkl-quaternion-private.functions_details" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.functions_details">
+<ANCHOR id="hkl-hkl-quaternion-private.details" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.details">
+<ANCHOR id="hkl-quaternion-cmp" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-cmp">
+<ANCHOR id="hkl-quaternion-conjugate" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate">
 <ANCHOR id="hkl-quaternion-dup" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-dup">
+<ANCHOR id="hkl-quaternion-fprintf" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf">
 <ANCHOR id="hkl-quaternion-free" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-free">
 <ANCHOR id="hkl-quaternion-init" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-init">
-<ANCHOR id="hkl-quaternion-init-from-vector" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector">
 <ANCHOR id="hkl-quaternion-init-from-angle-and-axe" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-angle-and-axe">
-<ANCHOR id="hkl-quaternion-fprintf" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-fprintf">
-<ANCHOR id="hkl-quaternion-cmp" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-cmp">
+<ANCHOR id="hkl-quaternion-init-from-vector" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-init-from-vector">
 <ANCHOR id="hkl-quaternion-minus-quaternion" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-minus-quaternion">
-<ANCHOR id="hkl-quaternion-times-quaternion" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion">
 <ANCHOR id="hkl-quaternion-norm2" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-norm2">
-<ANCHOR id="hkl-quaternion-conjugate" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-conjugate">
-<ANCHOR id="hkl-quaternion-to-matrix" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix">
+<ANCHOR id="hkl-quaternion-times-quaternion" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-times-quaternion">
 <ANCHOR id="hkl-quaternion-to-angle-and-axe" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-to-angle-and-axe">
-<ANCHOR id="hkl-hkl-quaternion-private.other_details" href="hkl/hkl-hkl-quaternion-private.html#hkl-hkl-quaternion-private.other_details">
+<ANCHOR id="hkl-quaternion-to-matrix" href="hkl/hkl-hkl-quaternion-private.html#hkl-quaternion-to-matrix">
 <ANCHOR id="hkl-hkl-sample-private" href="hkl/hkl-hkl-sample-private.html">
-<ANCHOR id="hkl-hkl-sample-private.functions" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.functions">
-<ANCHOR id="hkl-hkl-sample-private.other" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.other">
+<ANCHOR id="hkl-hkl-sample-private.synopsis" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.synopsis">
 <ANCHOR id="hkl-hkl-sample-private.description" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.description">
-<ANCHOR id="hkl-hkl-sample-private.functions_details" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.functions_details">
-<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-sample-private.html#g-quark-from-static-string">
-<ANCHOR id="hkl-sample-fprintf" href="hkl/hkl-hkl-sample-private.html#hkl-sample-fprintf">
-<ANCHOR id="hkl-sample-reflection-new-copy" href="hkl/hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy">
-<ANCHOR id="hkl-sample-reflection-free" href="hkl/hkl-hkl-sample-private.html#hkl-sample-reflection-free">
-<ANCHOR id="hkl-hkl-sample-private.other_details" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.other_details">
-<ANCHOR id="HklSample" href="hkl/hkl-hkl-sample-private.html#HklSample">
+<ANCHOR id="hkl-hkl-sample-private.details" href="hkl/hkl-hkl-sample-private.html#hkl-hkl-sample-private.details">
 <ANCHOR id="HKL-SAMPLE-ERROR:CAPS" href="hkl/hkl-hkl-sample-private.html#HKL-SAMPLE-ERROR:CAPS">
+<ANCHOR id="HKL-SAMPLE-REFLECTION-ERROR:CAPS" href="hkl/hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS">
+<ANCHOR id="HklSample" href="hkl/hkl-hkl-sample-private.html#HklSample">
 <ANCHOR id="HklSampleError" href="hkl/hkl-hkl-sample-private.html#HklSampleError">
 <ANCHOR id="HklSampleReflection" href="hkl/hkl-hkl-sample-private.html#HklSampleReflection">
-<ANCHOR id="HKL-SAMPLE-REFLECTION-ERROR:CAPS" href="hkl/hkl-hkl-sample-private.html#HKL-SAMPLE-REFLECTION-ERROR:CAPS">
 <ANCHOR id="HklSampleReflectionError" href="hkl/hkl-hkl-sample-private.html#HklSampleReflectionError">
+<ANCHOR id="g-quark-from-static-string" href="hkl/hkl-hkl-sample-private.html#g-quark-from-static-string">
+<ANCHOR id="hkl-sample-fprintf" href="hkl/hkl-hkl-sample-private.html#hkl-sample-fprintf">
+<ANCHOR id="hkl-sample-reflection-free" href="hkl/hkl-hkl-sample-private.html#hkl-sample-reflection-free">
+<ANCHOR id="hkl-sample-reflection-new-copy" href="hkl/hkl-hkl-sample-private.html#hkl-sample-reflection-new-copy">
 <ANCHOR id="hkl-hkl-source-private" href="hkl/hkl-hkl-source-private.html">
-<ANCHOR id="hkl-hkl-source-private.functions" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.functions">
-<ANCHOR id="hkl-hkl-source-private.other" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.other">
+<ANCHOR id="hkl-hkl-source-private.synopsis" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.synopsis">
 <ANCHOR id="hkl-hkl-source-private.description" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.description">
-<ANCHOR id="hkl-hkl-source-private.functions_details" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.functions_details">
+<ANCHOR id="hkl-hkl-source-private.details" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.details">
 <ANCHOR id="HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS" href="hkl/hkl-hkl-source-private.html#HKL-SOURCE-DEFAULT-WAVE-LENGTH:CAPS">
-<ANCHOR id="hkl-source-dup" href="hkl/hkl-hkl-source-private.html#hkl-source-dup">
-<ANCHOR id="hkl-source-free" href="hkl/hkl-hkl-source-private.html#hkl-source-free">
-<ANCHOR id="hkl-source-init" href="hkl/hkl-hkl-source-private.html#hkl-source-init">
+<ANCHOR id="HklSource" href="hkl/hkl-hkl-source-private.html#HklSource">
 <ANCHOR id="hkl-source-cmp" href="hkl/hkl-hkl-source-private.html#hkl-source-cmp">
 <ANCHOR id="hkl-source-compute-ki" href="hkl/hkl-hkl-source-private.html#hkl-source-compute-ki">
-<ANCHOR id="hkl-source-get-wavelength" href="hkl/hkl-hkl-source-private.html#hkl-source-get-wavelength">
+<ANCHOR id="hkl-source-dup" href="hkl/hkl-hkl-source-private.html#hkl-source-dup">
 <ANCHOR id="hkl-source-fprintf" href="hkl/hkl-hkl-source-private.html#hkl-source-fprintf">
-<ANCHOR id="hkl-hkl-source-private.other_details" href="hkl/hkl-hkl-source-private.html#hkl-hkl-source-private.other_details">
-<ANCHOR id="HklSource" href="hkl/hkl-hkl-source-private.html#HklSource">
+<ANCHOR id="hkl-source-free" href="hkl/hkl-hkl-source-private.html#hkl-source-free">
+<ANCHOR id="hkl-source-get-wavelength" href="hkl/hkl-hkl-source-private.html#hkl-source-get-wavelength">
+<ANCHOR id="hkl-source-init" href="hkl/hkl-hkl-source-private.html#hkl-source-init">
 <ANCHOR id="hkl-hkl-type-builtins" href="hkl/hkl-hkl-type-builtins.html">
-<ANCHOR id="hkl-hkl-type-builtins.functions" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.functions">
+<ANCHOR id="hkl-hkl-type-builtins.synopsis" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.synopsis">
 <ANCHOR id="hkl-hkl-type-builtins.description" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.description">
-<ANCHOR id="hkl-hkl-type-builtins.functions_details" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.functions_details">
-<ANCHOR id="HKL-TYPE-UNIT-ENUM:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS">
+<ANCHOR id="hkl-hkl-type-builtins.details" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.details">
 <ANCHOR id="HKL-TYPE-DETECTOR-TYPE:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-DETECTOR-TYPE:CAPS">
-<ANCHOR id="HKL-TYPE-ENGINE-CAPABILITIES:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS">
 <ANCHOR id="HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-AXIS-NAMES-GET:CAPS">
-<ANCHOR id="hkl-hkl-type-builtins.other_details" href="hkl/hkl-hkl-type-builtins.html#hkl-hkl-type-builtins.other_details">
+<ANCHOR id="HKL-TYPE-ENGINE-CAPABILITIES:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-ENGINE-CAPABILITIES:CAPS">
+<ANCHOR id="HKL-TYPE-UNIT-ENUM:CAPS" href="hkl/hkl-hkl-type-builtins.html#HKL-TYPE-UNIT-ENUM:CAPS">
 <ANCHOR id="hkl-hkl-types" href="hkl/hkl-hkl-types.html">
-<ANCHOR id="hkl-hkl-types.functions" href="hkl/hkl-hkl-types.html#hkl-hkl-types.functions">
+<ANCHOR id="hkl-hkl-types.synopsis" href="hkl/hkl-hkl-types.html#hkl-hkl-types.synopsis">
 <ANCHOR id="hkl-hkl-types.description" href="hkl/hkl-hkl-types.html#hkl-hkl-types.description">
-<ANCHOR id="hkl-hkl-types.functions_details" href="hkl/hkl-hkl-types.html#hkl-hkl-types.functions_details">
+<ANCHOR id="hkl-hkl-types.details" href="hkl/hkl-hkl-types.html#hkl-hkl-types.details">
 <ANCHOR id="TYPE-HKL-DETECTOR:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-DETECTOR:CAPS">
 <ANCHOR id="TYPE-HKL-ENGINE:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-ENGINE:CAPS">
 <ANCHOR id="TYPE-HKL-ENGINE-LIST:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-ENGINE-LIST:CAPS">
@@ -484,135 +436,118 @@
 <ANCHOR id="TYPE-HKL-LATTICE:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-LATTICE:CAPS">
 <ANCHOR id="TYPE-HKL-MATRIX:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-MATRIX:CAPS">
 <ANCHOR id="TYPE-HKL-PARAMETER:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-PARAMETER:CAPS">
-<ANCHOR id="TYPE-HKL-SAMPLE-REFLECTION:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS">
 <ANCHOR id="TYPE-HKL-SAMPLE:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-SAMPLE:CAPS">
+<ANCHOR id="TYPE-HKL-SAMPLE-REFLECTION:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-SAMPLE-REFLECTION:CAPS">
 <ANCHOR id="TYPE-HKL-UNIT:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-UNIT:CAPS">
 <ANCHOR id="TYPE-HKL-VECTOR:CAPS" href="hkl/hkl-hkl-types.html#TYPE-HKL-VECTOR:CAPS">
-<ANCHOR id="hkl-hkl-types.other_details" href="hkl/hkl-hkl-types.html#hkl-hkl-types.other_details">
 <ANCHOR id="hkl-hkl-unit-private" href="hkl/hkl-hkl-unit-private.html">
-<ANCHOR id="hkl-hkl-unit-private.functions" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.functions">
-<ANCHOR id="hkl-hkl-unit-private.other" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.other">
+<ANCHOR id="hkl-hkl-unit-private.synopsis" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.synopsis">
 <ANCHOR id="hkl-hkl-unit-private.description" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.description">
-<ANCHOR id="hkl-hkl-unit-private.functions_details" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.functions_details">
-<ANCHOR id="hkl-unit-dup" href="hkl/hkl-hkl-unit-private.html#hkl-unit-dup">
-<ANCHOR id="hkl-unit-free" href="hkl/hkl-hkl-unit-private.html#hkl-unit-free">
+<ANCHOR id="hkl-hkl-unit-private.details" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.details">
+<ANCHOR id="HklUnit" href="hkl/hkl-hkl-unit-private.html#HklUnit">
+<ANCHOR id="HklUnitType" href="hkl/hkl-hkl-unit-private.html#HklUnitType">
 <ANCHOR id="hkl-unit-compatible" href="hkl/hkl-hkl-unit-private.html#hkl-unit-compatible">
+<ANCHOR id="hkl-unit-dup" href="hkl/hkl-hkl-unit-private.html#hkl-unit-dup">
 <ANCHOR id="hkl-unit-factor" href="hkl/hkl-hkl-unit-private.html#hkl-unit-factor">
-<ANCHOR id="hkl-hkl-unit-private.other_details" href="hkl/hkl-hkl-unit-private.html#hkl-hkl-unit-private.other_details">
-<ANCHOR id="HklUnitType" href="hkl/hkl-hkl-unit-private.html#HklUnitType">
-<ANCHOR id="HklUnit" href="hkl/hkl-hkl-unit-private.html#HklUnit">
+<ANCHOR id="hkl-unit-free" href="hkl/hkl-hkl-unit-private.html#hkl-unit-free">
 <ANCHOR id="hkl-hkl-vector-private" href="hkl/hkl-hkl-vector-private.html">
-<ANCHOR id="hkl-hkl-vector-private.functions" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.functions">
+<ANCHOR id="hkl-hkl-vector-private.synopsis" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.synopsis">
 <ANCHOR id="hkl-hkl-vector-private.description" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.description">
-<ANCHOR id="hkl-hkl-vector-private.functions_details" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.functions_details">
+<ANCHOR id="hkl-hkl-vector-private.details" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.details">
+<ANCHOR id="hkl-vector-add-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-add-vector">
+<ANCHOR id="hkl-vector-angle" href="hkl/hkl-hkl-vector-private.html#hkl-vector-angle">
+<ANCHOR id="hkl-vector-cmp" href="hkl/hkl-hkl-vector-private.html#hkl-vector-cmp">
+<ANCHOR id="hkl-vector-div-double" href="hkl/hkl-hkl-vector-private.html#hkl-vector-div-double">
 <ANCHOR id="hkl-vector-dup" href="hkl/hkl-hkl-vector-private.html#hkl-vector-dup">
+<ANCHOR id="hkl-vector-fprintf" href="hkl/hkl-hkl-vector-private.html#hkl-vector-fprintf">
 <ANCHOR id="hkl-vector-free" href="hkl/hkl-hkl-vector-private.html#hkl-vector-free">
 <ANCHOR id="hkl-vector-init" href="hkl/hkl-hkl-vector-private.html#hkl-vector-init">
-<ANCHOR id="hkl-vector-fprintf" href="hkl/hkl-hkl-vector-private.html#hkl-vector-fprintf">
-<ANCHOR id="hkl-vector-cmp" href="hkl/hkl-hkl-vector-private.html#hkl-vector-cmp">
+<ANCHOR id="hkl-vector-is-colinear" href="hkl/hkl-hkl-vector-private.html#hkl-vector-is-colinear">
+<ANCHOR id="hkl-vector-is-null" href="hkl/hkl-hkl-vector-private.html#hkl-vector-is-null">
 <ANCHOR id="hkl-vector-is-opposite" href="hkl/hkl-hkl-vector-private.html#hkl-vector-is-opposite">
-<ANCHOR id="hkl-vector-add-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-add-vector">
 <ANCHOR id="hkl-vector-minus-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-minus-vector">
-<ANCHOR id="hkl-vector-div-double" href="hkl/hkl-hkl-vector-private.html#hkl-vector-div-double">
-<ANCHOR id="hkl-vector-times-double" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-double">
-<ANCHOR id="hkl-vector-times-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-vector">
-<ANCHOR id="hkl-vector-times-matrix" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-matrix">
-<ANCHOR id="hkl-vector-sum" href="hkl/hkl-hkl-vector-private.html#hkl-vector-sum">
-<ANCHOR id="hkl-vector-scalar-product" href="hkl/hkl-hkl-vector-private.html#hkl-vector-scalar-product">
-<ANCHOR id="hkl-vector-vectorial-product" href="hkl/hkl-hkl-vector-private.html#hkl-vector-vectorial-product">
-<ANCHOR id="hkl-vector-angle" href="hkl/hkl-hkl-vector-private.html#hkl-vector-angle">
-<ANCHOR id="hkl-vector-oriented-angle" href="hkl/hkl-hkl-vector-private.html#hkl-vector-oriented-angle">
-<ANCHOR id="hkl-vector-oriented-angle-points" href="hkl/hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points">
 <ANCHOR id="hkl-vector-norm2" href="hkl/hkl-hkl-vector-private.html#hkl-vector-norm2">
 <ANCHOR id="hkl-vector-normalize" href="hkl/hkl-hkl-vector-private.html#hkl-vector-normalize">
-<ANCHOR id="hkl-vector-is-colinear" href="hkl/hkl-hkl-vector-private.html#hkl-vector-is-colinear">
+<ANCHOR id="hkl-vector-oriented-angle" href="hkl/hkl-hkl-vector-private.html#hkl-vector-oriented-angle">
+<ANCHOR id="hkl-vector-oriented-angle-points" href="hkl/hkl-hkl-vector-private.html#hkl-vector-oriented-angle-points">
+<ANCHOR id="hkl-vector-project-on-plan" href="hkl/hkl-hkl-vector-private.html#hkl-vector-project-on-plan">
+<ANCHOR id="hkl-vector-project-on-plan-with-point" href="hkl/hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point">
 <ANCHOR id="hkl-vector-randomize" href="hkl/hkl-hkl-vector-private.html#hkl-vector-randomize">
 <ANCHOR id="hkl-vector-randomize-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-randomize-vector">
 <ANCHOR id="hkl-vector-randomize-vector-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-randomize-vector-vector">
+<ANCHOR id="hkl-vector-rotated-around-line" href="hkl/hkl-hkl-vector-private.html#hkl-vector-rotated-around-line">
 <ANCHOR id="hkl-vector-rotated-around-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-rotated-around-vector">
 <ANCHOR id="hkl-vector-rotated-quaternion" href="hkl/hkl-hkl-vector-private.html#hkl-vector-rotated-quaternion">
-<ANCHOR id="hkl-vector-rotated-around-line" href="hkl/hkl-hkl-vector-private.html#hkl-vector-rotated-around-line">
-<ANCHOR id="hkl-vector-is-null" href="hkl/hkl-hkl-vector-private.html#hkl-vector-is-null">
-<ANCHOR id="hkl-vector-project-on-plan" href="hkl/hkl-hkl-vector-private.html#hkl-vector-project-on-plan">
-<ANCHOR id="hkl-vector-project-on-plan-with-point" href="hkl/hkl-hkl-vector-private.html#hkl-vector-project-on-plan-with-point">
-<ANCHOR id="hkl-hkl-vector-private.other_details" href="hkl/hkl-hkl-vector-private.html#hkl-hkl-vector-private.other_details">
+<ANCHOR id="hkl-vector-scalar-product" href="hkl/hkl-hkl-vector-private.html#hkl-vector-scalar-product">
+<ANCHOR id="hkl-vector-sum" href="hkl/hkl-hkl-vector-private.html#hkl-vector-sum">
+<ANCHOR id="hkl-vector-times-double" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-double">
+<ANCHOR id="hkl-vector-times-matrix" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-matrix">
+<ANCHOR id="hkl-vector-times-vector" href="hkl/hkl-hkl-vector-private.html#hkl-vector-times-vector">
+<ANCHOR id="hkl-vector-vectorial-product" href="hkl/hkl-hkl-vector-private.html#hkl-vector-vectorial-product">
 <ANCHOR id="hkl-list" href="hkl/hkl-list.html">
-<ANCHOR id="hkl-list.functions" href="hkl/hkl-list.html#hkl-list.functions">
-<ANCHOR id="hkl-list.other" href="hkl/hkl-list.html#hkl-list.other">
+<ANCHOR id="hkl-list.synopsis" href="hkl/hkl-list.html#hkl-list.synopsis">
 <ANCHOR id="hkl-list.description" href="hkl/hkl-list.html#hkl-list.description">
-<ANCHOR id="hkl-list.functions_details" href="hkl/hkl-list.html#hkl-list.functions_details">
+<ANCHOR id="hkl-list.details" href="hkl/hkl-list.html#hkl-list.details">
+<ANCHOR id="LIST-HEAD:CAPS" href="hkl/hkl-list.html#LIST-HEAD:CAPS">
+<ANCHOR id="LIST-HEAD-INIT:CAPS" href="hkl/hkl-list.html#LIST-HEAD-INIT:CAPS">
+<ANCHOR id="LIST-LOC:CAPS" href="hkl/hkl-list.html#LIST-LOC:CAPS">
+<ANCHOR id="list-add" href="hkl/hkl-list.html#list-add">
+<ANCHOR id="list-add-off" href="hkl/hkl-list.html#list-add-off">
+<ANCHOR id="list-add-tail" href="hkl/hkl-list.html#list-add-tail">
+<ANCHOR id="list-append-list" href="hkl/hkl-list.html#list-append-list">
 <ANCHOR id="list-check" href="hkl/hkl-list.html#list-check">
 <ANCHOR id="list-check-node" href="hkl/hkl-list.html#list-check-node">
 <ANCHOR id="list-debug" href="hkl/hkl-list.html#list-debug">
 <ANCHOR id="list-debug-node" href="hkl/hkl-list.html#list-debug-node">
-<ANCHOR id="LIST-HEAD-INIT:CAPS" href="hkl/hkl-list.html#LIST-HEAD-INIT:CAPS">
-<ANCHOR id="LIST-HEAD:CAPS" href="hkl/hkl-list.html#LIST-HEAD:CAPS">
-<ANCHOR id="list-add" href="hkl/hkl-list.html#list-add">
-<ANCHOR id="list-add-tail" href="hkl/hkl-list.html#list-add-tail">
+<ANCHOR id="list-del" href="hkl/hkl-list.html#list-del">
+<ANCHOR id="list-del-from-off" href="hkl/hkl-list.html#list-del-from-off">
+<ANCHOR id="list-del-off" href="hkl/hkl-list.html#list-del-off">
 <ANCHOR id="list-empty" href="hkl/hkl-list.html#list-empty">
 <ANCHOR id="list-empty-nodebug" href="hkl/hkl-list.html#list-empty-nodebug">
-<ANCHOR id="list-del" href="hkl/hkl-list.html#list-del">
 <ANCHOR id="list-entry" href="hkl/hkl-list.html#list-entry">
-<ANCHOR id="list-top" href="hkl/hkl-list.html#list-top">
-<ANCHOR id="list-pop" href="hkl/hkl-list.html#list-pop">
-<ANCHOR id="list-tail" href="hkl/hkl-list.html#list-tail">
+<ANCHOR id="list-entry-off" href="hkl/hkl-list.html#list-entry-off">
 <ANCHOR id="list-for-each" href="hkl/hkl-list.html#list-for-each">
+<ANCHOR id="list-for-each-off" href="hkl/hkl-list.html#list-for-each-off">
 <ANCHOR id="list-for-each-rev" href="hkl/hkl-list.html#list-for-each-rev">
 <ANCHOR id="list-for-each-safe" href="hkl/hkl-list.html#list-for-each-safe">
-<ANCHOR id="list-next" href="hkl/hkl-list.html#list-next">
-<ANCHOR id="list-prev" href="hkl/hkl-list.html#list-prev">
-<ANCHOR id="list-append-list" href="hkl/hkl-list.html#list-append-list">
-<ANCHOR id="list-prepend-list" href="hkl/hkl-list.html#list-prepend-list">
-<ANCHOR id="list-for-each-off" href="hkl/hkl-list.html#list-for-each-off">
 <ANCHOR id="list-for-each-safe-off" href="hkl/hkl-list.html#list-for-each-safe-off">
-<ANCHOR id="list-entry-off" href="hkl/hkl-list.html#list-entry-off">
 <ANCHOR id="list-head-off" href="hkl/hkl-list.html#list-head-off">
-<ANCHOR id="list-tail-off" href="hkl/hkl-list.html#list-tail-off">
-<ANCHOR id="list-add-off" href="hkl/hkl-list.html#list-add-off">
-<ANCHOR id="list-del-off" href="hkl/hkl-list.html#list-del-off">
-<ANCHOR id="list-del-from-off" href="hkl/hkl-list.html#list-del-from-off">
+<ANCHOR id="list-next" href="hkl/hkl-list.html#list-next">
 <ANCHOR id="list-off-" href="hkl/hkl-list.html#list-off-">
 <ANCHOR id="list-off-var-" href="hkl/hkl-list.html#list-off-var-">
+<ANCHOR id="list-pop" href="hkl/hkl-list.html#list-pop">
+<ANCHOR id="list-prepend-list" href="hkl/hkl-list.html#list-prepend-list">
+<ANCHOR id="list-prev" href="hkl/hkl-list.html#list-prev">
+<ANCHOR id="list-tail" href="hkl/hkl-list.html#list-tail">
+<ANCHOR id="list-tail-off" href="hkl/hkl-list.html#list-tail-off">
+<ANCHOR id="list-top" href="hkl/hkl-list.html#list-top">
 <ANCHOR id="list-typeof" href="hkl/hkl-list.html#list-typeof">
-<ANCHOR id="hkl-list.other_details" href="hkl/hkl-list.html#hkl-list.other_details">
-<ANCHOR id="list-node" href="hkl/hkl-list.html#list-node">
-<ANCHOR id="list-head" href="hkl/hkl-list.html#list-head">
-<ANCHOR id="LIST-LOC:CAPS" href="hkl/hkl-list.html#LIST-LOC:CAPS">
 <ANCHOR id="hkl-noerr" href="hkl/hkl-noerr.html">
-<ANCHOR id="hkl-noerr.functions" href="hkl/hkl-noerr.html#hkl-noerr.functions">
+<ANCHOR id="hkl-noerr.synopsis" href="hkl/hkl-noerr.html#hkl-noerr.synopsis">
 <ANCHOR id="hkl-noerr.description" href="hkl/hkl-noerr.html#hkl-noerr.description">
-<ANCHOR id="hkl-noerr.functions_details" href="hkl/hkl-noerr.html#hkl-noerr.functions_details">
+<ANCHOR id="hkl-noerr.details" href="hkl/hkl-noerr.html#hkl-noerr.details">
 <ANCHOR id="close-noerr" href="hkl/hkl-noerr.html#close-noerr">
 <ANCHOR id="fclose-noerr" href="hkl/hkl-noerr.html#fclose-noerr">
 <ANCHOR id="unlink-noerr" href="hkl/hkl-noerr.html#unlink-noerr">
-<ANCHOR id="hkl-noerr.other_details" href="hkl/hkl-noerr.html#hkl-noerr.other_details">
 <ANCHOR id="hkl-ptr-valid" href="hkl/hkl-ptr-valid.html">
-<ANCHOR id="hkl-ptr-valid.functions" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.functions">
-<ANCHOR id="hkl-ptr-valid.other" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.other">
+<ANCHOR id="hkl-ptr-valid.synopsis" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.synopsis">
 <ANCHOR id="hkl-ptr-valid.description" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.description">
-<ANCHOR id="hkl-ptr-valid.functions_details" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.functions_details">
-<ANCHOR id="ptr-valid-read" href="hkl/hkl-ptr-valid.html#ptr-valid-read">
-<ANCHOR id="ptr-valid-write" href="hkl/hkl-ptr-valid.html#ptr-valid-write">
-<ANCHOR id="ptr-valid-string" href="hkl/hkl-ptr-valid.html#ptr-valid-string">
+<ANCHOR id="hkl-ptr-valid.details" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.details">
+<ANCHOR id="PTR-VALID-ALIGNOF:CAPS" href="hkl/hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS">
 <ANCHOR id="ptr-valid" href="hkl/hkl-ptr-valid.html#ptr-valid">
-<ANCHOR id="ptr-valid-batch-start" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-start">
+<ANCHOR id="ptr-valid-batch" href="hkl/hkl-ptr-valid.html#ptr-valid-batch">
+<ANCHOR id="ptr-valid-batch-end" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-end">
 <ANCHOR id="ptr-valid-batch-read" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-read">
-<ANCHOR id="ptr-valid-batch-write" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-write">
+<ANCHOR id="ptr-valid-batch-start" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-start">
 <ANCHOR id="ptr-valid-batch-string" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-string">
-<ANCHOR id="ptr-valid-batch-end" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-end">
-<ANCHOR id="PTR-VALID-ALIGNOF:CAPS" href="hkl/hkl-ptr-valid.html#PTR-VALID-ALIGNOF:CAPS">
-<ANCHOR id="hkl-ptr-valid.other_details" href="hkl/hkl-ptr-valid.html#hkl-ptr-valid.other_details">
-<ANCHOR id="ptr-valid-batch" href="hkl/hkl-ptr-valid.html#ptr-valid-batch">
-<ANCHOR id="ptr-valid-map" href="hkl/hkl-ptr-valid.html#ptr-valid-map">
+<ANCHOR id="ptr-valid-batch-write" href="hkl/hkl-ptr-valid.html#ptr-valid-batch-write">
+<ANCHOR id="ptr-valid-read" href="hkl/hkl-ptr-valid.html#ptr-valid-read">
+<ANCHOR id="ptr-valid-string" href="hkl/hkl-ptr-valid.html#ptr-valid-string">
+<ANCHOR id="ptr-valid-write" href="hkl/hkl-ptr-valid.html#ptr-valid-write">
 <ANCHOR id="hkl-str" href="hkl/hkl-str.html">
-<ANCHOR id="hkl-str.functions" href="hkl/hkl-str.html#hkl-str.functions">
+<ANCHOR id="hkl-str.synopsis" href="hkl/hkl-str.html#hkl-str.synopsis">
 <ANCHOR id="hkl-str.description" href="hkl/hkl-str.html#hkl-str.description">
-<ANCHOR id="hkl-str.functions_details" href="hkl/hkl-str.html#hkl-str.functions_details">
-<ANCHOR id="streq" href="hkl/hkl-str.html#streq">
-<ANCHOR id="strstarts" href="hkl/hkl-str.html#strstarts">
-<ANCHOR id="stringify" href="hkl/hkl-str.html#stringify">
-<ANCHOR id="stringify-1" href="hkl/hkl-str.html#stringify-1">
-<ANCHOR id="strcount" href="hkl/hkl-str.html#strcount">
+<ANCHOR id="hkl-str.details" href="hkl/hkl-str.html#hkl-str.details">
 <ANCHOR id="STR-MAX-CHARS:CAPS" href="hkl/hkl-str.html#STR-MAX-CHARS:CAPS">
 <ANCHOR id="STR-MAX-CHARS-TCHECK-:CAPS" href="hkl/hkl-str.html#STR-MAX-CHARS-TCHECK-:CAPS">
 <ANCHOR id="isalnum" href="hkl/hkl-str.html#isalnum">
@@ -629,14 +564,18 @@
 <ANCHOR id="isupper" href="hkl/hkl-str.html#isupper">
 <ANCHOR id="isxdigit" href="hkl/hkl-str.html#isxdigit">
 <ANCHOR id="str-check-arg-" href="hkl/hkl-str.html#str-check-arg-">
-<ANCHOR id="strstr" href="hkl/hkl-str.html#strstr">
 <ANCHOR id="strchr" href="hkl/hkl-str.html#strchr">
+<ANCHOR id="strcount" href="hkl/hkl-str.html#strcount">
+<ANCHOR id="streq" href="hkl/hkl-str.html#streq">
+<ANCHOR id="stringify" href="hkl/hkl-str.html#stringify">
+<ANCHOR id="stringify-1" href="hkl/hkl-str.html#stringify-1">
 <ANCHOR id="strrchr" href="hkl/hkl-str.html#strrchr">
-<ANCHOR id="hkl-str.other_details" href="hkl/hkl-str.html#hkl-str.other_details">
+<ANCHOR id="strstarts" href="hkl/hkl-str.html#strstarts">
+<ANCHOR id="strstr" href="hkl/hkl-str.html#strstr">
 <ANCHOR id="hkl-str-debug" href="hkl/hkl-str-debug.html">
-<ANCHOR id="hkl-str-debug.functions" href="hkl/hkl-str-debug.html#hkl-str-debug.functions">
+<ANCHOR id="hkl-str-debug.synopsis" href="hkl/hkl-str-debug.html#hkl-str-debug.synopsis">
 <ANCHOR id="hkl-str-debug.description" href="hkl/hkl-str-debug.html#hkl-str-debug.description">
-<ANCHOR id="hkl-str-debug.functions_details" href="hkl/hkl-str-debug.html#hkl-str-debug.functions_details">
+<ANCHOR id="hkl-str-debug.details" href="hkl/hkl-str-debug.html#hkl-str-debug.details">
 <ANCHOR id="str-isalnum" href="hkl/hkl-str-debug.html#str-isalnum">
 <ANCHOR id="str-isalpha" href="hkl/hkl-str-debug.html#str-isalpha">
 <ANCHOR id="str-isascii" href="hkl/hkl-str-debug.html#str-isascii">
@@ -650,10 +589,10 @@
 <ANCHOR id="str-isspace" href="hkl/hkl-str-debug.html#str-isspace">
 <ANCHOR id="str-isupper" href="hkl/hkl-str-debug.html#str-isupper">
 <ANCHOR id="str-isxdigit" href="hkl/hkl-str-debug.html#str-isxdigit">
-<ANCHOR id="str-strstr" href="hkl/hkl-str-debug.html#str-strstr">
 <ANCHOR id="str-strchr" href="hkl/hkl-str-debug.html#str-strchr">
 <ANCHOR id="str-strrchr" href="hkl/hkl-str-debug.html#str-strrchr">
-<ANCHOR id="hkl-str-debug.other_details" href="hkl/hkl-str-debug.html#hkl-str-debug.other_details">
+<ANCHOR id="str-strstr" href="hkl/hkl-str-debug.html#str-strstr">
+<ANCHOR id="annotation-glossterm-out" href="hkl/annotation-glossary.html#annotation-glossterm-out">
 <ANCHOR id="annotation-glossterm-in" href="hkl/annotation-glossary.html#annotation-glossterm-in">
-<ANCHOR id="annotation-glossterm-out caller-allocates" href="hkl/annotation-glossary.html#annotation-glossterm-out caller-allocates">
+<ANCHOR id="annotation-glossterm-transfer full" href="hkl/annotation-glossary.html#annotation-glossterm-transfer full">
 <ANCHOR id="annotation-glossterm-transfer none" href="hkl/annotation-glossary.html#annotation-glossterm-transfer none">
diff --git a/Documentation/api/html/left-insensitive.png b/Documentation/api/html/left-insensitive.png
deleted file mode 100644
index 3269393..0000000
Binary files a/Documentation/api/html/left-insensitive.png and /dev/null differ
diff --git a/Documentation/api/html/left.png b/Documentation/api/html/left.png
index 2abde03..2d05b3d 100644
Binary files a/Documentation/api/html/left.png and b/Documentation/api/html/left.png differ
diff --git a/Documentation/api/html/object-tree.html b/Documentation/api/html/object-tree.html
index d847291..3f8c513 100644
--- a/Documentation/api/html/object-tree.html
+++ b/Documentation/api/html/object-tree.html
@@ -2,32 +2,31 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>hkl Reference Manual: Object Hierarchy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Object Hierarchy</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="hkl Reference Manual">
 <link rel="up" href="index.html" title="hkl Reference Manual">
 <link rel="prev" href="hkl-str-debug.html" title="str_debug">
 <link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="hkl-str-debug.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="hkl-str-debug.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">hkl Reference Manual</th>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="object-tree"></a>Object Hierarchy</h1></div></div></div>
+<div class="titlepage"><div><div><h2 class="title">
+<a name="object-tree"></a>Object Hierarchy</h2></div></div></div>
 <pre class="screen">
-
 </pre>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.21</div>
+          Generated by GTK-Doc V1.18</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/Documentation/api/html/right-insensitive.png b/Documentation/api/html/right-insensitive.png
deleted file mode 100644
index 4c95785..0000000
Binary files a/Documentation/api/html/right-insensitive.png and /dev/null differ
diff --git a/Documentation/api/html/right.png b/Documentation/api/html/right.png
index 76260ec..92832e3 100644
Binary files a/Documentation/api/html/right.png and b/Documentation/api/html/right.png differ
diff --git a/Documentation/api/html/style.css b/Documentation/api/html/style.css
index c141ddd..d6f6c26 100644
--- a/Documentation/api/html/style.css
+++ b/Documentation/api/html/style.css
@@ -1,23 +1,15 @@
-body
-{
-  font-family: cantarell, sans-serif;
-}
 .synopsis, .classsynopsis
 {
   /* tango:aluminium 1/2 */
   background: #eeeeec;
-  background: rgba(238, 238, 236, 0.5);
-  border: solid 1px rgb(238, 238, 236);
+  border: solid 1px #d3d7cf;
   padding: 0.5em;
 }
 .programlisting
 {
   /* tango:sky blue 0/1 */
-  /* fallback for no rgba support */
   background: #e6f3ff;
   border: solid 1px #729fcf;
-  background: rgba(114, 159, 207, 0.1);
-  border: solid 1px rgba(114, 159, 207, 0.2);
   padding: 0.5em;
 }
 .variablelist
@@ -30,6 +22,89 @@ body
   vertical-align: top;
 }
 
+ at media screen {
+  sup a.footnote
+  {
+    position: relative;
+    top: 0em ! important;
+    
+  }
+  /* this is needed so that the local anchors are displayed below the naviagtion */
+  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+  {
+    display: inline-block;
+    position: relative;
+    top:-5em;
+  }
+  /* this seems to be a bug in the xsl style sheets when generating indexes */
+  div.index div.index
+  {
+    top: 0em;
+  }
+  /* make space for the fixed navigation bar and add space at the bottom so that
+   * link targets appear somewhat close to top
+   */
+  body
+  {
+    padding-top: 3.2em;
+    padding-bottom: 20em;
+  }
+  /* style and size the navigation bar */
+  table.navigation#top
+  {
+    position: fixed;
+    /* tango:scarlet red 0/1 */
+    background: #ffe6e6;
+    border: solid 1px #ef2929;
+    margin-top: 0;
+    margin-bottom: 0;
+    top: 0;
+    left: 0;
+    height: 3em;
+    z-index: 10;
+  }
+  .navigation a, .navigation a:visited
+  {
+    /* tango:scarlet red 3 */
+    color: #a40000;
+  }
+  .navigation a:hover
+  {
+    /* tango:scarlet red 1 */
+    color: #ef2929;
+  }
+  td.shortcuts
+  {
+    /* tango:scarlet red 1 */
+    color: #ef2929;
+    font-size: 80%;
+    white-space: nowrap;
+  }
+}
+ at media print {
+  table.navigation {
+    visibility: collapse;
+    display: none;
+  }
+  div.titlepage table.navigation {
+    visibility: visible;
+    display: table;
+    /* tango:scarlet red 0/1 */
+    background: #ffe6e6;
+    border: solid 1px #ef2929;
+    margin-top: 0;
+    margin-bottom: 0;
+    top: 0;
+    left: 0;
+    height: 3em;
+  }
+}
+
+.navigation .title
+{
+  font-size: 200%;
+}
+
 div.gallery-float
 {
   float: left;
@@ -57,72 +132,6 @@ a:hover
   color: #729fcf;
 }
 
-div.informaltable table
-{
-  border-collapse: separate;
-  border-spacing: 1em 0.5em;
-  border: none;
-}
-
-div.informaltable table td, div.informaltable table th
-{
-  vertical-align: top;
-}
-
-.function_type,
-.variable_type,
-.property_type,
-.signal_type,
-.parameter_name,
-.struct_member_name,
-.union_member_name,
-.define_keyword,
-.datatype_keyword,
-.typedef_keyword
-{
-  text-align: right;
-}
-
-/* dim non-primary columns */
-.c_punctuation,
-.function_type,
-.variable_type,
-.property_type,
-.signal_type,
-.define_keyword,
-.datatype_keyword,
-.typedef_keyword,
-.property_flags,
-.signal_flags,
-.parameter_annotations,
-.enum_member_annotations,
-.struct_member_annotations,
-.union_member_annotations
-{
-  color: #888a85;
-}
-
-.function_type a,
-.function_type a:visited,
-.function_type a:hover,
-.property_type a,
-.property_type a:visited,
-.property_type a:hover,
-.signal_type a,
-.signal_type a:visited,
-.signal_type a:hover,
-.signal_flags a,
-.signal_flags a:visited,
-.signal_flags a:hover
-{
- color: #729fcf;
-}
-
-td p
-{
-  margin: 0.25em;
-}
-
 div.table table
 {
   border-collapse: collapse;
@@ -145,43 +154,14 @@ div.table table th
   background-color: #d3d7cf;
 }
 
-h4
-{
-  color: #555753;
-}
-
 hr
 {
-  /* tango:aluminium 1 */
-  color: #d3d7cf;
-  background: #d3d7cf;
+  /* tango:aluminium 3 */
+  color: #babdb6;
+  background: #babdb6;
   border: none 0px;
   height: 1px;
   clear: both;
-  margin: 2.0em 0em 2.0em 0em;
-}
-
-dl.toc dt
-{
-  padding-bottom: 0.25em;
-}
-
-dl.toc > dd > dl > dt
-{
-  padding-top: 0.25em;
-  padding-bottom: 0.25em;
-}
-
-dl.toc > dt
-{
-  padding-top: 1em;
-  padding-bottom: 0.5em;
-  font-weight: bold;
-}
-
-.parameter
-{
-  font-style: normal;
 }
 
 .footer
@@ -193,70 +173,31 @@ dl.toc > dt
   font-size: 80%;
 }
 
-.informalfigure,
-.figure
-{
-  margin: 1em;
-}
-
-.informalexample,
-.example
-{
-  margin-top: 1em;
-  margin-bottom: 1em;
-}
-
 .warning
 {
   /* tango:orange 0/1 */
   background: #ffeed9;
-  background: rgba(252, 175, 62, 0.1);
   border-color: #ffb04f;
-  border-color: rgba(252, 175, 62, 0.2);
 }
 .note
 {
   /* tango:chameleon 0/0.5 */
   background: #d8ffb2;
-  background: rgba(138, 226, 52, 0.1);
   border-color: #abf562;
-  border-color: rgba(138, 226, 52, 0.2);
 }
-div.blockquote
-{
-  border-color: #eeeeec;
-}
-.note, .warning, div.blockquote
+.note, .warning
 {
   padding: 0.5em;
   border-width: 1px;
   border-style: solid;
-  margin: 2em;
-}
-.note p, .warning p
-{
-  margin: 0;
-}
-
-div.warning h3.title,
-div.note h3.title
-{
-  display: none;
 }
-
-p + div.section
+.note h3, .warning h3
 {
-  margin-top: 1em;
+  margin-top: 0.0em
 }
-
-div.refnamediv,
-div.refsynopsisdiv,
-div.refsect1,
-div.refsect2,
-div.toc,
-div.section
+.note p, .warning p
 {
-  margin-bottom: 1em;
+  margin-bottom: 0.0em
 }
 
 /* blob links */
@@ -269,52 +210,33 @@ h2 .extralinks, h3 .extralinks
   font-weight: normal;
 }
 
-.lineart
-{
-  color: #d3d7cf;
-  font-weight: normal;
-}
-
 .annotation
 {
   /* tango:aluminium 5 */
   color: #555753;
+  font-size: 80%;
   font-weight: normal;
 }
 
-.structfield
-{
-  font-style: normal;
-  font-weight: normal;
-}
-
-acronym,abbr 
-{
-  border-bottom: 1px dotted gray;
-}
-
 /* code listings */
 
-.listing_code .programlisting .normal,
-.listing_code .programlisting .normal a,
-.listing_code .programlisting .number,
-.listing_code .programlisting .cbracket,
-.listing_code .programlisting .symbol     { color: #555753; }
-.listing_code .programlisting .comment,
+.listing_code .programlisting .cbracket   { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment    { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function   { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword    { color: #4e9a06; } /* tango: chameleon 3  */
 .listing_code .programlisting .linenum    { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .function,
-.listing_code .programlisting .function a,
+.listing_code .programlisting .normal     { color: #000000; }
+.listing_code .programlisting .number     { color: #75507b; } /* tango: plum 2 */
 .listing_code .programlisting .preproc    { color: #204a87; } /* tango: sky blue 3  */
-.listing_code .programlisting .string     { color: #ad7fa8; } /* tango: plum */
-.listing_code .programlisting .keyword,
-.listing_code .programlisting .usertype,
-.listing_code .programlisting .type,
-.listing_code .programlisting .type a     { color: #4e9a06; } /* tango: chameleon 3  */
+.listing_code .programlisting .string     { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type       { color: #000000; }
+.listing_code .programlisting .type a     { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol     { color: #ce5c00; } /* tango: orange 3 */
 
 .listing_frame {
   /* tango:sky blue 1 */
   border: solid 1px #729fcf;
-  border: solid 1px rgba(114, 159, 207, 0.2);
   padding: 0px;
 }
 
@@ -326,151 +248,19 @@ acronym,abbr
 .listing_lines {
   /* tango:sky blue 0.5 */
   background: #a6c5e3;
-  background: rgba(114, 159, 207, 0.2);
   /* tango:aluminium 6 */
   color: #2e3436;
 }
 .listing_code {
   /* tango:sky blue 0 */
   background: #e6f3ff;
-  background: rgba(114, 159, 207, 0.1);
 }
 .listing_code .programlisting {
   /* override from previous */
   border: none 0px;
   padding: 0px;
-  background: none;
 }
 .listing_lines pre, .listing_code pre {
   margin: 0px;
 }
 
- at media screen {
-  sup a.footnote
-  {
-    position: relative;
-    top: 0em ! important;
-  }
-  /* this is needed so that the local anchors are displayed below the naviagtion */
-  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
-  {
-    display: inline-block;
-    position: relative;
-    top:-5em;
-  }
-  /* this seems to be a bug in the xsl style sheets when generating indexes */
-  div.index div.index
-  {
-    top: 0em;
-  }
-  /* make space for the fixed navigation bar and add space at the bottom so that
-   * link targets appear somewhat close to top
-   */
-  body
-  {
-    padding-top: 2.5em;
-    padding-bottom: 500px;
-    max-width: 60em;
-  }
-  p
-  {
-    max-width: 60em;
-  }
-  /* style and size the navigation bar */
-  table.navigation#top
-  {
-    position: fixed;
-    background: #e2e2e2;
-    border-bottom: solid 1px #babdb6;
-    border-spacing: 5px;
-    margin-top: 0;
-    margin-bottom: 0;
-    top: 0;
-    left: 0;
-    z-index: 10;
-  }
-  table.navigation#top td
-  {
-    padding-left: 6px;
-    padding-right: 6px;
-  }
-  .navigation a, .navigation a:visited
-  {
-    /* tango:sky blue 3 */
-    color: #204a87;
-  }
-  .navigation a:hover
-  {
-    /* tango:sky blue 2 */
-    color: #3465a4;
-  }
-  td.shortcuts
-  {
-    /* tango:sky blue 2 */
-    color: #3465a4;
-    font-size: 80%;
-    white-space: nowrap;
-  }
-  td.shortcuts .dim
-  {
-    color: #babdb6;
-  }
-  .navigation .title
-  {
-    font-size: 80%;
-    max-width: none;
-    margin: 0px;
-    font-weight: normal;
-  }
-}
- at media screen and (min-width: 60em) {
-  /* screen larger than 60em */
-  body { margin: auto; }
-}
- at media screen and (max-width: 60em) {
-  /* screen less than 60em */
-  #nav_hierarchy { display: none; }
-  #nav_interfaces { display: none; }
-  #nav_prerequisites { display: none; }
-  #nav_derived_interfaces { display: none; }
-  #nav_implementations { display: none; }
-  #nav_child_properties { display: none; }
-  #nav_style_properties { display: none; }
-  #nav_index { display: none; }
-  #nav_glossary { display: none; }
-  .gallery_image { display: none; }
-  .property_flags { display: none; }
-  .signal_flags { display: none; }
-  .parameter_annotations { display: none; }
-  .enum_member_annotations { display: none; }
-  .struct_member_annotations { display: none; }
-  .union_member_annotations { display: none; }
-  /* now that a column is hidden, optimize space */
-  col.parameters_name { width: auto; }
-  col.parameters_description { width: auto; }
-  col.struct_members_name { width: auto; }
-  col.struct_members_description { width: auto; }
-  col.enum_members_name { width: auto; }
-  col.enum_members_description { width: auto; }
-  col.union_members_name { width: auto; }
-  col.union_members_description { width: auto; }
-  .listing_lines { display: none; }
-}
- at media print {
-  table.navigation {
-    visibility: collapse;
-    display: none;
-  }
-  div.titlepage table.navigation {
-    visibility: visible;
-    display: table;
-    background: #e2e2e2;
-    border: solid 1px #babdb6;
-    margin-top: 0;
-    margin-bottom: 0;
-    top: 0;
-    left: 0;
-    height: 3em;
-  }
-}
-
diff --git a/Documentation/api/html/up-insensitive.png b/Documentation/api/html/up-insensitive.png
deleted file mode 100644
index f404986..0000000
Binary files a/Documentation/api/html/up-insensitive.png and /dev/null differ
diff --git a/Documentation/api/html/up.png b/Documentation/api/html/up.png
index 80b4b37..85b3e2a 100644
Binary files a/Documentation/api/html/up.png and b/Documentation/api/html/up.png differ
diff --git a/Documentation/figures/3S+1D.png b/Documentation/figures/3S+1D.png
index 5af2b0a..30e0ef0 100644
Binary files a/Documentation/figures/3S+1D.png and b/Documentation/figures/3S+1D.png differ
diff --git a/Documentation/figures/4S+2D.png b/Documentation/figures/4S+2D.png
index f7cc697..9d2f03f 100644
Binary files a/Documentation/figures/4S+2D.png and b/Documentation/figures/4S+2D.png differ
diff --git a/Documentation/figures/4S+2D_reciprocal.png b/Documentation/figures/4S+2D_reciprocal.png
index 966a48c..f3333a0 100644
Binary files a/Documentation/figures/4S+2D_reciprocal.png and b/Documentation/figures/4S+2D_reciprocal.png differ
diff --git a/Documentation/figures/4S+2D_reciprocal2.png b/Documentation/figures/4S+2D_reciprocal2.png
index 8e134fd..6e99a5a 100644
Binary files a/Documentation/figures/4S+2D_reciprocal2.png and b/Documentation/figures/4S+2D_reciprocal2.png differ
diff --git a/Documentation/figures/4S+2D_reciprocal3.png b/Documentation/figures/4S+2D_reciprocal3.png
index aaafe2b..9f10a29 100644
Binary files a/Documentation/figures/4S+2D_reciprocal3.png and b/Documentation/figures/4S+2D_reciprocal3.png differ
diff --git a/Documentation/figures/4S+2D_reciprocal4.png b/Documentation/figures/4S+2D_reciprocal4.png
index 854f602..d8b8389 100644
Binary files a/Documentation/figures/4S+2D_reciprocal4.png and b/Documentation/figures/4S+2D_reciprocal4.png differ
diff --git a/Documentation/figures/B_a.png b/Documentation/figures/B_a.png
index 3772d07..167fd63 100644
Binary files a/Documentation/figures/B_a.png and b/Documentation/figures/B_a.png differ
diff --git a/Documentation/figures/B_b.png b/Documentation/figures/B_b.png
index c9dcfbe..2978f33 100644
Binary files a/Documentation/figures/B_b.png and b/Documentation/figures/B_b.png differ
diff --git a/Documentation/figures/B_b3_y.png b/Documentation/figures/B_b3_y.png
index b181908..75acb82 100644
Binary files a/Documentation/figures/B_b3_y.png and b/Documentation/figures/B_b3_y.png differ
diff --git a/Documentation/figures/Makefile.in b/Documentation/figures/Makefile.in
index ddae3b1..b428db8 100644
--- a/Documentation/figures/Makefile.in
+++ b/Documentation/figures/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,51 +16,23 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -79,8 +52,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = Documentation/figures
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(dist_noinst_DATA)
+DIST_COMMON = $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -92,18 +65,12 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -112,7 +79,6 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 DATA = $(dist_noinst_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -165,7 +131,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -368,11 +333,11 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
+tags: TAGS
+TAGS:
 
-cscope cscopelist:
+ctags: CTAGS
+CTAGS:
 
 
 distdir: $(DISTFILES)
@@ -509,16 +474,15 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	cscopelist-am ctags-am distclean distclean-generic \
-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags-am uninstall uninstall-am
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
 .asy.png:
 	- at ASY@ -config "" -render=4 -f png -o $@ $<
diff --git a/Documentation/figures/crystal.png b/Documentation/figures/crystal.png
index 725a124..6904254 100644
Binary files a/Documentation/figures/crystal.png and b/Documentation/figures/crystal.png differ
diff --git a/Documentation/figures/e2k_1.png b/Documentation/figures/e2k_1.png
index cbafd70..8fee4bc 100644
Binary files a/Documentation/figures/e2k_1.png and b/Documentation/figures/e2k_1.png differ
diff --git a/Documentation/figures/e2k_2.png b/Documentation/figures/e2k_2.png
index ea14a5b..71da601 100644
Binary files a/Documentation/figures/e2k_2.png and b/Documentation/figures/e2k_2.png differ
diff --git a/Documentation/figures/e2k_3.png b/Documentation/figures/e2k_3.png
index 0804250..4886a64 100644
Binary files a/Documentation/figures/e2k_3.png and b/Documentation/figures/e2k_3.png differ
diff --git a/Documentation/figures/e2k_4.png b/Documentation/figures/e2k_4.png
index 6eab57e..1751faf 100644
Binary files a/Documentation/figures/e2k_4.png and b/Documentation/figures/e2k_4.png differ
diff --git a/Documentation/figures/k4cv.png b/Documentation/figures/k4cv.png
index 9e21ce0..1140893 100644
Binary files a/Documentation/figures/k4cv.png and b/Documentation/figures/k4cv.png differ
diff --git a/Documentation/figures/k6c.png b/Documentation/figures/k6c.png
index 35ef988..f6efae0 100644
Binary files a/Documentation/figures/k6c.png and b/Documentation/figures/k6c.png differ
diff --git a/Documentation/figures/med2_3_slits.png b/Documentation/figures/med2_3_slits.png
index d497c14..eb25b26 100644
Binary files a/Documentation/figures/med2_3_slits.png and b/Documentation/figures/med2_3_slits.png differ
diff --git a/Documentation/figures/qper_qpar.png b/Documentation/figures/qper_qpar.png
index 77228be..1373347 100644
Binary files a/Documentation/figures/qper_qpar.png and b/Documentation/figures/qper_qpar.png differ
diff --git a/Documentation/figures/zaxis.png b/Documentation/figures/zaxis.png
index d3768a8..5d42012 100644
Binary files a/Documentation/figures/zaxis.png and b/Documentation/figures/zaxis.png differ
diff --git a/Documentation/hkl.html b/Documentation/hkl.html
index a964e42..3cd7d38 100644
--- a/Documentation/hkl.html
+++ b/Documentation/hkl.html
@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<title>Welcome to hkl's 4.99.99.1896 documentation!</title>
-<!-- 2015-01-30 ven. 16:06 -->
-<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<meta  name="generator" content="Org-mode" />
-<meta  name="author" content="Picca Frédéric-Emmanuel" />
+<title>Welcome to hkl's 4.99.99.1913 documentation!</title>
+<!-- 2015-03-05 jeu. 10:14 -->
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="author" content="Picca Frédéric-Emmanuel"/>
 <style type="text/css">
  <!--/*--><![CDATA[/*><!--*/
   .title  { text-align: center; }
@@ -55,8 +54,6 @@
   pre.src-sql:before   { content: 'SQL'; }
 
   table { border-collapse:collapse; }
-  caption.t-above { caption-side: top; }
-  caption.t-bottom { caption-side: bottom; }
   td, th { vertical-align:top;  }
   th.right  { text-align: center;  }
   th.left   { text-align: center;   }
@@ -93,7 +90,7 @@
 @licstart  The following is the entire license notice for the
 JavaScript code in this tag.
 
-Copyright (C) 2012-2013 Free Software Foundation, Inc.
+Copyright (C) 2012  Free Software Foundation, Inc.
 
 The JavaScript code in this tag is free software: you can
 redistribute it and/or modify it under the terms of the GNU
@@ -134,8 +131,7 @@ for the JavaScript code in this tag.
  }
 /*]]>*///-->
 </script>
-<script type="text/javascript" src="/usr/share/javascript/mathjax/MathJax.js"></script>
-<script type="text/javascript">
+<script type="text/javascript" src="/usr/share/javascript/mathjax/MathJax.js">
 <!--/*--><![CDATA[/*><!--*/
     MathJax.Hub.Config({
         // Only one of the two following lines, depending on user settings
@@ -179,7 +175,7 @@ for the JavaScript code in this tag.
 </head>
 <body>
 <div id="content">
-<h1 class="title">Welcome to hkl's 4.99.99.1896 documentation!</h1>
+<h1 class="title">Welcome to hkl's 4.99.99.1913 documentation!</h1>
 <div id="table-of-contents">
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents">
@@ -328,38 +324,38 @@ for the JavaScript code in this tag.
 <ul>
 <li><a href="#sec-6-1">6.1. hkl</a>
 <ul>
-<li><a href="#sec-6-1-1">6.1.1. <span class="todo TODO">TODO</span> <code>[0/2]</code> PetraIII</a></li>
-<li><a href="#sec-6-1-2">6.1.2. <span class="todo TODO">TODO</span> <code>[2/4]</code> HklParameter</a></li>
-<li><a href="#sec-6-1-3">6.1.3. <span class="todo TODO">TODO</span> HklGeometryList different method to help select a solution.</a></li>
-<li><a href="#sec-6-1-4">6.1.4. <span class="todo TODO">TODO</span> add a fit on the Hklaxis offsets.</a></li>
-<li><a href="#sec-6-1-5">6.1.5. <span class="todo TODO">TODO</span> API to put a detector and a sample on the Geometry.</a></li>
-<li><a href="#sec-6-1-6">6.1.6. <span class="todo TODO">TODO</span> HklSample</a></li>
-<li><a href="#sec-6-1-7">6.1.7. <span class="todo TODO">TODO</span> HklEngine "zone"</a></li>
-<li><a href="#sec-6-1-8">6.1.8. <span class="todo TODO">TODO</span> HklEngine "custom"</a></li>
-<li><a href="#sec-6-1-9">6.1.9. <span class="todo TODO">TODO</span> create a macro to help compare two real the right way</a></li>
-<li><a href="#sec-6-1-10">6.1.10. <span class="todo TODO">TODO</span> add an hkl_sample_set_lattice_unit()</a></li>
-<li><a href="#sec-6-1-11">6.1.11. <span class="todo TODO">TODO</span> SOLEIL SIXS</a></li>
-<li><a href="#sec-6-1-12">6.1.12. <span class="todo TODO">TODO</span> generalisation of the z-axis hkl solver</a></li>
-<li><a href="#sec-6-1-13">6.1.13. <span class="todo TODO">TODO</span> investigate the prigo geometry.</a></li>
-<li><a href="#sec-6-1-14">6.1.14. <span class="todo TODO">TODO</span> augeas/elektra for the plugin configure part.</a></li>
-<li><a href="#sec-6-1-15">6.1.15. <span class="todo TODO">TODO</span> logging</a></li>
-<li><a href="#sec-6-1-16">6.1.16. <span class="todo TODO">TODO</span> performances</a></li>
+<li><a href="#sec-6-1-1">6.1.1. <code>[0/2]</code> PetraIII</a></li>
+<li><a href="#sec-6-1-2">6.1.2. <code>[2/4]</code> HklParameter</a></li>
+<li><a href="#sec-6-1-3">6.1.3. HklGeometryList different method to help select a solution.</a></li>
+<li><a href="#sec-6-1-4">6.1.4. add a fit on the Hklaxis offsets.</a></li>
+<li><a href="#sec-6-1-5">6.1.5. API to put a detector and a sample on the Geometry.</a></li>
+<li><a href="#sec-6-1-6">6.1.6. HklSample</a></li>
+<li><a href="#sec-6-1-7">6.1.7. HklEngine "zone"</a></li>
+<li><a href="#sec-6-1-8">6.1.8. HklEngine "custom"</a></li>
+<li><a href="#sec-6-1-9">6.1.9. create a macro to help compare two real the right way</a></li>
+<li><a href="#sec-6-1-10">6.1.10. add an hkl_sample_set_lattice_unit()</a></li>
+<li><a href="#sec-6-1-11">6.1.11. SOLEIL SIXS</a></li>
+<li><a href="#sec-6-1-12">6.1.12. generalisation of the z-axis hkl solver</a></li>
+<li><a href="#sec-6-1-13">6.1.13. investigate the prigo geometry.</a></li>
+<li><a href="#sec-6-1-14">6.1.14. augeas/elektra for the plugin configure part.</a></li>
+<li><a href="#sec-6-1-15">6.1.15. logging</a></li>
+<li><a href="#sec-6-1-16">6.1.16. performances</a></li>
 </ul>
 </li>
 <li><a href="#sec-6-2">6.2. documentation</a>
 <ul>
-<li><a href="#sec-6-2-1">6.2.1. <span class="todo TODO">TODO</span> <code>[1/6]</code> rewrite documentation in org-mode</a></li>
+<li><a href="#sec-6-2-1">6.2.1. <code>[1/6]</code> rewrite documentation in org-mode</a></li>
 </ul>
 </li>
 <li><a href="#sec-6-3">6.3. <code>[0/3]</code> gui</a></li>
 <li><a href="#sec-6-4">6.4. hkl3d</a>
 <ul>
-<li><a href="#sec-6-4-1">6.4.1. <span class="todo TODO">TODO</span> add a method to find the 3D models in the right directories.</a></li>
+<li><a href="#sec-6-4-1">6.4.1. add a method to find the 3D models in the right directories.</a></li>
 </ul>
 </li>
 <li><a href="#sec-6-5">6.5. packaging</a>
 <ul>
-<li><a href="#sec-6-5-1">6.5.1. <span class="todo TODO">TODO</span> add a .spec file for rpm generation.</a></li>
+<li><a href="#sec-6-5-1">6.5.1. add a .spec file for rpm generation.</a></li>
 </ul>
 </li>
 </ul>
@@ -413,6 +409,7 @@ be fitted.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-1-2" class="outline-3">
 <h3 id="sec-1-2"><span class="section-number-3">1.2</span> Conventions</h3>
 <div class="outline-text-3" id="text-1-2">
@@ -431,6 +428,7 @@ axes values set to zero.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-1-3" class="outline-3">
 <h3 id="sec-1-3"><span class="section-number-3">1.3</span> Diffraction</h3>
 <div class="outline-text-3" id="text-1-3">
@@ -456,9 +454,8 @@ the interaction of this crystal (pattern+lattice) with X-rays.
 
 
 <div class="figure">
-<p><img src="./figures/crystal.png" alt="crystal.png" />
-</p>
-<p><span class="figure-number">Figure 1:</span> Crystal direct lattice.</p>
+<p><img src="./figures/crystal.png"  alt="crystal.png"/></p>
+<p>Crystal direct lattice.</p>
 </div>
 
 <p>
@@ -530,7 +527,6 @@ sinus and cosinus of the angles \(\alpha^\star\), \(\beta^\star\) et
 \end{eqnarray*}
 </div>
 </div>
-
 <div id="outline-container-sec-1-3-2" class="outline-4">
 <h4 id="sec-1-3-2"><span class="section-number-4">1.3.2</span> Diffraction</h4>
 <div class="outline-text-4" id="text-1-3-2">
@@ -574,11 +570,10 @@ reciprocal space.
 </p>
 </div>
 </div>
-
 <div id="outline-container-sec-1-3-3" class="outline-4">
 <h4 id="sec-1-3-3"><span class="section-number-4">1.3.3</span> Quaternions</h4>
 <div class="outline-text-4" id="text-1-3-3">
-</div><ol class="org-ol"><li><a id="sec-1-3-3-1" name="sec-1-3-3-1"></a>Properties<br  /><div class="outline-text-5" id="text-1-3-3-1">
+</div><ol class="org-ol"><li>Properties<br/><div class="outline-text-5" id="text-1-3-3-1">
 <p>
 The quaternions will be used to discribe the diffractometers geometries.
 Thoses quaternions can represent 3D rotations. There is different way to
@@ -615,8 +610,7 @@ q^{*}=[a,-\vec{u}]=a-bi-cj-dk
 \end{displaymath}
 </div>
 </li>
-
-<li><a id="sec-1-3-3-2" name="sec-1-3-3-2"></a>Operations<br  /><div class="outline-text-5" id="text-1-3-3-2">
+<li>Operations<br/><div class="outline-text-5" id="text-1-3-3-2">
 <p>
 The difference with the complexnumber algebre is about
 non-commutativity.
@@ -663,8 +657,7 @@ pq = (at - bx - cy - dz) + (bt + ax + cz - dy) i + (ct + ay + dx - bz) j + (dt +
 \end{displaymath}
 </div>
 </li>
-
-<li><a id="sec-1-3-3-3" name="sec-1-3-3-3"></a>3D rotations<br  /><div class="outline-text-5" id="text-1-3-3-3">
+<li>3D rotations<br/><div class="outline-text-5" id="text-1-3-3-3">
 <p>
 L'ensemble des quaternions unitaires (leur norme est égale à 1) est le
 groupe qui représente les rotations dans l'espace 3D. Si on a un vecteur
@@ -723,7 +716,6 @@ quaternions entre eux. Si l'on à \(q\)
 </li></ol>
 </div>
 </div>
-
 <div id="outline-container-sec-1-4" class="outline-3">
 <h3 id="sec-1-4"><span class="section-number-3">1.4</span> Modes de fonctionnement</h3>
 </div>
@@ -773,7 +765,6 @@ a^{\star} & b^{\star}\cos\gamma^{\star} & c^{\star}\cos\beta^{\star}\\
 \end{displaymath}
 </div>
 </div>
-
 <div id="outline-container-sec-1-5-2" class="outline-4">
 <h4 id="sec-1-5-2"><span class="section-number-4">1.5.2</span> Calcule de U</h4>
 <div class="outline-text-4" id="text-1-5-2">
@@ -796,7 +787,6 @@ des paramètres cristallins ainsi que la matrice d'orientation.
 </p>
 </div>
 </div>
-
 <div id="outline-container-sec-1-5-3" class="outline-4">
 <h4 id="sec-1-5-3"><span class="section-number-4">1.5.3</span> Algorithme de Busing Levy</h4>
 <div class="outline-text-4" id="text-1-5-3">
@@ -833,7 +823,6 @@ U = T_{\vec{Q}} \cdot \tilde{T}_{\vec{h}}
 \end{displaymath}
 </div>
 </div>
-
 <div id="outline-container-sec-1-5-4" class="outline-4">
 <h4 id="sec-1-5-4"><span class="section-number-4">1.5.4</span> Affinement par la méthode du simplex</h4>
 <div class="outline-text-4" id="text-1-5-4">
@@ -861,11 +850,11 @@ Oz.
 
 
 <colgroup>
-<col  class="left" />
+<col class="left"/>
 
-<col  class="left" />
+<col class="left"/>
 
-<col  class="left" />
+<col class="left"/>
 </colgroup>
 <tbody>
 <tr>
@@ -908,7 +897,6 @@ vers les angles d'euler.
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-2" class="outline-2">
 <h2 id="sec-2"><span class="section-number-2">2</span> PseudoAxes</h2>
 <div class="outline-text-2" id="text-2">
@@ -953,7 +941,6 @@ and \(\alpha\) is the angle of the kappa axis with the \(\vec{y}\) axis.
 </p>
 </div>
 </div>
-
 <div id="outline-container-sec-2-2" class="outline-3">
 <h3 id="sec-2-2"><span class="section-number-3">2.2</span> Kappa to Eulerians angles</h3>
 <div class="outline-text-3" id="text-2-2">
@@ -987,41 +974,35 @@ p = \arctan\left(\tan\frac{\kappa}{2} \cos\alpha\right)
 
 
 <div class="figure">
-<p><img src="./figures/e2k_1.png" alt="e2k_1.png" />
-</p>
-<p><span class="figure-number">Figure 2:</span> \(\omega = 0\), \(\chi = 0\), \(\phi = 0\), 1st solution</p>
+<p><img src="./figures/e2k_1.png"  alt="e2k_1.png"/></p>
+<p>\(\omega = 0\), \(\chi = 0\), \(\phi = 0\), 1st solution</p>
 </div>
 
 
 <div class="figure">
-<p><img src="./figures/e2k_2.png" alt="e2k_2.png" />
-</p>
-<p><span class="figure-number">Figure 3:</span> \(\omega = 0\), \(\chi = 0\), \(\phi = 0\), 2nd solution</p>
+<p><img src="./figures/e2k_2.png"  alt="e2k_2.png"/></p>
+<p>\(\omega = 0\), \(\chi = 0\), \(\phi = 0\), 2nd solution</p>
 </div>
 
 
 <div class="figure">
-<p><img src="./figures/e2k_3.png" alt="e2k_3.png" />
-</p>
-<p><span class="figure-number">Figure 4:</span> \(\omega = 0\), \(\chi = 90\), \(\phi = 0\), 1st solution</p>
+<p><img src="./figures/e2k_3.png"  alt="e2k_3.png"/></p>
+<p>\(\omega = 0\), \(\chi = 90\), \(\phi = 0\), 1st solution</p>
 </div>
 
 
 <div class="figure">
-<p><img src="./figures/e2k_4.png" alt="e2k_4.png" />
-</p>
-<p><span class="figure-number">Figure 5:</span> \(\omega = 0\), \(\chi = 90\), \(\phi = 0\), 2nd solution</p>
+<p><img src="./figures/e2k_4.png"  alt="e2k_4.png"/></p>
+<p>\(\omega = 0\), \(\chi = 90\), \(\phi = 0\), 2nd solution</p>
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-2-3" class="outline-3">
 <h3 id="sec-2-3"><span class="section-number-3">2.3</span> Qper and Qpar</h3>
 <div class="outline-text-3" id="text-2-3">
 
 <div class="figure">
-<p><img src="./figures/qper_qpar.png" alt="qper_qpar.png" />
-</p>
+<p><img src="./figures/qper_qpar.png"  alt="qper_qpar.png"/></p>
 </div>
 
 <p>
@@ -1040,6 +1021,7 @@ this pseudo axis engine compute the perpendicular
 </div>
 </div>
 </div>
+
 <div id="outline-container-sec-3" class="outline-2">
 <h2 id="sec-3"><span class="section-number-2">3</span> Diffractometers</h2>
 <div class="outline-text-2" id="text-3">
@@ -1071,10 +1053,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-1-2" class="outline-4">
 <h4 id="sec-3-1-2"><span class="section-number-4">3.1.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-1-2">
-</div><ol class="org-ol"><li><a id="sec-3-1-2-1" name="sec-3-1-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-1-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-1-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1173,7 +1156,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-1-2-2" name="sec-3-1-2-2"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-1-2-2">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-1-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1206,7 +1190,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-1-2-3" name="sec-3-1-2-3"></a>"<b>q</b>":<br  /><div class="outline-text-5" id="text-3-1-2-3">
+
+<li>"<b>q</b>":<br/><div class="outline-text-5" id="text-3-1-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1233,6 +1218,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-2" class="outline-3">
 <h3 id="sec-3-2"><span class="section-number-3">3.2</span> E4CV</h3>
 <div class="outline-text-3" id="text-3-2">
@@ -1251,10 +1237,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-2-2" class="outline-4">
 <h4 id="sec-3-2-2"><span class="section-number-4">3.2.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-2-2">
-</div><ol class="org-ol"><li><a id="sec-3-2-2-1" name="sec-3-2-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-2-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-2-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1353,7 +1340,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-2-2-2" name="sec-3-2-2-2"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-2-2-2">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-2-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1386,7 +1374,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-2-2-3" name="sec-3-2-2-3"></a>"<b>q</b>":<br  /><div class="outline-text-5" id="text-3-2-2-3">
+
+<li>"<b>q</b>":<br/><div class="outline-text-5" id="text-3-2-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1413,6 +1402,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-3" class="outline-3">
 <h3 id="sec-3-3"><span class="section-number-3">3.3</span> E6C</h3>
 <div class="outline-text-3" id="text-3-3">
@@ -1435,10 +1425,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-3-2" class="outline-4">
 <h4 id="sec-3-3-2"><span class="section-number-4">3.3.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-3-2">
-</div><ol class="org-ol"><li><a id="sec-3-3-2-1" name="sec-3-3-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-3-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-3-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1625,7 +1616,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-3-2-2" name="sec-3-3-2-2"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-3-2-2">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-3-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1658,7 +1650,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-3-2-3" name="sec-3-3-2-3"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-3-2-3">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-3-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1686,7 +1679,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-3-2-4" name="sec-3-3-2-4"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-3-2-4">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-3-2-4">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1724,6 +1718,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-4" class="outline-3">
 <h3 id="sec-3-4"><span class="section-number-3">3.4</span> K4CV</h3>
 <div class="outline-text-3" id="text-3-4">
@@ -1742,10 +1737,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-4-2" class="outline-4">
 <h4 id="sec-3-4-2"><span class="section-number-4">3.4.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-4-2">
-</div><ol class="org-ol"><li><a id="sec-3-4-2-1" name="sec-3-4-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-4-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-4-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1856,7 +1852,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-4-2-2" name="sec-3-4-2-2"></a>"<b>eulerians</b>":<br  /><div class="outline-text-5" id="text-3-4-2-2">
+
+<li>"<b>eulerians</b>":<br/><div class="outline-text-5" id="text-3-4-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1891,7 +1888,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-4-2-3" name="sec-3-4-2-3"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-4-2-3">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-4-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1924,7 +1922,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-4-2-4" name="sec-3-4-2-4"></a>"<b>q</b>":<br  /><div class="outline-text-5" id="text-3-4-2-4">
+
+<li>"<b>q</b>":<br/><div class="outline-text-5" id="text-3-4-2-4">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -1951,6 +1950,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-5" class="outline-3">
 <h3 id="sec-3-5"><span class="section-number-3">3.5</span> K6C</h3>
 <div class="outline-text-3" id="text-3-5">
@@ -1973,10 +1973,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-5-2" class="outline-4">
 <h4 id="sec-3-5-2"><span class="section-number-4">3.5.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-5-2">
-</div><ol class="org-ol"><li><a id="sec-3-5-2-1" name="sec-3-5-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-5-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-5-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2191,7 +2192,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-5-2-2" name="sec-3-5-2-2"></a>"<b>eulerians</b>":<br  /><div class="outline-text-5" id="text-3-5-2-2">
+
+<li>"<b>eulerians</b>":<br/><div class="outline-text-5" id="text-3-5-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2226,7 +2228,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-5-2-3" name="sec-3-5-2-3"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-5-2-3">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-5-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2259,7 +2262,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-5-2-4" name="sec-3-5-2-4"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-5-2-4">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-5-2-4">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2287,7 +2291,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-5-2-5" name="sec-3-5-2-5"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-5-2-5">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-5-2-5">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2325,6 +2330,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-6" class="outline-3">
 <h3 id="sec-3-6"><span class="section-number-3">3.6</span> PETRA3 P09 EH2</h3>
 <div class="outline-text-3" id="text-3-6">
@@ -2347,10 +2353,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-6-2" class="outline-4">
 <h4 id="sec-3-6-2"><span class="section-number-4">3.6.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-6-2">
-</div><ol class="org-ol"><li><a id="sec-3-6-2-1" name="sec-3-6-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-6-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-6-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2443,6 +2450,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-7" class="outline-3">
 <h3 id="sec-3-7"><span class="section-number-3">3.7</span> SOLEIL MARS</h3>
 <div class="outline-text-3" id="text-3-7">
@@ -2461,10 +2469,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-7-2" class="outline-4">
 <h4 id="sec-3-7-2"><span class="section-number-4">3.7.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-7-2">
-</div><ol class="org-ol"><li><a id="sec-3-7-2-1" name="sec-3-7-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-7-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-7-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2563,7 +2572,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-7-2-2" name="sec-3-7-2-2"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-7-2-2">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-7-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2596,7 +2606,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-7-2-3" name="sec-3-7-2-3"></a>"<b>q</b>":<br  /><div class="outline-text-5" id="text-3-7-2-3">
+
+<li>"<b>q</b>":<br/><div class="outline-text-5" id="text-3-7-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2623,6 +2634,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-8" class="outline-3">
 <h3 id="sec-3-8"><span class="section-number-3">3.8</span> SOLEIL SIRIUS KAPPA</h3>
 <div class="outline-text-3" id="text-3-8">
@@ -2645,10 +2657,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-8-2" class="outline-4">
 <h4 id="sec-3-8-2"><span class="section-number-4">3.8.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-8-2">
-</div><ol class="org-ol"><li><a id="sec-3-8-2-1" name="sec-3-8-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-8-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-8-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2863,7 +2876,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-8-2-2" name="sec-3-8-2-2"></a>"<b>eulerians</b>":<br  /><div class="outline-text-5" id="text-3-8-2-2">
+
+<li>"<b>eulerians</b>":<br/><div class="outline-text-5" id="text-3-8-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2898,7 +2912,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-8-2-3" name="sec-3-8-2-3"></a>"<b>psi</b>":<br  /><div class="outline-text-5" id="text-3-8-2-3">
+
+<li>"<b>psi</b>":<br/><div class="outline-text-5" id="text-3-8-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2931,7 +2946,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-8-2-4" name="sec-3-8-2-4"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-8-2-4">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-8-2-4">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2959,7 +2975,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-8-2-5" name="sec-3-8-2-5"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-8-2-5">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-8-2-5">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -2997,6 +3014,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-9" class="outline-3">
 <h3 id="sec-3-9"><span class="section-number-3">3.9</span> SOLEIL SIRIUS TURRET</h3>
 <div class="outline-text-3" id="text-3-9">
@@ -3017,10 +3035,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-9-2" class="outline-4">
 <h4 id="sec-3-9-2"><span class="section-number-4">3.9.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-9-2">
-</div><ol class="org-ol"><li><a id="sec-3-9-2-1" name="sec-3-9-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-9-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-9-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3051,7 +3070,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-9-2-2" name="sec-3-9-2-2"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-9-2-2">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-9-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3079,7 +3099,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-9-2-3" name="sec-3-9-2-3"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-9-2-3">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-9-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3117,6 +3138,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-10" class="outline-3">
 <h3 id="sec-3-10"><span class="section-number-3">3.10</span> SOLEIL SIXS MED1+2</h3>
 <div class="outline-text-3" id="text-3-10">
@@ -3135,10 +3157,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-10-2" class="outline-4">
 <h4 id="sec-3-10-2"><span class="section-number-4">3.10.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-10-2">
-</div><ol class="org-ol"><li><a id="sec-3-10-2-1" name="sec-3-10-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-10-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-10-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3169,7 +3192,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-10-2-2" name="sec-3-10-2-2"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-10-2-2">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-10-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3197,7 +3221,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-10-2-3" name="sec-3-10-2-3"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-10-2-3">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-10-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3235,6 +3260,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-11" class="outline-3">
 <h3 id="sec-3-11"><span class="section-number-3">3.11</span> SOLEIL SIXS MED2+2</h3>
 <div class="outline-text-3" id="text-3-11">
@@ -3255,10 +3281,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-11-2" class="outline-4">
 <h4 id="sec-3-11-2"><span class="section-number-4">3.11.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-11-2">
-</div><ol class="org-ol"><li><a id="sec-3-11-2-1" name="sec-3-11-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-11-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-11-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3299,7 +3326,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-11-2-2" name="sec-3-11-2-2"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-11-2-2">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-11-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3327,7 +3355,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-11-2-3" name="sec-3-11-2-3"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-11-2-3">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-11-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3365,6 +3394,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-12" class="outline-3">
 <h3 id="sec-3-12"><span class="section-number-3">3.12</span> SOLEIL SIXS MED2+3</h3>
 <div class="outline-text-3" id="text-3-12">
@@ -3387,10 +3417,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-12-2" class="outline-4">
 <h4 id="sec-3-12-2"><span class="section-number-4">3.12.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-12-2">
-</div><ol class="org-ol"><li><a id="sec-3-12-2-1" name="sec-3-12-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-12-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-12-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3421,7 +3452,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-12-2-2" name="sec-3-12-2-2"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-12-2-2">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-12-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3449,7 +3481,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-12-2-3" name="sec-3-12-2-3"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-12-2-3">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-12-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3487,6 +3520,7 @@ This section is automatically generating by introspecting the hkl library.
 </li></ol>
 </div>
 </div>
+
 <div id="outline-container-sec-3-13" class="outline-3">
 <h3 id="sec-3-13"><span class="section-number-3">3.13</span> TwoC</h3>
 <div class="outline-text-3" id="text-3-13">
@@ -3501,10 +3535,12 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-13-2" class="outline-4">
 <h4 id="sec-3-13-2"><span class="section-number-4">3.13.2</span> Engines:</h4>
 </div>
 </div>
+
 <div id="outline-container-sec-3-14" class="outline-3">
 <h3 id="sec-3-14"><span class="section-number-3">3.14</span> ZAXIS</h3>
 <div class="outline-text-3" id="text-3-14">
@@ -3523,10 +3559,11 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-3-14-2" class="outline-4">
 <h4 id="sec-3-14-2"><span class="section-number-4">3.14.2</span> Engines:</h4>
 <div class="outline-text-4" id="text-3-14-2">
-</div><ol class="org-ol"><li><a id="sec-3-14-2-1" name="sec-3-14-2-1"></a>"<b>hkl</b>":<br  /><div class="outline-text-5" id="text-3-14-2-1">
+</div><ol class="org-ol"><li>"<b>hkl</b>":<br/><div class="outline-text-5" id="text-3-14-2-1">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3567,7 +3604,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-14-2-2" name="sec-3-14-2-2"></a>"<b>q2</b>":<br  /><div class="outline-text-5" id="text-3-14-2-2">
+
+<li>"<b>q2</b>":<br/><div class="outline-text-5" id="text-3-14-2-2">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3595,7 +3633,8 @@ This section is automatically generating by introspecting the hkl library.
 </ul>
 </div>
 </li>
-<li><a id="sec-3-14-2-3" name="sec-3-14-2-3"></a>"<b>qper_qpar</b>":<br  /><div class="outline-text-5" id="text-3-14-2-3">
+
+<li>"<b>qper_qpar</b>":<br/><div class="outline-text-5" id="text-3-14-2-3">
 <ul class="org-ul">
 <li>pseudo axes:
 <ul class="org-ul">
@@ -3634,7 +3673,6 @@ This section is automatically generating by introspecting the hkl library.
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-4" class="outline-2">
 <h2 id="sec-4"><span class="section-number-2">4</span> Developpement</h2>
 <div class="outline-text-2" id="text-4">
@@ -3677,7 +3715,6 @@ git checkout -b next origin/next
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-4-2" class="outline-3">
 <h3 id="sec-4-2"><span class="section-number-3">4.2</span> Building hkl</h3>
 <div class="outline-text-3" id="text-4-2">
@@ -3772,7 +3809,6 @@ nevertheless if you do not want to build the documentation you can do:
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-4-3" class="outline-3">
 <h3 id="sec-4-3"><span class="section-number-3">4.3</span> Hacking hkl</h3>
 <div class="outline-text-3" id="text-4-3">
@@ -3797,13 +3833,12 @@ You can find the bug tracker here
 <li>Other OS
 
 <p>
-You just need to send an <a href="mailto:submit at bugs.debian.org?subject=%20My%20problem%20with%20hkl...&body=Package:%20hkl%0AVersion:%204.99.99.1896%0A%0AI%20found%20this%20problem%20in%20hkl">email</a>
+You just need to send an <a href="mailto:submit at bugs.debian.org?subject=%20My%20problem%20with%20hkl...&body=Package:%20hkl%0AVersion:%204.99.99.1913%0A%0AI%20found%20this%20problem%20in%20hkl">email</a>
 </p>
 </li>
 </ul>
 </div>
 </div>
-
 <div id="outline-container-sec-4-3-2" class="outline-4">
 <h4 id="sec-4-3-2"><span class="section-number-4">4.3.2</span> Providing patchs</h4>
 <div class="outline-text-4" id="text-4-3-2">
@@ -3861,7 +3896,6 @@ and send generated files <code>0001\_xxx</code>, <code>0002\_xxx</code>, &#x2026
 </div>
 </div>
 </div>
-
 <div id="outline-container-sec-4-4" class="outline-3">
 <h3 id="sec-4-4"><span class="section-number-3">4.4</span> Howto's</h3>
 <div class="outline-text-3" id="text-4-4">
@@ -3893,6 +3927,7 @@ keep the alphabetic order).
 </p>
 </div>
 </div>
+
 <div id="outline-container-sec-4-4-2" class="outline-4">
 <h4 id="sec-4-4-2"><span class="section-number-4">4.4.2</span> Work on the documentation</h4>
 <div class="outline-text-4" id="text-4-4-2">
@@ -3934,6 +3969,7 @@ The most expected contributions for now are:
 </div>
 </div>
 </div>
+
 <div id="outline-container-sec-5" class="outline-2">
 <h2 id="sec-5"><span class="section-number-2">5</span> Bindings</h2>
 <div class="outline-text-2" id="text-5">
@@ -4078,6 +4114,7 @@ use only the closest solution for the next points of the trajectory.
 </div>
 </div>
 </div>
+
 <div id="outline-container-sec-6" class="outline-2">
 <h2 id="sec-6"><span class="section-number-2">6</span> Todo</h2>
 <div class="outline-text-2" id="text-6">
@@ -4087,7 +4124,7 @@ use only the closest solution for the next points of the trajectory.
 </div><div id="outline-container-sec-6-1-1" class="outline-4">
 <h4 id="sec-6-1-1"><span class="section-number-4">6.1.1</span> <span class="todo TODO">TODO</span> <code>[0/2]</code> PetraIII</h4>
 <div class="outline-text-4" id="text-6-1-1">
-</div><ol class="org-ol"><li><a id="sec-6-1-1-1" name="sec-6-1-1-1"></a><span class="todo TODO">TODO</span> computation problem<br  /><div class="outline-text-5" id="text-6-1-1-1">
+</div><ol class="org-ol"><li><span class="todo TODO">TODO</span> computation problem<br/><div class="outline-text-5" id="text-6-1-1-1">
 <p>
 Dear Teresa,
 </p>
@@ -4240,8 +4277,7 @@ SaveDirectory <i>home/p09user/crystals</i>
 </p>
 </div>
 </li>
-
-<li><a id="sec-6-1-1-2" name="sec-6-1-1-2"></a><span class="todo TODO">TODO</span> another question<br  /><div class="outline-text-5" id="text-6-1-1-2">
+<li><span class="todo TODO">TODO</span> another question<br/><div class="outline-text-5" id="text-6-1-1-2">
 <p>
 J'ai un probleme avec la position que le controlleur calcule avec la
 matrice UB que nous t'avons envoye.
@@ -4264,6 +4300,7 @@ ta librairie ?
 </div>
 </li></ol>
 </div>
+
 <div id="outline-container-sec-6-1-2" class="outline-4">
 <h4 id="sec-6-1-2"><span class="section-number-4">6.1.2</span> <span class="todo TODO">TODO</span> <code>[2/4]</code> HklParameter</h4>
 <div class="outline-text-4" id="text-6-1-2">
@@ -4285,6 +4322,7 @@ This will help for the documentation and the gui.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-6-1-3" class="outline-4">
 <h4 id="sec-6-1-3"><span class="section-number-4">6.1.3</span> <span class="todo TODO">TODO</span> HklGeometryList different method to help select a solution.</h4>
 <div class="outline-text-4" id="text-6-1-3">
@@ -4294,6 +4332,7 @@ for example the kappa axis must be in one side of the plane.
 </p>
 </div>
 </div>
+
 <div id="outline-container-sec-6-1-4" class="outline-4">
 <h4 id="sec-6-1-4"><span class="section-number-4">6.1.4</span> <span class="todo TODO">TODO</span> add a fit on the Hklaxis offsets.</h4>
 </div>
@@ -4303,8 +4342,8 @@ for example the kappa axis must be in one side of the plane.
 <div id="outline-container-sec-6-1-6" class="outline-4">
 <h4 id="sec-6-1-6"><span class="section-number-4">6.1.6</span> <span class="todo TODO">TODO</span> HklSample</h4>
 <div class="outline-text-4" id="text-6-1-6">
-</div><ol class="org-ol"><li><a id="sec-6-1-6-1" name="sec-6-1-6-1"></a><span class="todo TODO">TODO</span> HklSample add the cell volum computation.<br  /></li>
-<li><a id="sec-6-1-6-2" name="sec-6-1-6-2"></a><span class="todo TODO">TODO</span> unit test: hkl_sample_affine.<br  /><div class="outline-text-5" id="text-6-1-6-2">
+</div><ol class="org-ol"><li><span class="todo TODO">TODO</span> HklSample add the cell volum computation.<br/></li>
+<li><span class="todo TODO">TODO</span> unit test: hkl_sample_affine.<br/><div class="outline-text-5" id="text-6-1-6-2">
 <p>
 Check this:
 lattice=1.540000;1.540000;1.540000;90.000000;90.000000;90.000000;0;0;0;0;0;0
@@ -4321,6 +4360,7 @@ A,  B, C, Alpha,  Beta, Gamma, Ux, Uy, Uy:
 </div>
 </li></ol>
 </div>
+
 <div id="outline-container-sec-6-1-7" class="outline-4">
 <h4 id="sec-6-1-7"><span class="section-number-4">6.1.7</span> <span class="todo TODO">TODO</span> HklEngine "zone"</h4>
 </div>
@@ -4333,6 +4373,7 @@ want to use for the computation.
 </p>
 </div>
 </div>
+
 <div id="outline-container-sec-6-1-9" class="outline-4">
 <h4 id="sec-6-1-9"><span class="section-number-4">6.1.9</span> <span class="todo TODO">TODO</span> create a macro to help compare two real the right way</h4>
 <div class="outline-text-4" id="text-6-1-9">
@@ -4341,13 +4382,14 @@ fabs(a-b) < epsilon * max(1, abs(a), abs(b))
 </p>
 </div>
 </div>
+
 <div id="outline-container-sec-6-1-10" class="outline-4">
 <h4 id="sec-6-1-10"><span class="section-number-4">6.1.10</span> <span class="todo TODO">TODO</span> add an hkl_sample_set_lattice_unit()</h4>
 </div>
 <div id="outline-container-sec-6-1-11" class="outline-4">
 <h4 id="sec-6-1-11"><span class="section-number-4">6.1.11</span> <span class="todo TODO">TODO</span> SOLEIL SIXS</h4>
 <div class="outline-text-4" id="text-6-1-11">
-</div><ol class="org-ol"><li><a id="sec-6-1-11-1" name="sec-6-1-11-1"></a><span class="done DONE">DONE</span> find the right solutions.&#xa0;&#xa0;&#xa0;<span class="tag"><span class="zaxis">zaxis</span></span><br  /><div class="outline-text-5" id="text-6-1-11-1">
+</div><ol class="org-ol"><li><span class="done DONE">DONE</span> find the right solutions.&#xa0;&#xa0;&#xa0;<span class="tag"><span class="zaxis">zaxis</span></span><br/><div class="outline-text-5" id="text-6-1-11-1">
 <p>
 The cosinus and sinus properties are not enough to find the solution expected by the users.
 The idea is to use the Ewalds construction to generate a valid solution from the first one
@@ -4359,7 +4401,8 @@ special feature in the Mode. So it will be possible to add thoses special cases
 </p>
 </div>
 </li>
-<li><a id="sec-6-1-11-2" name="sec-6-1-11-2"></a><span class="todo TODO">TODO</span> Add the DEP diffractometer geometry<br  /><div class="outline-text-5" id="text-6-1-11-2">
+
+<li><span class="todo TODO">TODO</span> Add the DEP diffractometer geometry<br/><div class="outline-text-5" id="text-6-1-11-2">
 <p>
 This diffractometer is a Newport one based on the kappa 6 circles ones.
 But instead of a kappa head, they use an Hexapod head.
@@ -4368,6 +4411,7 @@ This head can be put horizontally or vertically.
 </div>
 </li></ol>
 </div>
+
 <div id="outline-container-sec-6-1-12" class="outline-4">
 <h4 id="sec-6-1-12"><span class="section-number-4">6.1.12</span> <span class="todo TODO">TODO</span> generalisation of the z-axis hkl solver</h4>
 <div class="outline-text-4" id="text-6-1-12">
@@ -4377,6 +4421,7 @@ to find the last non degenerated axis for the detector fit.
 </p>
 </div>
 </div>
+
 <div id="outline-container-sec-6-1-13" class="outline-4">
 <h4 id="sec-6-1-13"><span class="section-number-4">6.1.13</span> <span class="todo TODO">TODO</span> investigate the prigo geometry.</h4>
 </div>
@@ -4386,7 +4431,7 @@ to find the last non degenerated axis for the detector fit.
 <div id="outline-container-sec-6-1-15" class="outline-4">
 <h4 id="sec-6-1-15"><span class="section-number-4">6.1.15</span> <span class="todo TODO">TODO</span> logging</h4>
 <div class="outline-text-4" id="text-6-1-15">
-</div><ol class="org-ol"><li><a id="sec-6-1-15-1" name="sec-6-1-15-1"></a><span class="todo TODO">TODO</span> <code>[1/2]</code> add in a few methods.<br  /><div class="outline-text-5" id="text-6-1-15-1">
+</div><ol class="org-ol"><li><span class="todo TODO">TODO</span> <code>[1/2]</code> add in a few methods.<br/><div class="outline-text-5" id="text-6-1-15-1">
 <ul class="org-ul">
 <li><code>[X]</code> hkl_pseudo_axes_values_set
 </li>
@@ -4395,7 +4440,8 @@ to find the last non degenerated axis for the detector fit.
 </ul>
 </div>
 </li>
-<li><a id="sec-6-1-15-2" name="sec-6-1-15-2"></a><span class="todo TODO">TODO</span> gir logging<br  /><div class="outline-text-5" id="text-6-1-15-2">
+
+<li><span class="todo TODO">TODO</span> gir logging<br/><div class="outline-text-5" id="text-6-1-15-2">
 <p>
 It would be nice to generate the library logging using the .gir
 information. So instead of writing the logging code for each
@@ -4404,7 +4450,8 @@ purpose.
 </p>
 </div>
 </li>
-<li><a id="sec-6-1-15-3" name="sec-6-1-15-3"></a><span class="todo TODO">TODO</span> parsable logging information.<br  /><div class="outline-text-5" id="text-6-1-15-3">
+
+<li><span class="todo TODO">TODO</span> parsable logging information.<br/><div class="outline-text-5" id="text-6-1-15-3">
 <p>
 A parsable logging format would help to setup some re-play unit
 test. This way it could help during the developpement process
@@ -4414,6 +4461,7 @@ computation are ok.
 </div>
 </li></ol>
 </div>
+
 <div id="outline-container-sec-6-1-16" class="outline-4">
 <h4 id="sec-6-1-16"><span class="section-number-4">6.1.16</span> <span class="todo TODO">TODO</span> performances</h4>
 <div class="outline-text-4" id="text-6-1-16">
@@ -4424,6 +4472,7 @@ and HklQuaternion)
 </div>
 </div>
 </div>
+
 <div id="outline-container-sec-6-2" class="outline-3">
 <h3 id="sec-6-2"><span class="section-number-3">6.2</span> documentation</h3>
 <div class="outline-text-3" id="text-6-2">
@@ -4464,6 +4513,7 @@ python binding for all diffractometer geometries.
 </div>
 </div>
 </div>
+
 <div id="outline-container-sec-6-3" class="outline-3">
 <h3 id="sec-6-3"><span class="section-number-3">6.3</span> <code>[0/3]</code> gui</h3>
 <div class="outline-text-3" id="text-6-3">
@@ -4480,6 +4530,7 @@ pseudo axes and the mode parameters.
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-6-4" class="outline-3">
 <h3 id="sec-6-4"><span class="section-number-3">6.4</span> hkl3d</h3>
 <div class="outline-text-3" id="text-6-4">
@@ -4487,7 +4538,6 @@ pseudo axes and the mode parameters.
 <h4 id="sec-6-4-1"><span class="section-number-4">6.4.1</span> <span class="todo TODO">TODO</span> add a method to find the 3D models in the right directories.</h4>
 </div>
 </div>
-
 <div id="outline-container-sec-6-5" class="outline-3">
 <h3 id="sec-6-5"><span class="section-number-3">6.5</span> packaging</h3>
 <div class="outline-text-3" id="text-6-5">
@@ -4513,9 +4563,9 @@ pseudo axes and the mode parameters.
 </div></div>
 <div id="postamble" class="status">
 <p class="author">Author: Picca Frédéric-Emmanuel</p>
-<p class="date">Created: 2015-01-30 ven. 16:06</p>
-<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
-<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
+<p class="date">Created: 2015-03-05 jeu. 10:14</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 23.4.1 (<a href="http://orgmode.org">Org</a> mode 8.0.7)</p>
+<p class="xhtml-validation"><a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a></p>
 </div>
 </body>
 </html>
diff --git a/Documentation/sphinx/Makefile.in b/Documentation/sphinx/Makefile.in
index 9befdc0..3f6baaf 100644
--- a/Documentation/sphinx/Makefile.in
+++ b/Documentation/sphinx/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -14,51 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -78,8 +51,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = Documentation/sphinx
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/test-driver
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -91,18 +63,12 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -110,211 +76,8 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__tty_colors_dummy = \
-  mgn= red= grn= lgn= blu= brg= std=; \
-  am__color_tests=no
-am__tty_colors = { \
-  $(am__tty_colors_dummy); \
-  if test "X$(AM_COLOR_TESTS)" = Xno; then \
-    am__color_tests=no; \
-  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
-    am__color_tests=yes; \
-  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
-    am__color_tests=yes; \
-  fi; \
-  if test $$am__color_tests = yes; then \
-    red=''; \
-    grn=''; \
-    lgn=''; \
-    blu=''; \
-    mgn=''; \
-    brg=''; \
-    std=''; \
-  fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__recheck_rx = ^[ 	]*:recheck:[ 	]*
-am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
-am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
-  recheck = 1; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-        { \
-          if ((getline line2 < ($$0 ".log")) < 0) \
-	    recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
-        { \
-          recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
-        { \
-          break; \
-        } \
-    }; \
-  if (recheck) \
-    print $$0; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
-  print "fatal: making $@: " msg | "cat >&2"; \
-  exit 1; \
-} \
-function rst_section(header) \
-{ \
-  print header; \
-  len = length(header); \
-  for (i = 1; i <= len; i = i + 1) \
-    printf "="; \
-  printf "\n\n"; \
-} \
-{ \
-  copy_in_global_log = 1; \
-  global_test_result = "RUN"; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-         fatal("failed to read from " $$0 ".trs"); \
-      if (line ~ /$(am__global_test_result_rx)/) \
-        { \
-          sub("$(am__global_test_result_rx)", "", line); \
-          sub("[ 	]*$$", "", line); \
-          global_test_result = line; \
-        } \
-      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
-        copy_in_global_log = 0; \
-    }; \
-  if (copy_in_global_log) \
-    { \
-      rst_section(global_test_result ": " $$0); \
-      while ((rc = (getline line < ($$0 ".log"))) != 0) \
-      { \
-        if (rc < 0) \
-          fatal("failed to read from " $$0 ".log"); \
-        print line; \
-      }; \
-      printf "\n"; \
-    }; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
-  --color-tests "$$am__color_tests" \
-  --enable-hard-errors "$$am__enable_hard_errors" \
-  --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test.  Creates the
-# directory for the log if needed.  Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log.  Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup);					\
-$(am__vpath_adj_setup) $(am__vpath_adj)			\
-$(am__tty_colors);					\
-srcdir=$(srcdir); export srcdir;			\
-case "$@" in						\
-  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
-    *) am__odir=.;; 					\
-esac;							\
-test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
-  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
-if test -f "./$$f"; then dir=./;			\
-elif test -f "$$f"; then dir=;				\
-else dir="$(srcdir)/"; fi;				\
-tst=$$dir$$f; log='$@'; 				\
-if test -n '$(DISABLE_HARD_ERRORS)'; then		\
-  am__enable_hard_errors=no; 				\
-else							\
-  am__enable_hard_errors=yes; 				\
-fi; 							\
-case " $(XFAIL_TESTS) " in				\
-  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
-    am__expect_failure=yes;;				\
-  *)							\
-    am__expect_failure=no;;				\
-esac; 							\
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed).  The result is saved in the shell variable
-# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
-  bases='$(TEST_LOGS)'; \
-  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-  bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
-LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
-am__set_b = \
-  case '$@' in \
-    */*) \
-      case '$*' in \
-        */*) b='$*';; \
-          *) b=`echo '$@' | sed 's/\.log$$//'`; \
-       esac;; \
-    *) \
-      b='$*';; \
-  esac
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:@EXEEXT at .log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
-	$(TEST_LOG_FLAGS)
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -367,7 +130,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -515,7 +277,6 @@ EXTRA_DIST = \
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .log .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -552,189 +313,105 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
-	rm -f $< $@
-	$(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
-	@:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
-	@$(am__set_TESTS_bases); \
-	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-	redo_bases=`for i in $$bases; do \
-	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
-	            done`; \
-	if test -n "$$redo_bases"; then \
-	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
-	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-	  if $(am__make_dryrun); then :; else \
-	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
-	  fi; \
-	fi; \
-	if test -n "$$am__remaking_logs"; then \
-	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
-	       "recursion detected" >&2; \
-	else \
-	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-	fi; \
-	if $(am__make_dryrun); then :; else \
-	  st=0;  \
-	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
-	  for i in $$redo_bases; do \
-	    test -f $$i.trs && test -r $$i.trs \
-	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
-	    test -f $$i.log && test -r $$i.log \
-	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
-	  test $$st -eq 0 || exit 1; \
-	fi
-	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
-	ws='[ 	]'; \
-	results=`for b in $$bases; do echo $$b.trs; done`; \
-	test -n "$$results" || results=/dev/null; \
-	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
-	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
-	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
-	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
-	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
-	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
-	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
-	  success=true; \
-	else \
-	  success=false; \
-	fi; \
-	br='==================='; br=$$br$$br$$br$$br; \
-	result_count () \
-	{ \
-	    if test x"$$1" = x"--maybe-color"; then \
-	      maybe_colorize=yes; \
-	    elif test x"$$1" = x"--no-color"; then \
-	      maybe_colorize=no; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
-	    shift; \
-	    desc=$$1 count=$$2; \
-	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
-	      color_start=$$3 color_end=$$std; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
 	    else \
-	      color_start= color_end=; \
+	      skipped="($$skip tests were not run)"; \
 	    fi; \
-	    echo "$${color_start}# $$desc $$count$${color_end}"; \
-	}; \
-	create_testsuite_report () \
-	{ \
-	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
-	  result_count $$1 "PASS: " $$pass  "$$grn"; \
-	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
-	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
-	  result_count $$1 "FAIL: " $$fail  "$$red"; \
-	  result_count $$1 "XPASS:" $$xpass "$$red"; \
-	  result_count $$1 "ERROR:" $$error "$$mgn"; \
-	}; \
-	{								\
-	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
-	    $(am__rst_title);						\
-	  create_testsuite_report --no-color;				\
-	  echo;								\
-	  echo ".. contents:: :depth: 2";				\
-	  echo;								\
-	  for b in $$bases; do echo $$b; done				\
-	    | $(am__create_global_log);					\
-	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
-	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
-	if $$success; then						\
-	  col="$$grn";							\
-	 else								\
-	  col="$$red";							\
-	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
-	fi;								\
-	echo "$${col}$$br$${std}"; 					\
-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
-	echo "$${col}$$br$${std}"; 					\
-	create_testsuite_report --maybe-color;				\
-	echo "$$col$$br$$std";						\
-	if $$success; then :; else					\
-	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
-	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
-	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
-	  fi;								\
-	  echo "$$col$$br$$std";					\
-	fi;								\
-	$$success || exit 1
-
-check-TESTS:
-	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
-	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
-	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
-	exit $$?;
-recheck: all 
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	bases=`for i in $$bases; do echo $$i; done \
-	         | $(am__list_recheck_tests)` || exit 1; \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	log_list=`echo $$log_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
-	        am__force_recheck=am--force-recheck \
-	        TEST_LOGS="$$log_list"; \
-	exit $$?
-source/bindings/python.py.log: source/bindings/python.py
-	@p='source/bindings/python.py'; \
-	b='source/bindings/python.py'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-source/pyplots/trajectory_full.py.log: source/pyplots/trajectory_full.py
-	@p='source/pyplots/trajectory_full.py'; \
-	b='source/pyplots/trajectory_full.py'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-source/pyplots/trajectory_simple.py.log: source/pyplots/trajectory_simple.py
-	@p='source/pyplots/trajectory_simple.py'; \
-	b='source/pyplots/trajectory_simple.py'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-.test.log:
-	@p='$<'; \
-	$(am__set_b); \
-	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
- at am__EXEEXT_TRUE@.test$(EXEEXT).log:
- at am__EXEEXT_TRUE@	@p='$<'; \
- at am__EXEEXT_TRUE@	$(am__set_b); \
- at am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- at am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
- at am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- at am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -791,9 +468,6 @@ install-strip:
 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 	fi
 mostlyclean-generic:
-	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
 
@@ -873,16 +547,15 @@ uninstall-am:
 .MAKE: check-am install-am install-strip
 
 .PHONY: all all-am check check-TESTS check-am clean clean-generic \
-	clean-libtool cscopelist-am ctags-am distclean \
-	distclean-generic distclean-libtool distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
+	clean-libtool distclean distclean-generic distclean-libtool \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	uninstall uninstall-am
 
 
diff --git a/INSTALL b/INSTALL
index 2099840..a1e89e1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
 Inc.
 
    Copying and distribution of this file, with or without modification,
@@ -12,8 +12,8 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package.  The following
+   Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package.  The following
 more-detailed instructions are generic; see the `README' file for
 instructions specific to this package.  Some packages provide this
 `INSTALL' file but do not implement all of the features documented
@@ -309,10 +309,9 @@ causes the specified `gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
+an Autoconf bug.  Until the bug is fixed you can use this workaround:
 
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -368,3 +367,4 @@ operates.
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
+
diff --git a/Makefile.in b/Makefile.in
index 7c2c268..f8d1a1c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,51 +16,23 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -82,20 +55,15 @@ host_triplet = @host@
 @GUI_TRUE at am__append_2 = gui
 @HKL_DOC_TRUE at am__append_3 = Documentation
 subdir = .
-DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in $(srcdir)/hkl.pc.in \
-	$(srcdir)/hkl3d.pc.in \
+DIST_COMMON = README $(am__configure_deps) \
+	$(dist_installed_mainheader_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(srcdir)/hkl.pc.in $(srcdir)/hkl3d.pc.in \
 	$(top_srcdir)/Documentation/sphinx/source/conf.py.in \
-	$(dist_installed_mainheader_DATA) COPYING config/compile \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
 	config/config.guess config/config.sub config/depcomp \
-	config/install-sh config/mdate-sh config/missing \
-	config/texinfo.tex config/ltmain.sh \
-	$(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
-	$(top_srcdir)/config/config.sub \
-	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
-	$(top_srcdir)/config/missing
+	config/install-sh config/ltmain.sh config/mdate-sh \
+	config/missing config/texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -110,28 +78,21 @@ CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = hkl.pc hkl3d.pc \
 	Documentation/sphinx/source/conf.py
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -170,33 +131,11 @@ DATA = $(dist_installed_mainheader_DATA) $(noinst_DATA) \
 	$(pkgconfig_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-	cscope distdir dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
-	$(LISP)config.h.in
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
-CSCOPE = cscope
 DIST_SUBDIRS = hkl hkl3d data gui Documentation tests
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
@@ -207,7 +146,6 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -235,7 +173,6 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -291,7 +228,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -468,8 +404,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@test -f $@ || rm -f stamp-h1
-	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+	@if test ! -f $@; then rm -f stamp-h1; else :; fi
+	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -540,25 +476,22 @@ uninstall-pkgconfigDATA:
 	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -573,12 +506,57 @@ $(am__recursive_targets):
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
 
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -594,7 +572,12 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -606,11 +589,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -619,31 +606,9 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscope: cscope.files
-	test ! -s cscope.files \
-	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-clean-cscope:
-	-rm -f cscope.files
-cscope.files: clean-cscope cscopelist
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
@@ -714,42 +679,40 @@ distdir: $(DISTFILES)
 	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
 dist-lzip: distdir
 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
 
 dist-xz: distdir
 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
-	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
-	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
 dist-zip: distdir
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 
-dist dist-all:
-	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
-	$(am__post_remove_distdir)
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -760,6 +723,8 @@ distcheck: dist
 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
 	*.tar.lz*) \
 	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
@@ -771,19 +736,18 @@ distcheck: dist
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
-	chmod -R a-w $(distdir)
-	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	chmod -R a-w $(distdir); chmod u+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -806,7 +770,7 @@ distcheck: dist
 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
 	  && cd "$$am__cwd" \
 	  || exit 1
-	$(am__post_remove_distdir)
+	$(am__remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -946,26 +910,26 @@ ps-am:
 uninstall-am: uninstall-dist_installed_mainheaderDATA \
 	uninstall-pkgconfigDATA
 
-.MAKE: $(am__recursive_targets) all install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
-	am--refresh check check-am clean clean-cscope clean-generic \
-	clean-libtool cscope cscopelist-am ctags ctags-am dist \
-	dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
-	dist-tarZ dist-xz dist-zip distcheck distclean \
-	distclean-generic distclean-hdr distclean-libtool \
-	distclean-local distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am \
-	install-dist_installed_mainheaderDATA install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs installdirs-am maintainer-clean \
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+	ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am am--refresh check check-am clean clean-generic \
+	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+	dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \
+	dist-xz dist-zip distcheck distclean distclean-generic \
+	distclean-hdr distclean-libtool distclean-local distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dist_installed_mainheaderDATA \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgconfigDATA \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-	uninstall-am uninstall-dist_installed_mainheaderDATA \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-dist_installed_mainheaderDATA \
 	uninstall-pkgconfigDATA
 
 
diff --git a/aclocal.m4 b/aclocal.m4
index 56431f7..2df72bc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,14 +12,13 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
 [m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
 # Configure paths for GLIB
 # Owen Taylor     1997-2001
@@ -115,10 +115,13 @@ int
 main ()
 {
   unsigned int major, minor, micro;
+  char *tmp_version;
 
   fclose (fopen ("conf.glibtest", "w"));
 
-  if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, &micro) != 3) {
+  /* HP/UX 9 (%@#!) writes to sscanf strings */
+  tmp_version = g_strdup("$min_glib_version");
+  if (sscanf(tmp_version, "%u.%u.%u", &major, &minor, &micro) != 3) {
      printf("%s, bad version string\n", "$min_glib_version");
      exit(1);
    }
@@ -652,77 +655,25 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
-    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
-    [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
-
-
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
-    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
-    [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
-
-
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
-AC_DEFUN([PKG_CHECK_VAR],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
-
-_PKG_CONFIG([$1], [variable="][$3]["], [$2])
-AS_VAR_COPY([$1], [pkg_cv_][$1])
-
-AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -738,22 +689,24 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -772,7 +725,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
+# harmless because $srcdir is `.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -790,19 +743,22 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
 ])
 
 # AM_COND_IF                                            -*- Autoconf -*-
 
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 3
+
 # _AM_COND_IF
 # _AM_COND_ELSE
 # _AM_COND_ENDIF
@@ -812,6 +768,7 @@ m4_define([_AM_COND_IF])
 m4_define([_AM_COND_ELSE])
 m4_define([_AM_COND_ENDIF])
 
+
 # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
 # ---------------------------------------
 # If the shell condition COND is true, execute IF-TRUE, otherwise execute
@@ -834,19 +791,22 @@ fi[]dnl
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 9
+
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -865,14 +825,16 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 12
 
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -882,7 +844,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -895,13 +857,12 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
-      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
-      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
-      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
-      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                    [depcc="$$1"   am_compiler_list=])
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -909,8 +870,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -950,16 +911,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -968,8 +929,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -977,7 +938,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
+      # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -1025,7 +986,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -1035,13 +996,9 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
-  [--enable-dependency-tracking],
-  [do not reject slow dependency extractors])
-AS_HELP_STRING(
-  [--disable-dependency-tracking],
-  [speeds up one-time build])])
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -1056,18 +1013,20 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Older Autoconf quotes --file arguments for eval, but not when files
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -1080,7 +1039,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
+    # We used to match only the files named `Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -1092,19 +1051,21 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
+    # from the Makefile without running `make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
+    test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -1122,7 +1083,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each '.P' file that we will
+# is enabled.  FIXME.  This creates each `.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -1132,21 +1093,18 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 16
+
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
-])
-
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -1159,7 +1117,7 @@ m4_defn([AC_PROG_CC])
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
+[AC_PREREQ([2.62])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -1188,40 +1146,31 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
-             [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
-  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
-  [ok:ok],,
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -1232,79 +1181,34 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES([CC])],
-		  [m4_define([AC_PROG_CC],
-			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES([CXX])],
-		  [m4_define([AC_PROG_CXX],
-			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES([OBJC])],
-		  [m4_define([AC_PROG_OBJC],
-			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
-		  [_AM_DEPENDENCIES([OBJCXX])],
-		  [m4_define([AC_PROG_OBJCXX],
-			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake at gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
-  fi
-fi
 ])
 
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
+
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -1326,12 +1230,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -1345,14 +1252,16 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST([install_sh])])
+AC_SUBST(install_sh)])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 2
+
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -1368,12 +1277,14 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 4
+
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -1391,7 +1302,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
+# Ignore all kinds of additional output from `make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -1418,12 +1329,15 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 6
+
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -1431,10 +1345,11 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
+
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -1447,22 +1362,54 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN(['missing' script is too old or missing])
+  AC_MSG_WARN([`missing' script is too old or missing])
 fi
 ])
 
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 5
+
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -1472,7 +1419,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -1486,58 +1433,13 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
-  [whether $CC understands -c and -o together],
-  [am_cv_prog_cc_c_o],
-  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i])
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-AC_LANG_POP([C])])
-
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
+# serial 1
 
 # AM_RUN_LOG(COMMAND)
 # -------------------
@@ -1552,16 +1454,22 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 5
+
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -1572,40 +1480,32 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
 esac
 
-# Do 'set' in a subshell so we don't clobber the current shell's
+# Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$[*]" = "X"; then
-	# -L didn't work.
-	set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$[*]" != "X $srcdir/configure conftest.file" \
-	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-	# If neither matched, then we have a broken ls.  This can happen
-	# if, for instance, CONFIG_SHELL is bash and it inherits a
-	# broken ls alias from the environment.  This has actually
-	# happened.  Such a system could not be considered "sane".
-	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment])
-     fi
-     if test "$[2]" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
    test "$[2]" = conftest.file
    )
 then
@@ -1615,50 +1515,31 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
-  [AC_MSG_CHECKING([that generated files are newer than configure])
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
+AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 2
+
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
+# (`yes' being less verbose, `no' or empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
-  [--enable-silent-rules],
-  [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
-  [--disable-silent-rules],
-  [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
 dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
 dnl do not support nested variable expansions.
 dnl See automake bug#9928 and bug#10237.
 am_make=${MAKE-make}
@@ -1676,7 +1557,7 @@ else
   am_cv_make_support_nested_variables=no
 fi])
 if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  dnl Using `$V' instead of `$(V)' breaks IRIX make.
   AM_V='$(V)'
   AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
 else
@@ -1693,40 +1574,44 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
+# One issue with vendor `install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
+# always use install-sh in `make install-strip', and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 3
+
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1740,16 +1625,18 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 2
+
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+# FORMAT should be one of `v7', `ustar', or `pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -1759,114 +1646,76 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
-#
 AC_DEFUN([_AM_PROG_TAR],
 [# Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AC_SUBST([AMTAR], ['$${TAR-tar}'])
-
-# We'll loop over all known methods to create a tar archive until one works.
+m4_if([$1], [v7],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
 
-m4_if([$1], [v7],
-  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-
-  [m4_case([$1],
-    [ustar],
-     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
-      # There is notably a 21 bits limit for the UID and the GID.  In fact,
-      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
-      # and bug#13588).
-      am_max_uid=2097151 # 2^21 - 1
-      am_max_gid=$am_max_uid
-      # The $UID and $GID variables are not portable, so we need to resort
-      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
-      # below are definitely unexpected, so allow the users to see them
-      # (that is, avoid stderr redirection).
-      am_uid=`id -u || echo unknown`
-      am_gid=`id -g || echo unknown`
-      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
-      if test $am_uid -le $am_max_uid; then
-         AC_MSG_RESULT([yes])
-      else
-         AC_MSG_RESULT([no])
-         _am_tools=none
-      fi
-      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
-      if test $am_gid -le $am_max_gid; then
-         AC_MSG_RESULT([yes])
-      else
-        AC_MSG_RESULT([no])
-        _am_tools=none
-      fi],
-
-  [pax],
-    [],
-
-  [m4_fatal([Unknown tar format])])
-
-  AC_MSG_CHECKING([how to create a $1 tar archive])
-
-  # Go ahead even if we have the value already cached.  We do so because we
-  # need to set the values for the 'am__tar' and 'am__untar' variables.
-  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-
-  for _am_tool in $_am_tools; do
-    case $_am_tool in
-    gnutar)
-      for _am_tar in tar gnutar gtar; do
-        AM_RUN_LOG([$_am_tar --version]) && break
-      done
-      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-      am__untar="$_am_tar -xf -"
-      ;;
-    plaintar)
-      # Must skip GNU tar: if it does not support --format= it doesn't create
-      # ustar tarball either.
-      (tar --version) >/dev/null 2>&1 && continue
-      am__tar='tar chf - "$$tardir"'
-      am__tar_='tar chf - "$tardir"'
-      am__untar='tar xf -'
-      ;;
-    pax)
-      am__tar='pax -L -x $1 -w "$$tardir"'
-      am__tar_='pax -L -x $1 -w "$tardir"'
-      am__untar='pax -r'
-      ;;
-    cpio)
-      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-      am__untar='cpio -i -H $1 -d'
-      ;;
-    none)
-      am__tar=false
-      am__tar_=false
-      am__untar=false
-      ;;
-    esac
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
 
-    # If the value was cached, stop now.  We just wanted to have am__tar
-    # and am__untar set.
-    test -n "${am_cv_prog_tar_$1}" && break
-
-    # tar/untar a dummy directory, and stop if the command works.
-    rm -rf conftest.dir
-    mkdir conftest.dir
-    echo GrepMe > conftest.dir/file
-    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-    rm -rf conftest.dir
-    if test -s conftest.tar; then
-      AM_RUN_LOG([$am__untar <conftest.tar])
-      AM_RUN_LOG([cat conftest.dir/file])
-      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-    fi
-  done
+  # tar/untar a dummy directory, and stop if the command works
   rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
 
-  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
diff --git a/config/compile b/config/compile
deleted file mode 100755
index 531136b..0000000
--- a/config/compile
+++ /dev/null
@@ -1,347 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2012-10-14.11; # UTC
-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" ""	$nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
-  file=$1
-  case $file in
-    / | /[!/]*) # absolute file, and not a UNC file
-      if test -z "$file_conv"; then
-	# lazily determine how to convert abs files
-	case `uname -s` in
-	  MINGW*)
-	    file_conv=mingw
-	    ;;
-	  CYGWIN*)
-	    file_conv=cygwin
-	    ;;
-	  *)
-	    file_conv=wine
-	    ;;
-	esac
-      fi
-      case $file_conv/,$2, in
-	*,$file_conv,*)
-	  ;;
-	mingw/*)
-	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
-	  ;;
-	cygwin/*)
-	  file=`cygpath -m "$file" || echo "$file"`
-	  ;;
-	wine/*)
-	  file=`winepath -w "$file" || echo "$file"`
-	  ;;
-      esac
-      ;;
-  esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
-  func_file_conv "$1"
-  if test -z "$lib_path"; then
-    lib_path=$file
-  else
-    lib_path="$lib_path;$file"
-  fi
-  linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
-  lib=$1
-  found=no
-  save_IFS=$IFS
-  IFS=';'
-  for dir in $lib_path $LIB
-  do
-    IFS=$save_IFS
-    if $shared && test -f "$dir/$lib.dll.lib"; then
-      found=yes
-      lib=$dir/$lib.dll.lib
-      break
-    fi
-    if test -f "$dir/$lib.lib"; then
-      found=yes
-      lib=$dir/$lib.lib
-      break
-    fi
-    if test -f "$dir/lib$lib.a"; then
-      found=yes
-      lib=$dir/lib$lib.a
-      break
-    fi
-  done
-  IFS=$save_IFS
-
-  if test "$found" != yes; then
-    lib=$lib.lib
-  fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
-  # Assume a capable shell
-  lib_path=
-  shared=:
-  linker_opts=
-  for arg
-  do
-    if test -n "$eat"; then
-      eat=
-    else
-      case $1 in
-	-o)
-	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
-	  eat=1
-	  case $2 in
-	    *.o | *.[oO][bB][jJ])
-	      func_file_conv "$2"
-	      set x "$@" -Fo"$file"
-	      shift
-	      ;;
-	    *)
-	      func_file_conv "$2"
-	      set x "$@" -Fe"$file"
-	      shift
-	      ;;
-	  esac
-	  ;;
-	-I)
-	  eat=1
-	  func_file_conv "$2" mingw
-	  set x "$@" -I"$file"
-	  shift
-	  ;;
-	-I*)
-	  func_file_conv "${1#-I}" mingw
-	  set x "$@" -I"$file"
-	  shift
-	  ;;
-	-l)
-	  eat=1
-	  func_cl_dashl "$2"
-	  set x "$@" "$lib"
-	  shift
-	  ;;
-	-l*)
-	  func_cl_dashl "${1#-l}"
-	  set x "$@" "$lib"
-	  shift
-	  ;;
-	-L)
-	  eat=1
-	  func_cl_dashL "$2"
-	  ;;
-	-L*)
-	  func_cl_dashL "${1#-L}"
-	  ;;
-	-static)
-	  shared=false
-	  ;;
-	-Wl,*)
-	  arg=${1#-Wl,}
-	  save_ifs="$IFS"; IFS=','
-	  for flag in $arg; do
-	    IFS="$save_ifs"
-	    linker_opts="$linker_opts $flag"
-	  done
-	  IFS="$save_ifs"
-	  ;;
-	-Xlinker)
-	  eat=1
-	  linker_opts="$linker_opts $2"
-	  ;;
-	-*)
-	  set x "$@" "$1"
-	  shift
-	  ;;
-	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
-	  func_file_conv "$1"
-	  set x "$@" -Tp"$file"
-	  shift
-	  ;;
-	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
-	  func_file_conv "$1" mingw
-	  set x "$@" "$file"
-	  shift
-	  ;;
-	*)
-	  set x "$@" "$1"
-	  shift
-	  ;;
-      esac
-    fi
-    shift
-  done
-  if test -n "$linker_opts"; then
-    linker_opts="-link$linker_opts"
-  fi
-  exec "$@" $linker_opts
-  exit 1
-}
-
-eat=
-
-case $1 in
-  '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
-    func_cl_wrapper "$@"      # Doesn't return...
-    ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-	# configure might choose to run compile as 'compile cc -o foo foo.c'.
-	# So we strip '-o arg' only if arg is an object.
-	eat=1
-	case $2 in
-	  *.o | *.obj)
-	    ofile=$2
-	    ;;
-	  *)
-	    set x "$@" -o "$2"
-	    shift
-	    ;;
-	esac
-	;;
-      *.c)
-	cfile=$1
-	set x "$@" "$1"
-	shift
-	;;
-      *)
-	set x "$@" "$1"
-	shift
-	;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no '-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # '.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/config/config.guess b/config/config.guess
index 1f5c50c..d622a44 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,12 +1,14 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2012-02-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -20,17 +22,19 @@ timestamp='2014-03-23'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
 #
-# Originally written by Per Bothner.
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-#
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
-
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -50,7 +54,9 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -132,27 +138,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
-Linux|GNU|GNU/*)
-	# If the system lacks a compiler, then just pick glibc.
-	# We could probably try harder.
-	LIBC=gnu
-
-	eval $set_cc_for_build
-	cat <<-EOF > $dummy.c
-	#include <features.h>
-	#if defined(__UCLIBC__)
-	LIBC=uclibc
-	#elif defined(__dietlibc__)
-	LIBC=dietlibc
-	#else
-	LIBC=gnu
-	#endif
-	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
-	;;
-esac
-
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -215,10 +200,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
 	exit ;;
-    *:Bitrig:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
-	exit ;;
     *:OpenBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -321,7 +302,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
 	exit ;;
-    arm*:riscos:*:*|arm*:RISCOS:*:*)
+    arm:riscos:*:*|arm:RISCOS:*:*)
 	echo arm-unknown-riscos
 	exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -820,13 +801,10 @@ EOF
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
-    *:MINGW64*:*)
-	echo ${UNAME_MACHINE}-pc-mingw64
-	exit ;;
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    *:MSYS*:*)
+    i*:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -874,21 +852,21 @@ EOF
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -901,54 +879,59 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	LIBC=gnu
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -967,63 +950,54 @@ EOF
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
-    openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-${LIBC}
-	exit ;;
-    or32:Linux:*:* | or1k*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+    or32:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-${LIBC}
+	echo sparc-unknown-linux-gnu
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-${LIBC}
+	echo hppa64-unknown-linux-gnu
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-${LIBC}
+	echo powerpc64-unknown-linux-gnu
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-${LIBC}
-	exit ;;
-    ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-${LIBC}
-	exit ;;
-    ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-${LIBC}
+	echo powerpc-unknown-linux-gnu
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	echo ${UNAME_MACHINE}-ibm-linux
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	echo ${UNAME_MACHINE}-dec-linux-gnu
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1227,9 +1201,6 @@ EOF
     BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
 	echo i586-pc-haiku
 	exit ;;
-    x86_64:Haiku:*:*)
-	echo x86_64-unknown-haiku
-	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
 	exit ;;
@@ -1256,31 +1227,19 @@ EOF
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	eval $set_cc_for_build
-	if test "$UNAME_PROCESSOR" = unknown ; then
-	    UNAME_PROCESSOR=powerpc
-	fi
-	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		    grep IS_64BIT_ARCH >/dev/null
-		then
-		    case $UNAME_PROCESSOR in
-			i386) UNAME_PROCESSOR=x86_64 ;;
-			powerpc) UNAME_PROCESSOR=powerpc64 ;;
-		    esac
-		fi
-	    fi
-	elif test "$UNAME_PROCESSOR" = i386 ; then
-	    # Avoid executing cc on OS X 10.9, as it ships with a stub
-	    # that puts up a graphical alert prompting to install
-	    # developer tools.  Any system running Mac OS X 10.7 or
-	    # later (Darwin 11 and later) is required to have a 64-bit
-	    # processor. This is not true of the ARM version of Darwin
-	    # that Apple uses in portable devices.
-	    UNAME_PROCESSOR=x86_64
-	fi
+	case $UNAME_PROCESSOR in
+	    i386)
+		eval $set_cc_for_build
+		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		      grep IS_64BIT_ARCH >/dev/null
+		  then
+		      UNAME_PROCESSOR="x86_64"
+		  fi
+		fi ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1297,7 +1256,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSE-*:NONSTOP_KERNEL:*:*)
+    NSE-?:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1371,6 +1330,157 @@ EOF
 	exit ;;
 esac
 
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+	"4"
+#else
+	""
+#endif
+	); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
 cat >&2 <<EOF
 $0: unable to guess system type
 
diff --git a/config/config.sub b/config/config.sub
index bba4efb..6205f84 100755
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,18 +1,24 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2014-09-11'
+timestamp='2012-04-18'
 
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -20,12 +26,11 @@ timestamp='2014-09-11'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
+# the same distribution terms that you use for the rest of that program.
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.  Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +73,9 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -116,7 +123,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -149,7 +156,7 @@ case $os in
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray | -microblaze*)
+	-apple | -axis | -knuth | -cray | -microblaze)
 		os=
 		basic_machine=$1
 		;;
@@ -252,12 +259,10 @@ case $basic_machine in
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc | arceb \
-	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
-	| avr | avr32 \
-	| be32 | be64 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+        | be32 | be64 \
 	| bfin \
-	| c4x | c8051 | clipper \
+	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
 	| fido | fr30 | frv \
@@ -265,11 +270,10 @@ case $basic_machine in
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
-	| k1om \
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -283,26 +287,23 @@ case $basic_machine in
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipsr5900 | mipsr5900el \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
 	| moxie \
 	| mt \
 	| msp430 \
 	| nds32 | nds32le | nds32be \
-	| nios | nios2 | nios2eb | nios2el \
+	| nios | nios2 \
 	| ns16k | ns32k \
-	| open8 | or1k | or1knd | or32 \
+	| open8 \
+	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
-	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -327,7 +328,7 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -369,13 +370,13 @@ case $basic_machine in
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| c8051-* | clipper-* | craynv-* | cydra-* \
+	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -384,13 +385,11 @@ case $basic_machine in
 	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
-	| k1om-* \
 	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
-	| microblaze-* | microblazeel-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -404,22 +403,18 @@ case $basic_machine in
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipsr5900-* | mipsr5900el-* \
 	| mipstx39-* | mipstx39el-* \
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
 	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* | nios2eb-* | nios2el-* \
+	| nios-* | nios2-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
-	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -793,15 +788,11 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
-	microblaze*)
+	microblaze)
 		basic_machine=microblaze-xilinx
 		;;
-	mingw64)
-		basic_machine=x86_64-pc
-		os=-mingw64
-		;;
 	mingw32)
-		basic_machine=i686-pc
+		basic_machine=i386-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -829,10 +820,6 @@ case $basic_machine in
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
-	moxiebox)
-		basic_machine=moxie-unknown
-		os=-moxiebox
-		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -841,7 +828,7 @@ case $basic_machine in
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i686-pc
+		basic_machine=i386-pc
 		os=-msys
 		;;
 	mvs)
@@ -1032,11 +1019,7 @@ case $basic_machine in
 		basic_machine=i586-unknown
 		os=-pw32
 		;;
-	rdos | rdos64)
-		basic_machine=x86_64-pc
-		os=-rdos
-		;;
-	rdos32)
+	rdos)
 		basic_machine=i386-pc
 		os=-rdos
 		;;
@@ -1363,29 +1346,29 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* | -plan9* \
+	      | -sym* | -kopensolaris* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
 	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -openbsd* | -solidbsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+	      | -mingw32* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1509,6 +1492,9 @@ case $os in
 	-aros*)
 		os=-aros
 		;;
+	-kaos*)
+		os=-kaos
+		;;
 	-zvmoe)
 		os=-zvmoe
 		;;
@@ -1557,9 +1543,6 @@ case $basic_machine in
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
-	c8051-*)
-		os=-elf
-		;;
 	hexagon-*)
 		os=-elf
 		;;
diff --git a/config/depcomp b/config/depcomp
index 4ebd5b3..25a39e6 100755
--- a/config/depcomp
+++ b/config/depcomp
@@ -1,9 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,9 +28,9 @@ scriptversion=2013-05-30.07; # UTC
 
 case $1 in
   '')
-    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-    exit 1;
-    ;;
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -56,65 +57,11 @@ EOF
     ;;
 esac
 
-# Get the directory component of the given path, and save it in the
-# global variables '$dir'.  Note that this directory component will
-# be either empty or ending with a '/' character.  This is deliberate.
-set_dir_from ()
-{
-  case $1 in
-    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
-      *) dir=;;
-  esac
-}
-
-# Get the suffix-stripped basename of the given path, and save it the
-# global variable '$base'.
-set_base_from ()
-{
-  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
-}
-
-# If no dependency file was actually created by the compiler invocation,
-# we still have to create a dummy depfile, to avoid errors with the
-# Makefile "include basename.Plo" scheme.
-make_dummy_depfile ()
-{
-  echo "#dummy" > "$depfile"
-}
-
-# Factor out some common post-processing of the generated depfile.
-# Requires the auxiliary global variable '$tmpdepfile' to be set.
-aix_post_process_depfile ()
-{
-  # If the compiler actually managed to produce a dependency file,
-  # post-process it.
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependency.h'.
-    # Do two passes, one to just change these to
-    #   $object: dependency.h
-    # and one to simply output
-    #   dependency.h:
-    # which is needed to avoid the deleted-header problem.
-    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
-      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
-    } > "$depfile"
-    rm -f "$tmpdepfile"
-  else
-    make_dummy_depfile
-  fi
-}
-
 # A tabulation character.
 tab='	'
 # A newline character.
 nl='
 '
-# Character ranges might be problematic outside the C locale.
-# These definitions help.
-upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
-lower=abcdefghijklmnopqrstuvwxyz
-digits=0123456789
-alpha=${upper}${lower}
 
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -128,9 +75,6 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
-# Avoid interferences from the environment.
-gccflag= dashmflag=
-
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -142,32 +86,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-  # This is just like dashmstdout with a different argument.
-  dashmflag=-xM
-  depmode=dashmstdout
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-  # This is just like msvisualcpp but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvisualcpp
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-  # This is just like msvc7 but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvc7
+   # This is just like msvc7 but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvc7
 fi
 
 if test "$depmode" = xlc; then
-  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
-  gccflag=-qmakedep=gcc,-MF
-  depmode=gcc
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
 fi
 
 case "$depmode" in
@@ -190,7 +134,8 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -ne 0; then
+  if test $stat -eq 0; then :
+  else
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -198,17 +143,13 @@ gcc3)
   ;;
 
 gcc)
-## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
-## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
-## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).  Also, it might not be
-##   supported by the other compilers which use the 'gcc' depmode.
+##   -MM, not -M (despite what the docs say).
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -216,14 +157,15 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -ne 0; then
+  if test $stat -eq 0; then :
+  else
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  # The second -e expression handles DOS-style file names with drive
-  # letters.
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 ## This next piece of magic avoids the "deleted header file" problem.
@@ -232,15 +174,15 @@ gcc)
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
+  tr ' ' "$nl" < "$tmpdepfile" |
 ## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+      | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -258,7 +200,8 @@ sgi)
     "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -ne 0; then
+  if test $stat -eq 0; then :
+  else
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -266,6 +209,7 @@ sgi)
 
   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
     echo "$object : \\" > "$depfile"
+
     # Clip off the initial element (the dependent).  Don't try to be
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
@@ -273,15 +217,19 @@ sgi)
     # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
     tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
-      | tr "$nl" ' ' >> "$depfile"
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
+
     # The second pass generates a dummy entry for each header file.
     tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-      >> "$depfile"
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> "$depfile"
   else
-    make_dummy_depfile
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
   fi
   rm -f "$tmpdepfile"
   ;;
@@ -299,8 +247,9 @@ aix)
   # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  set_dir_from "$object"
-  set_base_from "$object"
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -313,7 +262,9 @@ aix)
     "$@" -M
   fi
   stat=$?
-  if test $stat -ne 0; then
+
+  if test $stat -eq 0; then :
+  else
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -322,113 +273,65 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  aix_post_process_depfile
-  ;;
-
-tcc)
-  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
-  # FIXME: That version still under development at the moment of writing.
-  #        Make that this statement remains true also for stable, released
-  #        versions.
-  # It will wrap lines (doesn't matter whether long or short) with a
-  # trailing '\', as in:
-  #
-  #   foo.o : \
-  #    foo.c \
-  #    foo.h \
-  #
-  # It will put a trailing '\' even on the last line, and will use leading
-  # spaces rather than leading tabs (at least since its commit 0394caf7
-  # "Emit spaces for -MD").
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
+    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
   fi
-  rm -f "$depfile"
-  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
-  # We have to change lines of the first kind to '$object: \'.
-  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
-  # And for each line of the second kind, we have to emit a 'dep.h:'
-  # dummy dependency, to avoid the deleted-header problem.
-  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-## The order of this option in the case statement is important, since the
-## shell code in configure will try each of these formats in the order
-## listed in this file.  A plain '-MD' option would be understood by many
-## compilers, so we must ensure this comes after the gcc and icc options.
-pgcc)
-  # Portland's C compiler understands '-MD'.
-  # Will always output deps to 'file.d' where file is the root name of the
-  # source file under compilation, even if file resides in a subdirectory.
-  # The object file name does not affect the name of the '.d' file.
-  # pgcc 10.2 will output
+icc)
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\' :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-  set_dir_from "$object"
-  # Use the source, not the object, to determine the base name, since
-  # that's sadly what pgcc will do too.
-  set_base_from "$source"
-  tmpdepfile=$base.d
-
-  # For projects that build the same source file twice into different object
-  # files, the pgcc approach of using the *source* file root name can cause
-  # problems in parallel builds.  Use a locking strategy to avoid stomping on
-  # the same $tmpdepfile.
-  lockdir=$base.d-lock
-  trap "
-    echo '$0: caught signal, cleaning up...' >&2
-    rmdir '$lockdir'
-    exit 1
-  " 1 2 13 15
-  numtries=100
-  i=$numtries
-  while test $i -gt 0; do
-    # mkdir is a portable test-and-set.
-    if mkdir "$lockdir" 2>/dev/null; then
-      # This process acquired the lock.
-      "$@" -MD
-      stat=$?
-      # Release the lock.
-      rmdir "$lockdir"
-      break
-    else
-      # If the lock is being held by a different process, wait
-      # until the winning process is done or we timeout.
-      while test -d "$lockdir" && test $i -gt 0; do
-        sleep 1
-        i=`expr $i - 1`
-      done
-    fi
-    i=`expr $i - 1`
-  done
-  trap - 1 2 13 15
-  if test $i -le 0; then
-    echo "$0: failed to acquire lock after $numtries attempts" >&2
-    echo "$0: check lockdir '$lockdir'" >&2
-    exit 1
-  fi
-
-  if test $stat -ne 0; then
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
-    | sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -439,8 +342,9 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  set_dir_from  "$object"
-  set_base_from "$object"
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -451,7 +355,8 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -ne 0; then
+  if test $stat -eq 0; then :
+  else
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -461,61 +366,76 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add 'dependent.h:' lines.
     sed -ne '2,${
-               s/^ *//
-               s/ \\*$//
-               s/$/:/
-               p
-             }' "$tmpdepfile" >> "$depfile"
+	       s/^ *//
+	       s/ \\*$//
+	       s/$/:/
+	       p
+	     }' "$tmpdepfile" >> "$depfile"
   else
-    make_dummy_depfile
+    echo "#dummy" > "$depfile"
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-  # The Tru64 compiler uses -MD to generate dependencies as a side
-  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-  # dependencies in 'foo.d' instead, so we check for that too.
-  # Subdirectories are respected.
-  set_dir_from  "$object"
-  set_base_from "$object"
-
-  if test "$libtool" = yes; then
-    # Libtool generates 2 separate objects for the 2 libraries.  These
-    # two compilations output dependencies in $dir.libs/$base.o.d and
-    # in $dir$base.o.d.  We have to check for both files, because
-    # one of the two compilations can be disabled.  We should prefer
-    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-    # automatically cleaned when .libs/ is deleted, while ignoring
-    # the former would cause a distcleancheck panic.
-    tmpdepfile1=$dir$base.o.d          # libtool 1.5
-    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
-    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
-    "$@" -Wc,-MD
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    tmpdepfile3=$dir$base.d
-    "$@" -MD
-  fi
-
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  # Same post-processing that is required for AIX mode.
-  aix_post_process_depfile
-  ;;
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in 'foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -526,7 +446,8 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test $stat -ne 0; then
+  if test "$stat" = 0; then :
+  else
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -552,7 +473,6 @@ $ {
   G
   p
 }' >> "$depfile"
-  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
   rm -f "$tmpdepfile"
   ;;
 
@@ -604,14 +524,13 @@ dashmstdout)
   # in the target name.  This is to cope with DOS-style filenames:
   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this sed invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -664,12 +583,10 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process the last invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed '1,2d' "$tmpdepfile" \
-    | tr ' ' "$nl" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -705,10 +622,10 @@ cpp)
     esac
   done
 
-  "$@" -E \
-    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-    | sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -740,15 +657,15 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-        set fnord "$@"
-        shift
-        shift
-        ;;
+	set fnord "$@"
+	shift
+	shift
+	;;
     *)
-        set fnord "$@" "$arg"
-        shift
-        shift
-        ;;
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
     esac
   done
   "$@" -E 2>/dev/null |
diff --git a/config/install-sh b/config/install-sh
index 377bb86..a9244eb 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2011-01-19.21; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-11-20.07; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# 'make' implicit rules from creating a file called install from it
+# `make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-	# Protect names problematic for 'test' and other utilities.
+	# Protect names problematic for `test' and other utilities.
 	case $dst_arg in
 	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
 	esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for 'test' and other utilities.
+    # Protect names problematic for `test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call 'install-sh -d' without argument.
+  # It's OK to call `install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for 'test' and other utilities.
+  # Protect names problematic for `test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
 	      if test -z "$dir_arg" || {
 		   # Check for POSIX incompatibilities with -m.
 		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writable bit of parent directory when it shouldn't.
+		   # other-writeable bit of parent directory when it shouldn't.
 		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 		   case $ls_ld_tmpdir in
diff --git a/config/ltmain.sh b/config/ltmain.sh
index bffda54..33f642a 100644
--- a/config/ltmain.sh
+++ b/config/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.11
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.1
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.11"
+VERSION="2.4.2 Debian-2.4.2-1.1"
 TIMESTAMP=""
 package_revision=1.3337
 
diff --git a/config/mdate-sh b/config/mdate-sh
index b3719cf..60dc485 100755
--- a/config/mdate-sh
+++ b/config/mdate-sh
@@ -3,7 +3,8 @@
 
 scriptversion=2010-08-21.06; # UTC
 
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
+# Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper at gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
@@ -39,7 +40,7 @@ fi
 
 case $1 in
   '')
-     echo "$0: No file.  Try '$0 --help' for more information." 1>&2
+     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -75,7 +76,7 @@ LC_TIME=C
 export LC_TIME
 
 # GNU ls changes its time format in response to the TIME_STYLE
-# variable.  Since we cannot assume 'unset' works, revert this
+# variable.  Since we cannot assume `unset' works, revert this
 # variable to its documented default.
 if test "${TIME_STYLE+set}" = set; then
   TIME_STYLE=posix-long-iso
@@ -95,14 +96,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
   ls_command="$ls_command -n"
 fi
 
-# A 'ls -l' line looks as follows on OS/2.
+# A `ls -l' line looks as follows on OS/2.
 #  drwxrwx---        0 Aug 11  2001 foo
 # This differs from Unix, which adds ownership information.
 #  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
 #
 # To find the date, we split the line on spaces and iterate on words
 # until we find a month.  This cannot work with files whose owner is a
-# user named "Jan", or "Feb", etc.  However, it's unlikely that '/'
+# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
 # will be owned by a user whose name is a month.  So we first look at
 # the extended ls output of the root directory to decide how many
 # words should be skipped to get the date.
@@ -115,7 +116,7 @@ month=
 command=
 until test $month
 do
-  test $# -gt 0 || error "failed parsing '$ls_command /' output"
+  test $# -gt 0 || error "failed parsing \`$ls_command /' output"
   shift
   # Add another shift to the command.
   command="$command shift;"
@@ -135,7 +136,7 @@ do
   esac
 done
 
-test -n "$month" || error "failed parsing '$ls_command /' output"
+test -n "$month" || error "failed parsing \`$ls_command /' output"
 
 # Get the extended ls output of the file or directory.
 set dummy x`eval "$ls_command \"\\\$save_arg1\""`
diff --git a/config/missing b/config/missing
index db98974..86a8fc3 100755
--- a/config/missing
+++ b/config/missing
@@ -1,10 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common stub for a few missing GNU programs while installing.
 
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2012-01-06.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-# Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,40 +26,68 @@ scriptversion=2013-10-28.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try '$0 --help' for more information"
+  echo 1>&2 "Try \`$0 --help' for more information"
   exit 1
 fi
 
-case $1 in
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
-  --is-lightweight)
-    # Used by our autoconf macros to check whether the available missing
-    # script is modern enough.
-    exit 0
-    ;;
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
 
-  --run)
-    # Back-compat with the calling convention used by older automake.
-    shift
-    ;;
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
-to PROGRAM being missing or too old.
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
-Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
-'g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
 
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
@@ -70,141 +99,228 @@ Send bug reports to <bug-automake at gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: unknown '$1' option"
-    echo 1>&2 "Try '$0 --help' for more information"
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# Run the given program, remember its exit status.
-"$@"; st=$?
-
-# If it succeeded, we are done.
-test $st -eq 0 && exit 0
-
-# Also exit now if we it failed (or wasn't found), and '--version' was
-# passed; such an option is passed most likely to detect whether the
-# program is present and works.
-case $2 in --version|--help) exit $st;; esac
-
-# Exit code 63 means version mismatch.  This often happens when the user
-# tries to use an ancient version of a tool on a file that requires a
-# minimum version.
-if test $st -eq 63; then
-  msg="probably too old"
-elif test $st -eq 127; then
-  # Program was missing.
-  msg="missing on your system"
-else
-  # Program was found and executed, but failed.  Give up.
-  exit $st
-fi
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+  lex*|yacc*)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
 
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
-
-program_details ()
-{
-  case $1 in
-    aclocal|automake)
-      echo "The '$1' program is part of the GNU Automake package:"
-      echo "<$gnu_software_URL/automake>"
-      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/autoconf>"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-    autoconf|autom4te|autoheader)
-      echo "The '$1' program is part of the GNU Autoconf package:"
-      echo "<$gnu_software_URL/autoconf/>"
-      echo "It also requires GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-  esac
-}
-
-give_advice ()
-{
-  # Normalize program name to check for.
-  normalized_program=`echo "$1" | sed '
-    s/^gnu-//; t
-    s/^gnu//; t
-    s/^g//; t'`
-
-  printf '%s\n' "'$1' is $msg."
-
-  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
-  case $normalized_program in
-    autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
-      ;;
-    autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
-      echo "$configure_deps."
-      program_details 'autoheader'
-      ;;
-    automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
-      echo "$configure_deps."
-      program_details 'aclocal'
-      ;;
-   autom4te*)
-      echo "You might have modified some maintainer files that require"
-      echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
-      ;;
-    bison*|yacc*)
-      echo "You should only need it if you modified a '.y' file."
-      echo "You may want to install the GNU Bison package:"
-      echo "<$gnu_software_URL/bison/>"
-      ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
-    help2man*)
-      echo "You should only need it if you modified a dependency" \
-           "of a man page."
-      echo "You may want to install the GNU Help2man package:"
-      echo "<$gnu_software_URL/help2man/>"
+  autoheader*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
     ;;
-    makeinfo*)
-      echo "You should only need it if you modified a '.texi' file, or"
-      echo "any other file indirectly affecting the aspect of the manual."
-      echo "You might want to install the Texinfo package:"
-      echo "<$gnu_software_URL/texinfo/>"
-      echo "The spurious makeinfo call might also be the consequence of"
-      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
-      echo "want to install GNU make:"
-      echo "<$gnu_software_URL/make/>"
-      ;;
-    *)
-      echo "You might have modified some files without having the proper"
-      echo "tools for further handling them.  Check the 'README' file, it"
-      echo "often tells you about the needed prerequisites for installing"
-      echo "this package.  You may also peek at any GNU archive site, in"
-      echo "case some other package contains this missing '$1' program."
-      ;;
-  esac
-}
-
-give_advice "$1" | sed -e '1s/^/WARNING: /' \
-                       -e '2,$s/^/         /' >&2
-
-# Propagate the correct exit status (expected to be 127 for a program
-# not found, 63 for a program that failed due to version mismatch).
-exit $st
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te*)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison*|yacc*)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG=\${$#}
+	case $LASTARG in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f y.tab.h; then
+	echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex*|flex*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG=\${$#}
+	case $LASTARG in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f lex.yy.c; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit $?
+    fi
+    ;;
+
+  makeinfo*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/config/test-driver b/config/test-driver
deleted file mode 100755
index d306056..0000000
--- a/config/test-driver
+++ /dev/null
@@ -1,139 +0,0 @@
-#! /bin/sh
-# test-driver - basic testsuite driver script.
-
-scriptversion=2013-07-13.22; # UTC
-
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-# Make unconditional expansion of undefined variables an error.  This
-# helps a lot in preventing typo-related bugs.
-set -u
-
-usage_error ()
-{
-  echo "$0: $*" >&2
-  print_usage >&2
-  exit 2
-}
-
-print_usage ()
-{
-  cat <<END
-Usage:
-  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
-              [--expect-failure={yes|no}] [--color-tests={yes|no}]
-              [--enable-hard-errors={yes|no}] [--]
-              TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
-The '--test-name', '--log-file' and '--trs-file' options are mandatory.
-END
-}
-
-test_name= # Used for reporting.
-log_file=  # Where to save the output of the test script.
-trs_file=  # Where to save the metadata of the test run.
-expect_failure=no
-color_tests=no
-enable_hard_errors=yes
-while test $# -gt 0; do
-  case $1 in
-  --help) print_usage; exit $?;;
-  --version) echo "test-driver $scriptversion"; exit $?;;
-  --test-name) test_name=$2; shift;;
-  --log-file) log_file=$2; shift;;
-  --trs-file) trs_file=$2; shift;;
-  --color-tests) color_tests=$2; shift;;
-  --expect-failure) expect_failure=$2; shift;;
-  --enable-hard-errors) enable_hard_errors=$2; shift;;
-  --) shift; break;;
-  -*) usage_error "invalid option: '$1'";;
-   *) break;;
-  esac
-  shift
-done
-
-missing_opts=
-test x"$test_name" = x && missing_opts="$missing_opts --test-name"
-test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
-test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
-if test x"$missing_opts" != x; then
-  usage_error "the following mandatory options are missing:$missing_opts"
-fi
-
-if test $# -eq 0; then
-  usage_error "missing argument"
-fi
-
-if test $color_tests = yes; then
-  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
-  red='' # Red.
-  grn='' # Green.
-  lgn='' # Light green.
-  blu='' # Blue.
-  mgn='' # Magenta.
-  std=''     # No color.
-else
-  red= grn= lgn= blu= mgn= std=
-fi
-
-do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
-trap "st=129; $do_exit" 1
-trap "st=130; $do_exit" 2
-trap "st=141; $do_exit" 13
-trap "st=143; $do_exit" 15
-
-# Test script is run here.
-"$@" >$log_file 2>&1
-estatus=$?
-if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
-fi
-
-case $estatus:$expect_failure in
-  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
-  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
-  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
-  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
-  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
-  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
-esac
-
-# Report outcome to console.
-echo "${col}${res}${std}: $test_name"
-
-# Register the test result, and other relevant metadata.
-echo ":test-result: $res" > $trs_file
-echo ":global-test-result: $res" >> $trs_file
-echo ":recheck: $recheck" >> $trs_file
-echo ":copy-in-global-log: $gcopy" >> $trs_file
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/config/texinfo.tex b/config/texinfo.tex
index 85f184c..85b68e7 100644
--- a/config/texinfo.tex
+++ b/config/texinfo.tex
@@ -3,11 +3,11 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2013-02-01.11}
+\def\texinfoversion{2012-03-11.15}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software: you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
@@ -24,14 +24,13 @@
 %
 % As a special exception, when this file is read by TeX when processing
 % a Texinfo source document, you may use the result without
-% restriction. This Exception is an additional permission under section 7
-% of the GNU General Public License, version 3 ("GPLv3").
+% restriction.  (This has been our intent since Texinfo was invented.)
 %
 % Please try the latest version of texinfo.tex before submitting bug
 % reports; you can get the latest version from:
-%   http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
-%   http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page)
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
+%   ftp://tug.org/tex/texinfo.tex
+%     (and all CTAN mirrors, see http://www.ctan.org).
 % The texinfo.tex in any given distribution could well be out
 % of date, so if that's what you're using, please check.
 %
@@ -595,7 +594,7 @@
 \def\:{\spacefactor=1000 }
 
 % @* forces a line break.
-\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
+\def\*{\hfil\break\hbox{}\ignorespaces}
 
 % @/ allows a line break.
 \let\/=\allowbreak
@@ -1118,7 +1117,7 @@ where each line of input produces a line of output.}
 % #1 is a control sequence in which to do the replacements,
 % which we \xdef.
 \def\txiescapepdf#1{%
-  \ifx\pdfescapestring\thisisundefined
+  \ifx\pdfescapestring\relax
     % No primitive available; should we give a warning or log?
     % Many times it won't matter.
   \else
@@ -1368,8 +1367,9 @@ output) for that.)}
   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
     \ifx\PP\D\let\nextsp\relax
     \else\let\nextsp\skipspaces
-      \addtokens{\filename}{\PP}%
-      \advance\filenamelength by 1
+      \ifx\p\space\else\addtokens{\filename}{\PP}%
+        \advance\filenamelength by 1
+      \fi
     \fi
     \nextsp}
   \def\getfilename#1{%
@@ -1475,6 +1475,9 @@ output) for that.)}
 \def\ttsl{\setfontstyle{ttsl}}
 
 
+% Default leading.
+\newdimen\textleading  \textleading = 13.2pt
+
 % Set the baselineskip to #1, and the lineskip and strut size
 % correspondingly.  There is no deep meaning behind these magic numbers
 % used as factors; they just match (closely enough) what Knuth defined.
@@ -1486,7 +1489,6 @@ output) for that.)}
 % can get a sort of poor man's double spacing by redefining this.
 \def\baselinefactor{1}
 %
-\newdimen\textleading
 \def\setleading#1{%
   \dimen0 = #1\relax
   \normalbaselineskip = \baselinefactor\dimen0
@@ -1759,24 +1761,18 @@ end
 \fi\fi
 
 
-% Set the font macro #1 to the font named \fontprefix#2.
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
 % #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
-% Example:
-% #1 = \textrm
-% #2 = \rmshape
-% #3 = 10
-% #4 = \mainmagstep
-% #5 = OT1
-%
+% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
+% empty to omit).
 \def\setfont#1#2#3#4#5{%
   \font#1=\fontprefix#2#3 scaled #4
   \csname cmap#5\endcsname#1%
 }
 % This is what gets called when #5 of \setfont is empty.
 \let\cmap\gobble
-%
-% (end of cmaps)
+% emacs-page end of cmaps
 
 % Use cm as the default font prefix.
 % To specify the font prefix, you must define \fontprefix
@@ -1786,7 +1782,7 @@ end
 \fi
 % Support font families that don't use the same naming scheme as CM.
 \def\rmshape{r}
-\def\rmbshape{bx}               % where the normal face is bold
+\def\rmbshape{bx}               %where the normal face is bold
 \def\bfshape{b}
 \def\bxshape{bx}
 \def\ttshape{tt}
@@ -1801,7 +1797,8 @@ end
 \def\scshape{csc}
 \def\scbshape{csc}
 
-% Definitions for a main text size of 11pt.  (The default in Texinfo.)
+% Definitions for a main text size of 11pt.  This is the default in
+% Texinfo.
 %
 \def\definetextfontsizexi{%
 % Text fonts (11.2pt, magstep1).
@@ -1926,7 +1923,7 @@ end
 \textleading = 13.2pt % line spacing for 11pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 11pt text font size definitions, \definetextfontsizexi
+} % end of 11pt text font size definitions
 
 
 % Definitions to make the main text be 10pt Computer Modern, with
@@ -2058,7 +2055,7 @@ end
 \textleading = 12pt   % line spacing for 10pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 10pt text font size definitions, \definetextfontsizex
+} % end of 10pt text font size definitions
 
 
 % We provide the user-level command
@@ -2273,6 +2270,8 @@ end
 
 \gdef\markupsetcodequoteleft{\let`\codequoteleft}
 \gdef\markupsetcodequoteright{\let'\codequoteright}
+
+\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
 }
 
 \let\markupsetuplqcode \markupsetcodequoteleft
@@ -2281,9 +2280,6 @@ end
 \let\markupsetuplqexample \markupsetcodequoteleft
 \let\markupsetuprqexample \markupsetcodequoteright
 %
-\let\markupsetuplqkbd     \markupsetcodequoteleft
-\let\markupsetuprqkbd     \markupsetcodequoteright
-%
 \let\markupsetuplqsamp \markupsetcodequoteleft
 \let\markupsetuprqsamp \markupsetcodequoteright
 %
@@ -2293,6 +2289,8 @@ end
 \let\markupsetuplqverbatim \markupsetcodequoteleft
 \let\markupsetuprqverbatim \markupsetcodequoteright
 
+\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
+
 % Allow an option to not use regular directed right quote/apostrophe
 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
 % The undirected quote is ugly, so don't make it the default, but it
@@ -2382,7 +2380,8 @@ end
   \aftersmartic
 }
 
-% Unconditional use \ttsl, and no ic.  @var is set to this for defuns.
+% like \smartslanted except unconditionally uses \ttsl, and no ic.
+% @var is set to this for defun arguments.
 \def\ttslanted#1{{\ttsl #1}}
 
 % @cite is like \smartslanted except unconditionally use \sl.  We never want
@@ -2447,12 +2446,34 @@ end
 % @samp.
 \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
 
-% @indicateurl is \samp, that is, with quotes.
-\let\indicateurl=\samp
+% definition of @key that produces a lozenge.  Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+%    \vbox{\hrule\kern-0.4pt
+%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+%    \kern-0.4pt\hrule}%
+%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
 
-% @code (and similar) prints in typewriter, but with spaces the same
-% size as normal in the surrounding text, without hyphenation, etc.
-% This is a subroutine for that.
+% definition of @key with no lozenge.  If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle.  But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+  \nohyphenation
+  \ifmonospace\else\tt\fi
+  #1}\null}
+
+% ctrl is no longer a Texinfo command.
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
 \def\tclose#1{%
   {%
     % Change normal interword space to be same as for the current font.
@@ -2477,7 +2498,7 @@ end
 % We *must* turn on hyphenation at `-' and `_' in @code.
 % Otherwise, it is too hard to avoid overfull hboxes
 % in the Emacs manual, the Library manual, etc.
-%
+
 % Unfortunately, TeX uses one parameter (\hyphenchar) to control
 % both hyphenation at - and hyphenation within words.
 % We must therefore turn them both off (\tclose does that)
@@ -2496,7 +2517,7 @@ end
      \let-\codedash
      \let_\codeunder
     \else
-     \let-\normaldash
+     \let-\realdash
      \let_\realunder
     \fi
     \codex
@@ -2505,7 +2526,7 @@ end
 
 \def\codex #1{\tclose{#1}\endgroup}
 
-\def\normaldash{-}
+\def\realdash{-}
 \def\codedash{-\discretionary{}{}{}}
 \def\codeunder{%
   % this is all so @math{@code{var_name}+1} can work.  In math mode, _
@@ -2520,9 +2541,9 @@ end
 }
 
 % An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__.  This is bad.
-% @allowcodebreaks provides a document-level way to turn breaking at -
-% and _ on and off.
+% each of the four underscores in __typeof__.  This is undesirable in
+% some manuals, especially if they don't have long identifiers in
+% general.  @allowcodebreaks provides a way to control this.
 %
 \newif\ifallowcodebreaks  \allowcodebreakstrue
 
@@ -2541,13 +2562,6 @@ end
   \fi\fi
 }
 
-% For @command, @env, @file, @option quotes seem unnecessary,
-% so use \code rather than \samp.
-\let\command=\code
-\let\env=\code
-\let\file=\code
-\let\option=\code
-
 % @uref (abbreviation for `urlref') takes an optional (comma-separated)
 % second argument specifying the text to display and an optional third
 % arg as text to display instead of (rather than in addition to) the url
@@ -2694,6 +2708,10 @@ end
   \let\email=\uref
 \fi
 
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
+
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
 %   `example' (@kbd uses ttsl only inside of @example and friends),
 %   or `code' (@kbd uses normal tty font always).
@@ -2717,36 +2735,16 @@ end
 % Default is `distinct'.
 \kbdinputstyle distinct
 
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
-
 \def\xkey{\key}
-\def\kbdsub#1#2#3\par{%
-  \def\one{#1}\def\three{#3}\def\threex{??}%
-  \ifx\one\xkey\ifx\threex\three \key{#2}%
-  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-}
-
-% definition of @key that produces a lozenge.  Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-%    \vbox{\hrule\kern-0.4pt
-%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-%    \kern-0.4pt\hrule}%
-%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
 
-% definition of @key with no lozenge.  If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle.  But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
-  \nohyphenation
-  \ifmonospace\else\tt\fi
-  #1}\null}
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
 
 % @clicksequence{File @click{} Open ...}
 \def\clicksequence#1{\begingroup #1\endgroup}
@@ -2854,9 +2852,6 @@ end
   }
 }
 
-% ctrl is no longer a Texinfo command, but leave this definition for fun.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
 % except specified as a normal braced arg, so no newlines to worry about.
@@ -3147,17 +3142,12 @@ end
   % hopefully nobody will notice/care.
   \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
-  \ifmonospace
-    % typewriter:
-    \font\thisecfont = ectt\ecsize \space at \nominalsize
+  \ifx\curfontstyle\bfstylename
+    % bold:
+    \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
   \else
-    \ifx\curfontstyle\bfstylename
-      % bold:
-      \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
-    \else
-      % regular:
-      \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
-    \fi
+    % regular:
+    \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
   \fi
   \thisecfont
 }
@@ -3270,20 +3260,6 @@ end
   \finishedtitlepagetrue
 }
 
-% Settings used for typesetting titles: no hyphenation, no indentation,
-% don't worry much about spacing, ragged right.  This should be used
-% inside a \vbox, and fonts need to be set appropriately first.  Because
-% it is always used for titles, nothing else, we call \rmisbold.  \par
-% should be specified before the end of the \vbox, since a vbox is a group.
-% 
-\def\raggedtitlesettings{%
-  \rmisbold
-  \hyphenpenalty=10000
-  \parindent=0pt
-  \tolerance=5000
-  \ptexraggedright
-}
-
 % Macros to be used within @titlepage:
 
 \let\subtitlerm=\tenrm
@@ -3291,7 +3267,7 @@ end
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \vbox{\titlefonts \raggedtitlesettings #1\par}%
+  \leftline{\titlefonts\rmisbold #1}
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4188,7 +4164,7 @@ end
     % ..., but we might end up with active ones in the argument if
     % we're called from @code, as @code{@value{foo-bar_}}, though.
     % So \let them to their normal equivalents.
-    \let-\normaldash \let_\normalunderscore
+    \let-\realdash \let_\normalunderscore
   }
 }
 
@@ -4228,7 +4204,7 @@ end
 }
 \def\ifsetfail{\doignore{ifset}}
 
-% @ifclear VAR ... @end executes the `...' iff VAR has never been
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
 % defined with @set, or has been undefined with @clear.
 %
 % The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4239,35 +4215,6 @@ end
 \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
 \def\ifclearfail{\doignore{ifclear}}
 
-% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
-% without the @) is in fact defined.  We can only feasibly check at the
-% TeX level, so something like `mathcode' is going to considered
-% defined even though it is not a Texinfo command.
-% 
-\makecond{ifcommanddefined}
-\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
-%
-\def\doifcmddefined#1#2{{%
-    \makevalueexpandable
-    \let\next=\empty
-    \expandafter\ifx\csname #2\endcsname\relax
-      #1% If not defined, \let\next as above.
-    \fi
-    \expandafter
-  }\next
-}
-\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
-
-% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
-\makecond{ifcommandnotdefined}
-\def\ifcommandnotdefined{%
-  \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
-\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
-
-% Set the `txicommandconditionals' variable, so documents have a way to
-% test if the @ifcommand...defined conditionals are available.
-\set txicommandconditionals
-
 % @dircategory CATEGORY  -- specify a category of the dir file
 % which this file should belong to.  Ignore this in TeX.
 \let\dircategory=\comment
@@ -4504,7 +4451,6 @@ end
   \definedummyword\guillemetright
   \definedummyword\guilsinglleft
   \definedummyword\guilsinglright
-  \definedummyword\lbracechar
   \definedummyword\leq
   \definedummyword\minus
   \definedummyword\ogonek
@@ -4517,7 +4463,6 @@ end
   \definedummyword\quoteleft
   \definedummyword\quoteright
   \definedummyword\quotesinglbase
-  \definedummyword\rbracechar
   \definedummyword\result
   \definedummyword\textdegree
   %
@@ -4569,7 +4514,6 @@ end
   \definedummyword\t
   %
   % Commands that take arguments.
-  \definedummyword\abbr
   \definedummyword\acronym
   \definedummyword\anchor
   \definedummyword\cite
@@ -4581,9 +4525,7 @@ end
   \definedummyword\emph
   \definedummyword\env
   \definedummyword\file
-  \definedummyword\image
   \definedummyword\indicateurl
-  \definedummyword\inforef
   \definedummyword\kbd
   \definedummyword\key
   \definedummyword\math
@@ -4630,10 +4572,7 @@ end
   % content at all.  So for index sorting, we map @{ and @} to strings
   % starting with |, since that ASCII character is between ASCII { and }.
   \def\{{|a}%
-  \def\lbracechar{|a}%
-  %
   \def\}{|b}%
-  \def\rbracechar{|b}%
   %
   % Non-English letters.
   \def\AA{AA}%
@@ -5594,6 +5533,14 @@ end
 
 % Define @majorheading, @heading and @subheading
 
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+%       1) We use \vbox rather than the earlier \line to permit
+%          overlong headings to fold.
+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
+%          heading is obnoxious; this forbids it.
+%       3) Likewise, headings look best if no \parindent is used, and
+%          if justification is not attempted.  Hence \raggedright.
+
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5601,8 +5548,10 @@ end
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip \nobreak
+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                    \parindent=0pt\ptexraggedright
+                    \rmisbold #1\hfill}}%
+  \bigskip \par\penalty 200\relax
   \suppressfirstparagraphindent
 }
 
@@ -5761,7 +5710,8 @@ end
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
+          \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5783,18 +5733,18 @@ end
 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
 %
 \def\unnchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip\nobreak
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt\ptexraggedright
+                       \rmisbold #1\hfill}}\bigskip \par\nobreak
 }
 \def\chfopen #1#2{\chapoddpage {\chapfonts
 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
 \par\penalty 5000 %
 }
 \def\centerchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
-  \nobreak\bigskip \nobreak
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt
+                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
 }
 \def\CHAPFopen{%
   \global\let\chapmacro=\chfopen
@@ -6560,9 +6510,16 @@ end
 \makedispenvdef{quotation}{\quotationstart}
 %
 \def\quotationstart{%
-  \indentedblockstart % same as \indentedblock, but increase right margin too.
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
   \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
     \advance\rightskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
   \fi
   \parsearg\quotationlabel
 }
@@ -6588,32 +6545,6 @@ end
   \fi
 }
 
-% @indentedblock is like @quotation, but indents only on the left and
-% has no optional argument.
-% 
-\makedispenvdef{indentedblock}{\indentedblockstart}
-%
-\def\indentedblockstart{%
-  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \parindent=0pt
-  %
-  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
-  \ifx\nonarrowing\relax
-    \advance\leftskip by \lispnarrowing
-    \exdentamount = \lispnarrowing
-  \else
-    \let\nonarrowing = \relax
-  \fi
-}
-
-% Keep a nonzero parskip for the environment, since we're doing normal filling.
-%
-\def\Eindentedblock{%
-  \par
-  {\parskip=0pt \afterenvbreak}%
-}
-\def\Esmallindentedblock{\Eindentedblock}
-
 
 % LaTeX-like @verbatim... at end verbatim and @verb{<char>...<char>}
 % If we want to allow any <char> as delimiter,
@@ -7092,10 +7023,7 @@ end
   \df \sl \hyphenchar\font=0
   %
   % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  We used to recommend @var for that, so
-  % leave the code in, but it's strange for @var to lead to typewriter.
-  % Nowadays we recommend @code, since the difference between a ttsl hyphen
-  % and a tt hyphen is pretty tiny.  @code also disables ?` !`.
+  % want a way to get ttsl.  Let's try @var for that.
   \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
   #1%
   \sl\hyphenchar\font=45
@@ -7879,7 +7807,7 @@ end
   \fi\fi
 }
 
-% 

+
 % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
 % the node name, #2 the name of the Info cross-reference, #3 the printed
 % node name, #4 the name of the Info file, #5 the name of the printed
@@ -7889,21 +7817,16 @@ end
 \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
 \def\ref#1{\xrefX[#1,,,,,,,]}
 %
-\newbox\toprefbox
+\newbox\topbox
 \newbox\printedrefnamebox
-\newbox\infofilenamebox
 \newbox\printedmanualbox
 %
 \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
   \unsepspaces
   %
-  % Get args without leading/trailing spaces.
   \def\printedrefname{\ignorespaces #3}%
   \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
   %
-  \def\infofilename{\ignorespaces #4}%
-  \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
-  %
   \def\printedmanual{\ignorespaces #5}%
   \setbox\printedmanualbox  = \hbox{\printedmanual\unskip}%
   %
@@ -7938,18 +7861,11 @@ end
      \turnoffactive
      \makevalueexpandable
      % This expands tokens, so do it after making catcode changes, so _
-     % etc. don't get their TeX definitions.  This ignores all spaces in
-     % #4, including (wrongly) those in the middle of the filename.
+     % etc. don't get their TeX definitions.
      \getfilename{#4}%
      %
-     % This (wrongly) does not take account of leading or trailing
-     % spaces in #1, which should be ignored.
      \edef\pdfxrefdest{#1}%
-     \ifx\pdfxrefdest\empty
-       \def\pdfxrefdest{Top}% no empty targets
-     \else
-       \txiescapepdf\pdfxrefdest  % escape PDF special chars
-     \fi
+     \txiescapepdf\pdfxrefdest
      %
      \leavevmode
      \startlink attr{/Border [0 0 0]}%
@@ -7982,7 +7898,7 @@ end
       \printedrefname
     \fi
     %
-    % If the user also gave the printed manual name (fifth arg), append
+    % if the user also gave the printed manual name (fifth arg), append
     % "in MANUALNAME".
     \ifdim \wd\printedmanualbox > 0pt
       \space \putwordin{} \cite{\printedmanual}%
@@ -7997,20 +7913,32 @@ end
     % this is a loss.  Therefore, we give the text of the node name
     % again, so it is as if TeX is seeing it for the first time.
     % 
+    % Cross-manual reference.  Only include the "Section ``foo'' in" if
+    % the foo is neither missing or Top.  Thus, @xref{,,,foo,The Foo Manual}
+    % outputs simply "see The Foo Manual".
     \ifdim \wd\printedmanualbox > 0pt
-      % Cross-manual reference with a printed manual name.
+      % What is the 7sp about?  The idea is that we also want to omit
+      % the Section part if we would be printing "Top", since they are
+      % clearly trying to refer to the whole manual.  But, this being
+      % TeX, we can't easily compare strings while ignoring the possible
+      % spaces before and after in the input.  By adding the arbitrary
+      % 7sp, we make it much less likely that a real node name would
+      % happen to have the same width as "Top" (e.g., in a monospaced font).
+      % I hope it will never happen in practice.
       % 
-      \crossmanualxref{\cite{\printedmanual\unskip}}%
-    %
-    \else\ifdim \wd\infofilenamebox > 0pt
-      % Cross-manual reference with only an info filename (arg 4), no
-      % printed manual name (arg 5).  This is essentially the same as
-      % the case above; we output the filename, since we have nothing else.
+      % For the same basic reason, we retypeset the "Top" at every
+      % reference, since the current font is indeterminate.
       % 
-      \crossmanualxref{\code{\infofilename\unskip}}%
-    %
+      \setbox\topbox = \hbox{Top\kern7sp}%
+      \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+      \ifdim \wd2 > 7sp
+        \ifdim \wd2 = \wd\topbox \else
+          \putwordSection{} ``\printedrefname'' \putwordin{}\space
+        \fi
+      \fi
+      \cite{\printedmanual}%
     \else
-      % Reference within this manual.
+      % Reference in this manual.
       %
       % _ (for example) has to be the character _ for the purposes of the
       % control sequence corresponding to the node, but it has to expand
@@ -8031,37 +7959,11 @@ end
       %
       % output the `page 3'.
       \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-    \fi\fi
+    \fi
   \fi
   \endlink
 \endgroup}
 
-% Output a cross-manual xref to #1.  Used just above (twice).
-% 
-% Only include the text "Section ``foo'' in" if the foo is neither
-% missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
-% "see The Foo Manual", the idea being to refer to the whole manual.
-% 
-% But, this being TeX, we can't easily compare our node name against the
-% string "Top" while ignoring the possible spaces before and after in
-% the input.  By adding the arbitrary 7sp below, we make it much less
-% likely that a real node name would have the same width as "Top" (e.g.,
-% in a monospaced font).  Hopefully it will never happen in practice.
-% 
-% For the same basic reason, we retypeset the "Top" at every
-% reference, since the current font is indeterminate.
-% 
-\def\crossmanualxref#1{%
-  \setbox\toprefbox = \hbox{Top\kern7sp}%
-  \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
-  \ifdim \wd2 > 7sp  % nonempty?
-    \ifdim \wd2 = \wd\toprefbox \else  % same as Top?
-      \putwordSection{} ``\printedrefname'' \putwordin{}\space
-    \fi
-  \fi
-  #1%
-}
-
 % This macro is called from \xrefX for the `[nodename]' part of xref
 % output.  It's a separate macro only so it can be changed more easily,
 % since square brackets don't work well in some documents.  Particularly
@@ -9993,26 +9895,22 @@ directory should work if nowhere else does.}
 @gdef at otherbackslash{@let\=@realbackslash}
 
 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.  Also revert - to its normal character, in
-% case the active - from code has slipped in.
-%
-{@catcode`- = @active
- @gdef at normalturnoffactive{%
-   @let-=@normaldash
-   @let"=@normaldoublequote
-   @let$=@normaldollar %$ font-lock fix
-   @let+=@normalplus
-   @let<=@normalless
-   @let>=@normalgreater
-   @let\=@normalbackslash
-   @let^=@normalcaret
-   @let_=@normalunderscore
-   @let|=@normalverticalbar
-   @let~=@normaltilde
-   @markupsetuplqdefault
-   @markupsetuprqdefault
-   @unsepspaces
- }
+% the literal character `\'.
+%
+ at def@normalturnoffactive{%
+  @let"=@normaldoublequote
+  @let$=@normaldollar %$ font-lock fix
+  @let+=@normalplus
+  @let<=@normalless
+  @let>=@normalgreater
+  @let\=@normalbackslash
+  @let^=@normalcaret
+  @let_=@normalunderscore
+  @let|=@normalverticalbar
+  @let~=@normaltilde
+  @markupsetuplqdefault
+  @markupsetuprqdefault
+  @unsepspaces
 }
 
 % Make _ and + \other characters, temporarily.
diff --git a/configure b/configure
index dc8bcc3..4b0a1a2 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for hkl 4.99.99.1896.
+# Generated by GNU Autoconf 2.69 for hkl 4.99.99.1913.
 #
 # Report bugs to <picca at synchrotron-soleil.fr>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='hkl'
 PACKAGE_TARNAME='hkl'
-PACKAGE_VERSION='4.99.99.1896'
-PACKAGE_STRING='hkl 4.99.99.1896'
+PACKAGE_VERSION='4.99.99.1913'
+PACKAGE_STRING='hkl 4.99.99.1913'
 PACKAGE_BUGREPORT='picca at synchrotron-soleil.fr'
 PACKAGE_URL=''
 
@@ -676,14 +676,11 @@ GTK_DOC_BUILD_HTML_FALSE
 GTK_DOC_BUILD_HTML_TRUE
 ENABLE_GTK_DOC_FALSE
 ENABLE_GTK_DOC_TRUE
-HAVE_GTK_DOC_FALSE
-HAVE_GTK_DOC_TRUE
 GTKDOC_DEPS_LIBS
 GTKDOC_DEPS_CFLAGS
 HTML_DIR
 GTKDOC_MKPDF
 GTKDOC_REBASE
-GTKDOC_CHECK_PATH
 GTKDOC_CHECK
 EMACS
 ASY
@@ -1424,7 +1421,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures hkl 4.99.99.1896 to adapt to many kinds of systems.
+\`configure' configures hkl 4.99.99.1913 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1494,7 +1491,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of hkl 4.99.99.1896:";;
+     short | recursive ) echo "Configuration of hkl 4.99.99.1913:";;
    esac
   cat <<\_ACEOF
 
@@ -1502,12 +1499,10 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
-  --enable-dependency-tracking
-                          do not reject slow dependency extractors
-  --disable-dependency-tracking
-                          speeds up one-time build
+  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -1643,7 +1638,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-hkl configure 4.99.99.1896
+hkl configure 4.99.99.1913
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2317,7 +2312,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by hkl $as_me 4.99.99.1896, which was
+It was created by hkl $as_me 4.99.99.1913, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2699,7 +2694,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
-am__api_version='1.14'
+am__api_version='1.11'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2796,6 +2791,9 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -2806,40 +2804,32 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
 esac
 
-# Do 'set' in a subshell so we don't clobber the current shell's
+# Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-     if test "$*" = "X"; then
-	# -L didn't work.
-	set X `ls -t "$srcdir/configure" conftest.file`
-     fi
-     if test "$*" != "X $srcdir/configure conftest.file" \
-	&& test "$*" != "X conftest.file $srcdir/configure"; then
-
-	# If neither matched, then we have a broken ls.  This can happen
-	# if, for instance, CONFIG_SHELL is bash and it inherits a
-	# broken ls alias from the environment.  This has actually
-	# happened.  Such a system could not be considered "sane".
-	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
    test "$2" = conftest.file
    )
 then
@@ -2851,16 +2841,6 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -2871,8 +2851,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2883,12 +2863,12 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
-  am_missing_run="$MISSING "
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -2900,10 +2880,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip".  However 'strip' might not be the right
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
+# will honor the `STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -3042,6 +3022,12 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -3129,10 +3115,10 @@ if test "${enable_silent_rules+set}" = set; then :
   enableval=$enable_silent_rules;
 fi
 
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=1;;
 esac
 am_make=${MAKE-make}
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
@@ -3185,7 +3171,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='hkl'
- VERSION='4.99.99.1896'
+ VERSION='4.99.99.1913'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3213,12 +3199,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-mkdir_p='$(MKDIR_P)'
-
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
@@ -3226,125 +3206,86 @@ mkdir_p='$(MKDIR_P)'
 AMTAR='$${TAR-tar}'
 
 
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar plaintar pax cpio none'
-
-# The POSIX 1988 'ustar' format is defined with fixed-size fields.
-      # There is notably a 21 bits limit for the UID and the GID.  In fact,
-      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
-      # and bug#13588).
-      am_max_uid=2097151 # 2^21 - 1
-      am_max_gid=$am_max_uid
-      # The $UID and $GID variables are not portable, so we need to resort
-      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
-      # below are definitely unexpected, so allow the users to see them
-      # (that is, avoid stderr redirection).
-      am_uid=`id -u || echo unknown`
-      am_gid=`id -g || echo unknown`
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
-$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
-      if test $am_uid -le $am_max_uid; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-      else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-         _am_tools=none
-      fi
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
-$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
-      if test $am_gid -le $am_max_gid; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        _am_tools=none
-      fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
 $as_echo_n "checking how to create a ustar tar archive... " >&6; }
-
-  # Go ahead even if we have the value already cached.  We do so because we
-  # need to set the values for the 'am__tar' and 'am__untar' variables.
-  _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
-
-  for _am_tool in $_am_tools; do
-    case $_am_tool in
-    gnutar)
-      for _am_tar in tar gnutar gtar; do
-        { echo "$as_me:$LINENO: $_am_tar --version" >&5
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      { echo "$as_me:$LINENO: $_am_tar --version" >&5
    ($_am_tar --version) >&5 2>&5
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); } && break
-      done
-      am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
-      am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
-      am__untar="$_am_tar -xf -"
-      ;;
-    plaintar)
-      # Must skip GNU tar: if it does not support --format= it doesn't create
-      # ustar tarball either.
-      (tar --version) >/dev/null 2>&1 && continue
-      am__tar='tar chf - "$$tardir"'
-      am__tar_='tar chf - "$tardir"'
-      am__untar='tar xf -'
-      ;;
-    pax)
-      am__tar='pax -L -x ustar -w "$$tardir"'
-      am__tar_='pax -L -x ustar -w "$tardir"'
-      am__untar='pax -r'
-      ;;
-    cpio)
-      am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
-      am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
-      am__untar='cpio -i -H ustar -d'
-      ;;
-    none)
-      am__tar=false
-      am__tar_=false
-      am__untar=false
-      ;;
-    esac
+    done
+    am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x ustar -w "$$tardir"'
+    am__tar_='pax -L -x ustar -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+    am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+    am__untar='cpio -i -H ustar -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
 
-    # If the value was cached, stop now.  We just wanted to have am__tar
-    # and am__untar set.
-    test -n "${am_cv_prog_tar_ustar}" && break
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_ustar}" && break
 
-    # tar/untar a dummy directory, and stop if the command works.
-    rm -rf conftest.dir
-    mkdir conftest.dir
-    echo GrepMe > conftest.dir/file
-    { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
    (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }
-    rm -rf conftest.dir
-    if test -s conftest.tar; then
-      { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
    ($am__untar <conftest.tar) >&5 2>&5
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }
-      { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
-   (cat conftest.dir/file) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
-      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-    fi
-  done
-  rm -rf conftest.dir
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
 
-  if ${am_cv_prog_tar_ustar+:} false; then :
+if ${am_cv_prog_tar_ustar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   am_cv_prog_tar_ustar=$_am_tool
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
 $as_echo "$am_cv_prog_tar_ustar" >&6; }
 
 
@@ -3352,49 +3293,6 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
 
 
 
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake at gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
-  fi
-fi
-
-
 # Checks for programs.
 for ac_prog in gawk mawk nawk awk
 do
@@ -3457,7 +3355,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
+# Ignore all kinds of additional output from `make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -4290,65 +4188,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -4360,8 +4199,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4396,16 +4235,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -4414,8 +4253,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -4423,7 +4262,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
+      # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -4922,8 +4761,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named 'D' -- because '-MD' means "put the output
-  # in D".
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4958,16 +4797,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
-      # Solaris 10 /bin/sh.
-      echo '/* dummy */' > sub/conftst$i.h
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle '-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs.
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -4976,8 +4815,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # After this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested.
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -4985,7 +4824,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok '-c -o', but also, the minuso test has
+      # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -6093,8 +5932,7 @@ else
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-	test undefined != "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -7615,7 +7453,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -7631,19 +7469,9 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	    LD="${LD-ld} -m elf_i386_fbsd"
 	    ;;
 	  x86_64-*linux*)
-	    case `/usr/bin/file conftest.o` in
-	      *x86-64*)
-		LD="${LD-ld} -m elf32_x86_64"
-		;;
-	      *)
-		LD="${LD-ld} -m elf_i386"
-		;;
-	    esac
-	    ;;
-	  powerpc64le-*)
-	    LD="${LD-ld} -m elf32lppclinux"
+	    LD="${LD-ld} -m elf_i386"
 	    ;;
-	  powerpc64-*)
+	  ppc64-*linux*|powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
 	    ;;
 	  s390x-*linux*)
@@ -7662,10 +7490,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_x86_64"
 	    ;;
-	  powerpcle-*)
-	    LD="${LD-ld} -m elf64lppc"
-	    ;;
-	  powerpc-*)
+	  ppc*-*linux*|powerpc*-*linux*)
 	    LD="${LD-ld} -m elf64ppc"
 	    ;;
 	  s390*-*linux*|s390*-*tpf*)
@@ -15873,10 +15698,10 @@ if test "${enable_silent_rules+set}" = set; then :
   enableval=$enable_silent_rules;
 fi
 
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=1;;
 esac
 am_make=${MAKE-make}
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
@@ -15929,7 +15754,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VREV 1896
+#define VREV 1913
 _ACEOF
 
 version_info="103:99:99"
@@ -16397,10 +16222,13 @@ int
 main ()
 {
   unsigned int major, minor, micro;
+  char *tmp_version;
 
   fclose (fopen ("conf.glibtest", "w"));
 
-  if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, &micro) != 3) {
+  /* HP/UX 9 (%@#!) writes to sscanf strings */
+  tmp_version = g_strdup("$min_glib_version");
+  if (sscanf(tmp_version, "%u.%u.%u", &major, &minor, &micro) != 3) {
      printf("%s, bad version string\n", "$min_glib_version");
      exit(1);
    }
@@ -17466,78 +17294,16 @@ fi
 
 
 
-  gtk_doc_requires="gtk-doc >= 1.9"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
-$as_echo_n "checking for gtk-doc... " >&6; }
-  if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  have_gtk_doc=yes
-else
-  have_gtk_doc=no
-fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
-$as_echo "$have_gtk_doc" >&6; }
-
-  if test "$have_gtk_doc" = "no"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-  You will not be able to create source packages with 'make dist'
-  because $gtk_doc_requires is not found." >&5
-$as_echo "$as_me: WARNING:
-  You will not be able to create source packages with 'make dist'
-  because $gtk_doc_requires is not found." >&2;}
-  fi
-
-            # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+    # Extract the first word of "gtkdoc-check", so it can be a program name with args.
 set dummy gtkdoc-check; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GTKDOC_CHECK+:} false; then :
+if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$GTKDOC_CHECK"; then
-  ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  # Extract the first word of "gtkdoc-check", so it can be a program name with args.
-set dummy gtkdoc-check; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_CHECK_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_CHECK_PATH in
+  case $GTKDOC_CHECK in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
+  ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -17547,7 +17313,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_GTKDOC_CHECK_PATH="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -17558,10 +17324,10 @@ IFS=$as_save_IFS
   ;;
 esac
 fi
-GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
-if test -n "$GTKDOC_CHECK_PATH"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
-$as_echo "$GTKDOC_CHECK_PATH" >&6; }
+GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -17674,19 +17440,18 @@ else
 fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
-
-  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
-    as_fn_error $? "
-  You must have $gtk_doc_requires installed to build documentation for
-  $PACKAGE_NAME. Please install gtk-doc or disable building the
-  documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
-  fi
-
-    if test "x$PACKAGE_NAME" != "xglib"; then
+  if test x$enable_gtk_doc = xyes; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.9\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.9") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  :
+else
+  as_fn_error $? "You need to have gtk-doc >= 1.9 installed to build $PACKAGE_NAME" "$LINENO" 5
+fi
+        if test "x$PACKAGE_NAME" != "xglib"; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
@@ -17746,11 +17511,31 @@ fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
 
-	:
+	as_fn_error $? "Package requirements (glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0) were not met:
+
+$GTKDOC_DEPS_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
+and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-	:
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
+and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
 else
 	GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
 	GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
@@ -17758,8 +17543,14 @@ else
 $as_echo "yes" >&6; }
 
 fi
+    fi
   fi
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
     # Check whether --enable-gtk-doc-html was given.
 if test "${enable_gtk_doc_html+set}" = set; then :
   enableval=$enable_gtk_doc_html;
@@ -17779,18 +17570,6 @@ fi
     enable_gtk_doc_pdf=no
   fi
 
-  if test -z "$AM_DEFAULT_VERBOSITY"; then
-    AM_DEFAULT_VERBOSITY=1
-  fi
-
-
-   if test x$have_gtk_doc = xyes; then
-  HAVE_GTK_DOC_TRUE=
-  HAVE_GTK_DOC_FALSE='#'
-else
-  HAVE_GTK_DOC_TRUE='#'
-  HAVE_GTK_DOC_FALSE=
-fi
 
    if test x$enable_gtk_doc = xyes; then
   ENABLE_GTK_DOC_TRUE=
@@ -18937,14 +18716,6 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -18973,10 +18744,6 @@ if test -z "${HKL_DOC_TRUE}" && test -z "${HKL_DOC_FALSE}"; then
   as_fn_error $? "conditional \"HKL_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
   as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -19406,7 +19173,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by hkl $as_me 4.99.99.1896, which was
+This file was extended by hkl $as_me 4.99.99.1913, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19472,7 +19239,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-hkl config.status 4.99.99.1896
+hkl config.status 4.99.99.1913
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -20592,7 +20359,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Older Autoconf quotes --file arguments for eval, but not when files
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -20605,7 +20372,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
+    # We used to match only the files named `Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -20639,19 +20406,21 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
+    # from the Makefile without running `make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
+    test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
diff --git a/data/Makefile.in b/data/Makefile.in
index ed0ee97..a659f42 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,51 +16,23 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -79,7 +52,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = data
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -91,18 +64,12 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -139,7 +106,6 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(hkl3ddir)"
 DATA = $(hkl3d_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -192,7 +158,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -373,11 +338,11 @@ uninstall-hkl3dDATA:
 	@list='$(hkl3d_DATA)'; test -n "$(hkl3ddir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(hkl3ddir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
-
-ctags CTAGS:
+tags: TAGS
+TAGS:
 
-cscope cscopelist:
+ctags: CTAGS
+CTAGS:
 
 
 distdir: $(DISTFILES)
@@ -516,16 +481,16 @@ uninstall-am: uninstall-hkl3dDATA
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	cscopelist-am ctags-am distclean distclean-generic \
-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-hkl3dDATA \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags-am uninstall uninstall-am uninstall-hkl3dDATA
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-hkl3dDATA install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am uninstall-hkl3dDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gtk-doc.make b/gtk-doc.make
index e791656..9841de4 100644
--- a/gtk-doc.make
+++ b/gtk-doc.make
@@ -49,13 +49,9 @@ REPORT_FILES = \
 	$(DOC_MODULE)-undeclared.txt \
 	$(DOC_MODULE)-unused.txt
 
-gtkdoc-check.test: Makefile
-	$(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
-		echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
-		chmod +x $@
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
 
+if ENABLE_GTK_DOC
 if GTK_DOC_BUILD_HTML
 HTML_BUILD_STAMP=html-build.stamp
 else
@@ -67,11 +63,9 @@ else
 PDF_BUILD_STAMP=
 endif
 
-all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-.PHONY: all-gtk-doc
-
-if ENABLE_GTK_DOC
-all-local: all-gtk-doc
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
 endif
 
 docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -80,42 +74,31 @@ $(REPORT_FILES): sgml-build.stamp
 
 #### setup ####
 
-GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V))
-GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_SETUP_0=@echo "  DOC   Preparing build";
-
 setup-build.stamp:
-	-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+	- at if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+	    echo '  DOC   Preparing build'; \
 	    files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
 	    if test "x$$files" != "x" ; then \
 	        for file in $$files ; do \
-	            destdir=`dirname $(abs_builddir)/$$file`; \
-	            test -d "$$destdir" || mkdir -p "$$destdir"; \
 	            test -f $(abs_srcdir)/$$file && \
-	                cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+	                cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
 	        done; \
 	    fi; \
 	fi
-	$(AM_V_at)touch setup-build.stamp
+	@touch setup-build.stamp
 
 
 #### scan ####
 
-GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V))
-GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_SCAN_0=@echo "  DOC   Scanning header files";
-
-GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V))
-GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_INTROSPECT_0=@echo "  DOC   Introspecting gobjects";
-
-scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
-	$(GTK_DOC_V_SCAN)_source_dir='' ; \
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+	@echo '  DOC   Scanning header files'
+	@_source_dir='' ; \
 	for i in $(DOC_SOURCE_DIR) ; do \
 	    _source_dir="$${_source_dir} --source-dir=$$i" ; \
 	done ; \
 	gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
-	$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+	@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+	    echo "  DOC   Introspecting gobjects"; \
 	    scanobj_options=""; \
 	    gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	    if test "$(?)" = "0"; then \
@@ -130,41 +113,32 @@ scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
 	        test -f $$i || touch $$i ; \
 	    done \
 	fi
-	$(AM_V_at)touch scan-build.stamp
+	@touch scan-build.stamp
 
 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
 	@true
 
 #### xml ####
 
-GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V))
-GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_XML_0=@echo "  DOC   Building XML";
-
 sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
-	$(GTK_DOC_V_XML)_source_dir='' ; \
+	@echo '  DOC   Building XML'
+	@_source_dir='' ; \
 	for i in $(DOC_SOURCE_DIR) ; do \
 	    _source_dir="$${_source_dir} --source-dir=$$i" ; \
 	done ; \
 	gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
-	$(AM_V_at)touch sgml-build.stamp
+	@touch sgml-build.stamp
 
 sgml.stamp: sgml-build.stamp
 	@true
 
 #### html ####
 
-GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V))
-GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_HTML_0=@echo "  DOC   Building HTML";
-
-GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V))
-GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_XREF_0=@echo "  DOC   Fixing cross-references";
-
 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-	$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
-	mkhtml_options=""; \
+	@echo '  DOC   Building HTML'
+	@rm -rf html
+	@mkdir html
+	@mkhtml_options=""; \
 	gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	if test "$(?)" = "0"; then \
 	  if test "x$(V)" = "x1"; then \
@@ -185,18 +159,16 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
 	    cp $(abs_builddir)/$$file $(abs_builddir)/html; \
 	  fi; \
 	done;
-	$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-	$(AM_V_at)touch html-build.stamp
+	@echo '  DOC   Fixing cross-references'
+	@gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+	@touch html-build.stamp
 
 #### pdf ####
 
-GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V))
-GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
-GTK_DOC_V_PDF_0=@echo "  DOC   Building PDF";
-
 pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-	$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
-	mkpdf_options=""; \
+	@echo '  DOC   Building PDF'
+	@rm -f $(DOC_MODULE).pdf
+	@mkpdf_options=""; \
 	gtkdoc-mkpdf 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
 	if test "$(?)" = "0"; then \
 	  if test "x$(V)" = "x1"; then \
@@ -213,16 +185,13 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
 	  done; \
 	fi; \
 	gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
-	$(AM_V_at)touch pdf-build.stamp
+	@touch pdf-build.stamp
 
 ##############
 
 clean-local:
 	@rm -f *~ *.bak
 	@rm -rf .libs
-	@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
-	  rm -f $(DOC_MODULE).types; \
-	fi
 
 distclean-local:
 	@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
@@ -231,7 +200,7 @@ distclean-local:
 	    rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
 	fi
 
-maintainer-clean-local:
+maintainer-clean-local: clean
 	@rm -rf xml html
 
 install-data-local:
@@ -267,17 +236,15 @@ uninstall-local:
 #
 # Require gtk-doc when making dist
 #
-if HAVE_GTK_DOC
-dist-check-gtkdoc: docs
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
 else
 dist-check-gtkdoc:
-	@echo "*** gtk-doc is needed to run 'make dist'.         ***"
-	@echo "*** gtk-doc was not found when 'configure' ran.   ***"
-	@echo "*** please install gtk-doc and rerun 'configure'. ***"
+	@echo "*** gtk-doc must be installed and enabled in order to make dist"
 	@false
 endif
 
-dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
+dist-hook: dist-check-gtkdoc dist-hook-local
 	@mkdir $(distdir)/html
 	@cp ./html/* $(distdir)/html
 	@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/gui/Makefile.in b/gui/Makefile.in
index ad415e6..375509a 100644
--- a/gui/Makefile.in
+++ b/gui/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,51 +17,23 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -104,9 +77,8 @@ bin_PROGRAMS = ghkl$(EXEEXT)
 
 @HKL3D_TRUE at am__append_5 = 3d.ui
 subdir = gui
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(dist_appl_DATA) \
-	$(am__dist_pkgdata_DATA_DIST)
+DIST_COMMON = $(am__dist_pkgdata_DATA_DIST) $(dist_appl_DATA) \
+	$(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -133,19 +105,6 @@ ghkl_DEPENDENCIES = $(top_builddir)/hkl/libhkl.la $(am__append_3)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -158,16 +117,17 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_ at AM_V@)
 am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
@@ -176,16 +136,17 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
 AM_V_CXX = $(am__v_CXX_ at AM_V@)
 am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
 am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ghkl_SOURCES) $(nodist_EXTRA_ghkl_SOURCES)
 DIST_SOURCES = $(am__ghkl_SOURCES_DIST)
 am__can_run_installinfo = \
@@ -222,23 +183,6 @@ am__uninstall_files_from_dir = { \
   }
 am__dist_pkgdata_DATA_DIST = ghkl.ui pseudo.ui 3d.ui
 DATA = $(dist_appl_DATA) $(dist_pkgdata_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -293,7 +237,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -468,12 +411,10 @@ install-binPROGRAMS: $(bin_PROGRAMS)
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p \
-	 || test -f $$p1 \
-	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' \
-	    -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -494,8 +435,7 @@ uninstall-binPROGRAMS:
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' \
-	`; \
+	      -e 's/$$/$(EXEEXT)/' `; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -508,7 +448,6 @@ clean-binPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-
 ghkl$(EXEEXT): $(ghkl_OBJECTS) $(ghkl_DEPENDENCIES) $(EXTRA_ghkl_DEPENDENCIES) 
 	@rm -f ghkl$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ghkl_OBJECTS) $(ghkl_LDADD) $(LIBS)
@@ -621,15 +560,26 @@ uninstall-dist_pkgdataDATA:
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -641,11 +591,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -654,21 +608,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -813,21 +752,21 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_applDATA \
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
-	clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
-	ctags ctags-am distclean distclean-compile distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-binPROGRAMS \
-	install-data install-data-am install-dist_applDATA \
-	install-dist_pkgdataDATA install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
-	uninstall-dist_applDATA uninstall-dist_pkgdataDATA
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binPROGRAMS install-data install-data-am \
+	install-dist_applDATA install-dist_pkgdataDATA install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-binPROGRAMS uninstall-dist_applDATA \
+	uninstall-dist_pkgdataDATA
 
 
 # Support for GNU Flymake, in Emacs.
diff --git a/gui/ghkl.desktop b/gui/ghkl.desktop
index 76856a8..5a483e7 100644
--- a/gui/ghkl.desktop
+++ b/gui/ghkl.desktop
@@ -6,5 +6,4 @@ GenericName=Diffractometer Calculation
 Comment=hkl library graphical interface.
 TryExec=ghkl
 Exec=ghkl
-MimeType=application/x-foo;
 Categories=Education;Science;Physics;GTK
\ No newline at end of file
diff --git a/gui/hkl-gui-macros.h b/gui/hkl-gui-macros.h
index eda6157..f141c66 100644
--- a/gui/hkl-gui-macros.h
+++ b/gui/hkl-gui-macros.h
@@ -43,7 +43,7 @@ static void get_ui(GtkBuilder *builder, const char *filename)
 	if (0 == access(filename, R_OK))
 		gtk_builder_add_from_file (builder, filename, NULL);
 	else{
-		char *ui = g_build_filename(PKGDATA, filename);
+		char *ui = g_build_filename(PKGDATA, filename, NULL);
 		gtk_builder_add_from_file (builder, ui, NULL);
 		g_free(ui);
 	}
diff --git a/hkl/Makefile.in b/hkl/Makefile.in
index c7e1344..5ac3cc3 100644
--- a/hkl/Makefile.in
+++ b/hkl/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,51 +17,23 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -91,8 +64,7 @@ host_triplet = @host@
 @HAVE_INTROSPECTION_TRUE at am__append_3 = $(GOBJECT_CFLAGS)
 @HAVE_INTROSPECTION_TRUE at am__append_4 = Hkl- at VMAJ@.0.gir
 subdir = hkl
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -140,7 +112,6 @@ libdummy_la_OBJECTS = $(am_libdummy_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
 libhkl_la_DEPENDENCIES = ccan/libccan.la
 am__libhkl_la_SOURCES_DIST = hkl-axis.c hkl-detector.c \
 	hkl-detector-factory.c hkl-factory.c hkl-geometry.c \
@@ -195,18 +166,6 @@ libhkl_la_OBJECTS = $(am_libhkl_la_OBJECTS)
 libhkl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libhkl_la_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -219,26 +178,29 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_ at AM_V@)
 am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libdummy_la_SOURCES) $(libhkl_la_SOURCES)
 DIST_SOURCES = $(libdummy_la_SOURCES) $(am__libhkl_la_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -247,29 +209,9 @@ am__can_run_installinfo = \
 DATA = $(gir_DATA) $(typelibs_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
 	distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -350,7 +292,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -621,7 +562,6 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -648,29 +588,23 @@ uninstall-libLTLIBRARIES:
 
 clean-libLTLIBRARIES:
 	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 libdummy.la: $(libdummy_la_OBJECTS) $(libdummy_la_DEPENDENCIES) $(EXTRA_libdummy_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(LINK)  $(libdummy_la_OBJECTS) $(libdummy_la_LIBADD) $(LIBS)
-
 libhkl.la: $(libhkl_la_OBJECTS) $(libhkl_la_DEPENDENCIES) $(EXTRA_libhkl_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(libhkl_la_LINK) -rpath $(libdir) $(libhkl_la_OBJECTS) $(libhkl_la_LIBADD) $(LIBS)
 
@@ -1019,25 +953,22 @@ uninstall-typelibsDATA:
 	dir='$(DESTDIR)$(typelibsdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -1052,12 +983,57 @@ $(am__recursive_targets):
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
 
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1073,7 +1049,12 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -1085,11 +1066,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -1098,21 +1083,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1283,24 +1253,26 @@ ps-am:
 uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
 	uninstall-typelibsDATA
 
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-	check-am clean clean-generic clean-libLTLIBRARIES \
-	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
-	ctags-am distclean distclean-compile distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-girDATA install-html install-html-am \
-	install-info install-info-am install-libLTLIBRARIES \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip install-typelibsDATA installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am uninstall-girDATA \
-	uninstall-libLTLIBRARIES uninstall-typelibsDATA
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+	install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am clean clean-generic \
+	clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
+	ctags ctags-recursive distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-girDATA install-html \
+	install-html-am install-info install-info-am \
+	install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip install-typelibsDATA \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-girDATA uninstall-libLTLIBRARIES \
+	uninstall-typelibsDATA
 
 	-fvisibility=hidden
 
diff --git a/hkl/ccan/Makefile.in b/hkl/ccan/Makefile.in
index f4fb219..4d828f6 100644
--- a/hkl/ccan/Makefile.in
+++ b/hkl/ccan/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,51 +17,23 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -80,8 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = hkl/ccan
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(nobase_ccaninclude_HEADERS)
+DIST_COMMON = $(nobase_ccaninclude_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -102,19 +75,6 @@ libccan_la_OBJECTS = $(am_libccan_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -127,16 +87,20 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_ at AM_V@)
 am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libccan_la_SOURCES)
 DIST_SOURCES = $(libccan_la_SOURCES)
 am__can_run_installinfo = \
@@ -173,23 +137,6 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(ccanincludedir)"
 HEADERS = $(nobase_ccaninclude_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -244,7 +191,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -425,14 +371,12 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 str/$(am__dirstamp):
 	@$(MKDIR_P) str
 	@: > str/$(am__dirstamp)
@@ -471,22 +415,23 @@ list/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) list/$(DEPDIR)
 	@: > list/$(DEPDIR)/$(am__dirstamp)
 list/list.lo: list/$(am__dirstamp) list/$(DEPDIR)/$(am__dirstamp)
-
 libccan.la: $(libccan_la_OBJECTS) $(libccan_la_DEPENDENCIES) $(EXTRA_libccan_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(LINK)  $(libccan_la_OBJECTS) $(libccan_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
-	-rm -f autodata/*.$(OBJEXT)
-	-rm -f autodata/*.lo
-	-rm -f list/*.$(OBJEXT)
-	-rm -f list/*.lo
-	-rm -f noerr/*.$(OBJEXT)
-	-rm -f noerr/*.lo
-	-rm -f ptr_valid/*.$(OBJEXT)
-	-rm -f ptr_valid/*.lo
-	-rm -f str/*.$(OBJEXT)
-	-rm -f str/*.lo
+	-rm -f autodata/autodata.$(OBJEXT)
+	-rm -f autodata/autodata.lo
+	-rm -f list/list.$(OBJEXT)
+	-rm -f list/list.lo
+	-rm -f noerr/noerr.$(OBJEXT)
+	-rm -f noerr/noerr.lo
+	-rm -f ptr_valid/ptr_valid.$(OBJEXT)
+	-rm -f ptr_valid/ptr_valid.lo
+	-rm -f str/debug.$(OBJEXT)
+	-rm -f str/debug.lo
+	-rm -f str/str.$(OBJEXT)
+	-rm -f str/str.lo
 
 distclean-compile:
 	-rm -f *.tab.c
@@ -557,15 +502,26 @@ uninstall-nobase_ccanincludeHEADERS:
 	$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
 	dir='$(DESTDIR)$(ccanincludedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -577,11 +533,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -590,21 +550,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -759,19 +704,19 @@ uninstall-am: uninstall-nobase_ccanincludeHEADERS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
-	ctags-am distclean distclean-compile distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-nobase_ccanincludeHEADERS \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-nobase_ccanincludeHEADERS install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am \
 	uninstall-nobase_ccanincludeHEADERS
 
 
diff --git a/hkl/hkl-binding-private.h b/hkl/hkl-binding-private.h
index a8895cd..28b0c4a 100644
--- a/hkl/hkl-binding-private.h
+++ b/hkl/hkl-binding-private.h
@@ -64,6 +64,9 @@ HKLAPI const char **hkl_engine_pseudo_axis_names_get_binding(HklEngine *self,
 HKLAPI const char **hkl_engine_parameters_names_get_binding(const HklEngine *self,
 							    size_t *length) HKL_ARG_NONNULL(1, 2);
 
+HKLAPI double *hkl_engine_parameters_values_get_binding(const HklEngine *self, guint *len,
+							HklUnitEnum unit_type) HKL_ARG_NONNULL(1, 2);
+
 HKLAPI const char **hkl_engine_axis_names_get_binding(const HklEngine *self,
 						      HklEngineAxisNamesGet mode,
 						      size_t *length) HKL_ARG_NONNULL(1, 3);
diff --git a/hkl/hkl-binding.c b/hkl/hkl-binding.c
index ddf089f..1eb5d38 100644
--- a/hkl/hkl-binding.c
+++ b/hkl/hkl-binding.c
@@ -211,6 +211,37 @@ const char **hkl_engine_axis_names_get_binding(const HklEngine *self,
 }
 
 /**
+ * hkl_engine_parameters_values_get_binding:
+ * @self: the this ptr
+ * @len: (out caller-allocates): the length of the returned array
+ * @unit_type: the unit type (default or user) of the returned value
+ *
+ * Rename to: hkl_engine_parameters_values_get
+ *
+ * Return value: (array length=len) (transfer container): list of parameters values,
+ *          free the list with free when done.
+ **/
+double *hkl_engine_parameters_values_get_binding(const HklEngine *self, guint *len,
+						 HklUnitEnum unit_type)
+{
+	double *values;
+	uint i = 0;
+	HklParameter **parameter;
+
+	if(!self || !len || !self->mode || darray_size(self->mode->parameters) == 0)
+		return NULL;
+
+	*len = darray_size(self->mode->parameters);
+	values = malloc(*len * sizeof(*values));
+
+	darray_foreach(parameter, self->mode->parameters){
+		values[i++] = hkl_parameter_value_get(*parameter, unit_type);
+	}
+
+	return values;
+}
+
+/**
  * hkl_engine_pseudo_axis_values_get_binding:
  * @self: the this ptr
  * @len: (out caller-allocates): the length of the returned array
diff --git a/hkl/hkl-pseudoaxis.c b/hkl/hkl-pseudoaxis.c
index 008967c..c39bd19 100644
--- a/hkl/hkl-pseudoaxis.c
+++ b/hkl/hkl-pseudoaxis.c
@@ -232,7 +232,7 @@ out:
 /**
  * hkl_engine_pseudo_axis_get:
  * @self: the this ptr
- * @name: the name of the expected psudo_axis
+ * @name: the name of the expected pseudo_axis
  * @error: return location for a GError, or NULL
  *
  * get the #HklParameter with the given @name.
@@ -375,7 +375,7 @@ void hkl_engine_parameters_values_get(const HklEngine *self,
 }
 
 /**
- * hkl_engine_parameters_values_set: (skip)
+ * hkl_engine_parameters_values_set:
  * @self: the this ptr
  * @values: (array length=n_values): the values to set
  * @n_values: the size of the values array.
diff --git a/hkl3d/Makefile.in b/hkl3d/Makefile.in
index 6256a49..10c0095 100644
--- a/hkl3d/Makefile.in
+++ b/hkl3d/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -18,51 +19,23 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -82,8 +55,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = hkl3d
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp $(noinst_HEADERS)
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -102,19 +75,6 @@ libhkl3d_la_OBJECTS = $(am_libhkl3d_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -127,16 +87,20 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
 AM_V_CXX = $(am__v_CXX_ at AM_V@)
 am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
 am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libhkl3d_la_SOURCES)
 DIST_SOURCES = $(libhkl3d_la_SOURCES)
 am__can_run_installinfo = \
@@ -145,23 +109,6 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 HEADERS = $(noinst_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -216,7 +163,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -393,15 +339,12 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 libhkl3d.la: $(libhkl3d_la_OBJECTS) $(libhkl3d_la_DEPENDENCIES) $(EXTRA_libhkl3d_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(CXXLINK)  $(libhkl3d_la_OBJECTS) $(libhkl3d_la_LIBADD) $(LIBS)
 
@@ -443,15 +386,26 @@ mostlyclean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -463,11 +417,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -476,21 +434,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -632,19 +575,18 @@ uninstall-am:
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
-	ctags-am distclean distclean-compile distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am
 
 
 # Support for GNU Flymake, in Emacs.
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
index 3675543..0ada151 100644
--- a/m4/gtk-doc.m4
+++ b/m4/gtk-doc.m4
@@ -1,6 +1,6 @@
 dnl -*- mode: autoconf -*-
 
-# serial 2
+# serial 1
 
 dnl Usage:
 dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
@@ -10,24 +10,8 @@ AC_DEFUN([GTK_DOC_CHECK],
   AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
   AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
 
-  ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
-  AC_MSG_CHECKING([for gtk-doc])
-  PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
-  AC_MSG_RESULT($have_gtk_doc)
-
-  if test "$have_gtk_doc" = "no"; then
-      AC_MSG_WARN([
-  You will not be able to create source packages with 'make dist'
-  because $gtk_doc_requires is not found.])
-  fi
-
   dnl check for tools we added during development
-  dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
-  dnl may not be writable by the user. Currently, automake requires that the
-  dnl test name must end in '.test'.
-  dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
-  AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
-  AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
+  AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
   AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
   AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
 
@@ -44,21 +28,21 @@ AC_DEFUN([GTK_DOC_CHECK],
                    [use gtk-doc to build documentation [[default=no]]]),,
     [enable_gtk_doc=no])
 
-  AC_MSG_CHECKING([whether to build gtk-doc documentation])
-  AC_MSG_RESULT($enable_gtk_doc)
-
-  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
-    AC_MSG_ERROR([
-  You must have $gtk_doc_requires installed to build documentation for
-  $PACKAGE_NAME. Please install gtk-doc or disable building the
-  documentation by adding '--disable-gtk-doc' to '[$]0'.])
+  if test x$enable_gtk_doc = xyes; then
+    ifelse([$1],[],
+      [PKG_CHECK_EXISTS([gtk-doc],,
+                        AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
+      [PKG_CHECK_EXISTS([gtk-doc >= $1],,
+                        AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
+    dnl don't check for glib if we build glib
+    if test "x$PACKAGE_NAME" != "xglib"; then
+      dnl don't fail if someone does not have glib
+      PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,)
+    fi
   fi
 
-  dnl don't check for glib if we build glib
-  if test "x$PACKAGE_NAME" != "xglib"; then
-    dnl don't fail if someone does not have glib
-    PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,[:])
-  fi
+  AC_MSG_CHECKING([whether to build gtk-doc documentation])
+  AC_MSG_RESULT($enable_gtk_doc)
 
   dnl enable/disable output formats
   AC_ARG_ENABLE([gtk-doc-html],
@@ -74,12 +58,7 @@ AC_DEFUN([GTK_DOC_CHECK],
     enable_gtk_doc_pdf=no
   fi
 
-  if test -z "$AM_DEFAULT_VERBOSITY"; then
-    AM_DEFAULT_VERBOSITY=1
-  fi
-  AC_SUBST([AM_DEFAULT_VERBOSITY])
 
-  AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
   AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
   AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
   AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index d7c043f..534d1cc 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1312,7 +1312,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -1324,19 +1324,9 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	    LD="${LD-ld} -m elf_i386_fbsd"
 	    ;;
 	  x86_64-*linux*)
-	    case `/usr/bin/file conftest.o` in
-	      *x86-64*)
-		LD="${LD-ld} -m elf32_x86_64"
-		;;
-	      *)
-		LD="${LD-ld} -m elf_i386"
-		;;
-	    esac
-	    ;;
-	  powerpc64le-*)
-	    LD="${LD-ld} -m elf32lppclinux"
+	    LD="${LD-ld} -m elf_i386"
 	    ;;
-	  powerpc64-*)
+	  ppc64-*linux*|powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
 	    ;;
 	  s390x-*linux*)
@@ -1355,10 +1345,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_x86_64"
 	    ;;
-	  powerpcle-*)
-	    LD="${LD-ld} -m elf64lppc"
-	    ;;
-	  powerpc-*)
+	  ppc*-*linux*|powerpc*-*linux*)
 	    LD="${LD-ld} -m elf64ppc"
 	    ;;
 	  s390*-*linux*|s390*-*tpf*)
@@ -1701,8 +1688,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len" && \
-	test undefined != "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 7757730..fda4791 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -14,51 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -88,8 +61,7 @@ host_triplet = @host@
 
 check_PROGRAMS = runtests$(EXEEXT) $(am__EXEEXT_2)
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -125,7 +97,6 @@ hkl_axis_t_DEPENDENCIES = $(top_builddir)/hkl/libhkl.la \
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
 hkl_bench_t_SOURCES = hkl-bench-t.c
 hkl_bench_t_OBJECTS = hkl-bench-t.$(OBJEXT)
 hkl_bench_t_LDADD = $(LDADD)
@@ -261,18 +232,6 @@ runtests_LDADD = $(LDADD)
 runtests_DEPENDENCIES = $(top_builddir)/hkl/libhkl.la \
 	$(top_builddir)/tests/tap/libtap.a $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -285,16 +244,17 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_ at AM_V@)
 am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
@@ -303,16 +263,17 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
 AM_V_CXX = $(am__v_CXX_ at AM_V@)
 am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
+am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
 am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = hkl-axis-t.c hkl-bench-t.c hkl-detector-t.c hkl-geometry-t.c \
 	hkl-interval-t.c hkl-lattice-t.c hkl-matrix-t.c \
 	hkl-parameter-t.c hkl-pseudoaxis-e4ch-t.c \
@@ -331,14 +292,13 @@ DIST_SOURCES = hkl-axis-t.c hkl-bench-t.c hkl-detector-t.c \
 	hkl-pseudoaxis-zaxis-t.c hkl-quaternion-t.c hkl-sample-t.c \
 	hkl-source-t.c hkl-unit-t.c hkl-vector-t.c hkl3d-test-t.c \
 	runtests.c
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -346,29 +306,9 @@ am__can_run_installinfo = \
   esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
 	distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = tap . bindings
@@ -449,7 +389,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -627,95 +566,72 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-
 hkl-axis-t$(EXEEXT): $(hkl_axis_t_OBJECTS) $(hkl_axis_t_DEPENDENCIES) $(EXTRA_hkl_axis_t_DEPENDENCIES) 
 	@rm -f hkl-axis-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_axis_t_OBJECTS) $(hkl_axis_t_LDADD) $(LIBS)
-
 hkl-bench-t$(EXEEXT): $(hkl_bench_t_OBJECTS) $(hkl_bench_t_DEPENDENCIES) $(EXTRA_hkl_bench_t_DEPENDENCIES) 
 	@rm -f hkl-bench-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_bench_t_OBJECTS) $(hkl_bench_t_LDADD) $(LIBS)
-
 hkl-detector-t$(EXEEXT): $(hkl_detector_t_OBJECTS) $(hkl_detector_t_DEPENDENCIES) $(EXTRA_hkl_detector_t_DEPENDENCIES) 
 	@rm -f hkl-detector-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_detector_t_OBJECTS) $(hkl_detector_t_LDADD) $(LIBS)
-
 hkl-geometry-t$(EXEEXT): $(hkl_geometry_t_OBJECTS) $(hkl_geometry_t_DEPENDENCIES) $(EXTRA_hkl_geometry_t_DEPENDENCIES) 
 	@rm -f hkl-geometry-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_geometry_t_OBJECTS) $(hkl_geometry_t_LDADD) $(LIBS)
-
 hkl-interval-t$(EXEEXT): $(hkl_interval_t_OBJECTS) $(hkl_interval_t_DEPENDENCIES) $(EXTRA_hkl_interval_t_DEPENDENCIES) 
 	@rm -f hkl-interval-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_interval_t_OBJECTS) $(hkl_interval_t_LDADD) $(LIBS)
-
 hkl-lattice-t$(EXEEXT): $(hkl_lattice_t_OBJECTS) $(hkl_lattice_t_DEPENDENCIES) $(EXTRA_hkl_lattice_t_DEPENDENCIES) 
 	@rm -f hkl-lattice-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_lattice_t_OBJECTS) $(hkl_lattice_t_LDADD) $(LIBS)
-
 hkl-matrix-t$(EXEEXT): $(hkl_matrix_t_OBJECTS) $(hkl_matrix_t_DEPENDENCIES) $(EXTRA_hkl_matrix_t_DEPENDENCIES) 
 	@rm -f hkl-matrix-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_matrix_t_OBJECTS) $(hkl_matrix_t_LDADD) $(LIBS)
-
 hkl-parameter-t$(EXEEXT): $(hkl_parameter_t_OBJECTS) $(hkl_parameter_t_DEPENDENCIES) $(EXTRA_hkl_parameter_t_DEPENDENCIES) 
 	@rm -f hkl-parameter-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_parameter_t_OBJECTS) $(hkl_parameter_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-e4ch-t$(EXEEXT): $(hkl_pseudoaxis_e4ch_t_OBJECTS) $(hkl_pseudoaxis_e4ch_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_e4ch_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-e4ch-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_e4ch_t_OBJECTS) $(hkl_pseudoaxis_e4ch_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-e4cv-t$(EXEEXT): $(hkl_pseudoaxis_e4cv_t_OBJECTS) $(hkl_pseudoaxis_e4cv_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_e4cv_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-e4cv-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_e4cv_t_OBJECTS) $(hkl_pseudoaxis_e4cv_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-e6c-t$(EXEEXT): $(hkl_pseudoaxis_e6c_t_OBJECTS) $(hkl_pseudoaxis_e6c_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_e6c_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-e6c-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_e6c_t_OBJECTS) $(hkl_pseudoaxis_e6c_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-k4cv-t$(EXEEXT): $(hkl_pseudoaxis_k4cv_t_OBJECTS) $(hkl_pseudoaxis_k4cv_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_k4cv_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-k4cv-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_k4cv_t_OBJECTS) $(hkl_pseudoaxis_k4cv_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-k6c-t$(EXEEXT): $(hkl_pseudoaxis_k6c_t_OBJECTS) $(hkl_pseudoaxis_k6c_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_k6c_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-k6c-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_k6c_t_OBJECTS) $(hkl_pseudoaxis_k6c_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-soleil-sixs-med-t$(EXEEXT): $(hkl_pseudoaxis_soleil_sixs_med_t_OBJECTS) $(hkl_pseudoaxis_soleil_sixs_med_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_soleil_sixs_med_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-soleil-sixs-med-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_soleil_sixs_med_t_OBJECTS) $(hkl_pseudoaxis_soleil_sixs_med_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-t$(EXEEXT): $(hkl_pseudoaxis_t_OBJECTS) $(hkl_pseudoaxis_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_t_OBJECTS) $(hkl_pseudoaxis_t_LDADD) $(LIBS)
-
 hkl-pseudoaxis-zaxis-t$(EXEEXT): $(hkl_pseudoaxis_zaxis_t_OBJECTS) $(hkl_pseudoaxis_zaxis_t_DEPENDENCIES) $(EXTRA_hkl_pseudoaxis_zaxis_t_DEPENDENCIES) 
 	@rm -f hkl-pseudoaxis-zaxis-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_pseudoaxis_zaxis_t_OBJECTS) $(hkl_pseudoaxis_zaxis_t_LDADD) $(LIBS)
-
 hkl-quaternion-t$(EXEEXT): $(hkl_quaternion_t_OBJECTS) $(hkl_quaternion_t_DEPENDENCIES) $(EXTRA_hkl_quaternion_t_DEPENDENCIES) 
 	@rm -f hkl-quaternion-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_quaternion_t_OBJECTS) $(hkl_quaternion_t_LDADD) $(LIBS)
-
 hkl-sample-t$(EXEEXT): $(hkl_sample_t_OBJECTS) $(hkl_sample_t_DEPENDENCIES) $(EXTRA_hkl_sample_t_DEPENDENCIES) 
 	@rm -f hkl-sample-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_sample_t_OBJECTS) $(hkl_sample_t_LDADD) $(LIBS)
-
 hkl-source-t$(EXEEXT): $(hkl_source_t_OBJECTS) $(hkl_source_t_DEPENDENCIES) $(EXTRA_hkl_source_t_DEPENDENCIES) 
 	@rm -f hkl-source-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_source_t_OBJECTS) $(hkl_source_t_LDADD) $(LIBS)
-
 hkl-unit-t$(EXEEXT): $(hkl_unit_t_OBJECTS) $(hkl_unit_t_DEPENDENCIES) $(EXTRA_hkl_unit_t_DEPENDENCIES) 
 	@rm -f hkl-unit-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_unit_t_OBJECTS) $(hkl_unit_t_LDADD) $(LIBS)
-
 hkl-vector-t$(EXEEXT): $(hkl_vector_t_OBJECTS) $(hkl_vector_t_DEPENDENCIES) $(EXTRA_hkl_vector_t_DEPENDENCIES) 
 	@rm -f hkl-vector-t$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(hkl_vector_t_OBJECTS) $(hkl_vector_t_LDADD) $(LIBS)
-
 hkl3d-test-t$(EXEEXT): $(hkl3d_test_t_OBJECTS) $(hkl3d_test_t_DEPENDENCIES) $(EXTRA_hkl3d_test_t_DEPENDENCIES) 
 	@rm -f hkl3d-test-t$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(hkl3d_test_t_OBJECTS) $(hkl3d_test_t_LDADD) $(LIBS)
-
 runtests$(EXEEXT): $(runtests_OBJECTS) $(runtests_DEPENDENCIES) $(EXTRA_runtests_DEPENDENCIES) 
 	@rm -f runtests$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(runtests_OBJECTS) $(runtests_LDADD) $(LIBS)
@@ -806,25 +722,22 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -839,12 +752,57 @@ $(am__recursive_targets):
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
 
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -860,7 +818,12 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -872,11 +835,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -885,21 +852,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1067,22 +1019,23 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-	check-am check-local clean clean-checkPROGRAMS clean-generic \
-	clean-libtool cscopelist-am ctags ctags-am distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-	uninstall-am
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+	ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am check-local clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags \
+	ctags-recursive distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am
 
 
 check-local: $(check_PROGRAMS)
diff --git a/tests/bindings/Makefile.in b/tests/bindings/Makefile.in
index 540090e..3b70fb2 100644
--- a/tests/bindings/Makefile.in
+++ b/tests/bindings/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -14,51 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -78,8 +51,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests/bindings
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/test-driver
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -91,18 +63,12 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_ at AM_V@)
 am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_0 = @echo "  GEN   " $@;
 AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
 am__can_run_installinfo = \
@@ -110,211 +76,8 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__tty_colors_dummy = \
-  mgn= red= grn= lgn= blu= brg= std=; \
-  am__color_tests=no
-am__tty_colors = { \
-  $(am__tty_colors_dummy); \
-  if test "X$(AM_COLOR_TESTS)" = Xno; then \
-    am__color_tests=no; \
-  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
-    am__color_tests=yes; \
-  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
-    am__color_tests=yes; \
-  fi; \
-  if test $$am__color_tests = yes; then \
-    red=''; \
-    grn=''; \
-    lgn=''; \
-    blu=''; \
-    mgn=''; \
-    brg=''; \
-    std=''; \
-  fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__recheck_rx = ^[ 	]*:recheck:[ 	]*
-am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
-am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
-  recheck = 1; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-        { \
-          if ((getline line2 < ($$0 ".log")) < 0) \
-	    recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
-        { \
-          recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
-        { \
-          break; \
-        } \
-    }; \
-  if (recheck) \
-    print $$0; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
-  print "fatal: making $@: " msg | "cat >&2"; \
-  exit 1; \
-} \
-function rst_section(header) \
-{ \
-  print header; \
-  len = length(header); \
-  for (i = 1; i <= len; i = i + 1) \
-    printf "="; \
-  printf "\n\n"; \
-} \
-{ \
-  copy_in_global_log = 1; \
-  global_test_result = "RUN"; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-         fatal("failed to read from " $$0 ".trs"); \
-      if (line ~ /$(am__global_test_result_rx)/) \
-        { \
-          sub("$(am__global_test_result_rx)", "", line); \
-          sub("[ 	]*$$", "", line); \
-          global_test_result = line; \
-        } \
-      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
-        copy_in_global_log = 0; \
-    }; \
-  if (copy_in_global_log) \
-    { \
-      rst_section(global_test_result ": " $$0); \
-      while ((rc = (getline line < ($$0 ".log"))) != 0) \
-      { \
-        if (rc < 0) \
-          fatal("failed to read from " $$0 ".log"); \
-        print line; \
-      }; \
-      printf "\n"; \
-    }; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
-  --color-tests "$$am__color_tests" \
-  --enable-hard-errors "$$am__enable_hard_errors" \
-  --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test.  Creates the
-# directory for the log if needed.  Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log.  Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup);					\
-$(am__vpath_adj_setup) $(am__vpath_adj)			\
-$(am__tty_colors);					\
-srcdir=$(srcdir); export srcdir;			\
-case "$@" in						\
-  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
-    *) am__odir=.;; 					\
-esac;							\
-test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
-  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
-if test -f "./$$f"; then dir=./;			\
-elif test -f "$$f"; then dir=;				\
-else dir="$(srcdir)/"; fi;				\
-tst=$$dir$$f; log='$@'; 				\
-if test -n '$(DISABLE_HARD_ERRORS)'; then		\
-  am__enable_hard_errors=no; 				\
-else							\
-  am__enable_hard_errors=yes; 				\
-fi; 							\
-case " $(XFAIL_TESTS) " in				\
-  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
-    am__expect_failure=yes;;				\
-  *)							\
-    am__expect_failure=no;;				\
-esac; 							\
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed).  The result is saved in the shell variable
-# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
-  bases='$(TEST_LOGS)'; \
-  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-  bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
-LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
-am__set_b = \
-  case '$@' in \
-    */*) \
-      case '$*' in \
-        */*) b='$*';; \
-          *) b=`echo '$@' | sed 's/\.log$$//'`; \
-       esac;; \
-    *) \
-      b='$*';; \
-  esac
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:@EXEEXT at .log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
-	$(TEST_LOG_FLAGS)
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -367,7 +130,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -492,7 +254,6 @@ CLEANFILES = trajectories.pdf
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .log .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -529,182 +290,105 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
-	rm -f $< $@
-	$(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
-	@:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
-	@$(am__set_TESTS_bases); \
-	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-	redo_bases=`for i in $$bases; do \
-	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
-	            done`; \
-	if test -n "$$redo_bases"; then \
-	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
-	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-	  if $(am__make_dryrun); then :; else \
-	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
-	  fi; \
-	fi; \
-	if test -n "$$am__remaking_logs"; then \
-	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
-	       "recursion detected" >&2; \
-	else \
-	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-	fi; \
-	if $(am__make_dryrun); then :; else \
-	  st=0;  \
-	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
-	  for i in $$redo_bases; do \
-	    test -f $$i.trs && test -r $$i.trs \
-	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
-	    test -f $$i.log && test -r $$i.log \
-	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
 	  done; \
-	  test $$st -eq 0 || exit 1; \
-	fi
-	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
-	ws='[ 	]'; \
-	results=`for b in $$bases; do echo $$b.trs; done`; \
-	test -n "$$results" || results=/dev/null; \
-	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
-	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
-	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
-	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
-	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
-	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
-	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
-	  success=true; \
-	else \
-	  success=false; \
-	fi; \
-	br='==================='; br=$$br$$br$$br$$br; \
-	result_count () \
-	{ \
-	    if test x"$$1" = x"--maybe-color"; then \
-	      maybe_colorize=yes; \
-	    elif test x"$$1" = x"--no-color"; then \
-	      maybe_colorize=no; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
 	    else \
-	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
 	    fi; \
-	    shift; \
-	    desc=$$1 count=$$2; \
-	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
-	      color_start=$$3 color_end=$$std; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
 	    else \
-	      color_start= color_end=; \
+	      skipped="($$skip tests were not run)"; \
 	    fi; \
-	    echo "$${color_start}# $$desc $$count$${color_end}"; \
-	}; \
-	create_testsuite_report () \
-	{ \
-	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
-	  result_count $$1 "PASS: " $$pass  "$$grn"; \
-	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
-	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
-	  result_count $$1 "FAIL: " $$fail  "$$red"; \
-	  result_count $$1 "XPASS:" $$xpass "$$red"; \
-	  result_count $$1 "ERROR:" $$error "$$mgn"; \
-	}; \
-	{								\
-	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
-	    $(am__rst_title);						\
-	  create_testsuite_report --no-color;				\
-	  echo;								\
-	  echo ".. contents:: :depth: 2";				\
-	  echo;								\
-	  for b in $$bases; do echo $$b; done				\
-	    | $(am__create_global_log);					\
-	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
-	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
-	if $$success; then						\
-	  col="$$grn";							\
-	 else								\
-	  col="$$red";							\
-	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
-	fi;								\
-	echo "$${col}$$br$${std}"; 					\
-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
-	echo "$${col}$$br$${std}"; 					\
-	create_testsuite_report --maybe-color;				\
-	echo "$$col$$br$$std";						\
-	if $$success; then :; else					\
-	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
-	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
-	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
-	  fi;								\
-	  echo "$$col$$br$$std";					\
-	fi;								\
-	$$success || exit 1
-
-check-TESTS:
-	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
-	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
-	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
-	exit $$?;
-recheck: all 
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	bases=`for i in $$bases; do echo $$i; done \
-	         | $(am__list_recheck_tests)` || exit 1; \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	log_list=`echo $$log_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
-	        am__force_recheck=am--force-recheck \
-	        TEST_LOGS="$$log_list"; \
-	exit $$?
-python.py.log: python.py
-	@p='python.py'; \
-	b='python.py'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-trajectory.py.log: trajectory.py
-	@p='trajectory.py'; \
-	b='trajectory.py'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-.test.log:
-	@p='$<'; \
-	$(am__set_b); \
-	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
- at am__EXEEXT_TRUE@.test$(EXEEXT).log:
- at am__EXEEXT_TRUE@	@p='$<'; \
- at am__EXEEXT_TRUE@	$(am__set_b); \
- at am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- at am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
- at am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- at am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -761,9 +445,6 @@ install-strip:
 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 	fi
 mostlyclean-generic:
-	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -844,16 +525,15 @@ uninstall-am:
 .MAKE: check-am install-am install-strip
 
 .PHONY: all all-am check check-TESTS check-am clean clean-generic \
-	clean-libtool cscopelist-am ctags-am distclean \
-	distclean-generic distclean-libtool distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
+	clean-libtool distclean distclean-generic distclean-libtool \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	uninstall uninstall-am
 
 
diff --git a/tests/bindings/python.py b/tests/bindings/python.py
index 64f1127..66968e1 100755
--- a/tests/bindings/python.py
+++ b/tests/bindings/python.py
@@ -185,10 +185,23 @@ class TestAPI(unittest.TestCase):
                 parameters = engine.parameters_names_get()
                 self.assertTrue(type(parameters) is list)
                 [self.assertTrue(type(_) is str) for _ in parameters]
+                # all together
+                values = engine.parameters_values_get(Hkl.UnitEnum.USER)
+                [self.assertTrue(type(_) is float) for _ in values]
+                engine.parameters_values_set(values, Hkl.UnitEnum.USER)
+                # one by one
                 for parameter in parameters:
                     p = engine.parameter_get(parameter)
                     self.assertTrue(type(p.description_get()) is str)
 
+                # check that parameters are writable.
+                values = engine.parameters_values_get(Hkl.UnitEnum.USER)
+                values = [1.] * len(values)
+                engine.parameters_values_set(values, Hkl.UnitEnum.USER)
+                [self.assertTrue(ref == v)
+                 for ref, v in zip(values,
+                                   engine.parameters_values_get(Hkl.UnitEnum.USER))]
+
                 axes_r = engine.axis_names_get(Hkl.EngineAxisNamesGet.READ)
                 self.assertTrue(type(axes_r) is list)
                 [self.assertTrue(type(_) is str) for _ in axes_r]
diff --git a/tests/tap/Makefile.in b/tests/tap/Makefile.in
index e20716f..393e7e8 100644
--- a/tests/tap/Makefile.in
+++ b/tests/tap/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -14,51 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
+am__make_dryrun = \
+  { \
+    am__dry=no; \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
     esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -78,8 +51,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests/tap
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -94,25 +66,15 @@ CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
 AM_V_AR = $(am__v_AR_ at AM_V@)
 am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
-am__v_AR_0 = @echo "  AR      " $@;
-am__v_AR_1 = 
+am__v_AR_0 = @echo "  AR    " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
 libtap_a_AR = $(AR) $(ARFLAGS)
 libtap_a_LIBADD =
 am_libtap_a_OBJECTS = basic.$(OBJEXT) float.$(OBJEXT) \
 	hkl-tap.$(OBJEXT)
 libtap_a_OBJECTS = $(am_libtap_a_OBJECTS)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -122,23 +84,23 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_ at AM_V@)
 am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libtap_a_SOURCES)
 DIST_SOURCES = $(libtap_a_SOURCES)
 am__can_run_installinfo = \
@@ -146,23 +108,6 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -217,7 +162,6 @@ GSL_CFLAGS = @GSL_CFLAGS@
 GSL_CONFIG = @GSL_CONFIG@
 GSL_LIBS = @GSL_LIBS@
 GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -388,7 +332,6 @@ $(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
 libtap.a: $(libtap_a_OBJECTS) $(libtap_a_DEPENDENCIES) $(EXTRA_libtap_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libtap.a
 	$(AM_V_AR)$(libtap_a_AR) libtap.a $(libtap_a_OBJECTS) $(libtap_a_LIBADD)
@@ -434,15 +377,26 @@ mostlyclean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
 	set x; \
 	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	shift; \
 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
@@ -454,11 +408,15 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 	      $$unique; \
 	  fi; \
 	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$unique
@@ -467,21 +425,6 @@ GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -624,9 +567,9 @@ uninstall-am:
 
 .MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
-	clean-checkLIBRARIES clean-generic clean-libtool cscopelist-am \
-	ctags ctags-am distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS all all-am check check-am clean \
+	clean-checkLIBRARIES clean-generic clean-libtool ctags \
+	distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-data \
 	install-data-am install-dvi install-dvi-am install-exec \
@@ -636,7 +579,7 @@ uninstall-am:
 	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am
+	tags uninstall uninstall-am
 
 
 # Support for GNU Flymake, in Emacs.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/hkl.git



More information about the debian-science-commits mailing list