[freefempp] 01/04: Imported Upstream version 3.27

Dimitrios Eftaxiopoulos eftaxiop-guest at moszumanska.debian.org
Mon Mar 3 16:37:31 UTC 2014


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

eftaxiop-guest pushed a commit to branch master
in repository freefempp.

commit cd1963e0bd4384061fb2e33531839e27b6eea803
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date:   Mon Mar 3 13:20:14 2014 +0200

    Imported Upstream version 3.27
---
 examples++-load/._gsl.cpp => ._README_MAC       |  Bin
 examples++-load/._gsl.cpp => ._TODO             |  Bin
 DOC/freefem++doc.pdf                            |  Bin 9511418 -> 9569217 bytes
 INNOVATION                                      |   22 +-
 Makefile.am                                     |    2 +-
 Makefile.in                                     |    2 +-
 README_MAC                                      |   10 +-
 TODO                                            |    4 +
 WindowsPackage.m4                               |    2 +
 configure                                       |   30 +-
 configure.ac                                    |   12 +-
 download/fftw/Makefile                          |   10 +-
 download/ipopt/Makefile.inc.in                  |    2 +-
 download/mshmet/Makefile-mshmet.inc             |    2 +-
 download/mumps-seq/Makefile                     |    2 +-
 download/mumps-seq/Makefile-mumps-4.10.0.inc    |    1 +
 examples++-load/._Morley.cpp                    |  Bin 0 -> 167 bytes
 examples++-load/{._gsl.cpp => ._fflapack.cpp}   |  Bin
 examples++-load/{._gsl.cpp => ._lapack.cpp}     |  Bin
 examples++-load/._lapack.edp                    |  Bin 0 -> 171 bytes
 examples++-load/._msh3.cpp                      |  Bin 0 -> 167 bytes
 examples++-load/Makefile.am                     |    4 +-
 examples++-load/Makefile.in                     |    2 +-
 examples++-load/ff-pkg-download.in              |    5 +-
 examples++-load/ff_gsl_awk.hpp                  | 1193 +++++++++++++++++------
 examples++-load/fflapack.cpp                    |   33 +-
 examples++-load/gsl.awk                         |  208 ++--
 examples++-load/gsl.cpp                         |  172 +++-
 examples++-load/gsl.edp                         |  124 +--
 examples++-load/gsl.idp                         |  331 +++++++
 examples++-load/lapack.cpp                      |   27 +-
 examples++-load/lapack.edp                      |  117 +--
 examples++-load/msh3.cpp                        |   42 +-
 examples++-mpi/._AddLayer2d.idp                 |  Bin 0 -> 171 bytes
 examples++-mpi/Laplace3d-hips.edp               |    3 +-
 examples++-tutorial/._mesh.edp                  |  Bin 0 -> 171 bytes
 examples++-tutorial/._sparse-matrix.edp         |  Bin 0 -> 171 bytes
 examples++-tutorial/mesh.edp                    |    4 +-
 examples++-tutorial/sparse-matrix.edp           |   12 +
 src/bamglib/Mesh2.cpp                           |    6 +-
 src/bamglib/Mesh2.h                             |    1 +
 src/femlib/{._RNM.hpp => ._splitsimplex.cpp}    |  Bin
 src/femlib/FESpacen.cpp                         |    4 +-
 src/femlib/MatriceCreuse.hpp                    |   36 +-
 src/femlib/MatriceCreuse_tpl.hpp                |   14 +-
 src/femlib/RNM.hpp                              |    2 +-
 src/femlib/splitsimplex.cpp                     |   47 +-
 src/{femlib/._RNM.hpp => fflib/._AFunction.cpp} |  Bin
 src/{femlib/._RNM.hpp => fflib/._lgfem.cpp}     |  Bin
 src/{femlib/._RNM.hpp => fflib/._lgmat.cpp}     |  Bin
 src/{femlib/._RNM.hpp => fflib/._lgmesh.cpp}    |  Bin
 src/{femlib/._RNM.hpp => fflib/._problem.cpp}   |  Bin
 src/fflib/AFunction.cpp                         |    3 +
 src/fflib/lgmat.cpp                             |  192 +++-
 src/fflib/lgmesh.cpp                            |  119 ++-
 src/fflib/problem.cpp                           |  151 ++-
 src/fflib/problem.hpp                           |    8 +-
 src/fflib/strversionnumber.cpp                  |    4 +-
 58 files changed, 2262 insertions(+), 703 deletions(-)

diff --git a/examples++-load/._gsl.cpp b/._README_MAC
similarity index 100%
copy from examples++-load/._gsl.cpp
copy to ._README_MAC
diff --git a/examples++-load/._gsl.cpp b/._TODO
similarity index 100%
copy from examples++-load/._gsl.cpp
copy to ._TODO
diff --git a/DOC/freefem++doc.pdf b/DOC/freefem++doc.pdf
index 6d5364b..92a1135 100644
Binary files a/DOC/freefem++doc.pdf and b/DOC/freefem++doc.pdf differ
diff --git a/INNOVATION b/INNOVATION
index 1194906..62a484c 100644
--- a/INNOVATION
+++ b/INNOVATION
@@ -1,5 +1,25 @@
+version 3.27 
+   correct bug in dusplay of P1b finite element in 3d 
+     error in SplitMesh<R3>  function  (Thank to O. Pironneau) 
+   add  AddLayers(Th,suppi[],sizeoverlaps,unssd[]);
+   add  tool to trunc to get element numbering for Thn to Tho 
+     int[int] In2o(1),Io2n(1); 
+     Tho =  trunc(Tho, x<0, new2old=In2o, old2new=Io2n);
+   add restrict function for get dof numbering old to new
+     fespace Vnh(Thn,Pk), Voh(Tho,Pk);
+     int[int] n2o=restrict(Vnh,Voh,n2ok);     
+   correct mistake in gsl interface random number (9/1/14)
+   missing all ramdow distribution ..
+   add interface  with gsl random number generation in test .. 
+   correct pb of compilation under window (mingw32/msys) 
+version 3.26-3  09/12/2013 
+   correct problem with openblas need pthread lib 
+01/12/13
+    install dowload lib 
+    update lapack interface in examples.
     add WHERE_LIBRARY-file in install 
-    change the order of seach lib with   WHERE_LIBRARY-download WHERE_LIBRARY-config        WHERE_LIBRARY
+    change the order of seach lib with   WHERE_LIBRARY-download 
+       WHERE_LIBRARY-config        WHERE_LIBRARY
     remove all relative in WHERE_LIBRARY-config
     correct of superlu compile problem
 13/11/203  Pass to version 3.26 ...
diff --git a/Makefile.am b/Makefile.am
index fd93623..77fdf2e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -129,7 +129,7 @@ win32:WindowsPackage.iss
 	cd examples++-load;tar zxvf include.tar.gz;mkdir include-tmp;cp -Lr *.h include/* include-tmp
 WindowsPackage.iss: WindowsPackage.m4 configure.ac Makefile.am
 	m4 -DVERSION='$(VERSION)$(ADD_PACKAGE_NAME)' \
-	-DMPIPROG='$MPIPROG' WindowsPackage.m4 > WindowsPackage.iss
+	-DMPIPROG='$(MPIPROG)' WindowsPackage.m4 > WindowsPackage.iss
 
 # Debian package
 # --------------
diff --git a/Makefile.in b/Makefile.in
index de8ddfa..090636f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1016,7 +1016,7 @@ win32:WindowsPackage.iss
 	cd examples++-load;tar zxvf include.tar.gz;mkdir include-tmp;cp -Lr *.h include/* include-tmp
 WindowsPackage.iss: WindowsPackage.m4 configure.ac Makefile.am
 	m4 -DVERSION='$(VERSION)$(ADD_PACKAGE_NAME)' \
-	-DMPIPROG='$MPIPROG' WindowsPackage.m4 > WindowsPackage.iss
+	-DMPIPROG='$(MPIPROG)' WindowsPackage.m4 > WindowsPackage.iss
 
 # Debian package
 # --------------
diff --git a/README_MAC b/README_MAC
index 2f4529e..196a170 100644
--- a/README_MAC
+++ b/README_MAC
@@ -1,7 +1,7 @@
 To compile a full version of FreeFem++ under MacOS 
 ---------------------------------------------------
 
-Under Mavrisk (10.9)  2012 ( xcode 5.0.1 form scratch)
+Under Mavericks (10.9)  2012 ( xcode 5.0.2 form scratch)
 -------------------------------------------------
  remark: All line beginning by # are  shell command in terminal. 
  
@@ -23,23 +23,23 @@ Under Mavrisk (10.9)  2012 ( xcode 5.0.1 form scratch)
    http://mirrors.ctan.org/systems/mac/mactex/MacTeX.pkg
  5) install openmpi form the source 
  http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2
-  #  ./configure CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ F77=/usr/local/bin/gfortran FC=/usr/local/bin/gfortran
+  #  ./configure 'CC=clang' 'CXX=clang++' 'FC=gfortran' 'F77=gfortran' --enable-ltdl-convenience
   # make 
   # sudo make install
  6) install gsl 
   # curl -O http://ftp.gnu.org/gnu/gsl/gsl-1.15.tar.gz
   # tar zxvf gsl-1.15.tar.gz
   # cd gsl-1.15.
-  #./configure CC=/usr/local/bin/gcc
+  #./configure CC=clang
   # make
   # sudo make install 
  7) install mecurial from the web http://mercurial.selenic.com
     
- 8)  downlaad  
+ 8)  download  
   # hg clone  http://www.freefem.org/ff++/ff++
  9)  compilation of freefem++ 
   # cd ff++
-  # ./configure '-with-suffix=macos-10.8' '-without-fltk' '--enable-download' '--enable-optim' 'MPIRUN=/usr/local/bin/mpirun' '--enable-m64' '--without-x' 'CC=clang -isysroot /Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk' 'CFLAGS=-mmacosx-version-min=10.8' 'CXXFLAGS=-mmacosx-version-min=10.8 -std=c++11' 'CXX=clang++ -isysroot /Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk' 'F77=/usr [...]
+  # ./configure '-with-suffix=macos-10.9' '-without-fltk' '--enable-download' '--enable-optim' 'MPIRUN=/usr/local/bin/mpirun' '--enable-m64' '--without-x' 'CC=clang' 'CXXFLAGS=-std=c++11' 'CXX=clang++' 'F77=/usr/local/bin/gfortran' 'FC=/usr/local/bin/gfortran' 'MPICXX=/usr/local/bin/mpic++' 'MPICC=/usr/local/bin/mpicc' 'MPIFC=/usr/local/bin/mpif90' 'MPIF77=/usr/local/bin/mpif90' '--enable-maintainer-mode'
 
   # make
   # make
diff --git a/TODO b/TODO
index 69bfad5..2fdd35a 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,7 @@
+add doc:
+  gsl interface 
+  imax of tableau 
+
 Short time:
  build a true aniso 3d adaptation example
   to day bug in interface of mmg3d with metric and in tetgen ...
diff --git a/WindowsPackage.m4 b/WindowsPackage.m4
index 8f2ab43..ba6e2e1 100644
--- a/WindowsPackage.m4
+++ b/WindowsPackage.m4
@@ -74,8 +74,10 @@ Source: "examples++-tutorial\xyf"; DestDir: "{app}\examples++-tutorial"
 Source: "examples++-chapt3\*.edp"; DestDir: "{app}\examples++-chapt3"
 Source: "examples++-other\*.edp"; DestDir: "{app}\examples++-other"
 Source: "examples++-load\*.edp"; DestDir: "{app}\examples++-load"
+Source: "examples++-load\*.idp"; DestDir: "{app}\examples++-load"
 Source: "examples++-load\*.cpp"; DestDir: "{app}\examples++-load"
 Source: "examples++-load\*.pgm"; DestDir: "{app}\examples++-load"
+Source: "examples++-load\*.pts"; DestDir: "{app}\examples++-load"
 Source: "examples++-load\cube.msh"; DestDir: "{app}\examples++-load"
 
 Source: "examples++-load\load.link"; DestDir: "{app}\examples++-load"
diff --git a/configure b/configure
index 1758615..b7ddae8 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 FreeFem++ 3.26-2.
+# Generated by GNU Autoconf 2.69 for FreeFem++ 3.27.
 #
 # Report bugs to <hecht at ann.jussieu.fr>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='FreeFem++'
 PACKAGE_TARNAME='freefem++'
-PACKAGE_VERSION='3.26-2'
-PACKAGE_STRING='FreeFem++ 3.26-2'
+PACKAGE_VERSION='3.27'
+PACKAGE_STRING='FreeFem++ 3.27'
 PACKAGE_BUGREPORT='hecht at ann.jussieu.fr'
 PACKAGE_URL=''
 
@@ -1551,7 +1551,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 FreeFem++ 3.26-2 to adapt to many kinds of systems.
+\`configure' configures FreeFem++ 3.27 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1621,7 +1621,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of FreeFem++ 3.26-2:";;
+     short | recursive ) echo "Configuration of FreeFem++ 3.27:";;
    esac
   cat <<\_ACEOF
 
@@ -1882,7 +1882,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-FreeFem++ configure 3.26-2
+FreeFem++ configure 3.27
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2736,7 +2736,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 FreeFem++ $as_me 3.26-2, which was
+It was created by FreeFem++ $as_me 3.27, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3607,7 +3607,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='freefem++'
- VERSION='3.26-2'
+ VERSION='3.27'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12811,7 +12811,7 @@ $as_echo_n "checking Activating the OpenBLAS (deactivate with --disable-openblas
 $as_echo "git not found" >&6; }
     else
 	ff_download_blas=openblas
-	ff_blas_libs="-L${curdir}/download/blas/OpenBLAS -lopenblas"
+	ff_blas_libs="-L${curdir}/download/blas/OpenBLAS -lopenblas $ff_pthread"
 	ff_blas_inc="-I${curdir}/download/blas/CBLAS/src"
 
         # skip generic blas compilation and activate OpenBLAS (see [[file:download/blas/Makefile.am::OpenBLAS]])
@@ -17815,10 +17815,10 @@ $as_echo "$ff_WHERE" >&6; }
 
 # FFCS - 27/10/11 - Some extra conditionals for things that do not work on certain systems (eg MPI libraries under
 # Windows)
-#  remove gsl if not find ... FK
-
-if test  "$ff_where_lib_conf_gsl" == 1  -a -z "$enable_gsl" ; then enable_gsl=no; fi;
-if test  "$ff_where_lib_conf_mkl" == 1  -a -z "$enable_mkl" ; then enable_pardiso=no; fi;
+#  remove gsl if not find ... FH
+# correction FH .. 18/12/2013.
+if test  "$ff_where_lib_conf_gsl" == 1  -a  "$enable_gsl"!="no" ; then enable_gsl=yes; fi;
+if test  "$ff_where_lib_conf_mkl" == 1  -a  "$enable_mkl"!=no ; then enable_pardiso=yes; fi;
 # Check whether --enable-gsl was given.
 if test "${enable_gsl+set}" = set; then :
   enableval=$enable_gsl;
@@ -18513,7 +18513,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 FreeFem++ $as_me 3.26-2, which was
+This file was extended by FreeFem++ $as_me 3.27, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18579,7 +18579,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="\\
-FreeFem++ config.status 3.26-2
+FreeFem++ config.status 3.27
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 22da670..b78dbd6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@
 # number in debian/changelog.
 
 
-AC_INIT(FreeFem++,3.26-2,hecht at ann.jussieu.fr,freefem++)
+AC_INIT(FreeFem++,3.27,hecht at ann.jussieu.fr,freefem++)
 dnl : ${CFLAGS=""}
 dnl : ${CXXFLAGS=""}
 dnl : ${FCFLAGS=""}
@@ -1030,7 +1030,7 @@ then
 	AC_MSG_RESULT([git not found])
     else
 	ff_download_blas=openblas
-	ff_blas_libs="-L${curdir}/download/blas/OpenBLAS -lopenblas"
+	ff_blas_libs="-L${curdir}/download/blas/OpenBLAS -lopenblas $ff_pthread"
 	ff_blas_inc="-I${curdir}/download/blas/CBLAS/src"
 
         # skip generic blas compilation and activate OpenBLAS (see [[file:download/blas/Makefile.am::OpenBLAS]])
@@ -1760,10 +1760,10 @@ m4_map([AC_FF_WHERELIB],[
 
 # FFCS - 27/10/11 - Some extra conditionals for things that do not work on certain systems (eg MPI libraries under
 # Windows)
-#  remove gsl if not find ... FK
-
-if test  "$ff_where_lib_conf_gsl" == 1  -a -z "$enable_gsl" ; then enable_gsl=no; fi;
-if test  "$ff_where_lib_conf_mkl" == 1  -a -z "$enable_mkl" ; then enable_pardiso=no; fi;
+#  remove gsl if not find ... FH
+# correction FH .. 18/12/2013. 
+if test  "$ff_where_lib_conf_gsl" == 1  -a  "$enable_gsl"!="no" ; then enable_gsl=yes; fi;
+if test  "$ff_where_lib_conf_mkl" == 1  -a  "$enable_mkl"!=no ; then enable_pardiso=yes; fi;
 TOOL_DISABLE(gsl,"gsl.$DYLIB_SUFFIX NewSolver.$DYLIB_SUFFIX")
 TOOL_DISABLE(pardiso,PARDISO.$DYLIB_SUFFIX)
 
diff --git a/download/fftw/Makefile b/download/fftw/Makefile
index ecf40fa..879aeda 100644
--- a/download/fftw/Makefile
+++ b/download/fftw/Makefile
@@ -195,10 +195,10 @@ OPTIM_TYPE =
 PACKAGE = fftw-$(FFTW_VERSION).tar.gz
 PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
 PACKAGE_NAME = FreeFem++
-PACKAGE_STRING = FreeFem++ 3.26-2
+PACKAGE_STRING = FreeFem++ 3.27
 PACKAGE_TARNAME = freefem++
 PACKAGE_URL = 
-PACKAGE_VERSION = 3.26-2
+PACKAGE_VERSION = 3.27
 PASTIX_HOSTARCH = 
 PATH_SEPARATOR = :
 RANLIB = ranlib
@@ -242,7 +242,7 @@ TOOL_COMPILE_superludist = superludist
 TOOL_COMPILE_umfpack = umfpack
 TOOL_COMPILE_yams = yams
 TOOL_DYLIB_fflapack = fflapack.dylib
-TOOL_DYLIB_gsl = 
+TOOL_DYLIB_gsl = gsl.dylib NewSolver.dylib
 TOOL_DYLIB_hips = hips_FreeFem.dylib
 TOOL_DYLIB_ipopt = ff-Ipopt.dylib
 TOOL_DYLIB_lapack = lapack.dylib
@@ -263,7 +263,7 @@ TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.dylib real_SuperLU_DIST_Fr
 TOOL_DYLIB_umfpack = UMFPACK64.dylib
 TOOL_DYLIB_yams = freeyams.dylib
 UMFPACKLIBS = -L/Users/hecht/work/ff++/download/lib -lumfpack -lcholmod -lcolamd -lamd -lsuitesparseconfig
-VERSION = 3.26-2
+VERSION = 3.27
 WGET = wget --no-check-certificate
 WIN32DLLTARGET = 
 WINDRESOBJ = 
@@ -308,7 +308,7 @@ ff_makeindex = yes
 ff_patch = yes
 ff_pdf2ps = yes
 ff_pdflatex = yes
-ff_prefix_dir = /usr/local/lib/ff++/3.26-2
+ff_prefix_dir = /usr/local/lib/ff++/3.27
 ff_unzip = 
 ff_wget = yes
 host = i686-apple-darwin13.0.0
diff --git a/download/ipopt/Makefile.inc.in b/download/ipopt/Makefile.inc.in
index 09112cd..eafea2d 100644
--- a/download/ipopt/Makefile.inc.in
+++ b/download/ipopt/Makefile.inc.in
@@ -6,7 +6,7 @@ CXXFLAGS      = @CXXFLAGS@
 CFLAGS      = @CFLAGS@
 FC      = @FC@ 
 FCFLAGS      = @FCFLAGS@ 
-LIBBLAS =  @BLASLIBS@
+LIBBLAS =  @BLASLIBS@ 
 LIBLAPACK =@LAPACKLIBS@
 WGET=@WGET@
 CXXCPP=@CXXCPP@
\ No newline at end of file
diff --git a/download/mshmet/Makefile-mshmet.inc b/download/mshmet/Makefile-mshmet.inc
index 4df213f..8a31f9c 100644
--- a/download/mshmet/Makefile-mshmet.inc
+++ b/download/mshmet/Makefile-mshmet.inc
@@ -21,7 +21,7 @@ lib    = $(OBJDIR)/libmshmet.a
 #.SILENT:
 
 $(OBJDIR)/%.o: $(SRCDIR)/%.c
-	$(CC) $(OPT64) $(INCDIR) $(CFLAGS) -c $< -o $@
+	$(CC) $(OPT64) $(INCDIR) $(CFLAGS) -DSERIAL -c $< -o $@
 
 $(EXEDIR)/$(prog):$(DIRDIR) $(objs)
 	echo "#define COMPIL " '"' `date` '"' > $(SRCDIR)/compil.date
diff --git a/download/mumps-seq/Makefile b/download/mumps-seq/Makefile
index 7314f1f..afb5f04 100644
--- a/download/mumps-seq/Makefile
+++ b/download/mumps-seq/Makefile
@@ -46,7 +46,7 @@ WGET = wget --no-check-certificate
 
 ../lib/WHERE.mumpsseq: install.done
 	echo mumps-seq LD -L at DIR@/lib -ldmumpsFREEFEM-SEQ -lzmumpsFREEFEM-SEQ -lmumps_commonFREEFEM-SEQ	\
-		-lpordFREEFEM-SEQ -lpthread > ../lib/WHERE.mumpsseq
+		-lpordFREEFEM-SEQ $(LIBSPTHREAD)  > ../lib/WHERE.mumpsseq
 	echo mumps-seq INCLUDE -I at DIR@/include/libseq >> ../lib/WHERE.mumpsseq
 	echo libseq LD -L at DIR@/lib  -lmpiseqFREEFEM-SEQ >>../lib/WHERE.mumpsseq
 	echo libseq INCLUDE -I at DIR@/include/libseq >> ../lib/WHERE.mumpsseq
diff --git a/download/mumps-seq/Makefile-mumps-4.10.0.inc b/download/mumps-seq/Makefile-mumps-4.10.0.inc
index 3d9f2d4..cd73aaf 100644
--- a/download/mumps-seq/Makefile-mumps-4.10.0.inc
+++ b/download/mumps-seq/Makefile-mumps-4.10.0.inc
@@ -129,6 +129,7 @@ LIBBLAS =  @BLASLIBS@
 
 # DEFINE YOUR PTHREAD LIBRARY
 LIBOTHERS = @LIBSPTHREAD@ @FLIBS@ $(FFLIBOTHERSMUMPS) 
+LIBSPTHREAD = @LIBSPTHREAD@
 
 # FORTRAN/C COMPATIBILITY:
 #  Use:
diff --git a/examples++-load/._Morley.cpp b/examples++-load/._Morley.cpp
new file mode 100644
index 0000000..63e1130
Binary files /dev/null and b/examples++-load/._Morley.cpp differ
diff --git a/examples++-load/._gsl.cpp b/examples++-load/._fflapack.cpp
similarity index 100%
copy from examples++-load/._gsl.cpp
copy to examples++-load/._fflapack.cpp
diff --git a/examples++-load/._gsl.cpp b/examples++-load/._lapack.cpp
similarity index 100%
rename from examples++-load/._gsl.cpp
rename to examples++-load/._lapack.cpp
diff --git a/examples++-load/._lapack.edp b/examples++-load/._lapack.edp
new file mode 100644
index 0000000..f7a8f68
Binary files /dev/null and b/examples++-load/._lapack.edp differ
diff --git a/examples++-load/._msh3.cpp b/examples++-load/._msh3.cpp
new file mode 100644
index 0000000..63e1130
Binary files /dev/null and b/examples++-load/._msh3.cpp differ
diff --git a/examples++-load/Makefile.am b/examples++-load/Makefile.am
index 6d0460e..182c5d1 100644
--- a/examples++-load/Makefile.am
+++ b/examples++-load/Makefile.am
@@ -1,5 +1,5 @@
 all-local: @LOAD_COMPILE@
-TESTS=APk-AdaptEpsDeltaPk.edp APk-ExplicitPkTest.edp APk-FreeFemQA.edp APk-MetricPk.edp IPOTest.edp IpOptMinSurf.edp IpoptLap.edp IpoptMinSurfVol.edp IpoptVI.edp IpoptVI2.edp LapDG3.edp LapDG4.edp LapLNewSolver.edp LapMUMPS_seq.edp LapNewSolver.edp LapUmfpack64.edp LaplaceP3.edp LaplaceP4.edp LaplaceRT1.edp Leman-mesh.edp MetricKuate.edp NSP2BRP0.edp PARDISO.edp SuperLU.edp VarIneq2.edp  bilapMorley.edp bmo.edp buildlayermesh.edp checkglumeshcube.edp cmaes-VarIneq.edp cmaes-oven.edp conv [...]
+TESTS=APk-AdaptEpsDeltaPk.edp APk-ExplicitPkTest.edp APk-FreeFemQA.edp APk-MetricPk.edp IPOTest.edp IpOptMinSurf.edp IpoptLap.edp IpoptMinSurfVol.edp IpoptVI.edp IpoptVI2.edp LapDG3.edp LapDG4.edp LapLNewSolver.edp LapMUMPS_seq.edp LapNewSolver.edp LapUmfpack64.edp LaplaceP3.edp LaplaceP4.edp LaplaceRT1.edp Leman-mesh.edp MetricKuate.edp NSP2BRP0.edp PARDISO.edp SuperLU.edp VarIneq2.edp  bilapMorley.edp bmo.edp buildlayermesh.edp checkglumeshcube.edp cmaes-VarIneq.edp cmaes-oven.edp conv [...]
 # all test can fail must but clean ????  FH... 
 XFAIL_TESTS=$(TESTS)
 
@@ -30,7 +30,7 @@ ff-get-dep.in ff-pkg-download.in load.link.in  include.tar.gz \
  UMFPACK64.cpp iovtk.cpp gmsh.cpp MetricKuate.cpp  \
  ffnewuoa.cpp		newuoa.f Element_P1dc1.cpp ilut.cpp  \
  freeyams.cpp mmg3d-v4.0.cpp  mshmet.cpp \
- BinaryIO.cpp	gsl.cpp   gsl.awk ff_gsl_awk.hpp isolineP1.cpp isoline.cpp lg.pgm  \
+ BinaryIO.cpp	gsl.cpp   gsl.awk ff_gsl_awk.hpp gsl.idp isolineP1.cpp isoline.cpp lg.pgm  \
  thresholdings.cpp	 \
  VTK_writer_3d.cpp VTK_writer.cpp splitedges.cpp  \
  Element_Mixte.cpp    \
diff --git a/examples++-load/Makefile.in b/examples++-load/Makefile.in
index ef66184..f85f293 100644
--- a/examples++-load/Makefile.in
+++ b/examples++-load/Makefile.in
@@ -593,7 +593,7 @@ ff-get-dep.in ff-pkg-download.in load.link.in  include.tar.gz \
  UMFPACK64.cpp iovtk.cpp gmsh.cpp MetricKuate.cpp  \
  ffnewuoa.cpp		newuoa.f Element_P1dc1.cpp ilut.cpp  \
  freeyams.cpp mmg3d-v4.0.cpp  mshmet.cpp \
- BinaryIO.cpp	gsl.cpp   gsl.awk ff_gsl_awk.hpp isolineP1.cpp isoline.cpp lg.pgm  \
+ BinaryIO.cpp	gsl.cpp   gsl.awk ff_gsl_awk.hpp gsl.idp isolineP1.cpp isoline.cpp lg.pgm  \
  thresholdings.cpp	 \
  VTK_writer_3d.cpp VTK_writer.cpp splitedges.cpp  \
  Element_Mixte.cpp    \
diff --git a/examples++-load/ff-pkg-download.in b/examples++-load/ff-pkg-download.in
index 6631599..ac42e68 100755
--- a/examples++-load/ff-pkg-download.in
+++ b/examples++-load/ff-pkg-download.in
@@ -38,9 +38,10 @@ if [   -d $DESTDIR$DIR/lib -a -d $DESTDIR$DIR/include  ] ; then
 	test -f $i && ( sed "s;@DIR@;$DIR;" <$i  )
     done
 #    return
-    for la in arpack umfpack amd fftw3 blas lapack mmg3d; do
+    for la in arpack umfpack amd fftw3  mmg3d; do
         l=`echo $la |sed -e s/^tet$/tetgen/`
-       if [ ! -f $LIB/WHERE.$l ]; then
+	nbw=`awk "/^$la /" WHERE_LIBRARY WHERE_LIBRARY-config|wc -l`
+       if [ "$nbw" -ne 0 -a ! -f $LIB/WHERE.$l  ]; then
 	   if [ -z "$l" ];then l="$la";fi  
 	   if  ( ls  "lib$la"[-._0-9]*a 1>/dev/null 2>/dev/null ) ; then 
 	       ll=`ls  "lib$la"[-._0-9]*a|grep [.]a`
diff --git a/examples++-load/ff_gsl_awk.hpp b/examples++-load/ff_gsl_awk.hpp
index 5112e59..3392796 100644
--- a/examples++-load/ff_gsl_awk.hpp
+++ b/examples++-load/ff_gsl_awk.hpp
@@ -1,305 +1,914 @@
  /*  
- minssing gsl_sf_coulomb.h:double gsl_sf_hydrogenicR(const int n, const int l, const double Z, const double r);
- minssing gsl_sf_coupling.h:double gsl_sf_coupling_3j(int two_ja, int two_jb, int two_jc,
- minssing gsl_sf_coupling.h:double gsl_sf_coupling_6j(int two_ja, int two_jb, int two_jc,
- minssing gsl_sf_coupling.h:double gsl_sf_coupling_RacahW(int two_ja, int two_jb, int two_jc,
- minssing gsl_sf_coupling.h:double gsl_sf_coupling_9j(int two_ja, int two_jb, int two_jc,
- minssing gsl_sf_coupling.h:double gsl_sf_coupling_6j_INCORRECT(int two_ja, int two_jb, int two_jc,
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_Pcomp(double k, double n, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_F(double phi, double k, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_E(double phi, double k, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_P(double phi, double k, double n, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_D(double phi, double k, double n, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_RC(double x, double y, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_RD(double x, double y, double z, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_RF(double x, double y, double z, gsl_mode_t mode);
- minssing gsl_sf_ellint.h:double gsl_sf_ellint_RJ(double x, double y, double z, double p, gsl_mode_t mode);
- minssing gsl_sf_gamma.h:double gsl_sf_beta_inc(const double a, const double b, const double x);
- minssing gsl_sf_gegenbauer.h:double gsl_sf_gegenpoly_n(int n, double lambda, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_1F1_int(const int m, const int n, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_1F1(double a, double b, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_U_int(const int m, const int n, const double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_U(const double a, const double b, const double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_2F1(double a, double b, double c, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_2F1_conj(double aR, double aI, double c, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_2F1_renorm(double a, double b, double c, double x);
- minssing gsl_sf_hyperg.h:double gsl_sf_hyperg_2F1_conj_renorm(double aR, double aI, double c, double x);
- minssing gsl_sf_hyperg.h:double     gsl_sf_hyperg_2F0(const double a, const double b, const double x);
- minssing gsl_sf_laguerre.h:double     gsl_sf_laguerre_n(int n, double a, double x);
- minssing gsl_sf_legendre.h:double  gsl_sf_legendre_Plm(const int l, const int m, const double x);
- minssing gsl_sf_legendre.h:double  gsl_sf_legendre_sphPlm(const int l, const int m, const double x);
- minssing gsl_sf_legendre.h:double gsl_sf_conicalP_sph_reg(const int l, const double lambda, const double x);
- minssing gsl_sf_legendre.h:double gsl_sf_conicalP_cyl_reg(const int m, const double lambda, const double x);
- minssing gsl_sf_legendre.h:double gsl_sf_legendre_H3d(const int l, const double lambda, const double eta);
+//  -- missing type "const double[]" 
+ missing: 5   gsl_ran_dirichlet_pdf  -> /usr/local/include/gsl/gsl_randist.h:double gsl_ran_dirichlet_pdf (const size_t K, const double alpha[], const double theta[]);
+ missing: 5   gsl_ran_dirichlet_lnpdf  -> /usr/local/include/gsl/gsl_randist.h:double gsl_ran_dirichlet_lnpdf (const size_t K, const double alpha[], const double theta[]);
+//  -- missing type "size_t" 
+ missing: 4   gsl_ran_discrete_pdf  -> /usr/local/include/gsl/gsl_randist.h:double gsl_ran_discrete_pdf (size_t k, const gsl_ran_discrete_t *g);
+//  -- missing type "const gsl_mode_t" 
+ missing: 5   gsl_sf_airy_Ai_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Ai_e(const double x, const gsl_mode_t mode, gsl_sf_result * result);
+//  -- missing type "gsl_mode_t" 
+ missing: 4   gsl_sf_airy_Ai  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Ai(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Bi_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Bi_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Bi  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Bi(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Ai_scaled_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Ai_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Ai_scaled  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Ai_scaled(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Bi_scaled_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Bi_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Bi_scaled  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Bi_scaled(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Ai_deriv_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Ai_deriv_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Ai_deriv  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Ai_deriv(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Bi_deriv_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Bi_deriv_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Bi_deriv  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Bi_deriv(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Ai_deriv_scaled_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Ai_deriv_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Ai_deriv_scaled  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Ai_deriv_scaled(const double x, gsl_mode_t mode);
+ missing: 5   gsl_sf_airy_Bi_deriv_scaled_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_Bi_deriv_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_Bi_deriv_scaled  -> /usr/local/include/gsl/gsl_sf_airy.h:double gsl_sf_airy_Bi_deriv_scaled(const double x, gsl_mode_t mode);
+//  -- missing type "gsl_sf_result *" 
+ missing: 4   gsl_sf_airy_zero_Ai_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_zero_Ai_e(unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_zero_Bi_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_zero_Bi_e(unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_zero_Ai_deriv_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_zero_Ai_deriv_e(unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_airy_zero_Bi_deriv_e  -> /usr/local/include/gsl/gsl_sf_airy.h:int gsl_sf_airy_zero_Bi_deriv_e(unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_J0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_J0_e(const double x,  gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_J1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_J1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Jn_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Jn_e(int n, double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_Y0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Y0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_Y1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Y1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Yn_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Yn_e(int n,const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_I0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_I0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_I1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_I1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_In_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_In_e(const int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_I0_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_I0_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_I1_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_I1_scaled_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_In_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_In_scaled_e(int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_K0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_K0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_K1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_K1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Kn_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Kn_e(const int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_K0_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_K0_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_K1_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_K1_scaled_e(const double x, gsl_sf_result * result); 
+ missing: 5   gsl_sf_bessel_Kn_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Kn_scaled_e(int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_j0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_j0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_j1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_j1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_j2_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_j2_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_jl_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_jl_e(const int l, const double x, gsl_sf_result * result);
+//  -- missing type "double *" 
+ missing: 5   gsl_sf_bessel_jl_array  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_jl_array(const int lmax, const double x, double * result_array);
+ missing: 5   gsl_sf_bessel_jl_steed_array  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_jl_steed_array(const int lmax, const double x, double * jl_x_array);
+ missing: 4   gsl_sf_bessel_y0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_y0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_y1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_y1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_y2_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_y2_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_yl_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_yl_e(int l, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_yl_array  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_yl_array(const int lmax, const double x, double * result_array);
+ missing: 4   gsl_sf_bessel_i0_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_i0_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_i1_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_i1_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_i2_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_i2_scaled_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_il_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_il_scaled_e(const int l, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_il_scaled_array  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_il_scaled_array(const int lmax, const double x, double * result_array);
+ missing: 4   gsl_sf_bessel_k0_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_k0_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_k1_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_k1_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_k2_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_k2_scaled_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_kl_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_kl_scaled_e(int l, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_kl_scaled_array  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_kl_scaled_array(const int lmax, const double x, double * result_array);
+ missing: 5   gsl_sf_bessel_Jnu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Jnu_e(const double nu, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Ynu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Ynu_e(double nu, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Inu_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Inu_scaled_e(double nu, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Inu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Inu_e(double nu, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_Knu_scaled_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Knu_scaled_e(const double nu, const double x, gsl_sf_result * result);
+//  -- missing type "gsl_sf_result_e10 *" 
+ missing: 5   gsl_sf_bessel_Knu_scaled_e10_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Knu_scaled_e10_e(const double nu, const double x, gsl_sf_result_e10 * result);
+ missing: 5   gsl_sf_bessel_Knu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_Knu_e(const double nu, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_lnKnu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_lnKnu_e(const double nu, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_zero_J0_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_zero_J0_e(unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_bessel_zero_J1_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_zero_J1_e(unsigned int s, gsl_sf_result * result);
+ missing: 5   gsl_sf_bessel_zero_Jnu_e  -> /usr/local/include/gsl/gsl_sf_bessel.h:int gsl_sf_bessel_zero_Jnu_e(double nu, unsigned int s, gsl_sf_result * result);
+ missing: 4   gsl_sf_clausen_e  -> /usr/local/include/gsl/gsl_sf_clausen.h:int gsl_sf_clausen_e(double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_hydrogenicR_1_e  -> /usr/local/include/gsl/gsl_sf_coulomb.h:int gsl_sf_hydrogenicR_1_e(const double Z, const double r, gsl_sf_result * result);
+ missing: 5   gsl_sf_coulomb_CL_e  -> /usr/local/include/gsl/gsl_sf_coulomb.h:int gsl_sf_coulomb_CL_e(double L, double eta, gsl_sf_result * result);
+ missing: 6   gsl_sf_coulomb_CL_e  -> /usr/local/include/gsl/gsl_sf_coulomb.h:int gsl_sf_coulomb_CL_array(double Lmin, int kmax, double eta, double * cl);
+ missing: 4   gsl_sf_dawson_e  -> /usr/local/include/gsl/gsl_sf_dawson.h:int     gsl_sf_dawson_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_1_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_2_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_2_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_3_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_3_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_4_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_4_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_5_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_5_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_debye_6_e  -> /usr/local/include/gsl/gsl_sf_debye.h:int     gsl_sf_debye_6_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_dilog_e  -> /usr/local/include/gsl/gsl_sf_dilog.h:int     gsl_sf_dilog_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_multiply_e  -> /usr/local/include/gsl/gsl_sf_elementary.h:int gsl_sf_multiply_e(const double x, const double y, gsl_sf_result * result);
+ missing: 5   gsl_sf_ellint_Kcomp_e  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_Kcomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_ellint_Kcomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_Kcomp(double k, gsl_mode_t mode);
+ missing: 5   gsl_sf_ellint_Ecomp_e  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_Ecomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_ellint_Ecomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_Ecomp(double k, gsl_mode_t mode);
+ missing: 6   gsl_sf_ellint_Ecomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_Pcomp_e(double k, double n, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 5   gsl_sf_ellint_Pcomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_Pcomp(double k, double n, gsl_mode_t mode);
+ missing: 5   gsl_sf_ellint_Dcomp_e  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_Dcomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 4   gsl_sf_ellint_Dcomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_Dcomp(double k, gsl_mode_t mode);
+ missing: 6   gsl_sf_ellint_Dcomp  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_F_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 5   gsl_sf_ellint_F  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_F(double phi, double k, gsl_mode_t mode);
+ missing: 6   gsl_sf_ellint_F  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_E_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 5   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_E(double phi, double k, gsl_mode_t mode);
+ missing: 7   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_P_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 6   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_P(double phi, double k, double n, gsl_mode_t mode);
+ missing: 7   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 6   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_D(double phi, double k, double n, gsl_mode_t mode);
+ missing: 6   gsl_sf_ellint_E  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_RC_e(double x, double y, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 5   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_RC(double x, double y, gsl_mode_t mode);
+ missing: 7   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_RD_e(double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 6   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_RD(double x, double y, double z, gsl_mode_t mode);
+ missing: 7   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_RF_e(double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 6   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_RF(double x, double y, double z, gsl_mode_t mode);
+ missing: 8   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:int gsl_sf_ellint_RJ_e(double x, double y, double z, double p, gsl_mode_t mode, gsl_sf_result * result);
+ missing: 7   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_ellint.h:double gsl_sf_ellint_RJ(double x, double y, double z, double p, gsl_mode_t mode);
+ missing: 7   gsl_sf_ellint_RC  -> /usr/local/include/gsl/gsl_sf_elljac.h:int gsl_sf_elljac_e(double u, double m, double * sn, double * cn, double * dn);
+ missing: 4   gsl_sf_erfc_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_erfc_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_log_erfc_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_log_erfc_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_erf_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_erf_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_erf_Z_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_erf_Z_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_erf_Q_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_erf_Q_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_hazard_e  -> /usr/local/include/gsl/gsl_sf_erf.h:int gsl_sf_hazard_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_exp_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_exp_e10_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_e10_e(const double x, gsl_sf_result_e10 * result);
+ missing: 5   gsl_sf_exp_mult_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_mult_e(const double x, const double y, gsl_sf_result * result);
+ missing: 5   gsl_sf_exp_mult_e10_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_mult_e10_e(const double x, const double y, gsl_sf_result_e10 * result);
+ missing: 4   gsl_sf_expm1_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_expm1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_exprel_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exprel_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_exprel_2_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exprel_2_e(double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_exprel_n_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exprel_n_e(const int n, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_exprel_n_CF_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exprel_n_CF_e(const double n, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_exp_err_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_err_e(const double x, const double dx, gsl_sf_result * result);
+ missing: 5   gsl_sf_exp_err_e10_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_err_e10_e(const double x, const double dx, gsl_sf_result_e10 * result);
+ missing: 7   gsl_sf_exp_err_e10_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_mult_err_e(const double x, const double dx, const double y, const double dy, gsl_sf_result * result);
+ missing: 7   gsl_sf_exp_err_e10_e  -> /usr/local/include/gsl/gsl_sf_exp.h:int gsl_sf_exp_mult_err_e10_e(const double x, const double dx, const double y, const double dy, gsl_sf_result_e10 * result);
+ missing: 4   gsl_sf_expint_E1_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_E1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_E2_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_E2_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_expint_En_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_En_e(const int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_E1_scaled_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_E1_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_E2_scaled_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_E2_scaled_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_expint_En_scaled_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_En_scaled_e(const int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_Ei_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_Ei_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_Ei_scaled_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_Ei_scaled_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_Shi_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_Shi_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_Chi_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_Chi_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_expint_3_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_expint_3_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_Si_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_Si_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_Ci_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_Ci_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_atanint_e  -> /usr/local/include/gsl/gsl_sf_expint.h:int     gsl_sf_atanint_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_m1_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_m1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_0_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_1_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_2_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_2_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_fermi_dirac_int_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_int_e(const int j, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_mhalf_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_mhalf_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_half_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_half_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fermi_dirac_3half_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_3half_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_fermi_dirac_inc_0_e  -> /usr/local/include/gsl/gsl_sf_fermi_dirac.h:int     gsl_sf_fermi_dirac_inc_0_e(const double x, const double b, gsl_sf_result * result);
+ missing: 4   gsl_sf_lngamma_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lngamma_e(double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_lngamma_sgn_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lngamma_sgn_e(double x, gsl_sf_result * result_lg, double *sgn);
+ missing: 4   gsl_sf_gamma_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gamma_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_gammastar_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gammastar_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_gammainv_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gammainv_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_taylorcoeff_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_taylorcoeff_e(const int n, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_fact_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_fact_e(const unsigned int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_doublefact_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_doublefact_e(const unsigned int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_lnfact_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lnfact_e(const unsigned int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_lndoublefact_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lndoublefact_e(const unsigned int n, gsl_sf_result * result);
+ missing: 5   gsl_sf_lnchoose_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lnchoose_e(unsigned int n, unsigned int m, gsl_sf_result * result);
+ missing: 5   gsl_sf_choose_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_choose_e(unsigned int n, unsigned int m, gsl_sf_result * result);
+ missing: 5   gsl_sf_lnpoch_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lnpoch_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_poch_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_poch_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_pochrel_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_pochrel_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_gamma_inc_Q_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gamma_inc_Q_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_gamma_inc_P_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gamma_inc_P_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_gamma_inc_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_gamma_inc_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_lnbeta_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_lnbeta_e(const double a, const double b, gsl_sf_result * result);
+ missing: 5   gsl_sf_beta_e  -> /usr/local/include/gsl/gsl_sf_gamma.h:int gsl_sf_beta_e(const double a, const double b, gsl_sf_result * result);
+ missing: 5   gsl_sf_gegenpoly_1_e  -> /usr/local/include/gsl/gsl_sf_gegenbauer.h:int gsl_sf_gegenpoly_1_e(double lambda, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_gegenpoly_2_e  -> /usr/local/include/gsl/gsl_sf_gegenbauer.h:int gsl_sf_gegenpoly_2_e(double lambda, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_gegenpoly_3_e  -> /usr/local/include/gsl/gsl_sf_gegenbauer.h:int gsl_sf_gegenpoly_3_e(double lambda, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_hyperg_0F1_e  -> /usr/local/include/gsl/gsl_sf_hyperg.h:int gsl_sf_hyperg_0F1_e(double c, double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_laguerre_1_e  -> /usr/local/include/gsl/gsl_sf_laguerre.h:int gsl_sf_laguerre_1_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_laguerre_2_e  -> /usr/local/include/gsl/gsl_sf_laguerre.h:int gsl_sf_laguerre_2_e(const double a, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_laguerre_3_e  -> /usr/local/include/gsl/gsl_sf_laguerre.h:int gsl_sf_laguerre_3_e(const double a, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_lambert_W0_e  -> /usr/local/include/gsl/gsl_sf_lambert.h:int     gsl_sf_lambert_W0_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_lambert_Wm1_e  -> /usr/local/include/gsl/gsl_sf_lambert.h:int     gsl_sf_lambert_Wm1_e(double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_legendre_Pl_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int     gsl_sf_legendre_Pl_e(const int l, const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_legendre_P1_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_P1_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_legendre_P2_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_P2_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_legendre_P3_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_P3_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_legendre_Q0_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_Q0_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_legendre_Q1_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_Q1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_legendre_Ql_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_Ql_e(const int l, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_conicalP_half_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_conicalP_half_e(const double lambda, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_conicalP_mhalf_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_conicalP_mhalf_e(const double lambda, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_conicalP_0_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_conicalP_0_e(const double lambda, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_conicalP_1_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_conicalP_1_e(const double lambda, const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_legendre_H3d_0_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_H3d_0_e(const double lambda, const double eta, gsl_sf_result * result);
+ missing: 5   gsl_sf_legendre_H3d_1_e  -> /usr/local/include/gsl/gsl_sf_legendre.h:int gsl_sf_legendre_H3d_1_e(const double lambda, const double eta, gsl_sf_result * result);
+ missing: 4   gsl_sf_log_e  -> /usr/local/include/gsl/gsl_sf_log.h:int gsl_sf_log_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_log_abs_e  -> /usr/local/include/gsl/gsl_sf_log.h:int gsl_sf_log_abs_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_log_1plusx_e  -> /usr/local/include/gsl/gsl_sf_log.h:int gsl_sf_log_1plusx_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_log_1plusx_mx_e  -> /usr/local/include/gsl/gsl_sf_log.h:int gsl_sf_log_1plusx_mx_e(const double x, gsl_sf_result * result);
+//  -- missing type "gsl_sf_result" 
+ missing: 5   gsl_sf_mathieu_a  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_a(int order, double qq, gsl_sf_result *result);
+ missing: 5   gsl_sf_mathieu_b  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_b(int order, double qq, gsl_sf_result *result);
+ missing: 6   gsl_sf_mathieu_b  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_a_coeff(int order, double qq, double aa, double coeff[]);
+ missing: 6   gsl_sf_mathieu_b  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_b_coeff(int order, double qq, double aa, double coeff[]);
+ missing: 6   gsl_sf_mathieu_b  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_ce(int order, double qq, double zz, gsl_sf_result *result);
+ missing: 6   gsl_sf_mathieu_b  -> /usr/local/include/gsl/gsl_sf_mathieu.h:int gsl_sf_mathieu_se(int order, double qq, double zz, gsl_sf_result *result);
+ missing: 5   gsl_sf_pow_int_e  -> /usr/local/include/gsl/gsl_sf_pow_int.h:int     gsl_sf_pow_int_e(double x, int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_psi_int_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_int_e(const int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_psi_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_psi_1piy_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_1piy_e(const double y, gsl_sf_result * result);
+ missing: 4   gsl_sf_psi_1_int_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_1_int_e(const int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_psi_1_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_1_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_psi_n_e  -> /usr/local/include/gsl/gsl_sf_psi.h:int     gsl_sf_psi_n_e(const int n, const double x, gsl_sf_result * result);
+//  -- missing type "const gsl_sf_result_e10 *" 
+ missing: 4   gsl_sf_result_smash_e  -> /usr/local/include/gsl/gsl_sf_result.h:int gsl_sf_result_smash_e(const gsl_sf_result_e10 * re, gsl_sf_result * r);
+ missing: 4   gsl_sf_synchrotron_1_e  -> /usr/local/include/gsl/gsl_sf_synchrotron.h:int     gsl_sf_synchrotron_1_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_synchrotron_2_e  -> /usr/local/include/gsl/gsl_sf_synchrotron.h:int     gsl_sf_synchrotron_2_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_transport_2_e  -> /usr/local/include/gsl/gsl_sf_transport.h:int     gsl_sf_transport_2_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_transport_3_e  -> /usr/local/include/gsl/gsl_sf_transport.h:int     gsl_sf_transport_3_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_transport_4_e  -> /usr/local/include/gsl/gsl_sf_transport.h:int     gsl_sf_transport_4_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_transport_5_e  -> /usr/local/include/gsl/gsl_sf_transport.h:int     gsl_sf_transport_5_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_sin_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_sin_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_cos_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_cos_e(double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_hypot_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_hypot_e(const double x, const double y, gsl_sf_result * result);
+ missing: 4   gsl_sf_sinc_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_sinc_e(double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_lnsinh_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_lnsinh_e(const double x, gsl_sf_result * result);
+ missing: 4   gsl_sf_lncosh_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_lncosh_e(const double x, gsl_sf_result * result);
+ missing: 5   gsl_sf_sin_err_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_sin_err_e(const double x, const double dx, gsl_sf_result * result);
+ missing: 5   gsl_sf_cos_err_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_cos_err_e(const double x, const double dx, gsl_sf_result * result);
+ missing: 3   gsl_sf_angle_restrict_symm_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_angle_restrict_symm_e(double * theta);
+ missing: 3   gsl_sf_angle_restrict_pos_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_angle_restrict_pos_e(double * theta);
+ missing: 4   gsl_sf_angle_restrict_symm_err_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_angle_restrict_symm_err_e(const double theta, gsl_sf_result * result);
+ missing: 4   gsl_sf_angle_restrict_pos_err_e  -> /usr/local/include/gsl/gsl_sf_trig.h:int gsl_sf_angle_restrict_pos_err_e(const double theta, gsl_sf_result * result);
+ missing: 4   gsl_sf_zeta_int_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_zeta_int_e(const int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_zeta_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_zeta_e(const double s, gsl_sf_result * result);
+ missing: 4   gsl_sf_zetam1_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_zetam1_e(const double s, gsl_sf_result * result);
+ missing: 4   gsl_sf_zetam1_int_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_zetam1_int_e(const int s, gsl_sf_result * result);
+ missing: 5   gsl_sf_hzeta_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_hzeta_e(const double s, const double q, gsl_sf_result * result);
+ missing: 4   gsl_sf_eta_int_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_eta_int_e(int n, gsl_sf_result * result);
+ missing: 4   gsl_sf_eta_e  -> /usr/local/include/gsl/gsl_sf_zeta.h:int gsl_sf_eta_e(const double s, gsl_sf_result * result);
  */ 
 /*****************/
 /*****************/
-double gsl_sf_airy_Ai( double x, long y   ) { return gsl_sf_airy_Ai( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Bi( double x, long y   ) { return gsl_sf_airy_Bi( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Ai_scaled( double x, long y   ) { return gsl_sf_airy_Ai_scaled( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Bi_scaled( double x, long y   ) { return gsl_sf_airy_Bi_scaled( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Ai_deriv( double x, long y   ) { return gsl_sf_airy_Ai_deriv( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Bi_deriv( double x, long y   ) { return gsl_sf_airy_Bi_deriv( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Ai_deriv_scaled( double x, long y   ) { return gsl_sf_airy_Ai_deriv_scaled( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_Bi_deriv_scaled( double x, long y   ) { return gsl_sf_airy_Bi_deriv_scaled( ( const double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_airy_zero_Ai( long x ) { return gsl_sf_airy_zero_Ai( ( unsigned int) x );}
-double gsl_sf_airy_zero_Bi( long x ) { return gsl_sf_airy_zero_Bi( ( unsigned int) x );}
-double gsl_sf_airy_zero_Ai_deriv( long x ) { return gsl_sf_airy_zero_Ai_deriv( ( unsigned int) x );}
-double gsl_sf_airy_zero_Bi_deriv( long x ) { return gsl_sf_airy_zero_Bi_deriv( ( unsigned int) x );}
-double gsl_sf_bessel_Jn( long x, double y   ) { return gsl_sf_bessel_Jn( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_Yn( long x, double y   ) { return gsl_sf_bessel_Yn( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_In( long x, double y   ) { return gsl_sf_bessel_In( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_In_scaled( long x, double y   ) { return gsl_sf_bessel_In_scaled( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_Kn( long x, double y   ) { return gsl_sf_bessel_Kn( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_Kn_scaled( long x, double y   ) { return gsl_sf_bessel_Kn_scaled( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_jl( long x, double y   ) { return gsl_sf_bessel_jl( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_yl( long x, double y   ) { return gsl_sf_bessel_yl( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_il_scaled( long x, double y   ) { return gsl_sf_bessel_il_scaled( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_kl_scaled( long x, double y   ) { return gsl_sf_bessel_kl_scaled( ( const int) x, ( const double)  y  );}
-double gsl_sf_bessel_Jnu( double x, long y   ) { return gsl_sf_bessel_Jnu( ( const double) x, ( const double)  y  );}
-double gsl_sf_bessel_Ynu( double x, long y   ) { return gsl_sf_bessel_Ynu( ( const double) x, ( const double)  y  );}
-double gsl_sf_bessel_Inu_scaled( double x, long y   ) { return gsl_sf_bessel_Inu_scaled( ( double) x, ( double)  y  );}
-double gsl_sf_bessel_Inu( double x, long y   ) { return gsl_sf_bessel_Inu( ( double) x, ( double)  y  );}
-double gsl_sf_bessel_Knu_scaled( double x, long y   ) { return gsl_sf_bessel_Knu_scaled( ( const double) x, ( const double)  y  );}
-double gsl_sf_bessel_Knu( double x, long y   ) { return gsl_sf_bessel_Knu( ( const double) x, ( const double)  y  );}
-double gsl_sf_bessel_lnKnu( double x, long y   ) { return gsl_sf_bessel_lnKnu( ( const double) x, ( const double)  y  );}
-double gsl_sf_bessel_zero_J0( long x ) { return gsl_sf_bessel_zero_J0( ( unsigned int) x );}
-double gsl_sf_bessel_zero_J1( long x ) { return gsl_sf_bessel_zero_J1( ( unsigned int) x );}
-double gsl_sf_bessel_zero_Jnu( double x, long y   ) { return gsl_sf_bessel_zero_Jnu( ( double) x, ( unsigned int)  y  );}
-double gsl_sf_hydrogenicR_1( double x, long y   ) { return gsl_sf_hydrogenicR_1( ( const double) x, ( const double)  y  );}
-double gsl_sf_multiply( double x, long y   ) { return gsl_sf_multiply( ( const double) x, ( const double)  y  );}
-double gsl_sf_ellint_Kcomp( double x, long y   ) { return gsl_sf_ellint_Kcomp( ( double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_ellint_Ecomp( double x, long y   ) { return gsl_sf_ellint_Ecomp( ( double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_ellint_Dcomp( double x, long y   ) { return gsl_sf_ellint_Dcomp( ( double) x, ( gsl_mode_t)  y  );}
-double gsl_sf_exp_mult( double x, long y   ) { return gsl_sf_exp_mult( ( const double) x, ( const double)  y  );}
-double gsl_sf_exprel_n( long x, double y   ) { return gsl_sf_exprel_n( ( const int) x, ( const double)  y  );}
-double gsl_sf_expint_En( long x, double y   ) { return gsl_sf_expint_En( ( const int) x, ( const double)  y  );}
-double gsl_sf_expint_En_scaled( long x, double y   ) { return gsl_sf_expint_En_scaled( ( const int) x, ( const double)  y  );}
-double gsl_sf_fermi_dirac_int( long x, double y   ) { return gsl_sf_fermi_dirac_int( ( const int) x, ( const double)  y  );}
-double gsl_sf_fermi_dirac_inc_0( double x, long y   ) { return gsl_sf_fermi_dirac_inc_0( ( const double) x, ( const double)  y  );}
-double gsl_sf_taylorcoeff( long x, double y   ) { return gsl_sf_taylorcoeff( ( const int) x, ( const double)  y  );}
-double gsl_sf_fact( long x ) { return gsl_sf_fact( ( const unsigned int) x );}
-double gsl_sf_doublefact( long x ) { return gsl_sf_doublefact( ( const unsigned int) x );}
-double gsl_sf_lnfact( long x ) { return gsl_sf_lnfact( ( const unsigned int) x );}
-double gsl_sf_lndoublefact( long x ) { return gsl_sf_lndoublefact( ( const unsigned int) x );}
-double gsl_sf_lnchoose( long x, long y   ) { return gsl_sf_lnchoose( ( unsigned int) x, ( unsigned int)  y  );}
-double gsl_sf_choose( long x, long y   ) { return gsl_sf_choose( ( unsigned int) x, ( unsigned int)  y  );}
-double gsl_sf_lnpoch( double x, long y   ) { return gsl_sf_lnpoch( ( const double) x, ( const double)  y  );}
-double gsl_sf_poch( double x, long y   ) { return gsl_sf_poch( ( const double) x, ( const double)  y  );}
-double gsl_sf_pochrel( double x, long y   ) { return gsl_sf_pochrel( ( const double) x, ( const double)  y  );}
-double gsl_sf_gamma_inc_Q( double x, long y   ) { return gsl_sf_gamma_inc_Q( ( const double) x, ( const double)  y  );}
-double gsl_sf_gamma_inc_P( double x, long y   ) { return gsl_sf_gamma_inc_P( ( const double) x, ( const double)  y  );}
-double gsl_sf_gamma_inc( double x, long y   ) { return gsl_sf_gamma_inc( ( const double) x, ( const double)  y  );}
-double gsl_sf_lnbeta( double x, long y   ) { return gsl_sf_lnbeta( ( const double) x, ( const double)  y  );}
-double gsl_sf_beta( double x, long y   ) { return gsl_sf_beta( ( const double) x, ( const double)  y  );}
-double gsl_sf_gegenpoly_1( double x, long y   ) { return gsl_sf_gegenpoly_1( ( double) x, ( double)  y  );}
-double gsl_sf_gegenpoly_2( double x, long y   ) { return gsl_sf_gegenpoly_2( ( double) x, ( double)  y  );}
-double gsl_sf_gegenpoly_3( double x, long y   ) { return gsl_sf_gegenpoly_3( ( double) x, ( double)  y  );}
-double gsl_sf_hyperg_0F1( double x, long y   ) { return gsl_sf_hyperg_0F1( ( const double) x, ( const double)  y  );}
-double gsl_sf_laguerre_1( double x, long y   ) { return gsl_sf_laguerre_1( ( double) x, ( double)  y  );}
-double gsl_sf_laguerre_2( double x, long y   ) { return gsl_sf_laguerre_2( ( double) x, ( double)  y  );}
-double gsl_sf_laguerre_3( double x, long y   ) { return gsl_sf_laguerre_3( ( double) x, ( double)  y  );}
-double gsl_sf_legendre_Pl( long x, double y   ) { return gsl_sf_legendre_Pl( ( const int) x, ( const double)  y  );}
-double gsl_sf_legendre_Ql( long x, double y   ) { return gsl_sf_legendre_Ql( ( const int) x, ( const double)  y  );}
-double gsl_sf_conicalP_half( double x, long y   ) { return gsl_sf_conicalP_half( ( const double) x, ( const double)  y  );}
-double gsl_sf_conicalP_mhalf( double x, long y   ) { return gsl_sf_conicalP_mhalf( ( const double) x, ( const double)  y  );}
-double gsl_sf_conicalP_0( double x, long y   ) { return gsl_sf_conicalP_0( ( const double) x, ( const double)  y  );}
-double gsl_sf_conicalP_1( double x, long y   ) { return gsl_sf_conicalP_1( ( const double) x, ( const double)  y  );}
-double gsl_sf_legendre_H3d_0( double x, long y   ) { return gsl_sf_legendre_H3d_0( ( const double) x, ( const double)  y  );}
-double gsl_sf_legendre_H3d_1( double x, long y   ) { return gsl_sf_legendre_H3d_1( ( const double) x, ( const double)  y  );}
-double gsl_sf_pow_int( double x, long y   ) { return gsl_sf_pow_int( ( const double) x, ( const int)  y  );}
-double gsl_sf_psi_int( long x ) { return gsl_sf_psi_int( ( const int) x );}
-double gsl_sf_psi_1_int( long x ) { return gsl_sf_psi_1_int( ( const int) x );}
-double gsl_sf_psi_n( long x, double y   ) { return gsl_sf_psi_n( ( const int) x, ( const double)  y  );}
-double gsl_sf_hypot( double x, long y   ) { return gsl_sf_hypot( ( const double) x, ( const double)  y  );}
-double gsl_sf_zeta_int( long x ) { return gsl_sf_zeta_int( ( const int) x );}
-double gsl_sf_zetam1_int( long x ) { return gsl_sf_zetam1_int( ( const int) x );}
-double gsl_sf_hzeta( double x, long y   ) { return gsl_sf_hzeta( ( const double) x, ( const double)  y  );}
-double gsl_sf_eta_int( long x ) { return gsl_sf_eta_int( ( const int) x );}
+double gsl_cdf_ugaussian_P__(double const & x ) { return gsl_cdf_ugaussian_P( (const double) x );}
+double gsl_cdf_ugaussian_Q__(double const & x ) { return gsl_cdf_ugaussian_Q( (const double) x );}
+double gsl_cdf_ugaussian_Pinv__(double const & x ) { return gsl_cdf_ugaussian_Pinv( (const double) x );}
+double gsl_cdf_ugaussian_Qinv__(double const & x ) { return gsl_cdf_ugaussian_Qinv( (const double) x );}
+double gsl_cdf_gaussian_P__(double const & x , double const & y ){ return gsl_cdf_gaussian_P( (const double) x , (const double) y );}
+double gsl_cdf_gaussian_Q__(double const & x , double const & y ){ return gsl_cdf_gaussian_Q( (const double) x , (const double) y );}
+double gsl_cdf_gaussian_Pinv__(double const & x , double const & y ){ return gsl_cdf_gaussian_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_gaussian_Qinv__(double const & x , double const & y ){ return gsl_cdf_gaussian_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_gamma_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_gamma_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gamma_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_gamma_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gamma_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gamma_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gamma_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gamma_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_cauchy_P__(double const & x , double const & y ){ return gsl_cdf_cauchy_P( (const double) x , (const double) y );}
+double gsl_cdf_cauchy_Q__(double const & x , double const & y ){ return gsl_cdf_cauchy_Q( (const double) x , (const double) y );}
+double gsl_cdf_cauchy_Pinv__(double const & x , double const & y ){ return gsl_cdf_cauchy_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_cauchy_Qinv__(double const & x , double const & y ){ return gsl_cdf_cauchy_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_laplace_P__(double const & x , double const & y ){ return gsl_cdf_laplace_P( (const double) x , (const double) y );}
+double gsl_cdf_laplace_Q__(double const & x , double const & y ){ return gsl_cdf_laplace_Q( (const double) x , (const double) y );}
+double gsl_cdf_laplace_Pinv__(double const & x , double const & y ){ return gsl_cdf_laplace_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_laplace_Qinv__(double const & x , double const & y ){ return gsl_cdf_laplace_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_rayleigh_P__(double const & x , double const & y ){ return gsl_cdf_rayleigh_P( (const double) x , (const double) y );}
+double gsl_cdf_rayleigh_Q__(double const & x , double const & y ){ return gsl_cdf_rayleigh_Q( (const double) x , (const double) y );}
+double gsl_cdf_rayleigh_Pinv__(double const & x , double const & y ){ return gsl_cdf_rayleigh_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_rayleigh_Qinv__(double const & x , double const & y ){ return gsl_cdf_rayleigh_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_chisq_P__(double const & x , double const & y ){ return gsl_cdf_chisq_P( (const double) x , (const double) y );}
+double gsl_cdf_chisq_Q__(double const & x , double const & y ){ return gsl_cdf_chisq_Q( (const double) x , (const double) y );}
+double gsl_cdf_chisq_Pinv__(double const & x , double const & y ){ return gsl_cdf_chisq_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_chisq_Qinv__(double const & x , double const & y ){ return gsl_cdf_chisq_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_exponential_P__(double const & x , double const & y ){ return gsl_cdf_exponential_P( (const double) x , (const double) y );}
+double gsl_cdf_exponential_Q__(double const & x , double const & y ){ return gsl_cdf_exponential_Q( (const double) x , (const double) y );}
+double gsl_cdf_exponential_Pinv__(double const & x , double const & y ){ return gsl_cdf_exponential_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_exponential_Qinv__(double const & x , double const & y ){ return gsl_cdf_exponential_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_exppow_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_exppow_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_exppow_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_exppow_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_tdist_P__(double const & x , double const & y ){ return gsl_cdf_tdist_P( (const double) x , (const double) y );}
+double gsl_cdf_tdist_Q__(double const & x , double const & y ){ return gsl_cdf_tdist_Q( (const double) x , (const double) y );}
+double gsl_cdf_tdist_Pinv__(double const & x , double const & y ){ return gsl_cdf_tdist_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_tdist_Qinv__(double const & x , double const & y ){ return gsl_cdf_tdist_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_fdist_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_fdist_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_fdist_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_fdist_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_fdist_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_fdist_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_fdist_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_fdist_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_beta_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_beta_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_beta_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_beta_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_beta_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_beta_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_beta_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_beta_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_flat_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_flat_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_flat_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_flat_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_flat_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_flat_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_flat_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_flat_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_lognormal_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_lognormal_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_lognormal_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_lognormal_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_lognormal_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_lognormal_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_lognormal_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_lognormal_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel1_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel1_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel1_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel1_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel1_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel1_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel1_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel1_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel2_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel2_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel2_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel2_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel2_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel2_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_gumbel2_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_gumbel2_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_weibull_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_weibull_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_weibull_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_weibull_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_weibull_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_weibull_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_weibull_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_weibull_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_pareto_P__(double const & x , double const & y , double const & z ){ return gsl_cdf_pareto_P( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_pareto_Q__(double const & x , double const & y , double const & z ){ return gsl_cdf_pareto_Q( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_pareto_Pinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_pareto_Pinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_pareto_Qinv__(double const & x , double const & y , double const & z ){ return gsl_cdf_pareto_Qinv( (const double) x , (const double) y , (const double) z );}
+double gsl_cdf_logistic_P__(double const & x , double const & y ){ return gsl_cdf_logistic_P( (const double) x , (const double) y );}
+double gsl_cdf_logistic_Q__(double const & x , double const & y ){ return gsl_cdf_logistic_Q( (const double) x , (const double) y );}
+double gsl_cdf_logistic_Pinv__(double const & x , double const & y ){ return gsl_cdf_logistic_Pinv( (const double) x , (const double) y );}
+double gsl_cdf_logistic_Qinv__(double const & x , double const & y ){ return gsl_cdf_logistic_Qinv( (const double) x , (const double) y );}
+double gsl_cdf_binomial_P__(long const & x , double const & y , long const & z ){ return gsl_cdf_binomial_P( (const unsigned int) x , (const double) y , (const unsigned int) z );}
+double gsl_cdf_binomial_Q__(long const & x , double const & y , long const & z ){ return gsl_cdf_binomial_Q( (const unsigned int) x , (const double) y , (const unsigned int) z );}
+double gsl_cdf_poisson_P__(long const & x , double const & y ){ return gsl_cdf_poisson_P( (const unsigned int) x , (const double) y );}
+double gsl_cdf_poisson_Q__(long const & x , double const & y ){ return gsl_cdf_poisson_Q( (const unsigned int) x , (const double) y );}
+double gsl_cdf_geometric_P__(long const & x , double const & y ){ return gsl_cdf_geometric_P( (const unsigned int) x , (const double) y );}
+double gsl_cdf_geometric_Q__(long const & x , double const & y ){ return gsl_cdf_geometric_Q( (const unsigned int) x , (const double) y );}
+double gsl_cdf_negative_binomial_P__(long const & x , double const & y , double const & z ){ return gsl_cdf_negative_binomial_P( (const unsigned int) x , (const double) y , (const double) z );}
+double gsl_cdf_negative_binomial_Q__(long const & x , double const & y , double const & z ){ return gsl_cdf_negative_binomial_Q( (const unsigned int) x , (const double) y , (const double) z );}
+double gsl_cdf_pascal_P__(long const & x , double const & y , long const & z ){ return gsl_cdf_pascal_P( (const unsigned int) x , (const double) y , (const unsigned int) z );}
+double gsl_cdf_pascal_Q__(long const & x , double const & y , long const & z ){ return gsl_cdf_pascal_Q( (const unsigned int) x , (const double) y , (const unsigned int) z );}
+double gsl_ran_bernoulli_pdf__(long const & x , double const & y ){ return gsl_ran_bernoulli_pdf( (const unsigned int) x , (double) y );}
+double gsl_ran_beta__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_beta( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_beta_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_beta_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_binomial_pdf__(long const & x , double const & y , long const & z ){ return gsl_ran_binomial_pdf( (const unsigned int) x , (const double) y , (const unsigned int) z );}
+double gsl_ran_exponential__(gsl_rng ** const & x , double const & y ){ return gsl_ran_exponential( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_exponential_pdf__(double const & x , double const & y ){ return gsl_ran_exponential_pdf( (const double) x , (const double) y );}
+double gsl_ran_exppow__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_exppow( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_exppow_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_exppow_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_cauchy__(gsl_rng ** const & x , double const & y ){ return gsl_ran_cauchy( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_cauchy_pdf__(double const & x , double const & y ){ return gsl_ran_cauchy_pdf( (const double) x , (const double) y );}
+double gsl_ran_chisq__(gsl_rng ** const & x , double const & y ){ return gsl_ran_chisq( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_chisq_pdf__(double const & x , double const & y ){ return gsl_ran_chisq_pdf( (const double) x , (const double) y );}
+double gsl_ran_erlang__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_erlang( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_erlang_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_erlang_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_fdist__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_fdist( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_fdist_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_fdist_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_flat__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_flat( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_flat_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_flat_pdf( (double) x , (const double) y , (const double) z );}
+double gsl_ran_gamma__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gamma( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gamma_int__(gsl_rng ** const & x , long const & y ){ return gsl_ran_gamma_int( (const gsl_rng *)* x , (const unsigned int) y );}
+double gsl_ran_gamma_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_gamma_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_gamma_mt__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gamma_mt( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gamma_knuth__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gamma_knuth( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gaussian__(gsl_rng ** const & x , double const & y ){ return gsl_ran_gaussian( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_gaussian_ratio_method__(gsl_rng ** const & x , double const & y ){ return gsl_ran_gaussian_ratio_method( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_gaussian_ziggurat__(gsl_rng ** const & x , double const & y ){ return gsl_ran_gaussian_ziggurat( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_gaussian_pdf__(double const & x , double const & y ){ return gsl_ran_gaussian_pdf( (const double) x , (const double) y );}
+double gsl_ran_ugaussian__(gsl_rng ** const & x ) { return gsl_ran_ugaussian( (const gsl_rng *)* x );}
+double gsl_ran_ugaussian_ratio_method__(gsl_rng ** const & x ) { return gsl_ran_ugaussian_ratio_method( (const gsl_rng *)* x );}
+double gsl_ran_ugaussian_pdf__(double const & x ) { return gsl_ran_ugaussian_pdf( (const double) x );}
+double gsl_ran_gaussian_tail__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gaussian_tail( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gaussian_tail_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_gaussian_tail_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_ugaussian_tail__(gsl_rng ** const & x , double const & y ){ return gsl_ran_ugaussian_tail( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_ugaussian_tail_pdf__(double const & x , double const & y ){ return gsl_ran_ugaussian_tail_pdf( (const double) x , (const double) y );}
+double gsl_ran_landau__(gsl_rng ** const & x ) { return gsl_ran_landau( (const gsl_rng *)* x );}
+double gsl_ran_landau_pdf__(double const & x ) { return gsl_ran_landau_pdf( (const double) x );}
+double gsl_ran_geometric_pdf__(long const & x , double const & y ){ return gsl_ran_geometric_pdf( (const unsigned int) x , (const double) y );}
+double gsl_ran_gumbel1__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gumbel1( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gumbel1_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_gumbel1_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_gumbel2__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_gumbel2( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_gumbel2_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_gumbel2_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_logistic__(gsl_rng ** const & x , double const & y ){ return gsl_ran_logistic( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_logistic_pdf__(double const & x , double const & y ){ return gsl_ran_logistic_pdf( (const double) x , (const double) y );}
+double gsl_ran_lognormal__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_lognormal( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_lognormal_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_lognormal_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_logarithmic_pdf__(long const & x , double const & y ){ return gsl_ran_logarithmic_pdf( (const unsigned int) x , (const double) y );}
+double gsl_ran_negative_binomial_pdf__(long const & x , double const & y , double const & z ){ return gsl_ran_negative_binomial_pdf( (const unsigned int) x , (const double) y , (double) z );}
+double gsl_ran_pascal_pdf__(long const & x , double const & y , long const & z ){ return gsl_ran_pascal_pdf( (const unsigned int) x , (const double) y , (unsigned int) z );}
+double gsl_ran_pareto__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_pareto( (const gsl_rng *)* x , (double) y , (const double) z );}
+double gsl_ran_pareto_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_pareto_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_poisson_pdf__(long const & x , double const & y ){ return gsl_ran_poisson_pdf( (const unsigned int) x , (const double) y );}
+double gsl_ran_rayleigh__(gsl_rng ** const & x , double const & y ){ return gsl_ran_rayleigh( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_rayleigh_pdf__(double const & x , double const & y ){ return gsl_ran_rayleigh_pdf( (const double) x , (const double) y );}
+double gsl_ran_rayleigh_tail__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_rayleigh_tail( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_rayleigh_tail_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_rayleigh_tail_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_ran_tdist__(gsl_rng ** const & x , double const & y ){ return gsl_ran_tdist( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_tdist_pdf__(double const & x , double const & y ){ return gsl_ran_tdist_pdf( (const double) x , (const double) y );}
+double gsl_ran_laplace__(gsl_rng ** const & x , double const & y ){ return gsl_ran_laplace( (const gsl_rng *)* x , (const double) y );}
+double gsl_ran_laplace_pdf__(double const & x , double const & y ){ return gsl_ran_laplace_pdf( (const double) x , (const double) y );}
+double gsl_ran_levy__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_levy( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_weibull__(gsl_rng ** const & x , double const & y , double const & z ){ return gsl_ran_weibull( (const gsl_rng *)* x , (const double) y , (const double) z );}
+double gsl_ran_weibull_pdf__(double const & x , double const & y , double const & z ){ return gsl_ran_weibull_pdf( (const double) x , (const double) y , (const double) z );}
+double gsl_sf_airy_zero_Ai__(long const & x ) { return gsl_sf_airy_zero_Ai( (unsigned int) x );}
+double gsl_sf_airy_zero_Bi__(long const & x ) { return gsl_sf_airy_zero_Bi( (unsigned int) x );}
+double gsl_sf_airy_zero_Ai_deriv__(long const & x ) { return gsl_sf_airy_zero_Ai_deriv( (unsigned int) x );}
+double gsl_sf_airy_zero_Bi_deriv__(long const & x ) { return gsl_sf_airy_zero_Bi_deriv( (unsigned int) x );}
+double gsl_sf_bessel_J0__(double const & x ) { return gsl_sf_bessel_J0( (const double) x );}
+double gsl_sf_bessel_J1__(double const & x ) { return gsl_sf_bessel_J1( (const double) x );}
+double gsl_sf_bessel_Jn__(long const & x , double const & y ){ return gsl_sf_bessel_Jn( (const int) x , (const double) y );}
+double gsl_sf_bessel_Y0__(double const & x ) { return gsl_sf_bessel_Y0( (const double) x );}
+double gsl_sf_bessel_Y1__(double const & x ) { return gsl_sf_bessel_Y1( (const double) x );}
+double gsl_sf_bessel_Yn__(long const & x , double const & y ){ return gsl_sf_bessel_Yn( (const int) x , (const double) y );}
+double gsl_sf_bessel_I0__(double const & x ) { return gsl_sf_bessel_I0( (const double) x );}
+double gsl_sf_bessel_I1__(double const & x ) { return gsl_sf_bessel_I1( (const double) x );}
+double gsl_sf_bessel_In__(long const & x , double const & y ){ return gsl_sf_bessel_In( (const int) x , (const double) y );}
+double gsl_sf_bessel_I0_scaled__(double const & x ) { return gsl_sf_bessel_I0_scaled( (const double) x );}
+double gsl_sf_bessel_I1_scaled__(double const & x ) { return gsl_sf_bessel_I1_scaled( (const double) x );}
+double gsl_sf_bessel_In_scaled__(long const & x , double const & y ){ return gsl_sf_bessel_In_scaled( (const int) x , (const double) y );}
+double gsl_sf_bessel_K0__(double const & x ) { return gsl_sf_bessel_K0( (const double) x );}
+double gsl_sf_bessel_K1__(double const & x ) { return gsl_sf_bessel_K1( (const double) x );}
+double gsl_sf_bessel_Kn__(long const & x , double const & y ){ return gsl_sf_bessel_Kn( (const int) x , (const double) y );}
+double gsl_sf_bessel_K0_scaled__(double const & x ) { return gsl_sf_bessel_K0_scaled( (const double) x );}
+double gsl_sf_bessel_K1_scaled__(double const & x ) { return gsl_sf_bessel_K1_scaled( (const double) x );}
+double gsl_sf_bessel_Kn_scaled__(long const & x , double const & y ){ return gsl_sf_bessel_Kn_scaled( (const int) x , (const double) y );}
+double gsl_sf_bessel_j0__(double const & x ) { return gsl_sf_bessel_j0( (const double) x );}
+double gsl_sf_bessel_j1__(double const & x ) { return gsl_sf_bessel_j1( (const double) x );}
+double gsl_sf_bessel_j2__(double const & x ) { return gsl_sf_bessel_j2( (const double) x );}
+double gsl_sf_bessel_jl__(long const & x , double const & y ){ return gsl_sf_bessel_jl( (const int) x , (const double) y );}
+double gsl_sf_bessel_y0__(double const & x ) { return gsl_sf_bessel_y0( (const double) x );}
+double gsl_sf_bessel_y1__(double const & x ) { return gsl_sf_bessel_y1( (const double) x );}
+double gsl_sf_bessel_y2__(double const & x ) { return gsl_sf_bessel_y2( (const double) x );}
+double gsl_sf_bessel_yl__(long const & x , double const & y ){ return gsl_sf_bessel_yl( (const int) x , (const double) y );}
+double gsl_sf_bessel_i0_scaled__(double const & x ) { return gsl_sf_bessel_i0_scaled( (const double) x );}
+double gsl_sf_bessel_i1_scaled__(double const & x ) { return gsl_sf_bessel_i1_scaled( (const double) x );}
+double gsl_sf_bessel_i2_scaled__(double const & x ) { return gsl_sf_bessel_i2_scaled( (const double) x );}
+double gsl_sf_bessel_il_scaled__(long const & x , double const & y ){ return gsl_sf_bessel_il_scaled( (const int) x , (const double) y );}
+double gsl_sf_bessel_k0_scaled__(double const & x ) { return gsl_sf_bessel_k0_scaled( (const double) x );}
+double gsl_sf_bessel_k1_scaled__(double const & x ) { return gsl_sf_bessel_k1_scaled( (const double) x );}
+double gsl_sf_bessel_k2_scaled__(double const & x ) { return gsl_sf_bessel_k2_scaled( (const double) x );}
+double gsl_sf_bessel_kl_scaled__(long const & x , double const & y ){ return gsl_sf_bessel_kl_scaled( (const int) x , (const double) y );}
+double gsl_sf_bessel_Jnu__(double const & x , double const & y ){ return gsl_sf_bessel_Jnu( (const double) x , (const double) y );}
+double gsl_sf_bessel_Ynu__(double const & x , double const & y ){ return gsl_sf_bessel_Ynu( (const double) x , (const double) y );}
+double gsl_sf_bessel_Inu_scaled__(double const & x , double const & y ){ return gsl_sf_bessel_Inu_scaled( (double) x , (double) y );}
+double gsl_sf_bessel_Inu__(double const & x , double const & y ){ return gsl_sf_bessel_Inu( (double) x , (double) y );}
+double gsl_sf_bessel_Knu_scaled__(double const & x , double const & y ){ return gsl_sf_bessel_Knu_scaled( (const double) x , (const double) y );}
+double gsl_sf_bessel_Knu__(double const & x , double const & y ){ return gsl_sf_bessel_Knu( (const double) x , (const double) y );}
+double gsl_sf_bessel_lnKnu__(double const & x , double const & y ){ return gsl_sf_bessel_lnKnu( (const double) x , (const double) y );}
+double gsl_sf_bessel_zero_J0__(long const & x ) { return gsl_sf_bessel_zero_J0( (unsigned int) x );}
+double gsl_sf_bessel_zero_J1__(long const & x ) { return gsl_sf_bessel_zero_J1( (unsigned int) x );}
+double gsl_sf_bessel_zero_Jnu__(double const & x , long const & y ){ return gsl_sf_bessel_zero_Jnu( (double) x , (unsigned int) y );}
+double gsl_sf_clausen__(double const & x ) { return gsl_sf_clausen( (const double) x );}
+double gsl_sf_hydrogenicR_1__(double const & x , double const & y ){ return gsl_sf_hydrogenicR_1( (const double) x , (const double) y );}
+double gsl_sf_dawson__(double const & x ) { return gsl_sf_dawson( (double) x );}
+double gsl_sf_debye_1__(double const & x ) { return gsl_sf_debye_1( (const double) x );}
+double gsl_sf_debye_2__(double const & x ) { return gsl_sf_debye_2( (const double) x );}
+double gsl_sf_debye_3__(double const & x ) { return gsl_sf_debye_3( (const double) x );}
+double gsl_sf_debye_4__(double const & x ) { return gsl_sf_debye_4( (const double) x );}
+double gsl_sf_debye_5__(double const & x ) { return gsl_sf_debye_5( (const double) x );}
+double gsl_sf_debye_6__(double const & x ) { return gsl_sf_debye_6( (const double) x );}
+double gsl_sf_dilog__(double const & x ) { return gsl_sf_dilog( (const double) x );}
+double gsl_sf_multiply__(double const & x , double const & y ){ return gsl_sf_multiply( (const double) x , (const double) y );}
+double gsl_sf_erfc__(double const & x ) { return gsl_sf_erfc( (double) x );}
+double gsl_sf_log_erfc__(double const & x ) { return gsl_sf_log_erfc( (double) x );}
+double gsl_sf_erf__(double const & x ) { return gsl_sf_erf( (double) x );}
+double gsl_sf_erf_Z__(double const & x ) { return gsl_sf_erf_Z( (double) x );}
+double gsl_sf_erf_Q__(double const & x ) { return gsl_sf_erf_Q( (double) x );}
+double gsl_sf_hazard__(double const & x ) { return gsl_sf_hazard( (double) x );}
+double gsl_sf_exp__(double const & x ) { return gsl_sf_exp( (const double) x );}
+double gsl_sf_exp_mult__(double const & x , double const & y ){ return gsl_sf_exp_mult( (const double) x , (const double) y );}
+double gsl_sf_expm1__(double const & x ) { return gsl_sf_expm1( (const double) x );}
+double gsl_sf_exprel__(double const & x ) { return gsl_sf_exprel( (const double) x );}
+double gsl_sf_exprel_2__(double const & x ) { return gsl_sf_exprel_2( (const double) x );}
+double gsl_sf_exprel_n__(long const & x , double const & y ){ return gsl_sf_exprel_n( (const int) x , (const double) y );}
+double gsl_sf_expint_E1__(double const & x ) { return gsl_sf_expint_E1( (const double) x );}
+double gsl_sf_expint_E2__(double const & x ) { return gsl_sf_expint_E2( (const double) x );}
+double gsl_sf_expint_En__(long const & x , double const & y ){ return gsl_sf_expint_En( (const int) x , (const double) y );}
+double gsl_sf_expint_E1_scaled__(double const & x ) { return gsl_sf_expint_E1_scaled( (const double) x );}
+double gsl_sf_expint_E2_scaled__(double const & x ) { return gsl_sf_expint_E2_scaled( (const double) x );}
+double gsl_sf_expint_En_scaled__(long const & x , double const & y ){ return gsl_sf_expint_En_scaled( (const int) x , (const double) y );}
+double gsl_sf_expint_Ei__(double const & x ) { return gsl_sf_expint_Ei( (const double) x );}
+double gsl_sf_expint_Ei_scaled__(double const & x ) { return gsl_sf_expint_Ei_scaled( (const double) x );}
+double gsl_sf_Shi__(double const & x ) { return gsl_sf_Shi( (const double) x );}
+double gsl_sf_Chi__(double const & x ) { return gsl_sf_Chi( (const double) x );}
+double gsl_sf_expint_3__(double const & x ) { return gsl_sf_expint_3( (double) x );}
+double gsl_sf_Si__(double const & x ) { return gsl_sf_Si( (const double) x );}
+double gsl_sf_Ci__(double const & x ) { return gsl_sf_Ci( (const double) x );}
+double gsl_sf_atanint__(double const & x ) { return gsl_sf_atanint( (const double) x );}
+double gsl_sf_fermi_dirac_m1__(double const & x ) { return gsl_sf_fermi_dirac_m1( (const double) x );}
+double gsl_sf_fermi_dirac_0__(double const & x ) { return gsl_sf_fermi_dirac_0( (const double) x );}
+double gsl_sf_fermi_dirac_1__(double const & x ) { return gsl_sf_fermi_dirac_1( (const double) x );}
+double gsl_sf_fermi_dirac_2__(double const & x ) { return gsl_sf_fermi_dirac_2( (const double) x );}
+double gsl_sf_fermi_dirac_int__(long const & x , double const & y ){ return gsl_sf_fermi_dirac_int( (const int) x , (const double) y );}
+double gsl_sf_fermi_dirac_mhalf__(double const & x ) { return gsl_sf_fermi_dirac_mhalf( (const double) x );}
+double gsl_sf_fermi_dirac_half__(double const & x ) { return gsl_sf_fermi_dirac_half( (const double) x );}
+double gsl_sf_fermi_dirac_3half__(double const & x ) { return gsl_sf_fermi_dirac_3half( (const double) x );}
+double gsl_sf_fermi_dirac_inc_0__(double const & x , double const & y ){ return gsl_sf_fermi_dirac_inc_0( (const double) x , (const double) y );}
+double gsl_sf_lngamma__(double const & x ) { return gsl_sf_lngamma( (const double) x );}
+double gsl_sf_gamma__(double const & x ) { return gsl_sf_gamma( (const double) x );}
+double gsl_sf_gammastar__(double const & x ) { return gsl_sf_gammastar( (const double) x );}
+double gsl_sf_gammainv__(double const & x ) { return gsl_sf_gammainv( (const double) x );}
+double gsl_sf_taylorcoeff__(long const & x , double const & y ){ return gsl_sf_taylorcoeff( (const int) x , (const double) y );}
+double gsl_sf_fact__(long const & x ) { return gsl_sf_fact( (const unsigned int) x );}
+double gsl_sf_doublefact__(long const & x ) { return gsl_sf_doublefact( (const unsigned int) x );}
+double gsl_sf_lnfact__(long const & x ) { return gsl_sf_lnfact( (const unsigned int) x );}
+double gsl_sf_lndoublefact__(long const & x ) { return gsl_sf_lndoublefact( (const unsigned int) x );}
+double gsl_sf_lnchoose__(long const & x , long const & y ){ return gsl_sf_lnchoose( (unsigned int) x , (unsigned int) y );}
+double gsl_sf_choose__(long const & x , long const & y ){ return gsl_sf_choose( (unsigned int) x , (unsigned int) y );}
+double gsl_sf_lnpoch__(double const & x , double const & y ){ return gsl_sf_lnpoch( (const double) x , (const double) y );}
+double gsl_sf_poch__(double const & x , double const & y ){ return gsl_sf_poch( (const double) x , (const double) y );}
+double gsl_sf_pochrel__(double const & x , double const & y ){ return gsl_sf_pochrel( (const double) x , (const double) y );}
+double gsl_sf_gamma_inc_Q__(double const & x , double const & y ){ return gsl_sf_gamma_inc_Q( (const double) x , (const double) y );}
+double gsl_sf_gamma_inc_P__(double const & x , double const & y ){ return gsl_sf_gamma_inc_P( (const double) x , (const double) y );}
+double gsl_sf_gamma_inc__(double const & x , double const & y ){ return gsl_sf_gamma_inc( (const double) x , (const double) y );}
+double gsl_sf_lnbeta__(double const & x , double const & y ){ return gsl_sf_lnbeta( (const double) x , (const double) y );}
+double gsl_sf_beta__(double const & x , double const & y ){ return gsl_sf_beta( (const double) x , (const double) y );}
+double gsl_sf_beta_inc__(double const & x , double const & y , double const & z ){ return gsl_sf_beta_inc( (const double) x , (const double) y , (const double) z );}
+double gsl_sf_gegenpoly_1__(double const & x , double const & y ){ return gsl_sf_gegenpoly_1( (double) x , (double) y );}
+double gsl_sf_gegenpoly_2__(double const & x , double const & y ){ return gsl_sf_gegenpoly_2( (double) x , (double) y );}
+double gsl_sf_gegenpoly_3__(double const & x , double const & y ){ return gsl_sf_gegenpoly_3( (double) x , (double) y );}
+double gsl_sf_gegenpoly_n__(long const & x , double const & y , double const & z ){ return gsl_sf_gegenpoly_n( (int) x , (double) y , (double) z );}
+double gsl_sf_hyperg_0F1__(double const & x , double const & y ){ return gsl_sf_hyperg_0F1( (const double) x , (const double) y );}
+double gsl_sf_hyperg_1F1_int__(long const & x , long const & y , double const & z ){ return gsl_sf_hyperg_1F1_int( (const int) x , (const int) y , (double) z );}
+double gsl_sf_hyperg_1F1__(double const & x , double const & y , double const & z ){ return gsl_sf_hyperg_1F1( (double) x , (double) y , (double) z );}
+double gsl_sf_hyperg_U_int__(long const & x , long const & y , double const & z ){ return gsl_sf_hyperg_U_int( (const int) x , (const int) y , (const double) z );}
+double gsl_sf_hyperg_U__(double const & x , double const & y , double const & z ){ return gsl_sf_hyperg_U( (const double) x , (const double) y , (const double) z );}
+double gsl_sf_hyperg_2F0__(double const & x , double const & y , double const & z ){ return gsl_sf_hyperg_2F0( (const double) x , (const double) y , (const double) z );}
+double gsl_sf_laguerre_1__(double const & x , double const & y ){ return gsl_sf_laguerre_1( (double) x , (double) y );}
+double gsl_sf_laguerre_2__(double const & x , double const & y ){ return gsl_sf_laguerre_2( (double) x , (double) y );}
+double gsl_sf_laguerre_3__(double const & x , double const & y ){ return gsl_sf_laguerre_3( (double) x , (double) y );}
+double gsl_sf_laguerre_n__(long const & x , double const & y , double const & z ){ return gsl_sf_laguerre_n( (int) x , (double) y , (double) z );}
+double gsl_sf_lambert_W0__(double const & x ) { return gsl_sf_lambert_W0( (double) x );}
+double gsl_sf_lambert_Wm1__(double const & x ) { return gsl_sf_lambert_Wm1( (double) x );}
+double gsl_sf_legendre_Pl__(long const & x , double const & y ){ return gsl_sf_legendre_Pl( (const int) x , (const double) y );}
+double gsl_sf_legendre_P1__(double const & x ) { return gsl_sf_legendre_P1( (const double) x );}
+double gsl_sf_legendre_P2__(double const & x ) { return gsl_sf_legendre_P2( (const double) x );}
+double gsl_sf_legendre_P3__(double const & x ) { return gsl_sf_legendre_P3( (const double) x );}
+double gsl_sf_legendre_Q0__(double const & x ) { return gsl_sf_legendre_Q0( (const double) x );}
+double gsl_sf_legendre_Q1__(double const & x ) { return gsl_sf_legendre_Q1( (const double) x );}
+double gsl_sf_legendre_Ql__(long const & x , double const & y ){ return gsl_sf_legendre_Ql( (const int) x , (const double) y );}
+double gsl_sf_legendre_Plm__(long const & x , long const & y , double const & z ){ return gsl_sf_legendre_Plm( (const int) x , (const int) y , (const double) z );}
+double gsl_sf_legendre_sphPlm__(long const & x , long const & y , double const & z ){ return gsl_sf_legendre_sphPlm( (const int) x , (const int) y , (const double) z );}
+long gsl_sf_legendre_array_size__(long const & x , long const & y ){ return gsl_sf_legendre_array_size( (const int) x , (const int) y );}
+double gsl_sf_conicalP_half__(double const & x , double const & y ){ return gsl_sf_conicalP_half( (const double) x , (const double) y );}
+double gsl_sf_conicalP_mhalf__(double const & x , double const & y ){ return gsl_sf_conicalP_mhalf( (const double) x , (const double) y );}
+double gsl_sf_conicalP_0__(double const & x , double const & y ){ return gsl_sf_conicalP_0( (const double) x , (const double) y );}
+double gsl_sf_conicalP_1__(double const & x , double const & y ){ return gsl_sf_conicalP_1( (const double) x , (const double) y );}
+double gsl_sf_conicalP_sph_reg__(long const & x , double const & y , double const & z ){ return gsl_sf_conicalP_sph_reg( (const int) x , (const double) y , (const double) z );}
+double gsl_sf_conicalP_cyl_reg__(long const & x , double const & y , double const & z ){ return gsl_sf_conicalP_cyl_reg( (const int) x , (const double) y , (const double) z );}
+double gsl_sf_legendre_H3d_0__(double const & x , double const & y ){ return gsl_sf_legendre_H3d_0( (const double) x , (const double) y );}
+double gsl_sf_legendre_H3d_1__(double const & x , double const & y ){ return gsl_sf_legendre_H3d_1( (const double) x , (const double) y );}
+double gsl_sf_legendre_H3d__(long const & x , double const & y , double const & z ){ return gsl_sf_legendre_H3d( (const int) x , (const double) y , (const double) z );}
+double gsl_sf_log__(double const & x ) { return gsl_sf_log( (const double) x );}
+double gsl_sf_log_abs__(double const & x ) { return gsl_sf_log_abs( (const double) x );}
+double gsl_sf_log_1plusx__(double const & x ) { return gsl_sf_log_1plusx( (const double) x );}
+double gsl_sf_log_1plusx_mx__(double const & x ) { return gsl_sf_log_1plusx_mx( (const double) x );}
+double gsl_sf_pow_int__(double const & x , long const & y ){ return gsl_sf_pow_int( (const double) x , (const int) y );}
+double gsl_sf_psi_int__(long const & x ) { return gsl_sf_psi_int( (const int) x );}
+double gsl_sf_psi__(double const & x ) { return gsl_sf_psi( (const double) x );}
+double gsl_sf_psi_1piy__(double const & x ) { return gsl_sf_psi_1piy( (const double) x );}
+double gsl_sf_psi_1_int__(long const & x ) { return gsl_sf_psi_1_int( (const int) x );}
+double gsl_sf_psi_1__(double const & x ) { return gsl_sf_psi_1( (const double) x );}
+double gsl_sf_psi_n__(long const & x , double const & y ){ return gsl_sf_psi_n( (const int) x , (const double) y );}
+double gsl_sf_synchrotron_1__(double const & x ) { return gsl_sf_synchrotron_1( (const double) x );}
+double gsl_sf_synchrotron_2__(double const & x ) { return gsl_sf_synchrotron_2( (const double) x );}
+double gsl_sf_transport_2__(double const & x ) { return gsl_sf_transport_2( (const double) x );}
+double gsl_sf_transport_3__(double const & x ) { return gsl_sf_transport_3( (const double) x );}
+double gsl_sf_transport_4__(double const & x ) { return gsl_sf_transport_4( (const double) x );}
+double gsl_sf_transport_5__(double const & x ) { return gsl_sf_transport_5( (const double) x );}
+double gsl_sf_sin__(double const & x ) { return gsl_sf_sin( (const double) x );}
+double gsl_sf_cos__(double const & x ) { return gsl_sf_cos( (const double) x );}
+double gsl_sf_hypot__(double const & x , double const & y ){ return gsl_sf_hypot( (const double) x , (const double) y );}
+double gsl_sf_sinc__(double const & x ) { return gsl_sf_sinc( (const double) x );}
+double gsl_sf_lnsinh__(double const & x ) { return gsl_sf_lnsinh( (const double) x );}
+double gsl_sf_lncosh__(double const & x ) { return gsl_sf_lncosh( (const double) x );}
+double gsl_sf_angle_restrict_symm__(double const & x ) { return gsl_sf_angle_restrict_symm( (const double) x );}
+double gsl_sf_angle_restrict_pos__(double const & x ) { return gsl_sf_angle_restrict_pos( (const double) x );}
+double gsl_sf_zeta_int__(long const & x ) { return gsl_sf_zeta_int( (const int) x );}
+double gsl_sf_zeta__(double const & x ) { return gsl_sf_zeta( (const double) x );}
+double gsl_sf_zetam1__(double const & x ) { return gsl_sf_zetam1( (const double) x );}
+double gsl_sf_zetam1_int__(long const & x ) { return gsl_sf_zetam1_int( (const int) x );}
+double gsl_sf_hzeta__(double const & x , double const & y ){ return gsl_sf_hzeta( (const double) x , (const double) y );}
+double gsl_sf_eta_int__(long const & x ) { return gsl_sf_eta_int( (const int) x );}
+double gsl_sf_eta__(double const & x ) { return gsl_sf_eta( (const double) x );}
 
 /*****************/
 /*****************/
  void init_gsl_sf() { 
 
 
-   Global.Add("gslsfairyAi","(",new OneOperator2<double,double,long >( gsl_sf_airy_Ai )); 
-   Global.Add("gslsfairyBi","(",new OneOperator2<double,double,long >( gsl_sf_airy_Bi )); 
-   Global.Add("gslsfairyAiscaled","(",new OneOperator2<double,double,long >( gsl_sf_airy_Ai_scaled )); 
-   Global.Add("gslsfairyBiscaled","(",new OneOperator2<double,double,long >( gsl_sf_airy_Bi_scaled )); 
-   Global.Add("gslsfairyAideriv","(",new OneOperator2<double,double,long >( gsl_sf_airy_Ai_deriv )); 
-   Global.Add("gslsfairyBideriv","(",new OneOperator2<double,double,long >( gsl_sf_airy_Bi_deriv )); 
-   Global.Add("gslsfairyAiderivscaled","(",new OneOperator2<double,double,long >( gsl_sf_airy_Ai_deriv_scaled )); 
-   Global.Add("gslsfairyBiderivscaled","(",new OneOperator2<double,double,long >( gsl_sf_airy_Bi_deriv_scaled )); 
-   Global.Add("gslsfairyzeroAi","(",new OneOperator1<double ,long>( gsl_sf_airy_zero_Ai )); 
-   Global.Add("gslsfairyzeroBi","(",new OneOperator1<double ,long>( gsl_sf_airy_zero_Bi )); 
-   Global.Add("gslsfairyzeroAideriv","(",new OneOperator1<double ,long>( gsl_sf_airy_zero_Ai_deriv )); 
-   Global.Add("gslsfairyzeroBideriv","(",new OneOperator1<double ,long>( gsl_sf_airy_zero_Bi_deriv )); 
-   Global.Add("gslsfbesselJ0","(",new OneOperator1<double ,double>( gsl_sf_bessel_J0 )); 
-   Global.Add("gslsfbesselJ1","(",new OneOperator1<double ,double>( gsl_sf_bessel_J1 )); 
-   Global.Add("gslsfbesselJn","(",new OneOperator2<double,long,double >( gsl_sf_bessel_Jn )); 
-   Global.Add("gslsfbesselY0","(",new OneOperator1<double ,double>( gsl_sf_bessel_Y0 )); 
-   Global.Add("gslsfbesselY1","(",new OneOperator1<double ,double>( gsl_sf_bessel_Y1 )); 
-   Global.Add("gslsfbesselYn","(",new OneOperator2<double,long,double >( gsl_sf_bessel_Yn )); 
-   Global.Add("gslsfbesselI0","(",new OneOperator1<double ,double>( gsl_sf_bessel_I0 )); 
-   Global.Add("gslsfbesselI1","(",new OneOperator1<double ,double>( gsl_sf_bessel_I1 )); 
-   Global.Add("gslsfbesselIn","(",new OneOperator2<double,long,double >( gsl_sf_bessel_In )); 
-   Global.Add("gslsfbesselI0scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_I0_scaled )); 
-   Global.Add("gslsfbesselI1scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_I1_scaled )); 
-   Global.Add("gslsfbesselInscaled","(",new OneOperator2<double,long,double >( gsl_sf_bessel_In_scaled )); 
-   Global.Add("gslsfbesselK0","(",new OneOperator1<double ,double>( gsl_sf_bessel_K0 )); 
-   Global.Add("gslsfbesselK1","(",new OneOperator1<double ,double>( gsl_sf_bessel_K1 )); 
-   Global.Add("gslsfbesselKn","(",new OneOperator2<double,long,double >( gsl_sf_bessel_Kn )); 
-   Global.Add("gslsfbesselK0scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_K0_scaled )); 
-   Global.Add("gslsfbesselK1scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_K1_scaled )); 
-   Global.Add("gslsfbesselKnscaled","(",new OneOperator2<double,long,double >( gsl_sf_bessel_Kn_scaled )); 
-   Global.Add("gslsfbesselj0","(",new OneOperator1<double ,double>( gsl_sf_bessel_j0 )); 
-   Global.Add("gslsfbesselj1","(",new OneOperator1<double ,double>( gsl_sf_bessel_j1 )); 
-   Global.Add("gslsfbesselj2","(",new OneOperator1<double ,double>( gsl_sf_bessel_j2 )); 
-   Global.Add("gslsfbesseljl","(",new OneOperator2<double,long,double >( gsl_sf_bessel_jl )); 
-   Global.Add("gslsfbessely0","(",new OneOperator1<double ,double>( gsl_sf_bessel_y0 )); 
-   Global.Add("gslsfbessely1","(",new OneOperator1<double ,double>( gsl_sf_bessel_y1 )); 
-   Global.Add("gslsfbessely2","(",new OneOperator1<double ,double>( gsl_sf_bessel_y2 )); 
-   Global.Add("gslsfbesselyl","(",new OneOperator2<double,long,double >( gsl_sf_bessel_yl )); 
-   Global.Add("gslsfbesseli0scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_i0_scaled )); 
-   Global.Add("gslsfbesseli1scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_i1_scaled )); 
-   Global.Add("gslsfbesseli2scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_i2_scaled )); 
-   Global.Add("gslsfbesselilscaled","(",new OneOperator2<double,long,double >( gsl_sf_bessel_il_scaled )); 
-   Global.Add("gslsfbesselk0scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_k0_scaled )); 
-   Global.Add("gslsfbesselk1scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_k1_scaled )); 
-   Global.Add("gslsfbesselk2scaled","(",new OneOperator1<double ,double>( gsl_sf_bessel_k2_scaled )); 
-   Global.Add("gslsfbesselklscaled","(",new OneOperator2<double,long,double >( gsl_sf_bessel_kl_scaled )); 
-   Global.Add("gslsfbesselJnu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Jnu )); 
-   Global.Add("gslsfbesselYnu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Ynu )); 
-   Global.Add("gslsfbesselInuscaled","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Inu_scaled )); 
-   Global.Add("gslsfbesselInu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Inu )); 
-   Global.Add("gslsfbesselKnuscaled","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Knu_scaled )); 
-   Global.Add("gslsfbesselKnu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_Knu )); 
-   Global.Add("gslsfbessellnKnu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_lnKnu )); 
-   Global.Add("gslsfbesselzeroJ0","(",new OneOperator1<double ,long>( gsl_sf_bessel_zero_J0 )); 
-   Global.Add("gslsfbesselzeroJ1","(",new OneOperator1<double ,long>( gsl_sf_bessel_zero_J1 )); 
-   Global.Add("gslsfbesselzeroJnu","(",new OneOperator2<double,double,long >( gsl_sf_bessel_zero_Jnu )); 
-   Global.Add("gslsfclausen","(",new OneOperator1<double ,double>( gsl_sf_clausen )); 
-   Global.Add("gslsfhydrogenicR1","(",new OneOperator2<double,double,long >( gsl_sf_hydrogenicR_1 )); 
-   Global.Add("gslsfdawson","(",new OneOperator1<double ,double>( gsl_sf_dawson )); 
-   Global.Add("gslsfdebye1","(",new OneOperator1<double ,double>( gsl_sf_debye_1 )); 
-   Global.Add("gslsfdebye2","(",new OneOperator1<double ,double>( gsl_sf_debye_2 )); 
-   Global.Add("gslsfdebye3","(",new OneOperator1<double ,double>( gsl_sf_debye_3 )); 
-   Global.Add("gslsfdebye4","(",new OneOperator1<double ,double>( gsl_sf_debye_4 )); 
-   Global.Add("gslsfdebye5","(",new OneOperator1<double ,double>( gsl_sf_debye_5 )); 
-   Global.Add("gslsfdebye6","(",new OneOperator1<double ,double>( gsl_sf_debye_6 )); 
-   Global.Add("gslsfdilog","(",new OneOperator1<double ,double>( gsl_sf_dilog )); 
-   Global.Add("gslsfmultiply","(",new OneOperator2<double,double,long >( gsl_sf_multiply )); 
-   Global.Add("gslsfellintKcomp","(",new OneOperator2<double,double,long >( gsl_sf_ellint_Kcomp )); 
-   Global.Add("gslsfellintEcomp","(",new OneOperator2<double,double,long >( gsl_sf_ellint_Ecomp )); 
-   Global.Add("gslsfellintDcomp","(",new OneOperator2<double,double,long >( gsl_sf_ellint_Dcomp )); 
-   Global.Add("gslsferfc","(",new OneOperator1<double ,double>( gsl_sf_erfc )); 
-   Global.Add("gslsflogerfc","(",new OneOperator1<double ,double>( gsl_sf_log_erfc )); 
-   Global.Add("gslsferf","(",new OneOperator1<double ,double>( gsl_sf_erf )); 
-   Global.Add("gslsferfZ","(",new OneOperator1<double ,double>( gsl_sf_erf_Z )); 
-   Global.Add("gslsferfQ","(",new OneOperator1<double ,double>( gsl_sf_erf_Q )); 
-   Global.Add("gslsfhazard","(",new OneOperator1<double ,double>( gsl_sf_hazard )); 
-   Global.Add("gslsfexp","(",new OneOperator1<double ,double>( gsl_sf_exp )); 
-   Global.Add("gslsfexpmult","(",new OneOperator2<double,double,long >( gsl_sf_exp_mult )); 
-   Global.Add("gslsfexpm1","(",new OneOperator1<double ,double>( gsl_sf_expm1 )); 
-   Global.Add("gslsfexprel","(",new OneOperator1<double ,double>( gsl_sf_exprel )); 
-   Global.Add("gslsfexprel2","(",new OneOperator1<double ,double>( gsl_sf_exprel_2 )); 
-   Global.Add("gslsfexpreln","(",new OneOperator2<double,long,double >( gsl_sf_exprel_n )); 
-   Global.Add("gslsfexpintE1","(",new OneOperator1<double ,double>( gsl_sf_expint_E1 )); 
-   Global.Add("gslsfexpintE2","(",new OneOperator1<double ,double>( gsl_sf_expint_E2 )); 
-   Global.Add("gslsfexpintEn","(",new OneOperator2<double,long,double >( gsl_sf_expint_En )); 
-   Global.Add("gslsfexpintE1scaled","(",new OneOperator1<double ,double>( gsl_sf_expint_E1_scaled )); 
-   Global.Add("gslsfexpintE2scaled","(",new OneOperator1<double ,double>( gsl_sf_expint_E2_scaled )); 
-   Global.Add("gslsfexpintEnscaled","(",new OneOperator2<double,long,double >( gsl_sf_expint_En_scaled )); 
-   Global.Add("gslsfexpintEi","(",new OneOperator1<double ,double>( gsl_sf_expint_Ei )); 
-   Global.Add("gslsfexpintEiscaled","(",new OneOperator1<double ,double>( gsl_sf_expint_Ei_scaled )); 
-   Global.Add("gslsfShi","(",new OneOperator1<double ,double>( gsl_sf_Shi )); 
-   Global.Add("gslsfChi","(",new OneOperator1<double ,double>( gsl_sf_Chi )); 
-   Global.Add("gslsfexpint3","(",new OneOperator1<double ,double>( gsl_sf_expint_3 )); 
-   Global.Add("gslsfSi","(",new OneOperator1<double ,double>( gsl_sf_Si )); 
-   Global.Add("gslsfCi","(",new OneOperator1<double ,double>( gsl_sf_Ci )); 
-   Global.Add("gslsfatanint","(",new OneOperator1<double ,double>( gsl_sf_atanint )); 
-   Global.Add("gslsffermidiracm1","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_m1 )); 
-   Global.Add("gslsffermidirac0","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_0 )); 
-   Global.Add("gslsffermidirac1","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_1 )); 
-   Global.Add("gslsffermidirac2","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_2 )); 
-   Global.Add("gslsffermidiracint","(",new OneOperator2<double,long,double >( gsl_sf_fermi_dirac_int )); 
-   Global.Add("gslsffermidiracmhalf","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_mhalf )); 
-   Global.Add("gslsffermidirachalf","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_half )); 
-   Global.Add("gslsffermidirac3half","(",new OneOperator1<double ,double>( gsl_sf_fermi_dirac_3half )); 
-   Global.Add("gslsffermidiracinc0","(",new OneOperator2<double,double,long >( gsl_sf_fermi_dirac_inc_0 )); 
-   Global.Add("gslsflngamma","(",new OneOperator1<double ,double>( gsl_sf_lngamma )); 
-   Global.Add("gslsfgamma","(",new OneOperator1<double ,double>( gsl_sf_gamma )); 
-   Global.Add("gslsfgammastar","(",new OneOperator1<double ,double>( gsl_sf_gammastar )); 
-   Global.Add("gslsfgammainv","(",new OneOperator1<double ,double>( gsl_sf_gammainv )); 
-   Global.Add("gslsftaylorcoeff","(",new OneOperator2<double,long,double >( gsl_sf_taylorcoeff )); 
-   Global.Add("gslsffact","(",new OneOperator1<double ,long>( gsl_sf_fact )); 
-   Global.Add("gslsfdoublefact","(",new OneOperator1<double ,long>( gsl_sf_doublefact )); 
-   Global.Add("gslsflnfact","(",new OneOperator1<double ,long>( gsl_sf_lnfact )); 
-   Global.Add("gslsflndoublefact","(",new OneOperator1<double ,long>( gsl_sf_lndoublefact )); 
-   Global.Add("gslsflnchoose","(",new OneOperator2<double,long,long >( gsl_sf_lnchoose )); 
-   Global.Add("gslsfchoose","(",new OneOperator2<double,long,long >( gsl_sf_choose )); 
-   Global.Add("gslsflnpoch","(",new OneOperator2<double,double,long >( gsl_sf_lnpoch )); 
-   Global.Add("gslsfpoch","(",new OneOperator2<double,double,long >( gsl_sf_poch )); 
-   Global.Add("gslsfpochrel","(",new OneOperator2<double,double,long >( gsl_sf_pochrel )); 
-   Global.Add("gslsfgammaincQ","(",new OneOperator2<double,double,long >( gsl_sf_gamma_inc_Q )); 
-   Global.Add("gslsfgammaincP","(",new OneOperator2<double,double,long >( gsl_sf_gamma_inc_P )); 
-   Global.Add("gslsfgammainc","(",new OneOperator2<double,double,long >( gsl_sf_gamma_inc )); 
-   Global.Add("gslsflnbeta","(",new OneOperator2<double,double,long >( gsl_sf_lnbeta )); 
-   Global.Add("gslsfbeta","(",new OneOperator2<double,double,long >( gsl_sf_beta )); 
-   Global.Add("gslsfgegenpoly1","(",new OneOperator2<double,double,long >( gsl_sf_gegenpoly_1 )); 
-   Global.Add("gslsfgegenpoly2","(",new OneOperator2<double,double,long >( gsl_sf_gegenpoly_2 )); 
-   Global.Add("gslsfgegenpoly3","(",new OneOperator2<double,double,long >( gsl_sf_gegenpoly_3 )); 
-   Global.Add("gslsfhyperg0F1","(",new OneOperator2<double,double,long >( gsl_sf_hyperg_0F1 )); 
-   Global.Add("gslsflaguerre1","(",new OneOperator2<double,double,long >( gsl_sf_laguerre_1 )); 
-   Global.Add("gslsflaguerre2","(",new OneOperator2<double,double,long >( gsl_sf_laguerre_2 )); 
-   Global.Add("gslsflaguerre3","(",new OneOperator2<double,double,long >( gsl_sf_laguerre_3 )); 
-   Global.Add("gslsflambertW0","(",new OneOperator1<double ,double>( gsl_sf_lambert_W0 )); 
-   Global.Add("gslsflambertWm1","(",new OneOperator1<double ,double>( gsl_sf_lambert_Wm1 )); 
-   Global.Add("gslsflegendrePl","(",new OneOperator2<double,long,double >( gsl_sf_legendre_Pl )); 
-   Global.Add("gslsflegendreP1","(",new OneOperator1<double ,double>( gsl_sf_legendre_P1 )); 
-   Global.Add("gslsflegendreP2","(",new OneOperator1<double ,double>( gsl_sf_legendre_P2 )); 
-   Global.Add("gslsflegendreP3","(",new OneOperator1<double ,double>( gsl_sf_legendre_P3 )); 
-   Global.Add("gslsflegendreQ0","(",new OneOperator1<double ,double>( gsl_sf_legendre_Q0 )); 
-   Global.Add("gslsflegendreQ1","(",new OneOperator1<double ,double>( gsl_sf_legendre_Q1 )); 
-   Global.Add("gslsflegendreQl","(",new OneOperator2<double,long,double >( gsl_sf_legendre_Ql )); 
-   Global.Add("gslsfconicalPhalf","(",new OneOperator2<double,double,long >( gsl_sf_conicalP_half )); 
-   Global.Add("gslsfconicalPmhalf","(",new OneOperator2<double,double,long >( gsl_sf_conicalP_mhalf )); 
-   Global.Add("gslsfconicalP0","(",new OneOperator2<double,double,long >( gsl_sf_conicalP_0 )); 
-   Global.Add("gslsfconicalP1","(",new OneOperator2<double,double,long >( gsl_sf_conicalP_1 )); 
-   Global.Add("gslsflegendreH3d0","(",new OneOperator2<double,double,long >( gsl_sf_legendre_H3d_0 )); 
-   Global.Add("gslsflegendreH3d1","(",new OneOperator2<double,double,long >( gsl_sf_legendre_H3d_1 )); 
-   Global.Add("gslsflog","(",new OneOperator1<double ,double>( gsl_sf_log )); 
-   Global.Add("gslsflogabs","(",new OneOperator1<double ,double>( gsl_sf_log_abs )); 
-   Global.Add("gslsflog1plusx","(",new OneOperator1<double ,double>( gsl_sf_log_1plusx )); 
-   Global.Add("gslsflog1plusxmx","(",new OneOperator1<double ,double>( gsl_sf_log_1plusx_mx )); 
-   Global.Add("gslsfpowint","(",new OneOperator2<double,double,long >( gsl_sf_pow_int )); 
-   Global.Add("gslsfpsiint","(",new OneOperator1<double ,long>( gsl_sf_psi_int )); 
-   Global.Add("gslsfpsi","(",new OneOperator1<double ,double>( gsl_sf_psi )); 
-   Global.Add("gslsfpsi1piy","(",new OneOperator1<double ,double>( gsl_sf_psi_1piy )); 
-   Global.Add("gslsfpsi1int","(",new OneOperator1<double ,long>( gsl_sf_psi_1_int )); 
-   Global.Add("gslsfpsi1","(",new OneOperator1<double ,double>( gsl_sf_psi_1 )); 
-   Global.Add("gslsfpsin","(",new OneOperator2<double,long,double >( gsl_sf_psi_n )); 
-   Global.Add("gslsfsynchrotron1","(",new OneOperator1<double ,double>( gsl_sf_synchrotron_1 )); 
-   Global.Add("gslsfsynchrotron2","(",new OneOperator1<double ,double>( gsl_sf_synchrotron_2 )); 
-   Global.Add("gslsftransport2","(",new OneOperator1<double ,double>( gsl_sf_transport_2 )); 
-   Global.Add("gslsftransport3","(",new OneOperator1<double ,double>( gsl_sf_transport_3 )); 
-   Global.Add("gslsftransport4","(",new OneOperator1<double ,double>( gsl_sf_transport_4 )); 
-   Global.Add("gslsftransport5","(",new OneOperator1<double ,double>( gsl_sf_transport_5 )); 
-   Global.Add("gslsfsin","(",new OneOperator1<double ,double>( gsl_sf_sin )); 
-   Global.Add("gslsfcos","(",new OneOperator1<double ,double>( gsl_sf_cos )); 
-   Global.Add("gslsfhypot","(",new OneOperator2<double,double,long >( gsl_sf_hypot )); 
-   Global.Add("gslsfsinc","(",new OneOperator1<double ,double>( gsl_sf_sinc )); 
-   Global.Add("gslsflnsinh","(",new OneOperator1<double ,double>( gsl_sf_lnsinh )); 
-   Global.Add("gslsflncosh","(",new OneOperator1<double ,double>( gsl_sf_lncosh )); 
-   Global.Add("gslsfanglerestrictsymm","(",new OneOperator1<double ,double>( gsl_sf_angle_restrict_symm )); 
-   Global.Add("gslsfanglerestrictpos","(",new OneOperator1<double ,double>( gsl_sf_angle_restrict_pos )); 
-   Global.Add("gslsfzetaint","(",new OneOperator1<double ,long>( gsl_sf_zeta_int )); 
-   Global.Add("gslsfzeta","(",new OneOperator1<double ,double>( gsl_sf_zeta )); 
-   Global.Add("gslsfzetam1","(",new OneOperator1<double ,double>( gsl_sf_zetam1 )); 
-   Global.Add("gslsfzetam1int","(",new OneOperator1<double ,long>( gsl_sf_zetam1_int )); 
-   Global.Add("gslsfhzeta","(",new OneOperator2<double,double,long >( gsl_sf_hzeta )); 
-   Global.Add("gslsfetaint","(",new OneOperator1<double ,long>( gsl_sf_eta_int )); 
-   Global.Add("gslsfeta","(",new OneOperator1<double ,double>( gsl_sf_eta )); 
+   Global.Add("gslcdfugaussianP","(",new OneOperator1_<double,double>( gsl_cdf_ugaussian_P__)); 
+   Global.Add("gslcdfugaussianQ","(",new OneOperator1_<double,double>( gsl_cdf_ugaussian_Q__)); 
+   Global.Add("gslcdfugaussianPinv","(",new OneOperator1_<double,double>( gsl_cdf_ugaussian_Pinv__)); 
+   Global.Add("gslcdfugaussianQinv","(",new OneOperator1_<double,double>( gsl_cdf_ugaussian_Qinv__)); 
+   Global.Add("gslcdfgaussianP","(",new OneOperator2_<double,double,double>( gsl_cdf_gaussian_P__)); 
+   Global.Add("gslcdfgaussianQ","(",new OneOperator2_<double,double,double>( gsl_cdf_gaussian_Q__)); 
+   Global.Add("gslcdfgaussianPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_gaussian_Pinv__)); 
+   Global.Add("gslcdfgaussianQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_gaussian_Qinv__)); 
+   Global.Add("gslcdfgammaP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gamma_P__)); 
+   Global.Add("gslcdfgammaQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gamma_Q__)); 
+   Global.Add("gslcdfgammaPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gamma_Pinv__)); 
+   Global.Add("gslcdfgammaQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gamma_Qinv__)); 
+   Global.Add("gslcdfcauchyP","(",new OneOperator2_<double,double,double>( gsl_cdf_cauchy_P__)); 
+   Global.Add("gslcdfcauchyQ","(",new OneOperator2_<double,double,double>( gsl_cdf_cauchy_Q__)); 
+   Global.Add("gslcdfcauchyPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_cauchy_Pinv__)); 
+   Global.Add("gslcdfcauchyQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_cauchy_Qinv__)); 
+   Global.Add("gslcdflaplaceP","(",new OneOperator2_<double,double,double>( gsl_cdf_laplace_P__)); 
+   Global.Add("gslcdflaplaceQ","(",new OneOperator2_<double,double,double>( gsl_cdf_laplace_Q__)); 
+   Global.Add("gslcdflaplacePinv","(",new OneOperator2_<double,double,double>( gsl_cdf_laplace_Pinv__)); 
+   Global.Add("gslcdflaplaceQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_laplace_Qinv__)); 
+   Global.Add("gslcdfrayleighP","(",new OneOperator2_<double,double,double>( gsl_cdf_rayleigh_P__)); 
+   Global.Add("gslcdfrayleighQ","(",new OneOperator2_<double,double,double>( gsl_cdf_rayleigh_Q__)); 
+   Global.Add("gslcdfrayleighPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_rayleigh_Pinv__)); 
+   Global.Add("gslcdfrayleighQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_rayleigh_Qinv__)); 
+   Global.Add("gslcdfchisqP","(",new OneOperator2_<double,double,double>( gsl_cdf_chisq_P__)); 
+   Global.Add("gslcdfchisqQ","(",new OneOperator2_<double,double,double>( gsl_cdf_chisq_Q__)); 
+   Global.Add("gslcdfchisqPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_chisq_Pinv__)); 
+   Global.Add("gslcdfchisqQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_chisq_Qinv__)); 
+   Global.Add("gslcdfexponentialP","(",new OneOperator2_<double,double,double>( gsl_cdf_exponential_P__)); 
+   Global.Add("gslcdfexponentialQ","(",new OneOperator2_<double,double,double>( gsl_cdf_exponential_Q__)); 
+   Global.Add("gslcdfexponentialPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_exponential_Pinv__)); 
+   Global.Add("gslcdfexponentialQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_exponential_Qinv__)); 
+   Global.Add("gslcdfexppowP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_exppow_P__)); 
+   Global.Add("gslcdfexppowQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_exppow_Q__)); 
+   Global.Add("gslcdftdistP","(",new OneOperator2_<double,double,double>( gsl_cdf_tdist_P__)); 
+   Global.Add("gslcdftdistQ","(",new OneOperator2_<double,double,double>( gsl_cdf_tdist_Q__)); 
+   Global.Add("gslcdftdistPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_tdist_Pinv__)); 
+   Global.Add("gslcdftdistQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_tdist_Qinv__)); 
+   Global.Add("gslcdffdistP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_fdist_P__)); 
+   Global.Add("gslcdffdistQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_fdist_Q__)); 
+   Global.Add("gslcdffdistPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_fdist_Pinv__)); 
+   Global.Add("gslcdffdistQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_fdist_Qinv__)); 
+   Global.Add("gslcdfbetaP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_beta_P__)); 
+   Global.Add("gslcdfbetaQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_beta_Q__)); 
+   Global.Add("gslcdfbetaPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_beta_Pinv__)); 
+   Global.Add("gslcdfbetaQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_beta_Qinv__)); 
+   Global.Add("gslcdfflatP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_flat_P__)); 
+   Global.Add("gslcdfflatQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_flat_Q__)); 
+   Global.Add("gslcdfflatPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_flat_Pinv__)); 
+   Global.Add("gslcdfflatQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_flat_Qinv__)); 
+   Global.Add("gslcdflognormalP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_lognormal_P__)); 
+   Global.Add("gslcdflognormalQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_lognormal_Q__)); 
+   Global.Add("gslcdflognormalPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_lognormal_Pinv__)); 
+   Global.Add("gslcdflognormalQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_lognormal_Qinv__)); 
+   Global.Add("gslcdfgumbel1P","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel1_P__)); 
+   Global.Add("gslcdfgumbel1Q","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel1_Q__)); 
+   Global.Add("gslcdfgumbel1Pinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel1_Pinv__)); 
+   Global.Add("gslcdfgumbel1Qinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel1_Qinv__)); 
+   Global.Add("gslcdfgumbel2P","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel2_P__)); 
+   Global.Add("gslcdfgumbel2Q","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel2_Q__)); 
+   Global.Add("gslcdfgumbel2Pinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel2_Pinv__)); 
+   Global.Add("gslcdfgumbel2Qinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_gumbel2_Qinv__)); 
+   Global.Add("gslcdfweibullP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_weibull_P__)); 
+   Global.Add("gslcdfweibullQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_weibull_Q__)); 
+   Global.Add("gslcdfweibullPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_weibull_Pinv__)); 
+   Global.Add("gslcdfweibullQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_weibull_Qinv__)); 
+   Global.Add("gslcdfparetoP","(",new OneOperator3_<double,double,double,double>( gsl_cdf_pareto_P__)); 
+   Global.Add("gslcdfparetoQ","(",new OneOperator3_<double,double,double,double>( gsl_cdf_pareto_Q__)); 
+   Global.Add("gslcdfparetoPinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_pareto_Pinv__)); 
+   Global.Add("gslcdfparetoQinv","(",new OneOperator3_<double,double,double,double>( gsl_cdf_pareto_Qinv__)); 
+   Global.Add("gslcdflogisticP","(",new OneOperator2_<double,double,double>( gsl_cdf_logistic_P__)); 
+   Global.Add("gslcdflogisticQ","(",new OneOperator2_<double,double,double>( gsl_cdf_logistic_Q__)); 
+   Global.Add("gslcdflogisticPinv","(",new OneOperator2_<double,double,double>( gsl_cdf_logistic_Pinv__)); 
+   Global.Add("gslcdflogisticQinv","(",new OneOperator2_<double,double,double>( gsl_cdf_logistic_Qinv__)); 
+   Global.Add("gslcdfbinomialP","(",new OneOperator3_<double,long,double,long>( gsl_cdf_binomial_P__)); 
+   Global.Add("gslcdfbinomialQ","(",new OneOperator3_<double,long,double,long>( gsl_cdf_binomial_Q__)); 
+   Global.Add("gslcdfpoissonP","(",new OneOperator2_<double,long,double>( gsl_cdf_poisson_P__)); 
+   Global.Add("gslcdfpoissonQ","(",new OneOperator2_<double,long,double>( gsl_cdf_poisson_Q__)); 
+   Global.Add("gslcdfgeometricP","(",new OneOperator2_<double,long,double>( gsl_cdf_geometric_P__)); 
+   Global.Add("gslcdfgeometricQ","(",new OneOperator2_<double,long,double>( gsl_cdf_geometric_Q__)); 
+   Global.Add("gslcdfnegativebinomialP","(",new OneOperator3_<double,long,double,double>( gsl_cdf_negative_binomial_P__)); 
+   Global.Add("gslcdfnegativebinomialQ","(",new OneOperator3_<double,long,double,double>( gsl_cdf_negative_binomial_Q__)); 
+   Global.Add("gslcdfpascalP","(",new OneOperator3_<double,long,double,long>( gsl_cdf_pascal_P__)); 
+   Global.Add("gslcdfpascalQ","(",new OneOperator3_<double,long,double,long>( gsl_cdf_pascal_Q__)); 
+   Global.Add("gslranbernoullipdf","(",new OneOperator2_<double,long,double>( gsl_ran_bernoulli_pdf__)); 
+   Global.Add("gslranbeta","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_beta__)); 
+   Global.Add("gslranbetapdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_beta_pdf__)); 
+   Global.Add("gslranbinomialpdf","(",new OneOperator3_<double,long,double,long>( gsl_ran_binomial_pdf__)); 
+   Global.Add("gslranexponential","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_exponential__)); 
+   Global.Add("gslranexponentialpdf","(",new OneOperator2_<double,double,double>( gsl_ran_exponential_pdf__)); 
+   Global.Add("gslranexppow","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_exppow__)); 
+   Global.Add("gslranexppowpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_exppow_pdf__)); 
+   Global.Add("gslrancauchy","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_cauchy__)); 
+   Global.Add("gslrancauchypdf","(",new OneOperator2_<double,double,double>( gsl_ran_cauchy_pdf__)); 
+   Global.Add("gslranchisq","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_chisq__)); 
+   Global.Add("gslranchisqpdf","(",new OneOperator2_<double,double,double>( gsl_ran_chisq_pdf__)); 
+   Global.Add("gslranerlang","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_erlang__)); 
+   Global.Add("gslranerlangpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_erlang_pdf__)); 
+   Global.Add("gslranfdist","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_fdist__)); 
+   Global.Add("gslranfdistpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_fdist_pdf__)); 
+   Global.Add("gslranflat","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_flat__)); 
+   Global.Add("gslranflatpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_flat_pdf__)); 
+   Global.Add("gslrangamma","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gamma__)); 
+   Global.Add("gslrangammaint","(",new OneOperator2_<double,gsl_rng **,long>( gsl_ran_gamma_int__)); 
+   Global.Add("gslrangammapdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_gamma_pdf__)); 
+   Global.Add("gslrangammamt","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gamma_mt__)); 
+   Global.Add("gslrangammaknuth","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gamma_knuth__)); 
+   Global.Add("gslrangaussian","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_gaussian__)); 
+   Global.Add("gslrangaussianratiomethod","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_gaussian_ratio_method__)); 
+   Global.Add("gslrangaussianziggurat","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_gaussian_ziggurat__)); 
+   Global.Add("gslrangaussianpdf","(",new OneOperator2_<double,double,double>( gsl_ran_gaussian_pdf__)); 
+   Global.Add("gslranugaussian","(",new OneOperator1_<double,gsl_rng **>( gsl_ran_ugaussian__)); 
+   Global.Add("gslranugaussianratiomethod","(",new OneOperator1_<double,gsl_rng **>( gsl_ran_ugaussian_ratio_method__)); 
+   Global.Add("gslranugaussianpdf","(",new OneOperator1_<double,double>( gsl_ran_ugaussian_pdf__)); 
+   Global.Add("gslrangaussiantail","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gaussian_tail__)); 
+   Global.Add("gslrangaussiantailpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_gaussian_tail_pdf__)); 
+   Global.Add("gslranugaussiantail","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_ugaussian_tail__)); 
+   Global.Add("gslranugaussiantailpdf","(",new OneOperator2_<double,double,double>( gsl_ran_ugaussian_tail_pdf__)); 
+   Global.Add("gslranlandau","(",new OneOperator1_<double,gsl_rng **>( gsl_ran_landau__)); 
+   Global.Add("gslranlandaupdf","(",new OneOperator1_<double,double>( gsl_ran_landau_pdf__)); 
+   Global.Add("gslrangeometricpdf","(",new OneOperator2_<double,long,double>( gsl_ran_geometric_pdf__)); 
+   Global.Add("gslrangumbel1","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gumbel1__)); 
+   Global.Add("gslrangumbel1pdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_gumbel1_pdf__)); 
+   Global.Add("gslrangumbel2","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_gumbel2__)); 
+   Global.Add("gslrangumbel2pdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_gumbel2_pdf__)); 
+   Global.Add("gslranlogistic","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_logistic__)); 
+   Global.Add("gslranlogisticpdf","(",new OneOperator2_<double,double,double>( gsl_ran_logistic_pdf__)); 
+   Global.Add("gslranlognormal","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_lognormal__)); 
+   Global.Add("gslranlognormalpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_lognormal_pdf__)); 
+   Global.Add("gslranlogarithmicpdf","(",new OneOperator2_<double,long,double>( gsl_ran_logarithmic_pdf__)); 
+   Global.Add("gslrannegativebinomialpdf","(",new OneOperator3_<double,long,double,double>( gsl_ran_negative_binomial_pdf__)); 
+   Global.Add("gslranpascalpdf","(",new OneOperator3_<double,long,double,long>( gsl_ran_pascal_pdf__)); 
+   Global.Add("gslranpareto","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_pareto__)); 
+   Global.Add("gslranparetopdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_pareto_pdf__)); 
+   Global.Add("gslranpoissonpdf","(",new OneOperator2_<double,long,double>( gsl_ran_poisson_pdf__)); 
+   Global.Add("gslranrayleigh","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_rayleigh__)); 
+   Global.Add("gslranrayleighpdf","(",new OneOperator2_<double,double,double>( gsl_ran_rayleigh_pdf__)); 
+   Global.Add("gslranrayleightail","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_rayleigh_tail__)); 
+   Global.Add("gslranrayleightailpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_rayleigh_tail_pdf__)); 
+   Global.Add("gslrantdist","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_tdist__)); 
+   Global.Add("gslrantdistpdf","(",new OneOperator2_<double,double,double>( gsl_ran_tdist_pdf__)); 
+   Global.Add("gslranlaplace","(",new OneOperator2_<double,gsl_rng **,double>( gsl_ran_laplace__)); 
+   Global.Add("gslranlaplacepdf","(",new OneOperator2_<double,double,double>( gsl_ran_laplace_pdf__)); 
+   Global.Add("gslranlevy","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_levy__)); 
+   Global.Add("gslranweibull","(",new OneOperator3_<double,gsl_rng **,double,double>( gsl_ran_weibull__)); 
+   Global.Add("gslranweibullpdf","(",new OneOperator3_<double,double,double,double>( gsl_ran_weibull_pdf__)); 
+   Global.Add("gslsfairyzeroAi","(",new OneOperator1_<double,long>( gsl_sf_airy_zero_Ai__)); 
+   Global.Add("gslsfairyzeroBi","(",new OneOperator1_<double,long>( gsl_sf_airy_zero_Bi__)); 
+   Global.Add("gslsfairyzeroAideriv","(",new OneOperator1_<double,long>( gsl_sf_airy_zero_Ai_deriv__)); 
+   Global.Add("gslsfairyzeroBideriv","(",new OneOperator1_<double,long>( gsl_sf_airy_zero_Bi_deriv__)); 
+   Global.Add("gslsfbesselJ0","(",new OneOperator1_<double,double>( gsl_sf_bessel_J0__)); 
+   Global.Add("gslsfbesselJ1","(",new OneOperator1_<double,double>( gsl_sf_bessel_J1__)); 
+   Global.Add("gslsfbesselJn","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_Jn__)); 
+   Global.Add("gslsfbesselY0","(",new OneOperator1_<double,double>( gsl_sf_bessel_Y0__)); 
+   Global.Add("gslsfbesselY1","(",new OneOperator1_<double,double>( gsl_sf_bessel_Y1__)); 
+   Global.Add("gslsfbesselYn","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_Yn__)); 
+   Global.Add("gslsfbesselI0","(",new OneOperator1_<double,double>( gsl_sf_bessel_I0__)); 
+   Global.Add("gslsfbesselI1","(",new OneOperator1_<double,double>( gsl_sf_bessel_I1__)); 
+   Global.Add("gslsfbesselIn","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_In__)); 
+   Global.Add("gslsfbesselI0scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_I0_scaled__)); 
+   Global.Add("gslsfbesselI1scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_I1_scaled__)); 
+   Global.Add("gslsfbesselInscaled","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_In_scaled__)); 
+   Global.Add("gslsfbesselK0","(",new OneOperator1_<double,double>( gsl_sf_bessel_K0__)); 
+   Global.Add("gslsfbesselK1","(",new OneOperator1_<double,double>( gsl_sf_bessel_K1__)); 
+   Global.Add("gslsfbesselKn","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_Kn__)); 
+   Global.Add("gslsfbesselK0scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_K0_scaled__)); 
+   Global.Add("gslsfbesselK1scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_K1_scaled__)); 
+   Global.Add("gslsfbesselKnscaled","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_Kn_scaled__)); 
+   Global.Add("gslsfbesselj0","(",new OneOperator1_<double,double>( gsl_sf_bessel_j0__)); 
+   Global.Add("gslsfbesselj1","(",new OneOperator1_<double,double>( gsl_sf_bessel_j1__)); 
+   Global.Add("gslsfbesselj2","(",new OneOperator1_<double,double>( gsl_sf_bessel_j2__)); 
+   Global.Add("gslsfbesseljl","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_jl__)); 
+   Global.Add("gslsfbessely0","(",new OneOperator1_<double,double>( gsl_sf_bessel_y0__)); 
+   Global.Add("gslsfbessely1","(",new OneOperator1_<double,double>( gsl_sf_bessel_y1__)); 
+   Global.Add("gslsfbessely2","(",new OneOperator1_<double,double>( gsl_sf_bessel_y2__)); 
+   Global.Add("gslsfbesselyl","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_yl__)); 
+   Global.Add("gslsfbesseli0scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_i0_scaled__)); 
+   Global.Add("gslsfbesseli1scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_i1_scaled__)); 
+   Global.Add("gslsfbesseli2scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_i2_scaled__)); 
+   Global.Add("gslsfbesselilscaled","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_il_scaled__)); 
+   Global.Add("gslsfbesselk0scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_k0_scaled__)); 
+   Global.Add("gslsfbesselk1scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_k1_scaled__)); 
+   Global.Add("gslsfbesselk2scaled","(",new OneOperator1_<double,double>( gsl_sf_bessel_k2_scaled__)); 
+   Global.Add("gslsfbesselklscaled","(",new OneOperator2_<double,long,double>( gsl_sf_bessel_kl_scaled__)); 
+   Global.Add("gslsfbesselJnu","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Jnu__)); 
+   Global.Add("gslsfbesselYnu","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Ynu__)); 
+   Global.Add("gslsfbesselInuscaled","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Inu_scaled__)); 
+   Global.Add("gslsfbesselInu","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Inu__)); 
+   Global.Add("gslsfbesselKnuscaled","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Knu_scaled__)); 
+   Global.Add("gslsfbesselKnu","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_Knu__)); 
+   Global.Add("gslsfbessellnKnu","(",new OneOperator2_<double,double,double>( gsl_sf_bessel_lnKnu__)); 
+   Global.Add("gslsfbesselzeroJ0","(",new OneOperator1_<double,long>( gsl_sf_bessel_zero_J0__)); 
+   Global.Add("gslsfbesselzeroJ1","(",new OneOperator1_<double,long>( gsl_sf_bessel_zero_J1__)); 
+   Global.Add("gslsfbesselzeroJnu","(",new OneOperator2_<double,double,long>( gsl_sf_bessel_zero_Jnu__)); 
+   Global.Add("gslsfclausen","(",new OneOperator1_<double,double>( gsl_sf_clausen__)); 
+   Global.Add("gslsfhydrogenicR1","(",new OneOperator2_<double,double,double>( gsl_sf_hydrogenicR_1__)); 
+   Global.Add("gslsfdawson","(",new OneOperator1_<double,double>( gsl_sf_dawson__)); 
+   Global.Add("gslsfdebye1","(",new OneOperator1_<double,double>( gsl_sf_debye_1__)); 
+   Global.Add("gslsfdebye2","(",new OneOperator1_<double,double>( gsl_sf_debye_2__)); 
+   Global.Add("gslsfdebye3","(",new OneOperator1_<double,double>( gsl_sf_debye_3__)); 
+   Global.Add("gslsfdebye4","(",new OneOperator1_<double,double>( gsl_sf_debye_4__)); 
+   Global.Add("gslsfdebye5","(",new OneOperator1_<double,double>( gsl_sf_debye_5__)); 
+   Global.Add("gslsfdebye6","(",new OneOperator1_<double,double>( gsl_sf_debye_6__)); 
+   Global.Add("gslsfdilog","(",new OneOperator1_<double,double>( gsl_sf_dilog__)); 
+   Global.Add("gslsfmultiply","(",new OneOperator2_<double,double,double>( gsl_sf_multiply__)); 
+   Global.Add("gslsferfc","(",new OneOperator1_<double,double>( gsl_sf_erfc__)); 
+   Global.Add("gslsflogerfc","(",new OneOperator1_<double,double>( gsl_sf_log_erfc__)); 
+   Global.Add("gslsferf","(",new OneOperator1_<double,double>( gsl_sf_erf__)); 
+   Global.Add("gslsferfZ","(",new OneOperator1_<double,double>( gsl_sf_erf_Z__)); 
+   Global.Add("gslsferfQ","(",new OneOperator1_<double,double>( gsl_sf_erf_Q__)); 
+   Global.Add("gslsfhazard","(",new OneOperator1_<double,double>( gsl_sf_hazard__)); 
+   Global.Add("gslsfexp","(",new OneOperator1_<double,double>( gsl_sf_exp__)); 
+   Global.Add("gslsfexpmult","(",new OneOperator2_<double,double,double>( gsl_sf_exp_mult__)); 
+   Global.Add("gslsfexpm1","(",new OneOperator1_<double,double>( gsl_sf_expm1__)); 
+   Global.Add("gslsfexprel","(",new OneOperator1_<double,double>( gsl_sf_exprel__)); 
+   Global.Add("gslsfexprel2","(",new OneOperator1_<double,double>( gsl_sf_exprel_2__)); 
+   Global.Add("gslsfexpreln","(",new OneOperator2_<double,long,double>( gsl_sf_exprel_n__)); 
+   Global.Add("gslsfexpintE1","(",new OneOperator1_<double,double>( gsl_sf_expint_E1__)); 
+   Global.Add("gslsfexpintE2","(",new OneOperator1_<double,double>( gsl_sf_expint_E2__)); 
+   Global.Add("gslsfexpintEn","(",new OneOperator2_<double,long,double>( gsl_sf_expint_En__)); 
+   Global.Add("gslsfexpintE1scaled","(",new OneOperator1_<double,double>( gsl_sf_expint_E1_scaled__)); 
+   Global.Add("gslsfexpintE2scaled","(",new OneOperator1_<double,double>( gsl_sf_expint_E2_scaled__)); 
+   Global.Add("gslsfexpintEnscaled","(",new OneOperator2_<double,long,double>( gsl_sf_expint_En_scaled__)); 
+   Global.Add("gslsfexpintEi","(",new OneOperator1_<double,double>( gsl_sf_expint_Ei__)); 
+   Global.Add("gslsfexpintEiscaled","(",new OneOperator1_<double,double>( gsl_sf_expint_Ei_scaled__)); 
+   Global.Add("gslsfShi","(",new OneOperator1_<double,double>( gsl_sf_Shi__)); 
+   Global.Add("gslsfChi","(",new OneOperator1_<double,double>( gsl_sf_Chi__)); 
+   Global.Add("gslsfexpint3","(",new OneOperator1_<double,double>( gsl_sf_expint_3__)); 
+   Global.Add("gslsfSi","(",new OneOperator1_<double,double>( gsl_sf_Si__)); 
+   Global.Add("gslsfCi","(",new OneOperator1_<double,double>( gsl_sf_Ci__)); 
+   Global.Add("gslsfatanint","(",new OneOperator1_<double,double>( gsl_sf_atanint__)); 
+   Global.Add("gslsffermidiracm1","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_m1__)); 
+   Global.Add("gslsffermidirac0","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_0__)); 
+   Global.Add("gslsffermidirac1","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_1__)); 
+   Global.Add("gslsffermidirac2","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_2__)); 
+   Global.Add("gslsffermidiracint","(",new OneOperator2_<double,long,double>( gsl_sf_fermi_dirac_int__)); 
+   Global.Add("gslsffermidiracmhalf","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_mhalf__)); 
+   Global.Add("gslsffermidirachalf","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_half__)); 
+   Global.Add("gslsffermidirac3half","(",new OneOperator1_<double,double>( gsl_sf_fermi_dirac_3half__)); 
+   Global.Add("gslsffermidiracinc0","(",new OneOperator2_<double,double,double>( gsl_sf_fermi_dirac_inc_0__)); 
+   Global.Add("gslsflngamma","(",new OneOperator1_<double,double>( gsl_sf_lngamma__)); 
+   Global.Add("gslsfgamma","(",new OneOperator1_<double,double>( gsl_sf_gamma__)); 
+   Global.Add("gslsfgammastar","(",new OneOperator1_<double,double>( gsl_sf_gammastar__)); 
+   Global.Add("gslsfgammainv","(",new OneOperator1_<double,double>( gsl_sf_gammainv__)); 
+   Global.Add("gslsftaylorcoeff","(",new OneOperator2_<double,long,double>( gsl_sf_taylorcoeff__)); 
+   Global.Add("gslsffact","(",new OneOperator1_<double,long>( gsl_sf_fact__)); 
+   Global.Add("gslsfdoublefact","(",new OneOperator1_<double,long>( gsl_sf_doublefact__)); 
+   Global.Add("gslsflnfact","(",new OneOperator1_<double,long>( gsl_sf_lnfact__)); 
+   Global.Add("gslsflndoublefact","(",new OneOperator1_<double,long>( gsl_sf_lndoublefact__)); 
+   Global.Add("gslsflnchoose","(",new OneOperator2_<double,long,long>( gsl_sf_lnchoose__)); 
+   Global.Add("gslsfchoose","(",new OneOperator2_<double,long,long>( gsl_sf_choose__)); 
+   Global.Add("gslsflnpoch","(",new OneOperator2_<double,double,double>( gsl_sf_lnpoch__)); 
+   Global.Add("gslsfpoch","(",new OneOperator2_<double,double,double>( gsl_sf_poch__)); 
+   Global.Add("gslsfpochrel","(",new OneOperator2_<double,double,double>( gsl_sf_pochrel__)); 
+   Global.Add("gslsfgammaincQ","(",new OneOperator2_<double,double,double>( gsl_sf_gamma_inc_Q__)); 
+   Global.Add("gslsfgammaincP","(",new OneOperator2_<double,double,double>( gsl_sf_gamma_inc_P__)); 
+   Global.Add("gslsfgammainc","(",new OneOperator2_<double,double,double>( gsl_sf_gamma_inc__)); 
+   Global.Add("gslsflnbeta","(",new OneOperator2_<double,double,double>( gsl_sf_lnbeta__)); 
+   Global.Add("gslsfbeta","(",new OneOperator2_<double,double,double>( gsl_sf_beta__)); 
+   Global.Add("gslsfbetainc","(",new OneOperator3_<double,double,double,double>( gsl_sf_beta_inc__)); 
+   Global.Add("gslsfgegenpoly1","(",new OneOperator2_<double,double,double>( gsl_sf_gegenpoly_1__)); 
+   Global.Add("gslsfgegenpoly2","(",new OneOperator2_<double,double,double>( gsl_sf_gegenpoly_2__)); 
+   Global.Add("gslsfgegenpoly3","(",new OneOperator2_<double,double,double>( gsl_sf_gegenpoly_3__)); 
+   Global.Add("gslsfgegenpolyn","(",new OneOperator3_<double,long,double,double>( gsl_sf_gegenpoly_n__)); 
+   Global.Add("gslsfhyperg0F1","(",new OneOperator2_<double,double,double>( gsl_sf_hyperg_0F1__)); 
+   Global.Add("gslsfhyperg1F1int","(",new OneOperator3_<double,long,long,double>( gsl_sf_hyperg_1F1_int__)); 
+   Global.Add("gslsfhyperg1F1","(",new OneOperator3_<double,double,double,double>( gsl_sf_hyperg_1F1__)); 
+   Global.Add("gslsfhypergUint","(",new OneOperator3_<double,long,long,double>( gsl_sf_hyperg_U_int__)); 
+   Global.Add("gslsfhypergU","(",new OneOperator3_<double,double,double,double>( gsl_sf_hyperg_U__)); 
+   Global.Add("gslsfhyperg2F0","(",new OneOperator3_<double,double,double,double>( gsl_sf_hyperg_2F0__)); 
+   Global.Add("gslsflaguerre1","(",new OneOperator2_<double,double,double>( gsl_sf_laguerre_1__)); 
+   Global.Add("gslsflaguerre2","(",new OneOperator2_<double,double,double>( gsl_sf_laguerre_2__)); 
+   Global.Add("gslsflaguerre3","(",new OneOperator2_<double,double,double>( gsl_sf_laguerre_3__)); 
+   Global.Add("gslsflaguerren","(",new OneOperator3_<double,long,double,double>( gsl_sf_laguerre_n__)); 
+   Global.Add("gslsflambertW0","(",new OneOperator1_<double,double>( gsl_sf_lambert_W0__)); 
+   Global.Add("gslsflambertWm1","(",new OneOperator1_<double,double>( gsl_sf_lambert_Wm1__)); 
+   Global.Add("gslsflegendrePl","(",new OneOperator2_<double,long,double>( gsl_sf_legendre_Pl__)); 
+   Global.Add("gslsflegendreP1","(",new OneOperator1_<double,double>( gsl_sf_legendre_P1__)); 
+   Global.Add("gslsflegendreP2","(",new OneOperator1_<double,double>( gsl_sf_legendre_P2__)); 
+   Global.Add("gslsflegendreP3","(",new OneOperator1_<double,double>( gsl_sf_legendre_P3__)); 
+   Global.Add("gslsflegendreQ0","(",new OneOperator1_<double,double>( gsl_sf_legendre_Q0__)); 
+   Global.Add("gslsflegendreQ1","(",new OneOperator1_<double,double>( gsl_sf_legendre_Q1__)); 
+   Global.Add("gslsflegendreQl","(",new OneOperator2_<double,long,double>( gsl_sf_legendre_Ql__)); 
+   Global.Add("gslsflegendrePlm","(",new OneOperator3_<double,long,long,double>( gsl_sf_legendre_Plm__)); 
+   Global.Add("gslsflegendresphPlm","(",new OneOperator3_<double,long,long,double>( gsl_sf_legendre_sphPlm__)); 
+   Global.Add("gslsflegendrearraysize","(",new OneOperator2_<long,long,long>( gsl_sf_legendre_array_size__)); 
+   Global.Add("gslsfconicalPhalf","(",new OneOperator2_<double,double,double>( gsl_sf_conicalP_half__)); 
+   Global.Add("gslsfconicalPmhalf","(",new OneOperator2_<double,double,double>( gsl_sf_conicalP_mhalf__)); 
+   Global.Add("gslsfconicalP0","(",new OneOperator2_<double,double,double>( gsl_sf_conicalP_0__)); 
+   Global.Add("gslsfconicalP1","(",new OneOperator2_<double,double,double>( gsl_sf_conicalP_1__)); 
+   Global.Add("gslsfconicalPsphreg","(",new OneOperator3_<double,long,double,double>( gsl_sf_conicalP_sph_reg__)); 
+   Global.Add("gslsfconicalPcylreg","(",new OneOperator3_<double,long,double,double>( gsl_sf_conicalP_cyl_reg__)); 
+   Global.Add("gslsflegendreH3d0","(",new OneOperator2_<double,double,double>( gsl_sf_legendre_H3d_0__)); 
+   Global.Add("gslsflegendreH3d1","(",new OneOperator2_<double,double,double>( gsl_sf_legendre_H3d_1__)); 
+   Global.Add("gslsflegendreH3d","(",new OneOperator3_<double,long,double,double>( gsl_sf_legendre_H3d__)); 
+   Global.Add("gslsflog","(",new OneOperator1_<double,double>( gsl_sf_log__)); 
+   Global.Add("gslsflogabs","(",new OneOperator1_<double,double>( gsl_sf_log_abs__)); 
+   Global.Add("gslsflog1plusx","(",new OneOperator1_<double,double>( gsl_sf_log_1plusx__)); 
+   Global.Add("gslsflog1plusxmx","(",new OneOperator1_<double,double>( gsl_sf_log_1plusx_mx__)); 
+   Global.Add("gslsfpowint","(",new OneOperator2_<double,double,long>( gsl_sf_pow_int__)); 
+   Global.Add("gslsfpsiint","(",new OneOperator1_<double,long>( gsl_sf_psi_int__)); 
+   Global.Add("gslsfpsi","(",new OneOperator1_<double,double>( gsl_sf_psi__)); 
+   Global.Add("gslsfpsi1piy","(",new OneOperator1_<double,double>( gsl_sf_psi_1piy__)); 
+   Global.Add("gslsfpsi1int","(",new OneOperator1_<double,long>( gsl_sf_psi_1_int__)); 
+   Global.Add("gslsfpsi1","(",new OneOperator1_<double,double>( gsl_sf_psi_1__)); 
+   Global.Add("gslsfpsin","(",new OneOperator2_<double,long,double>( gsl_sf_psi_n__)); 
+   Global.Add("gslsfsynchrotron1","(",new OneOperator1_<double,double>( gsl_sf_synchrotron_1__)); 
+   Global.Add("gslsfsynchrotron2","(",new OneOperator1_<double,double>( gsl_sf_synchrotron_2__)); 
+   Global.Add("gslsftransport2","(",new OneOperator1_<double,double>( gsl_sf_transport_2__)); 
+   Global.Add("gslsftransport3","(",new OneOperator1_<double,double>( gsl_sf_transport_3__)); 
+   Global.Add("gslsftransport4","(",new OneOperator1_<double,double>( gsl_sf_transport_4__)); 
+   Global.Add("gslsftransport5","(",new OneOperator1_<double,double>( gsl_sf_transport_5__)); 
+   Global.Add("gslsfsin","(",new OneOperator1_<double,double>( gsl_sf_sin__)); 
+   Global.Add("gslsfcos","(",new OneOperator1_<double,double>( gsl_sf_cos__)); 
+   Global.Add("gslsfhypot","(",new OneOperator2_<double,double,double>( gsl_sf_hypot__)); 
+   Global.Add("gslsfsinc","(",new OneOperator1_<double,double>( gsl_sf_sinc__)); 
+   Global.Add("gslsflnsinh","(",new OneOperator1_<double,double>( gsl_sf_lnsinh__)); 
+   Global.Add("gslsflncosh","(",new OneOperator1_<double,double>( gsl_sf_lncosh__)); 
+   Global.Add("gslsfanglerestrictsymm","(",new OneOperator1_<double,double>( gsl_sf_angle_restrict_symm__)); 
+   Global.Add("gslsfanglerestrictpos","(",new OneOperator1_<double,double>( gsl_sf_angle_restrict_pos__)); 
+   Global.Add("gslsfzetaint","(",new OneOperator1_<double,long>( gsl_sf_zeta_int__)); 
+   Global.Add("gslsfzeta","(",new OneOperator1_<double,double>( gsl_sf_zeta__)); 
+   Global.Add("gslsfzetam1","(",new OneOperator1_<double,double>( gsl_sf_zetam1__)); 
+   Global.Add("gslsfzetam1int","(",new OneOperator1_<double,long>( gsl_sf_zetam1_int__)); 
+   Global.Add("gslsfhzeta","(",new OneOperator2_<double,double,double>( gsl_sf_hzeta__)); 
+   Global.Add("gslsfetaint","(",new OneOperator1_<double,long>( gsl_sf_eta_int__)); 
+   Global.Add("gslsfeta","(",new OneOperator1_<double,double>( gsl_sf_eta__)); 
  } 
 /*****************/
 /*****************/
diff --git a/examples++-load/fflapack.cpp b/examples++-load/fflapack.cpp
index 824c3ea..2c6d3f1 100644
--- a/examples++-load/fflapack.cpp
+++ b/examples++-load/fflapack.cpp
@@ -33,7 +33,7 @@ class Init { public:
   Init();
 };
 
-bool lapack_inv(KNM<double>* A)
+long lapack_inv(KNM<double>* A)
 {
   intblas n=A->N();
   intblas m=A->M();
@@ -50,6 +50,23 @@ bool lapack_inv(KNM<double>* A)
   return info;
 }
 
+long lapack_inv(KNM<Complex>* A)
+{
+    intblas n=A->N();
+    intblas m=A->M();
+    Complex *a=&(*A)(0,0);
+    intblas info;
+    intblas lda=n;
+    KN<intblas> ipiv(n);
+    intblas  lw=10*n;
+    KN<Complex> w(lw);
+    ffassert(n==m);
+    zgetrf_(&n,&n,a,&lda,ipiv,&info);
+    if(info) return info;
+    zgetri_(&n,a,&lda,ipiv,w,&lw,&info);
+    return info;
+}
+
 // (computation of the eigenvalues and right eigenvectors of a real nonsymmetric matrix)
 long lapack_dgeev(KNM<double> *const &A,KN<Complex> *const &vp,KNM<Complex> *const &vectp)
 {
@@ -836,7 +853,7 @@ KNM<R>* mult(KNM<R >* a,Mult<KNM<R >*> bc)
 	return  mult<R,init,ibeta>(a,bc.a->t(),bc.b->t()) ;
     else
         // should never happen
-        return NULL; 
+        return NULL;
 }
 
 KNM<Complex>* SolveC(KNM<Complex>* a,Inverse<KNM<Complex >*> b) 
@@ -948,9 +965,15 @@ Init::Init(){  // le constructeur qui ajoute la fonction "splitmesh3"  a freefem
       TheOperators->Add("<-", new OneOperator2<KNM<double>*,KNM<double>*,Mult<KNM<double >*> >( mult<double,true,0> ) );
       TheOperators->Add("<-", new OneOperator2<KNM<Complex>*,KNM<Complex>*,Mult<KNM<Complex >*> >( mult<Complex,true,0> ) );
       
-      Global.Add("inv","(",new  OneOperator1<bool,KNM<double>*>(lapack_inv));  
-      Global.Add("dgeev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));  
-      Global.Add("zgeev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));  
+      Global.Add("inv","(",new  OneOperator1<long,KNM<double>*>(lapack_inv));  
+      Global.Add("inv","(",new  OneOperator1<long,KNM<Complex>*>(lapack_inv));
+        
+      Global.Add("dgeev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));
+      Global.Add("zgeev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));
+        // add FH
+       Global.Add("geev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));
+       Global.Add("geev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));
+        
       Global.Add("dggev","(",new  OneOperator5_<long,KNM<double>*,KNM<double>*,KN<Complex>*,KN<double>*,KNM<Complex>*>(lapack_dggev));
       Global.Add("dsygvd","(",new  OneOperator4_<long,KNM<double>*,KNM<double>*,KN<double>*,KNM<double>*>(lapack_dsygvd));
       Global.Add("dgesdd","(",new  OneOperator4_<long,KNM<double>*,KNM<double>*,KN<double>*,KNM<double>*>(lapack_dgesdd));
diff --git a/examples++-load/gsl.awk b/examples++-load/gsl.awk
index 9073d0c..41804c6 100644
--- a/examples++-load/gsl.awk
+++ b/examples++-load/gsl.awk
@@ -1,116 +1,148 @@
 # egrep "^int|^double" /opt/local/include/gsl/gsl_sf* 
+# egrep "^int|^double|^long" /usr/local/include/gsl/gsl_{cdf,randist,sf_*}.h | egrep -v ',$'  
+#  export  LANG=C
 BEGIN {FS="[(),]";
+    FLOAD="gsl"
     LANG="C";
-    edp="gsl1.edp";
+    edp=FLOAD ".idp";
     c="\"";
     pp=c "(" c;
     print " /*  ";
-    print "load",c "gsl" c  > edp
-}
+    print "// file create:  awk -f gsl.awk  gsl_list  > ff_gsl_awk.hpp " >edp
+    print "load",c FLOAD c  > edp
+    print "gslrng ffrng;" >edp
+    print " gslabortonerror=0; " >edp
+    #  convertion de type gsl .. ff++ 
+    
+    Tff["double"]="double";
+    Tff["const double"]="double";
+    Tff["int"]="long";
+    Tff["const size_t"]="long";
+    Tff["unsigned int"]="long";
+    Tff["const int"]="long";
+    Tff["const unsigned int"]="long";
+    Tff["const double"]="double";
+    Tff["const gsl_rng *"] = "gsl_rng **";
+#    Tff["gsl_mode_t"] = ""; 
+    Cff["const gsl_rng *"] = "*"; 
+    V0["double"]= 0.55;
+    V0["const double"]= 0.55; 
+    V0["const gsl_rng *"] = "ffrng";
+ }
 
 function f0(f) { xx=f;gsub("_","",xx) ; return  xx  };
 function ff(f) { return c f0(f) c };
-NF ==3 {
-    split($1,fff,"[ \t]*");
+function VV(t) { if ( V0[t] !=0) return V0[t]; else return 0;}
+function ana1()
+{
+    ok = 0; 
+    xx1=$1;
+    nnn=split($1,xxx,":");
+    if(nnn == 2) xx1= xxx[2]; 
+
+    fonc=0; 
+    split(xx1,fff,"[ \t]*");
     f=fff[2];
-    split($2,fff,"[ \t]*");
-    tt=0;
-    i2=1
-    ok=1
-    nn=0;
-    v0=1;
-	t="";
-	while(ok==1 && nn++<5)
-	{
-	    # print " ---- " , fff[i2] , i2 
-	    if(fff[i2] == "unsigned" ) { t= t " " fff[i2] ;}
-	    else if(fff[i2] == "int" ) { t= t " " fff[i2] ;tt="long";}
-	    else if(fff[i2] == "double" ) { t= t " " fff[i2];tt="double"; v0=0.55 ;}
-	    else if(fff[i2] == "const" ) { t= t " " fff[i2] ;}
-	    else {i2--;ok=0;}
-	    i2++;
-	}
-	p1=fff[i2];
-	#print f, "  " , t , " " , tt, " " , p1;
-	lw="";
-	if(tt!=0){
-	if(tt=="long")
+    R=fff[1]; 
+
+    if( R=="int" || R =="double" ) ok=1;
+    #print " xx: " xx1, R, f, ok ; 
+
+}
+function anatype(kkk)
+{
+    if( ok !=1) return 0; ; 
+    v0=1;  
+    t = "";
+ 
+    nnn=split($(kkk+1),fff,"[ \t]*");
+    i2 =1; 
+    while( i2<nnn)
 	{
-	    lw ="double " f "( long x ) { return " f "( (" t ") x );}\n" ;
+	   if( t=="")
+	    t = fff[i2];
+	   else
+	    t= t " " fff[i2]; 
+	    i2++; 
 	}
-	gg = "\n   Global.Add("ff(f) "," pp",new OneOperator1<double ," tt ">( " f " )); "
+	tmp=match(fff[nnn],/.*\[\]/);
+	if(tmp) t = t "[]"; 
+	T[kkk]=t;
+	if( Tff[t] == "") ok=0; 
+	if( Tff[t] == "" && T00[t]=="") { print "//  -- missing type \"" t  "\" ";T00[t]=1;} 
+    return ok; 
+}
+
+NF ==3 {
+    ana1();
+    #print NF, "******",ok
+    anatype(1);
+    if( ok == 1)
+    {
+      ok==2;
+ 	  lw="";
+	  
+	   lw = Tff[R] " " f "__(" Tff[T[1]] " const & x ) { return " f "( (" T[1] ")" Cff[T[1]] " x );}\n" ;
+	  
+	gg = "\n   Global.Add(" ff(f) "," pp ",new OneOperator1_<" Tff[R] "," Tff[T[1]] ">( " f "__)); "
 	cw = cw  lw;
 	cm = cm  gg;
+	v0 = VV(T[1]);
 	print "cout << " c  f "("v0") =  " c " << " f0(f) "("v0")  << endl; "> edp
 	}
-	else
-	    print " missng "f,t,tt
 }
-NF > 4 { print " minssing " $0 ; }
+
 NF ==4 {
-    split($1,fff,"[ \t]*");
-    f=fff[2];
-    
-    split($2,fff,"[ \t]*");
-    tt=0;
-    i2=1
-    ok=1
-    nn=0;
-    t="";
-    while(ok==1 && nn++<5)
-    {
-	# print " ---- " , fff[i2] , i2 
-	if(fff[i2] == "unsigned" ) { t= t " " fff[i2] ;}
-	else if(fff[i2] == "int" ) { t= t " " fff[i2] ;tt="long";}
-	else if(fff[i2] == "double" ) { t= t " " fff[i2];tt="double" ;}
-	else if(fff[i2] == "const" ) { t= t " " fff[i2] ;}
-	else {i2--;ok=0;}
-	i2++;
-    }
-    
-    p1=fff[i2];
-    tt1=tt;
-    t1=t;
-    
-    split($3,fff,"[ \t]*");
-    tt=0;
-    i2=1
-    ok=1
-    nn=0;
-    t="";
-    if (fff[i2]==" ") i2++;
-    if (fff[i2]=="") i2++;
-    if (fff[i2]=="  ") i2++;
-    while(ok==1 && nn++<5)
+    ana1();
+    anatype(1);
+    anatype(2);
+    if( ok == 1)
     {
-	# print " ---- " , fff[i2] , i2 
-	if(fff[i2] == "unsigned" ) { t= t " " fff[i2] ;}
-	else if(fff[i2] == "int" ) { t= t " " fff[i2] ;tt="long";}
-	else if(fff[i2] == "gsl_mode_t" ) { t= t " " fff[i2] ;tt="long";}
-	else if(fff[i2] == "double" ) { t= t " " fff[i2];tt="double" ;}
-	else if(fff[i2] == "const" ) { t= t " " fff[i2] ;}
-	else {i2--;ok=0;}
-	i2++;
-    }
-    
-    p2=fff[i2];
+      ok==2;
+ 	  lw="";
+	  
+	   lw = Tff[R] " " f "__(" Tff[T[1]] " const & x , " Tff[T[2]] " const & y )" \
+	   "{ return " f "( (" T[1] ")" Cff[T[1]] " x , (" T[2] ")" Cff[T[2]] " y );}\n" ;
+	  
+	gg = "\n   Global.Add(" ff(f) "," pp ",new OneOperator2_<" Tff[R] "," Tff[T[1]] "," Tff[T[2]] ">( " f "__)); "
+	cw = cw  lw;
+	cm = cm  gg;
+	v0 = VV(T[1]);
+	v1 = VV(T[2]);
+	
+	print "cout << " c  f "(" v0 ", "v1 ") =  " c " << " f0(f) "(" v0 ",",v1 ")  << endl; "> edp
+	}
+}
 
-#    print f, "  " , t , " " , tt, " " , p1, p3;
-    lw="";
-    if(tt && tt1 ) 
+NF ==5 {
+    ana1();
+    anatype(1);
+    anatype(2);
+    anatype(3);
+    if( ok == 1)
     {
-	if(tt1=="long" || tt="long")  
-	{
-	    lw ="double " f "( " tt1  " x, " tt " y   ) { return " f "( (" t1 ") x, (" t ")  y  );}\n" ;
-	}
-	gg = "\n   Global.Add(" ff(f) "," pp ",new OneOperator2<double," tt1 "," tt " >( " f " )); ";
+      ok==2;
+ 	  lw="";
+	  
+	   lw = Tff[R] " " f "__(" Tff[T[1]] " const & x , "  Tff[T[2]] " const & y , " Tff[T[3]] " const & z )" \
+	   "{ return " f "( (" T[1] ")" Cff[T[1]] " x , (" T[2] ")" Cff[T[2]] " y , (" T[3] ")" Cff[T[3]] " z );}\n" ;
+	  
+	gg = "\n   Global.Add(" ff(f) "," pp ",new OneOperator3_<" Tff[R] "," Tff[T[1]] "," Tff[T[2]] "," Tff[T[3]] \
+	   ">( " f "__)); ";
 	cw = cw  lw;
 	cm = cm  gg;
-    }
-    else
-	print NF, "  ", tt1,",",tt," --" t1," ",t " ::: " " missing -- ", f , " (" , $2 "," $3  ") " fff[1] "," fff[2],",", fff[3] 
+	v0 = VV(T[1]);
+	v1 = VV(T[2]);
+	v2 = VV(T[3]);
+	
+	print "cout << " c  f "(" v0 "," v1 "," v2 ") =  " c " << " f0(f) "(" v0 "," v1 "," v2 ")  << endl; "> edp
+	}
 }
 
+
+ok !=1 { 
+   print " missing:",NF," ", f , " -> " $0;
+}
 END {   print " */ "
 	print "/*****************/";
 	print "/*****************/";
diff --git a/examples++-load/gsl.cpp b/examples++-load/gsl.cpp
index 1ded47d..e7db476 100644
--- a/examples++-load/gsl.cpp
+++ b/examples++-load/gsl.cpp
@@ -40,6 +40,10 @@
 #include <gsl/gsl_bspline.h>
 #include <gsl/gsl_multifit.h>
 
+#include <gsl/gsl_rng.h>
+#include <gsl/gsl_randist.h>
+#include <gsl/gsl_cdf.h>
+
 #include "ff_gsl_awk.hpp"
 
 long gslpolysolvequadratic( KN_<double> a,  KN_<double> x)
@@ -66,12 +70,81 @@ long gslpolycomplexsolve( KN_<double> a,  KN_<Complex> x)
   return ok; 
 }
 
+//  Ramdom part..
+AnyType  init_gsl_rng(Stack,const AnyType &x){
+  gsl_rng ** pp = PGetAny< gsl_rng *>(x);
+    *pp = gsl_rng_alloc(gsl_rng_default) ;
+    return  x;
+};
+AnyType delete_gsl_rng(Stack,const AnyType &x)
+{
+ gsl_rng ** pp = PGetAny< gsl_rng *>(x);
+ if(*pp) gsl_rng_free(*pp);
+ *pp=0;
+ return  Nothing;
+};
+
+gsl_rng ** init_gsl_rng_type( gsl_rng ** pp, const gsl_rng_type * g)
+{
+    *pp = gsl_rng_alloc(g) ;
+    return pp;
+}
+
+gsl_rng ** set_gsl_rng_type( gsl_rng ** pp, const gsl_rng_type * g)
+{
+    if(*pp) gsl_rng_free(*pp);
+    *pp = gsl_rng_alloc(g) ;
+    return pp;
+}
+gsl_rng ** set_gsl_cpy( gsl_rng ** pp, gsl_rng ** gg)
+{
+    if(*pp) gsl_rng_free(*pp);
+    *pp =  gsl_rng_clone(*gg);
+    return pp;
+}
+
+double gslrnguniform( gsl_rng ** pr) { return gsl_rng_uniform(*pr);}
+double gslrnguniformpos( gsl_rng ** pr) { return gsl_rng_uniform_pos(*pr);}
+long gsl_rng_get(gsl_rng ** pr){ return gsl_rng_get(*pr);}
+long gsl_rng_min(gsl_rng ** pr){ return gsl_rng_min(*pr);}
+long gsl_rng_max(gsl_rng ** pr){ return gsl_rng_max(*pr);}
+long gsl_rng_set(gsl_rng ** pr, long s){  gsl_rng_set(*pr,s);return 0; }
+string * gsl_name(Stack s,const gsl_rng_type * const & pr)
+  {return Add2StackOfPtr2Free(s,new string((*pr).name));}
+
+long  ngslrng =0;
+long  gslabort =1;
+static const gsl_rng_type ** gsl_rngpp; 
+
+const gsl_rng_type * gslrngtype(long i)
+{ 
+  ffassert(i >=0 && i < ngslrng);
+  return gsl_rngpp[i]; 
+}
+
+extern "C" {
+    void ffhandler (const char * reason,
+                  const char * file,
+                  int line,
+                    int gsl_errno);
+
+}
+void ffhandler (const char * reason,
+                const char * file,
+                int line,
+                int gsl_errno)
+{
+    cerr << "\n GSL Error = " << reason << " in " <<file << " at " << line << " err= " <<gsl_errno << endl;
+    if(gslabort) ExecError("Gsl errorhandler");
+}
+
 class Init { public:
   Init();
 };
 LOADINIT(Init);
+using  namespace Fem2D ;
 Init::Init(){
-  init_gsl_sf() ;
+    
   Global.Add("gslpolysolvequadratic","(",new OneOperator2<long,KN_<double>,KN_<double> >( gslpolysolvequadratic));
   Global.Add("gslpolysolvecubic","(",new OneOperator2<long,KN_<double>,KN_<double> >(gslpolysolvecubic));
   Global.Add("gslpolycomplexsolve","(",new OneOperator2<long,KN_<double>,KN_<Complex> >( gslpolycomplexsolve));
@@ -82,4 +155,101 @@ Init::Init(){
     TheOperators->Add("<-",
                       new OneOperator3_<gsl_bspline_workspace **,gsl_bspline_workspace **,KNM_<double>  >(pBuilQFd<R1>),
 */
+    // a faire ... interface randon of gsl ... 
+  gsl_rng_env_setup();
+  gsl_rngpp =gsl_rng_types_setup(); 
+  for(long  i=0; gsl_rngpp[i]; )
+    ngslrng=++i; 
+   Dcl_Type< gsl_rng **  > (init_gsl_rng,delete_gsl_rng);
+   Dcl_Type< const gsl_rng_type * > (); //gsl_rng_type
+   Global.New("ngslrng",CConstant<long>(ngslrng)); 
+//
+// all gsl random generator .???? .
+/*
+Global.New("gslrngborosh13",CConstant<const gsl_rng_type *>(gsl_rng_borosh13));
+Global.New("gslrngcoveyou",CConstant<const gsl_rng_type *>(gsl_rng_coveyou));
+Global.New("gslrngcmrg",CConstant<const gsl_rng_type *>(gsl_rng_cmrg));
+Global.New("gslrngfishman18",CConstant<const gsl_rng_type *>(gsl_rng_fishman18));
+Global.New("gslrngfishman20",CConstant<const gsl_rng_type *>(gsl_rng_fishman20));
+Global.New("gslrngfishman2x",CConstant<const gsl_rng_type *>(gsl_rng_fishman2x));
+Global.New("gslrnggfsr4",CConstant<const gsl_rng_type *>(gsl_rng_gfsr4));
+Global.New("gslrngknuthran",CConstant<const gsl_rng_type *>(gsl_rng_knuthran));
+Global.New("gslrngknuthran2",CConstant<const gsl_rng_type *>(gsl_rng_knuthran2));
+Global.New("gslrngknuthran2002",CConstant<const gsl_rng_type *>(gsl_rng_knuthran2002));
+Global.New("gslrnglecuyer21",CConstant<const gsl_rng_type *>(gsl_rng_lecuyer21));
+Global.New("gslrngminstd",CConstant<const gsl_rng_type *>(gsl_rng_minstd));
+Global.New("gslrngmrg",CConstant<const gsl_rng_type *>(gsl_rng_mrg));
+Global.New("gslrngmt19937",CConstant<const gsl_rng_type *>(gsl_rng_mt19937));
+Global.New("gslrngmt199371999",CConstant<const gsl_rng_type *>(gsl_rng_mt19937_1999));
+Global.New("gslrngmt199371998",CConstant<const gsl_rng_type *>(gsl_rng_mt19937_1998));
+Global.New("gslrngr250",CConstant<const gsl_rng_type *>(gsl_rng_r250));
+Global.New("gslrngran0",CConstant<const gsl_rng_type *>(gsl_rng_ran0));
+Global.New("gslrngran1",CConstant<const gsl_rng_type *>(gsl_rng_ran1));
+Global.New("gslrngran2",CConstant<const gsl_rng_type *>(gsl_rng_ran2));
+Global.New("gslrngran3",CConstant<const gsl_rng_type *>(gsl_rng_ran3));
+Global.New("gslrngrand",CConstant<const gsl_rng_type *>(gsl_rng_rand));
+Global.New("gslrngrand48",CConstant<const gsl_rng_type *>(gsl_rng_rand48));
+Global.New("gslrngrandom128bsd",CConstant<const gsl_rng_type *>(gsl_rng_random128_bsd));
+Global.New("gslrngrandom128glibc2",CConstant<const gsl_rng_type *>(gsl_rng_random128_glibc2));
+Global.New("gslrngrandom128libc5",CConstant<const gsl_rng_type *>(gsl_rng_random128_libc5));
+Global.New("gslrngrandom256bsd",CConstant<const gsl_rng_type *>(gsl_rng_random256_bsd));
+Global.New("gslrngrandom256glibc2",CConstant<const gsl_rng_type *>(gsl_rng_random256_glibc2));
+Global.New("gslrngrandom256libc5",CConstant<const gsl_rng_type *>(gsl_rng_random256_libc5));
+Global.New("gslrngrandom32bsd",CConstant<const gsl_rng_type *>(gsl_rng_random32_bsd));
+Global.New("gslrngrandom32glibc2",CConstant<const gsl_rng_type *>(gsl_rng_random32_glibc2));
+Global.New("gslrngrandom32libc5",CConstant<const gsl_rng_type *>(gsl_rng_random32_libc5));
+Global.New("gslrngrandom64bsd",CConstant<const gsl_rng_type *>(gsl_rng_random64_bsd));
+Global.New("gslrngrandom64glibc2",CConstant<const gsl_rng_type *>(gsl_rng_random64_glibc2));
+Global.New("gslrngrandom64libc5",CConstant<const gsl_rng_type *>(gsl_rng_random64_libc5));
+Global.New("gslrngrandom8bsd",CConstant<const gsl_rng_type *>(gsl_rng_random8_bsd));
+Global.New("gslrngrandom8glibc2",CConstant<const gsl_rng_type *>(gsl_rng_random8_glibc2));
+Global.New("gslrngrandom8libc5",CConstant<const gsl_rng_type *>(gsl_rng_random8_libc5));
+Global.New("gslrngrandombsd",CConstant<const gsl_rng_type *>(gsl_rng_random_bsd));
+Global.New("gslrngrandomglibc2",CConstant<const gsl_rng_type *>(gsl_rng_random_glibc2));
+Global.New("gslrngrandomlibc5",CConstant<const gsl_rng_type *>(gsl_rng_random_libc5));
+Global.New("gslrngrandu",CConstant<const gsl_rng_type *>(gsl_rng_randu));
+Global.New("gslrngranf",CConstant<const gsl_rng_type *>(gsl_rng_ranf));
+Global.New("gslrngranlux",CConstant<const gsl_rng_type *>(gsl_rng_ranlux));
+Global.New("gslrngranlux389",CConstant<const gsl_rng_type *>(gsl_rng_ranlux389));
+Global.New("gslrngranlxd1",CConstant<const gsl_rng_type *>(gsl_rng_ranlxd1));
+Global.New("gslrngranlxd2",CConstant<const gsl_rng_type *>(gsl_rng_ranlxd2));
+Global.New("gslrngranlxs0",CConstant<const gsl_rng_type *>(gsl_rng_ranlxs0));
+Global.New("gslrngranlxs1",CConstant<const gsl_rng_type *>(gsl_rng_ranlxs1));
+Global.New("gslrngranlxs2",CConstant<const gsl_rng_type *>(gsl_rng_ranlxs2));
+Global.New("gslrngranmar",CConstant<const gsl_rng_type *>(gsl_rng_ranmar));
+Global.New("gslrngslatec",CConstant<const gsl_rng_type *>(gsl_rng_slatec));
+Global.New("gslrngtaus",CConstant<const gsl_rng_type *>(gsl_rng_taus));
+Global.New("gslrngtaus2",CConstant<const gsl_rng_type *>(gsl_rng_taus2));
+Global.New("gslrngtaus113",CConstant<const gsl_rng_type *>(gsl_rng_taus113));
+Global.New("gslrngtransputer",CConstant<const gsl_rng_type *>(gsl_rng_transputer));
+Global.New("gslrngtt800",CConstant<const gsl_rng_type *>(gsl_rng_tt800));
+Global.New("gslrnguni",CConstant<const gsl_rng_type *>(gsl_rng_uni));
+Global.New("gslrnguni32",CConstant<const gsl_rng_type *>(gsl_rng_uni32));
+Global.New("gslrngvax",CConstant<const gsl_rng_type *>(gsl_rng_vax));
+Global.New("gslrngwaterman14",CConstant<const gsl_rng_type *>(gsl_rng_waterman14));
+Global.New("gslrngzuf",CConstant<const gsl_rng_type *>(gsl_rng_zuf));
+Global.New("gslrngdefault",CConstant<const gsl_rng_type *>(gsl_rng_default));
+*/    
+    
+zzzfff->Add("gslrng",atype<gsl_rng ** >());
+TheOperators->Add("<-",new OneOperator2<gsl_rng  **,gsl_rng  **, const gsl_rng_type *  >(init_gsl_rng_type));
+TheOperators->Add("=",new OneOperator2<gsl_rng  **,gsl_rng  **, const gsl_rng_type *  >(set_gsl_rng_type));
+TheOperators->Add("=",new OneOperator2<gsl_rng  **,gsl_rng  **, gsl_rng  **   >(set_gsl_cpy));
+//map_type[typeid(gsl_rng *).name()]->AddCast(   new E_F1_funcT<gsl_rng *,gsl_rng **>(UnRef<gsl_rng*>) );
+//map_type[typeid(gsl_rng *).name()]->AddCast(   new E_F1_funcT<gsl_rng *,gsl_rng **>(UnRef<gsl_rng*>) );
+
+Global.Add("gslrnguniform","(",new OneOperator1<double,gsl_rng **>( gslrnguniform));
+Global.Add("gslrnguniformpos","(",new OneOperator1<double,gsl_rng **>( gslrnguniformpos));
+    
+Global.Add("gslname","(",new OneOperator1s_<string * ,const gsl_rng_type *>( gsl_name));
+Global.Add("gslrngget","(",new OneOperator1<long   ,gsl_rng **>( gsl_rng_get));
+Global.Add("gslrngmin","(",new OneOperator1<long   ,gsl_rng **>( gsl_rng_min));
+Global.Add("gslrngmax","(",new OneOperator1<long   ,gsl_rng **>( gsl_rng_max));
+Global.Add("gslrngset","(",new OneOperator2<long   ,gsl_rng **, long>(gsl_rng_set));
+ Global.Add("gslrngtype","(",new OneOperator1<const gsl_rng_type * ,long>(gslrngtype));     
+  init_gsl_sf() ;
+ gslabort=1;
+ Global.New("gslabortonerror",CConstant<long*>(&gslabort));
+   
+ gsl_set_error_handler(ffhandler);
 }
diff --git a/examples++-load/gsl.edp b/examples++-load/gsl.edp
index d40f6fc..abc4165 100644
--- a/examples++-load/gsl.edp
+++ b/examples++-load/gsl.edp
@@ -1,116 +1,4 @@
-load "gsl"
-cout << "gsl_sf_airy_zero_Ai(1) =  " << gslsfairyzeroAi(1)  << endl; 
-cout << "gsl_sf_airy_zero_Bi(1) =  " << gslsfairyzeroBi(1)  << endl; 
-cout << "gsl_sf_airy_zero_Ai_deriv(1) =  " << gslsfairyzeroAideriv(1)  << endl; 
-cout << "gsl_sf_airy_zero_Bi_deriv(1) =  " << gslsfairyzeroBideriv(1)  << endl; 
-cout << "gsl_sf_bessel_J0(0.55) =  " << gslsfbesselJ0(0.55)  << endl; 
-cout << "gsl_sf_bessel_J1(0.55) =  " << gslsfbesselJ1(0.55)  << endl; 
-cout << "gsl_sf_bessel_Y0(0.55) =  " << gslsfbesselY0(0.55)  << endl; 
-cout << "gsl_sf_bessel_Y1(0.55) =  " << gslsfbesselY1(0.55)  << endl; 
-cout << "gsl_sf_bessel_I0(0.55) =  " << gslsfbesselI0(0.55)  << endl; 
-cout << "gsl_sf_bessel_I1(0.55) =  " << gslsfbesselI1(0.55)  << endl; 
-cout << "gsl_sf_bessel_I0_scaled(0.55) =  " << gslsfbesselI0scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_I1_scaled(0.55) =  " << gslsfbesselI1scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_K0(0.55) =  " << gslsfbesselK0(0.55)  << endl; 
-cout << "gsl_sf_bessel_K1(0.55) =  " << gslsfbesselK1(0.55)  << endl; 
-cout << "gsl_sf_bessel_K0_scaled(0.55) =  " << gslsfbesselK0scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_K1_scaled(0.55) =  " << gslsfbesselK1scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_j0(0.55) =  " << gslsfbesselj0(0.55)  << endl; 
-cout << "gsl_sf_bessel_j1(0.55) =  " << gslsfbesselj1(0.55)  << endl; 
-cout << "gsl_sf_bessel_j2(0.55) =  " << gslsfbesselj2(0.55)  << endl; 
-cout << "gsl_sf_bessel_y0(0.55) =  " << gslsfbessely0(0.55)  << endl; 
-cout << "gsl_sf_bessel_y1(0.55) =  " << gslsfbessely1(0.55)  << endl; 
-cout << "gsl_sf_bessel_y2(0.55) =  " << gslsfbessely2(0.55)  << endl; 
-cout << "gsl_sf_bessel_i0_scaled(0.55) =  " << gslsfbesseli0scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_i1_scaled(0.55) =  " << gslsfbesseli1scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_i2_scaled(0.55) =  " << gslsfbesseli2scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_k0_scaled(0.55) =  " << gslsfbesselk0scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_k1_scaled(0.55) =  " << gslsfbesselk1scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_k2_scaled(0.55) =  " << gslsfbesselk2scaled(0.55)  << endl; 
-cout << "gsl_sf_bessel_zero_J0(1) =  " << gslsfbesselzeroJ0(1)  << endl; 
-cout << "gsl_sf_bessel_zero_J1(1) =  " << gslsfbesselzeroJ1(1)  << endl; 
-cout << "gsl_sf_clausen(0.55) =  " << gslsfclausen(0.55)  << endl; 
-cout << "gsl_sf_dawson(0.55) =  " << gslsfdawson(0.55)  << endl; 
-cout << "gsl_sf_debye_1(0.55) =  " << gslsfdebye1(0.55)  << endl; 
-cout << "gsl_sf_debye_2(0.55) =  " << gslsfdebye2(0.55)  << endl; 
-cout << "gsl_sf_debye_3(0.55) =  " << gslsfdebye3(0.55)  << endl; 
-cout << "gsl_sf_debye_4(0.55) =  " << gslsfdebye4(0.55)  << endl; 
-cout << "gsl_sf_debye_5(0.55) =  " << gslsfdebye5(0.55)  << endl; 
-cout << "gsl_sf_debye_6(0.55) =  " << gslsfdebye6(0.55)  << endl; 
-cout << "gsl_sf_dilog(0.55) =  " << gslsfdilog(0.55)  << endl; 
-cout << "gsl_sf_erfc(0.55) =  " << gslsferfc(0.55)  << endl; 
-cout << "gsl_sf_log_erfc(0.55) =  " << gslsflogerfc(0.55)  << endl; 
-cout << "gsl_sf_erf(0.55) =  " << gslsferf(0.55)  << endl; 
-cout << "gsl_sf_erf_Z(0.55) =  " << gslsferfZ(0.55)  << endl; 
-cout << "gsl_sf_erf_Q(0.55) =  " << gslsferfQ(0.55)  << endl; 
-cout << "gsl_sf_hazard(0.55) =  " << gslsfhazard(0.55)  << endl; 
-cout << "gsl_sf_exp(0.55) =  " << gslsfexp(0.55)  << endl; 
-cout << "gsl_sf_expm1(0.55) =  " << gslsfexpm1(0.55)  << endl; 
-cout << "gsl_sf_exprel(0.55) =  " << gslsfexprel(0.55)  << endl; 
-cout << "gsl_sf_exprel_2(0.55) =  " << gslsfexprel2(0.55)  << endl; 
-cout << "gsl_sf_expint_E1(0.55) =  " << gslsfexpintE1(0.55)  << endl; 
-cout << "gsl_sf_expint_E2(0.55) =  " << gslsfexpintE2(0.55)  << endl; 
-cout << "gsl_sf_expint_E1_scaled(0.55) =  " << gslsfexpintE1scaled(0.55)  << endl; 
-cout << "gsl_sf_expint_E2_scaled(0.55) =  " << gslsfexpintE2scaled(0.55)  << endl; 
-cout << "gsl_sf_expint_Ei(0.55) =  " << gslsfexpintEi(0.55)  << endl; 
-cout << "gsl_sf_expint_Ei_scaled(0.55) =  " << gslsfexpintEiscaled(0.55)  << endl; 
-cout << "gsl_sf_Shi(0.55) =  " << gslsfShi(0.55)  << endl; 
-cout << "gsl_sf_Chi(0.55) =  " << gslsfChi(0.55)  << endl; 
-cout << "gsl_sf_expint_3(0.55) =  " << gslsfexpint3(0.55)  << endl; 
-cout << "gsl_sf_Si(0.55) =  " << gslsfSi(0.55)  << endl; 
-cout << "gsl_sf_Ci(0.55) =  " << gslsfCi(0.55)  << endl; 
-cout << "gsl_sf_atanint(0.55) =  " << gslsfatanint(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_m1(0.55) =  " << gslsffermidiracm1(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_0(0.55) =  " << gslsffermidirac0(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_1(0.55) =  " << gslsffermidirac1(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_2(0.55) =  " << gslsffermidirac2(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_mhalf(0.55) =  " << gslsffermidiracmhalf(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_half(0.55) =  " << gslsffermidirachalf(0.55)  << endl; 
-cout << "gsl_sf_fermi_dirac_3half(0.55) =  " << gslsffermidirac3half(0.55)  << endl; 
-cout << "gsl_sf_lngamma(0.55) =  " << gslsflngamma(0.55)  << endl; 
-cout << "gsl_sf_gamma(0.55) =  " << gslsfgamma(0.55)  << endl; 
-cout << "gsl_sf_gammastar(0.55) =  " << gslsfgammastar(0.55)  << endl; 
-cout << "gsl_sf_gammainv(0.55) =  " << gslsfgammainv(0.55)  << endl; 
-cout << "gsl_sf_fact(1) =  " << gslsffact(1)  << endl; 
-cout << "gsl_sf_doublefact(1) =  " << gslsfdoublefact(1)  << endl; 
-cout << "gsl_sf_lnfact(1) =  " << gslsflnfact(1)  << endl; 
-cout << "gsl_sf_lndoublefact(1) =  " << gslsflndoublefact(1)  << endl; 
-cout << "gsl_sf_lambert_W0(0.55) =  " << gslsflambertW0(0.55)  << endl; 
-cout << "gsl_sf_lambert_Wm1(0.55) =  " << gslsflambertWm1(0.55)  << endl; 
-cout << "gsl_sf_legendre_P1(0.55) =  " << gslsflegendreP1(0.55)  << endl; 
-cout << "gsl_sf_legendre_P2(0.55) =  " << gslsflegendreP2(0.55)  << endl; 
-cout << "gsl_sf_legendre_P3(0.55) =  " << gslsflegendreP3(0.55)  << endl; 
-cout << "gsl_sf_legendre_Q0(0.55) =  " << gslsflegendreQ0(0.55)  << endl; 
-cout << "gsl_sf_legendre_Q1(0.55) =  " << gslsflegendreQ1(0.55)  << endl; 
-cout << "gsl_sf_log(0.55) =  " << gslsflog(0.55)  << endl; 
-cout << "gsl_sf_log_abs(0.55) =  " << gslsflogabs(0.55)  << endl; 
-cout << "gsl_sf_log_1plusx(0.55) =  " << gslsflog1plusx(0.55)  << endl; 
-cout << "gsl_sf_log_1plusx_mx(0.55) =  " << gslsflog1plusxmx(0.55)  << endl; 
-cout << "gsl_sf_psi_int(1) =  " << gslsfpsiint(1)  << endl; 
-cout << "gsl_sf_psi(0.55) =  " << gslsfpsi(0.55)  << endl; 
-cout << "gsl_sf_psi_1piy(0.55) =  " << gslsfpsi1piy(0.55)  << endl; 
-cout << "gsl_sf_psi_1_int(1) =  " << gslsfpsi1int(1)  << endl; 
-cout << "gsl_sf_psi_1(0.55) =  " << gslsfpsi1(0.55)  << endl; 
-cout << "gsl_sf_synchrotron_1(0.55) =  " << gslsfsynchrotron1(0.55)  << endl; 
-cout << "gsl_sf_synchrotron_2(0.55) =  " << gslsfsynchrotron2(0.55)  << endl; 
-cout << "gsl_sf_transport_2(0.55) =  " << gslsftransport2(0.55)  << endl; 
-cout << "gsl_sf_transport_3(0.55) =  " << gslsftransport3(0.55)  << endl; 
-cout << "gsl_sf_transport_4(0.55) =  " << gslsftransport4(0.55)  << endl; 
-cout << "gsl_sf_transport_5(0.55) =  " << gslsftransport5(0.55)  << endl; 
-cout << "gsl_sf_sin(0.55) =  " << gslsfsin(0.55)  << endl; 
-cout << "gsl_sf_cos(0.55) =  " << gslsfcos(0.55)  << endl; 
-cout << "gsl_sf_sinc(0.55) =  " << gslsfsinc(0.55)  << endl; 
-cout << "gsl_sf_lnsinh(0.55) =  " << gslsflnsinh(0.55)  << endl; 
-cout << "gsl_sf_lncosh(0.55) =  " << gslsflncosh(0.55)  << endl; 
-cout << "gsl_sf_angle_restrict_symm(0.55) =  " << gslsfanglerestrictsymm(0.55)  << endl; 
-cout << "gsl_sf_angle_restrict_pos(0.55) =  " << gslsfanglerestrictpos(0.55)  << endl; 
-cout << "gsl_sf_zeta_int(2) =  " << gslsfzetaint(2)  << endl; 
-cout << "gsl_sf_zeta(0.55) =  " << gslsfzeta(0.55)  << endl; 
-cout << "gsl_sf_zetam1(0.55) =  " << gslsfzetam1(0.55)  << endl; 
-cout << "gsl_sf_zetam1_int(2) =  " << gslsfzetam1int(2)  << endl; 
-cout << "gsl_sf_eta_int(1) =  " << gslsfetaint(1)  << endl; 
-cout << "gsl_sf_eta(0.55) =  " << gslsfeta(0.55)  << endl; 
-
+include "gsl.idp"
 // FFCS - avoid using P2 and P3 which already define something very precise
 real [int] p2=[ 2,-3,1];
 real [int] p3=[ 8,-10,1,1];
@@ -122,5 +10,13 @@ cout << X[0] << " " << X[1] << endl;
 gslpolysolvecubic(p3,X);
 cout << X[0] << " " << X[1] << " " << X[2] << endl; 
 gslpolycomplexsolve(Q4,Z); 
-cout << Z[0] << " " << Z[1] << " " << Z[2] << " " << Z[3] <<endl; 
+cout << Z[0] << " " << Z[1] << " " << Z[2] << " " << Z[3] <<endl;
+
+cout << "\n\n gsl random :\n\n";
+ cout << " list of generator " << ngslrng << endl;
+ for(int i=0; i <ngslrng ; ++i)
+   cout << i << " name  " <<  gslname(gslrngtype(i)) << endl; 
+gslrng r;
+for (int i = 0; i < 10; i++) 
+   cout << gslrnguniform(r) << endl;;  
  
\ No newline at end of file
diff --git a/examples++-load/gsl.idp b/examples++-load/gsl.idp
new file mode 100644
index 0000000..07bce8a
--- /dev/null
+++ b/examples++-load/gsl.idp
@@ -0,0 +1,331 @@
+// file create:  awk -f gsl.awk  gsl_list  > ff_gsl_awk.hpp 
+load "gsl"
+gslrng ffrng;
+ gslabortonerror=0; 
+cout << "gsl_cdf_ugaussian_P(0.55) =  " << gslcdfugaussianP(0.55)  << endl; 
+cout << "gsl_cdf_ugaussian_Q(0.55) =  " << gslcdfugaussianQ(0.55)  << endl; 
+cout << "gsl_cdf_ugaussian_Pinv(0.55) =  " << gslcdfugaussianPinv(0.55)  << endl; 
+cout << "gsl_cdf_ugaussian_Qinv(0.55) =  " << gslcdfugaussianQinv(0.55)  << endl; 
+cout << "gsl_cdf_gaussian_P(0.55, 0.55) =  " << gslcdfgaussianP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_gaussian_Q(0.55, 0.55) =  " << gslcdfgaussianQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_gaussian_Pinv(0.55, 0.55) =  " << gslcdfgaussianPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_gaussian_Qinv(0.55, 0.55) =  " << gslcdfgaussianQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_gamma_P(0.55,0.55,0.55) =  " << gslcdfgammaP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gamma_Q(0.55,0.55,0.55) =  " << gslcdfgammaQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gamma_Pinv(0.55,0.55,0.55) =  " << gslcdfgammaPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gamma_Qinv(0.55,0.55,0.55) =  " << gslcdfgammaQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_cauchy_P(0.55, 0.55) =  " << gslcdfcauchyP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_cauchy_Q(0.55, 0.55) =  " << gslcdfcauchyQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_cauchy_Pinv(0.55, 0.55) =  " << gslcdfcauchyPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_cauchy_Qinv(0.55, 0.55) =  " << gslcdfcauchyQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_laplace_P(0.55, 0.55) =  " << gslcdflaplaceP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_laplace_Q(0.55, 0.55) =  " << gslcdflaplaceQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_laplace_Pinv(0.55, 0.55) =  " << gslcdflaplacePinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_laplace_Qinv(0.55, 0.55) =  " << gslcdflaplaceQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_rayleigh_P(0.55, 0.55) =  " << gslcdfrayleighP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_rayleigh_Q(0.55, 0.55) =  " << gslcdfrayleighQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_rayleigh_Pinv(0.55, 0.55) =  " << gslcdfrayleighPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_rayleigh_Qinv(0.55, 0.55) =  " << gslcdfrayleighQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_chisq_P(0.55, 0.55) =  " << gslcdfchisqP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_chisq_Q(0.55, 0.55) =  " << gslcdfchisqQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_chisq_Pinv(0.55, 0.55) =  " << gslcdfchisqPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_chisq_Qinv(0.55, 0.55) =  " << gslcdfchisqQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_exponential_P(0.55, 0.55) =  " << gslcdfexponentialP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_exponential_Q(0.55, 0.55) =  " << gslcdfexponentialQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_exponential_Pinv(0.55, 0.55) =  " << gslcdfexponentialPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_exponential_Qinv(0.55, 0.55) =  " << gslcdfexponentialQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_exppow_P(0.55,0.55,0.55) =  " << gslcdfexppowP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_exppow_Q(0.55,0.55,0.55) =  " << gslcdfexppowQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_tdist_P(0.55, 0.55) =  " << gslcdftdistP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_tdist_Q(0.55, 0.55) =  " << gslcdftdistQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_tdist_Pinv(0.55, 0.55) =  " << gslcdftdistPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_tdist_Qinv(0.55, 0.55) =  " << gslcdftdistQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_fdist_P(0.55,0.55,0.55) =  " << gslcdffdistP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_fdist_Q(0.55,0.55,0.55) =  " << gslcdffdistQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_fdist_Pinv(0.55,0.55,0.55) =  " << gslcdffdistPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_fdist_Qinv(0.55,0.55,0.55) =  " << gslcdffdistQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_beta_P(0.55,0.55,0.55) =  " << gslcdfbetaP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_beta_Q(0.55,0.55,0.55) =  " << gslcdfbetaQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_beta_Pinv(0.55,0.55,0.55) =  " << gslcdfbetaPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_beta_Qinv(0.55,0.55,0.55) =  " << gslcdfbetaQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_flat_P(0.55,0.55,0.55) =  " << gslcdfflatP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_flat_Q(0.55,0.55,0.55) =  " << gslcdfflatQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_flat_Pinv(0.55,0.55,0.55) =  " << gslcdfflatPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_flat_Qinv(0.55,0.55,0.55) =  " << gslcdfflatQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_lognormal_P(0.55,0.55,0.55) =  " << gslcdflognormalP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_lognormal_Q(0.55,0.55,0.55) =  " << gslcdflognormalQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_lognormal_Pinv(0.55,0.55,0.55) =  " << gslcdflognormalPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_lognormal_Qinv(0.55,0.55,0.55) =  " << gslcdflognormalQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel1_P(0.55,0.55,0.55) =  " << gslcdfgumbel1P(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel1_Q(0.55,0.55,0.55) =  " << gslcdfgumbel1Q(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel1_Pinv(0.55,0.55,0.55) =  " << gslcdfgumbel1Pinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel1_Qinv(0.55,0.55,0.55) =  " << gslcdfgumbel1Qinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel2_P(0.55,0.55,0.55) =  " << gslcdfgumbel2P(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel2_Q(0.55,0.55,0.55) =  " << gslcdfgumbel2Q(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel2_Pinv(0.55,0.55,0.55) =  " << gslcdfgumbel2Pinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_gumbel2_Qinv(0.55,0.55,0.55) =  " << gslcdfgumbel2Qinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_weibull_P(0.55,0.55,0.55) =  " << gslcdfweibullP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_weibull_Q(0.55,0.55,0.55) =  " << gslcdfweibullQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_weibull_Pinv(0.55,0.55,0.55) =  " << gslcdfweibullPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_weibull_Qinv(0.55,0.55,0.55) =  " << gslcdfweibullQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_pareto_P(0.55,0.55,0.55) =  " << gslcdfparetoP(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_pareto_Q(0.55,0.55,0.55) =  " << gslcdfparetoQ(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_pareto_Pinv(0.55,0.55,0.55) =  " << gslcdfparetoPinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_pareto_Qinv(0.55,0.55,0.55) =  " << gslcdfparetoQinv(0.55,0.55,0.55)  << endl; 
+cout << "gsl_cdf_logistic_P(0.55, 0.55) =  " << gslcdflogisticP(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_logistic_Q(0.55, 0.55) =  " << gslcdflogisticQ(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_logistic_Pinv(0.55, 0.55) =  " << gslcdflogisticPinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_logistic_Qinv(0.55, 0.55) =  " << gslcdflogisticQinv(0.55, 0.55)  << endl; 
+cout << "gsl_cdf_binomial_P(0,0.55,0) =  " << gslcdfbinomialP(0,0.55,0)  << endl; 
+cout << "gsl_cdf_binomial_Q(0,0.55,0) =  " << gslcdfbinomialQ(0,0.55,0)  << endl; 
+cout << "gsl_cdf_poisson_P(0, 0.55) =  " << gslcdfpoissonP(0, 0.55)  << endl; 
+cout << "gsl_cdf_poisson_Q(0, 0.55) =  " << gslcdfpoissonQ(0, 0.55)  << endl; 
+cout << "gsl_cdf_geometric_P(0, 0.55) =  " << gslcdfgeometricP(0, 0.55)  << endl; 
+cout << "gsl_cdf_geometric_Q(0, 0.55) =  " << gslcdfgeometricQ(0, 0.55)  << endl; 
+cout << "gsl_cdf_negative_binomial_P(0,0.55,0.55) =  " << gslcdfnegativebinomialP(0,0.55,0.55)  << endl; 
+cout << "gsl_cdf_negative_binomial_Q(0,0.55,0.55) =  " << gslcdfnegativebinomialQ(0,0.55,0.55)  << endl; 
+cout << "gsl_cdf_pascal_P(0,0.55,0) =  " << gslcdfpascalP(0,0.55,0)  << endl; 
+cout << "gsl_cdf_pascal_Q(0,0.55,0) =  " << gslcdfpascalQ(0,0.55,0)  << endl; 
+cout << "gsl_ran_bernoulli_pdf(0, 0.55) =  " << gslranbernoullipdf(0, 0.55)  << endl; 
+cout << "gsl_ran_beta(ffrng,0.55,0.55) =  " << gslranbeta(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_beta_pdf(0.55,0.55,0.55) =  " << gslranbetapdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_binomial_pdf(0,0.55,0) =  " << gslranbinomialpdf(0,0.55,0)  << endl; 
+cout << "gsl_ran_exponential(ffrng, 0.55) =  " << gslranexponential(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_exponential_pdf(0.55, 0.55) =  " << gslranexponentialpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_exppow(ffrng,0.55,0.55) =  " << gslranexppow(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_exppow_pdf(0.55,0.55,0.55) =  " << gslranexppowpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_cauchy(ffrng, 0.55) =  " << gslrancauchy(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_cauchy_pdf(0.55, 0.55) =  " << gslrancauchypdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_chisq(ffrng, 0.55) =  " << gslranchisq(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_chisq_pdf(0.55, 0.55) =  " << gslranchisqpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_erlang(ffrng,0.55,0.55) =  " << gslranerlang(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_erlang_pdf(0.55,0.55,0.55) =  " << gslranerlangpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_fdist(ffrng,0.55,0.55) =  " << gslranfdist(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_fdist_pdf(0.55,0.55,0.55) =  " << gslranfdistpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_flat(ffrng,0.55,0.55) =  " << gslranflat(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_flat_pdf(0.55,0.55,0.55) =  " << gslranflatpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_gamma(ffrng,0.55,0.55) =  " << gslrangamma(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gamma_int(ffrng, 0) =  " << gslrangammaint(ffrng, 0)  << endl; 
+cout << "gsl_ran_gamma_pdf(0.55,0.55,0.55) =  " << gslrangammapdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_gamma_mt(ffrng,0.55,0.55) =  " << gslrangammamt(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gamma_knuth(ffrng,0.55,0.55) =  " << gslrangammaknuth(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gaussian(ffrng, 0.55) =  " << gslrangaussian(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_gaussian_ratio_method(ffrng, 0.55) =  " << gslrangaussianratiomethod(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_gaussian_ziggurat(ffrng, 0.55) =  " << gslrangaussianziggurat(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_gaussian_pdf(0.55, 0.55) =  " << gslrangaussianpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_ugaussian(ffrng) =  " << gslranugaussian(ffrng)  << endl; 
+cout << "gsl_ran_ugaussian_ratio_method(ffrng) =  " << gslranugaussianratiomethod(ffrng)  << endl; 
+cout << "gsl_ran_ugaussian_pdf(0.55) =  " << gslranugaussianpdf(0.55)  << endl; 
+cout << "gsl_ran_gaussian_tail(ffrng,0.55,0.55) =  " << gslrangaussiantail(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gaussian_tail_pdf(0.55,0.55,0.55) =  " << gslrangaussiantailpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_ugaussian_tail(ffrng, 0.55) =  " << gslranugaussiantail(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_ugaussian_tail_pdf(0.55, 0.55) =  " << gslranugaussiantailpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_landau(ffrng) =  " << gslranlandau(ffrng)  << endl; 
+cout << "gsl_ran_landau_pdf(0.55) =  " << gslranlandaupdf(0.55)  << endl; 
+cout << "gsl_ran_geometric_pdf(0, 0.55) =  " << gslrangeometricpdf(0, 0.55)  << endl; 
+cout << "gsl_ran_gumbel1(ffrng,0.55,0.55) =  " << gslrangumbel1(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gumbel1_pdf(0.55,0.55,0.55) =  " << gslrangumbel1pdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_gumbel2(ffrng,0.55,0.55) =  " << gslrangumbel2(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_gumbel2_pdf(0.55,0.55,0.55) =  " << gslrangumbel2pdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_logistic(ffrng, 0.55) =  " << gslranlogistic(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_logistic_pdf(0.55, 0.55) =  " << gslranlogisticpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_lognormal(ffrng,0.55,0.55) =  " << gslranlognormal(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_lognormal_pdf(0.55,0.55,0.55) =  " << gslranlognormalpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_logarithmic_pdf(0, 0.55) =  " << gslranlogarithmicpdf(0, 0.55)  << endl; 
+cout << "gsl_ran_negative_binomial_pdf(0,0.55,0.55) =  " << gslrannegativebinomialpdf(0,0.55,0.55)  << endl; 
+cout << "gsl_ran_pascal_pdf(0,0.55,0) =  " << gslranpascalpdf(0,0.55,0)  << endl; 
+cout << "gsl_ran_pareto(ffrng,0.55,0.55) =  " << gslranpareto(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_pareto_pdf(0.55,0.55,0.55) =  " << gslranparetopdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_poisson_pdf(0, 0.55) =  " << gslranpoissonpdf(0, 0.55)  << endl; 
+cout << "gsl_ran_rayleigh(ffrng, 0.55) =  " << gslranrayleigh(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_rayleigh_pdf(0.55, 0.55) =  " << gslranrayleighpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_rayleigh_tail(ffrng,0.55,0.55) =  " << gslranrayleightail(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_rayleigh_tail_pdf(0.55,0.55,0.55) =  " << gslranrayleightailpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_ran_tdist(ffrng, 0.55) =  " << gslrantdist(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_tdist_pdf(0.55, 0.55) =  " << gslrantdistpdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_laplace(ffrng, 0.55) =  " << gslranlaplace(ffrng, 0.55)  << endl; 
+cout << "gsl_ran_laplace_pdf(0.55, 0.55) =  " << gslranlaplacepdf(0.55, 0.55)  << endl; 
+cout << "gsl_ran_levy(ffrng,0.55,0.55) =  " << gslranlevy(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_weibull(ffrng,0.55,0.55) =  " << gslranweibull(ffrng,0.55,0.55)  << endl; 
+cout << "gsl_ran_weibull_pdf(0.55,0.55,0.55) =  " << gslranweibullpdf(0.55,0.55,0.55)  << endl; 
+cout << "gsl_sf_airy_zero_Ai(0) =  " << gslsfairyzeroAi(0)  << endl; 
+cout << "gsl_sf_airy_zero_Bi(0) =  " << gslsfairyzeroBi(0)  << endl; 
+cout << "gsl_sf_airy_zero_Ai_deriv(0) =  " << gslsfairyzeroAideriv(0)  << endl; 
+cout << "gsl_sf_airy_zero_Bi_deriv(0) =  " << gslsfairyzeroBideriv(0)  << endl; 
+cout << "gsl_sf_bessel_J0(0.55) =  " << gslsfbesselJ0(0.55)  << endl; 
+cout << "gsl_sf_bessel_J1(0.55) =  " << gslsfbesselJ1(0.55)  << endl; 
+cout << "gsl_sf_bessel_Jn(0, 0.55) =  " << gslsfbesselJn(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Y0(0.55) =  " << gslsfbesselY0(0.55)  << endl; 
+cout << "gsl_sf_bessel_Y1(0.55) =  " << gslsfbesselY1(0.55)  << endl; 
+cout << "gsl_sf_bessel_Yn(0, 0.55) =  " << gslsfbesselYn(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_I0(0.55) =  " << gslsfbesselI0(0.55)  << endl; 
+cout << "gsl_sf_bessel_I1(0.55) =  " << gslsfbesselI1(0.55)  << endl; 
+cout << "gsl_sf_bessel_In(0, 0.55) =  " << gslsfbesselIn(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_I0_scaled(0.55) =  " << gslsfbesselI0scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_I1_scaled(0.55) =  " << gslsfbesselI1scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_In_scaled(0, 0.55) =  " << gslsfbesselInscaled(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_K0(0.55) =  " << gslsfbesselK0(0.55)  << endl; 
+cout << "gsl_sf_bessel_K1(0.55) =  " << gslsfbesselK1(0.55)  << endl; 
+cout << "gsl_sf_bessel_Kn(0, 0.55) =  " << gslsfbesselKn(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_K0_scaled(0.55) =  " << gslsfbesselK0scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_K1_scaled(0.55) =  " << gslsfbesselK1scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_Kn_scaled(0, 0.55) =  " << gslsfbesselKnscaled(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_j0(0.55) =  " << gslsfbesselj0(0.55)  << endl; 
+cout << "gsl_sf_bessel_j1(0.55) =  " << gslsfbesselj1(0.55)  << endl; 
+cout << "gsl_sf_bessel_j2(0.55) =  " << gslsfbesselj2(0.55)  << endl; 
+cout << "gsl_sf_bessel_jl(0, 0.55) =  " << gslsfbesseljl(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_y0(0.55) =  " << gslsfbessely0(0.55)  << endl; 
+cout << "gsl_sf_bessel_y1(0.55) =  " << gslsfbessely1(0.55)  << endl; 
+cout << "gsl_sf_bessel_y2(0.55) =  " << gslsfbessely2(0.55)  << endl; 
+cout << "gsl_sf_bessel_yl(0, 0.55) =  " << gslsfbesselyl(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_i0_scaled(0.55) =  " << gslsfbesseli0scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_i1_scaled(0.55) =  " << gslsfbesseli1scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_i2_scaled(0.55) =  " << gslsfbesseli2scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_il_scaled(0, 0.55) =  " << gslsfbesselilscaled(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_k0_scaled(0.55) =  " << gslsfbesselk0scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_k1_scaled(0.55) =  " << gslsfbesselk1scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_k2_scaled(0.55) =  " << gslsfbesselk2scaled(0.55)  << endl; 
+cout << "gsl_sf_bessel_kl_scaled(0, 0.55) =  " << gslsfbesselklscaled(0, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Jnu(0.55, 0.55) =  " << gslsfbesselJnu(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Ynu(0.55, 0.55) =  " << gslsfbesselYnu(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Inu_scaled(0.55, 0.55) =  " << gslsfbesselInuscaled(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Inu(0.55, 0.55) =  " << gslsfbesselInu(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Knu_scaled(0.55, 0.55) =  " << gslsfbesselKnuscaled(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_Knu(0.55, 0.55) =  " << gslsfbesselKnu(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_lnKnu(0.55, 0.55) =  " << gslsfbessellnKnu(0.55, 0.55)  << endl; 
+cout << "gsl_sf_bessel_zero_J0(0) =  " << gslsfbesselzeroJ0(0)  << endl; 
+cout << "gsl_sf_bessel_zero_J1(0) =  " << gslsfbesselzeroJ1(0)  << endl; 
+cout << "gsl_sf_bessel_zero_Jnu(0.55, 0) =  " << gslsfbesselzeroJnu(0.55, 0)  << endl; 
+cout << "gsl_sf_clausen(0.55) =  " << gslsfclausen(0.55)  << endl; 
+cout << "gsl_sf_hydrogenicR_1(0.55, 0.55) =  " << gslsfhydrogenicR1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_dawson(0.55) =  " << gslsfdawson(0.55)  << endl; 
+cout << "gsl_sf_debye_1(0.55) =  " << gslsfdebye1(0.55)  << endl; 
+cout << "gsl_sf_debye_2(0.55) =  " << gslsfdebye2(0.55)  << endl; 
+cout << "gsl_sf_debye_3(0.55) =  " << gslsfdebye3(0.55)  << endl; 
+cout << "gsl_sf_debye_4(0.55) =  " << gslsfdebye4(0.55)  << endl; 
+cout << "gsl_sf_debye_5(0.55) =  " << gslsfdebye5(0.55)  << endl; 
+cout << "gsl_sf_debye_6(0.55) =  " << gslsfdebye6(0.55)  << endl; 
+cout << "gsl_sf_dilog(0.55) =  " << gslsfdilog(0.55)  << endl; 
+cout << "gsl_sf_multiply(0.55, 0.55) =  " << gslsfmultiply(0.55, 0.55)  << endl; 
+cout << "gsl_sf_erfc(0.55) =  " << gslsferfc(0.55)  << endl; 
+cout << "gsl_sf_log_erfc(0.55) =  " << gslsflogerfc(0.55)  << endl; 
+cout << "gsl_sf_erf(0.55) =  " << gslsferf(0.55)  << endl; 
+cout << "gsl_sf_erf_Z(0.55) =  " << gslsferfZ(0.55)  << endl; 
+cout << "gsl_sf_erf_Q(0.55) =  " << gslsferfQ(0.55)  << endl; 
+cout << "gsl_sf_hazard(0.55) =  " << gslsfhazard(0.55)  << endl; 
+cout << "gsl_sf_exp(0.55) =  " << gslsfexp(0.55)  << endl; 
+cout << "gsl_sf_exp_mult(0.55, 0.55) =  " << gslsfexpmult(0.55, 0.55)  << endl; 
+cout << "gsl_sf_expm1(0.55) =  " << gslsfexpm1(0.55)  << endl; 
+cout << "gsl_sf_exprel(0.55) =  " << gslsfexprel(0.55)  << endl; 
+cout << "gsl_sf_exprel_2(0.55) =  " << gslsfexprel2(0.55)  << endl; 
+cout << "gsl_sf_exprel_n(0, 0.55) =  " << gslsfexpreln(0, 0.55)  << endl; 
+cout << "gsl_sf_expint_E1(0.55) =  " << gslsfexpintE1(0.55)  << endl; 
+cout << "gsl_sf_expint_E2(0.55) =  " << gslsfexpintE2(0.55)  << endl; 
+cout << "gsl_sf_expint_En(0, 0.55) =  " << gslsfexpintEn(0, 0.55)  << endl; 
+cout << "gsl_sf_expint_E1_scaled(0.55) =  " << gslsfexpintE1scaled(0.55)  << endl; 
+cout << "gsl_sf_expint_E2_scaled(0.55) =  " << gslsfexpintE2scaled(0.55)  << endl; 
+cout << "gsl_sf_expint_En_scaled(0, 0.55) =  " << gslsfexpintEnscaled(0, 0.55)  << endl; 
+cout << "gsl_sf_expint_Ei(0.55) =  " << gslsfexpintEi(0.55)  << endl; 
+cout << "gsl_sf_expint_Ei_scaled(0.55) =  " << gslsfexpintEiscaled(0.55)  << endl; 
+cout << "gsl_sf_Shi(0.55) =  " << gslsfShi(0.55)  << endl; 
+cout << "gsl_sf_Chi(0.55) =  " << gslsfChi(0.55)  << endl; 
+cout << "gsl_sf_expint_3(0.55) =  " << gslsfexpint3(0.55)  << endl; 
+cout << "gsl_sf_Si(0.55) =  " << gslsfSi(0.55)  << endl; 
+cout << "gsl_sf_Ci(0.55) =  " << gslsfCi(0.55)  << endl; 
+cout << "gsl_sf_atanint(0.55) =  " << gslsfatanint(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_m1(0.55) =  " << gslsffermidiracm1(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_0(0.55) =  " << gslsffermidirac0(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_1(0.55) =  " << gslsffermidirac1(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_2(0.55) =  " << gslsffermidirac2(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_int(0, 0.55) =  " << gslsffermidiracint(0, 0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_mhalf(0.55) =  " << gslsffermidiracmhalf(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_half(0.55) =  " << gslsffermidirachalf(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_3half(0.55) =  " << gslsffermidirac3half(0.55)  << endl; 
+cout << "gsl_sf_fermi_dirac_inc_0(0.55, 0.55) =  " << gslsffermidiracinc0(0.55, 0.55)  << endl; 
+cout << "gsl_sf_lngamma(0.55) =  " << gslsflngamma(0.55)  << endl; 
+cout << "gsl_sf_gamma(0.55) =  " << gslsfgamma(0.55)  << endl; 
+cout << "gsl_sf_gammastar(0.55) =  " << gslsfgammastar(0.55)  << endl; 
+cout << "gsl_sf_gammainv(0.55) =  " << gslsfgammainv(0.55)  << endl; 
+cout << "gsl_sf_taylorcoeff(0, 0.55) =  " << gslsftaylorcoeff(0, 0.55)  << endl; 
+cout << "gsl_sf_fact(0) =  " << gslsffact(0)  << endl; 
+cout << "gsl_sf_doublefact(0) =  " << gslsfdoublefact(0)  << endl; 
+cout << "gsl_sf_lnfact(0) =  " << gslsflnfact(0)  << endl; 
+cout << "gsl_sf_lndoublefact(0) =  " << gslsflndoublefact(0)  << endl; 
+cout << "gsl_sf_lnchoose(0, 0) =  " << gslsflnchoose(0, 0)  << endl; 
+cout << "gsl_sf_choose(0, 0) =  " << gslsfchoose(0, 0)  << endl; 
+cout << "gsl_sf_lnpoch(0.55, 0.55) =  " << gslsflnpoch(0.55, 0.55)  << endl; 
+cout << "gsl_sf_poch(0.55, 0.55) =  " << gslsfpoch(0.55, 0.55)  << endl; 
+cout << "gsl_sf_pochrel(0.55, 0.55) =  " << gslsfpochrel(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gamma_inc_Q(0.55, 0.55) =  " << gslsfgammaincQ(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gamma_inc_P(0.55, 0.55) =  " << gslsfgammaincP(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gamma_inc(0.55, 0.55) =  " << gslsfgammainc(0.55, 0.55)  << endl; 
+cout << "gsl_sf_lnbeta(0.55, 0.55) =  " << gslsflnbeta(0.55, 0.55)  << endl; 
+cout << "gsl_sf_beta(0.55, 0.55) =  " << gslsfbeta(0.55, 0.55)  << endl; 
+cout << "gsl_sf_beta_inc(0.55,0.55,0.55) =  " << gslsfbetainc(0.55,0.55,0.55)  << endl; 
+cout << "gsl_sf_gegenpoly_1(0.55, 0.55) =  " << gslsfgegenpoly1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gegenpoly_2(0.55, 0.55) =  " << gslsfgegenpoly2(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gegenpoly_3(0.55, 0.55) =  " << gslsfgegenpoly3(0.55, 0.55)  << endl; 
+cout << "gsl_sf_gegenpoly_n(0,0.55,0.55) =  " << gslsfgegenpolyn(0,0.55,0.55)  << endl; 
+cout << "gsl_sf_hyperg_0F1(0.55, 0.55) =  " << gslsfhyperg0F1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_hyperg_1F1_int(0,0,0.55) =  " << gslsfhyperg1F1int(0,0,0.55)  << endl; 
+cout << "gsl_sf_hyperg_1F1(0.55,0.55,0.55) =  " << gslsfhyperg1F1(0.55,0.55,0.55)  << endl; 
+cout << "gsl_sf_hyperg_U_int(0,0,0.55) =  " << gslsfhypergUint(0,0,0.55)  << endl; 
+cout << "gsl_sf_hyperg_U(0.55,0.55,0.55) =  " << gslsfhypergU(0.55,0.55,0.55)  << endl; 
+cout << "gsl_sf_hyperg_2F0(0.55,0.55,0.55) =  " << gslsfhyperg2F0(0.55,0.55,0.55)  << endl; 
+cout << "gsl_sf_laguerre_1(0.55, 0.55) =  " << gslsflaguerre1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_laguerre_2(0.55, 0.55) =  " << gslsflaguerre2(0.55, 0.55)  << endl; 
+cout << "gsl_sf_laguerre_3(0.55, 0.55) =  " << gslsflaguerre3(0.55, 0.55)  << endl; 
+cout << "gsl_sf_laguerre_n(0,0.55,0.55) =  " << gslsflaguerren(0,0.55,0.55)  << endl; 
+cout << "gsl_sf_lambert_W0(0.55) =  " << gslsflambertW0(0.55)  << endl; 
+cout << "gsl_sf_lambert_Wm1(0.55) =  " << gslsflambertWm1(0.55)  << endl; 
+cout << "gsl_sf_legendre_Pl(0, 0.55) =  " << gslsflegendrePl(0, 0.55)  << endl; 
+cout << "gsl_sf_legendre_P1(0.55) =  " << gslsflegendreP1(0.55)  << endl; 
+cout << "gsl_sf_legendre_P2(0.55) =  " << gslsflegendreP2(0.55)  << endl; 
+cout << "gsl_sf_legendre_P3(0.55) =  " << gslsflegendreP3(0.55)  << endl; 
+cout << "gsl_sf_legendre_Q0(0.55) =  " << gslsflegendreQ0(0.55)  << endl; 
+cout << "gsl_sf_legendre_Q1(0.55) =  " << gslsflegendreQ1(0.55)  << endl; 
+cout << "gsl_sf_legendre_Ql(0, 0.55) =  " << gslsflegendreQl(0, 0.55)  << endl; 
+cout << "gsl_sf_legendre_Plm(0,0,0.55) =  " << gslsflegendrePlm(0,0,0.55)  << endl; 
+cout << "gsl_sf_legendre_sphPlm(0,0,0.55) =  " << gslsflegendresphPlm(0,0,0.55)  << endl; 
+cout << "gsl_sf_legendre_array_size(0, 0) =  " << gslsflegendrearraysize(0, 0)  << endl; 
+cout << "gsl_sf_conicalP_half(0.55, 0.55) =  " << gslsfconicalPhalf(0.55, 0.55)  << endl; 
+cout << "gsl_sf_conicalP_mhalf(0.55, 0.55) =  " << gslsfconicalPmhalf(0.55, 0.55)  << endl; 
+cout << "gsl_sf_conicalP_0(0.55, 0.55) =  " << gslsfconicalP0(0.55, 0.55)  << endl; 
+cout << "gsl_sf_conicalP_1(0.55, 0.55) =  " << gslsfconicalP1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_conicalP_sph_reg(0,0.55,0.55) =  " << gslsfconicalPsphreg(0,0.55,0.55)  << endl; 
+cout << "gsl_sf_conicalP_cyl_reg(0,0.55,0.55) =  " << gslsfconicalPcylreg(0,0.55,0.55)  << endl; 
+cout << "gsl_sf_legendre_H3d_0(0.55, 0.55) =  " << gslsflegendreH3d0(0.55, 0.55)  << endl; 
+cout << "gsl_sf_legendre_H3d_1(0.55, 0.55) =  " << gslsflegendreH3d1(0.55, 0.55)  << endl; 
+cout << "gsl_sf_legendre_H3d(0,0.55,0.55) =  " << gslsflegendreH3d(0,0.55,0.55)  << endl; 
+cout << "gsl_sf_log(0.55) =  " << gslsflog(0.55)  << endl; 
+cout << "gsl_sf_log_abs(0.55) =  " << gslsflogabs(0.55)  << endl; 
+cout << "gsl_sf_log_1plusx(0.55) =  " << gslsflog1plusx(0.55)  << endl; 
+cout << "gsl_sf_log_1plusx_mx(0.55) =  " << gslsflog1plusxmx(0.55)  << endl; 
+cout << "gsl_sf_pow_int(0.55, 0) =  " << gslsfpowint(0.55, 0)  << endl; 
+cout << "gsl_sf_psi_int(0) =  " << gslsfpsiint(0)  << endl; 
+cout << "gsl_sf_psi(0.55) =  " << gslsfpsi(0.55)  << endl; 
+cout << "gsl_sf_psi_1piy(0.55) =  " << gslsfpsi1piy(0.55)  << endl; 
+cout << "gsl_sf_psi_1_int(0) =  " << gslsfpsi1int(0)  << endl; 
+cout << "gsl_sf_psi_1(0.55) =  " << gslsfpsi1(0.55)  << endl; 
+cout << "gsl_sf_psi_n(0, 0.55) =  " << gslsfpsin(0, 0.55)  << endl; 
+cout << "gsl_sf_synchrotron_1(0.55) =  " << gslsfsynchrotron1(0.55)  << endl; 
+cout << "gsl_sf_synchrotron_2(0.55) =  " << gslsfsynchrotron2(0.55)  << endl; 
+cout << "gsl_sf_transport_2(0.55) =  " << gslsftransport2(0.55)  << endl; 
+cout << "gsl_sf_transport_3(0.55) =  " << gslsftransport3(0.55)  << endl; 
+cout << "gsl_sf_transport_4(0.55) =  " << gslsftransport4(0.55)  << endl; 
+cout << "gsl_sf_transport_5(0.55) =  " << gslsftransport5(0.55)  << endl; 
+cout << "gsl_sf_sin(0.55) =  " << gslsfsin(0.55)  << endl; 
+cout << "gsl_sf_cos(0.55) =  " << gslsfcos(0.55)  << endl; 
+cout << "gsl_sf_hypot(0.55, 0.55) =  " << gslsfhypot(0.55, 0.55)  << endl; 
+cout << "gsl_sf_sinc(0.55) =  " << gslsfsinc(0.55)  << endl; 
+cout << "gsl_sf_lnsinh(0.55) =  " << gslsflnsinh(0.55)  << endl; 
+cout << "gsl_sf_lncosh(0.55) =  " << gslsflncosh(0.55)  << endl; 
+cout << "gsl_sf_angle_restrict_symm(0.55) =  " << gslsfanglerestrictsymm(0.55)  << endl; 
+cout << "gsl_sf_angle_restrict_pos(0.55) =  " << gslsfanglerestrictpos(0.55)  << endl; 
+cout << "gsl_sf_zeta_int(0) =  " << gslsfzetaint(0)  << endl; 
+cout << "gsl_sf_zeta(0.55) =  " << gslsfzeta(0.55)  << endl; 
+cout << "gsl_sf_zetam1(0.55) =  " << gslsfzetam1(0.55)  << endl; 
+cout << "gsl_sf_zetam1_int(0) =  " << gslsfzetam1int(0)  << endl; 
+cout << "gsl_sf_hzeta(0.55, 0.55) =  " << gslsfhzeta(0.55, 0.55)  << endl; 
+cout << "gsl_sf_eta_int(0) =  " << gslsfetaint(0)  << endl; 
+cout << "gsl_sf_eta(0.55) =  " << gslsfeta(0.55)  << endl; 
diff --git a/examples++-load/lapack.cpp b/examples++-load/lapack.cpp
index 0d28dbf..2c6d3f1 100644
--- a/examples++-load/lapack.cpp
+++ b/examples++-load/lapack.cpp
@@ -50,6 +50,23 @@ long lapack_inv(KNM<double>* A)
   return info;
 }
 
+long lapack_inv(KNM<Complex>* A)
+{
+    intblas n=A->N();
+    intblas m=A->M();
+    Complex *a=&(*A)(0,0);
+    intblas info;
+    intblas lda=n;
+    KN<intblas> ipiv(n);
+    intblas  lw=10*n;
+    KN<Complex> w(lw);
+    ffassert(n==m);
+    zgetrf_(&n,&n,a,&lda,ipiv,&info);
+    if(info) return info;
+    zgetri_(&n,a,&lda,ipiv,w,&lw,&info);
+    return info;
+}
+
 // (computation of the eigenvalues and right eigenvectors of a real nonsymmetric matrix)
 long lapack_dgeev(KNM<double> *const &A,KN<Complex> *const &vp,KNM<Complex> *const &vectp)
 {
@@ -949,8 +966,14 @@ Init::Init(){  // le constructeur qui ajoute la fonction "splitmesh3"  a freefem
       TheOperators->Add("<-", new OneOperator2<KNM<Complex>*,KNM<Complex>*,Mult<KNM<Complex >*> >( mult<Complex,true,0> ) );
       
       Global.Add("inv","(",new  OneOperator1<long,KNM<double>*>(lapack_inv));  
-      Global.Add("dgeev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));  
-      Global.Add("zgeev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));  
+      Global.Add("inv","(",new  OneOperator1<long,KNM<Complex>*>(lapack_inv));
+        
+      Global.Add("dgeev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));
+      Global.Add("zgeev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));
+        // add FH
+       Global.Add("geev","(",new  OneOperator3_<long,KNM<double>*,KN<Complex>*,KNM<Complex>*>(lapack_dgeev));
+       Global.Add("geev","(",new  OneOperator3_<long,KNM<Complex>*,KN<Complex>*,KNM<Complex>*>(lapack_zgeev));
+        
       Global.Add("dggev","(",new  OneOperator5_<long,KNM<double>*,KNM<double>*,KN<Complex>*,KN<double>*,KNM<Complex>*>(lapack_dggev));
       Global.Add("dsygvd","(",new  OneOperator4_<long,KNM<double>*,KNM<double>*,KN<double>*,KNM<double>*>(lapack_dsygvd));
       Global.Add("dgesdd","(",new  OneOperator4_<long,KNM<double>*,KNM<double>*,KN<double>*,KNM<double>*>(lapack_dgesdd));
diff --git a/examples++-load/lapack.edp b/examples++-load/lapack.edp
index 1fbbf08..4bd400f 100644
--- a/examples++-load/lapack.edp
+++ b/examples++-load/lapack.edp
@@ -1,97 +1,63 @@
-load "fflapack"
+load "lapack"
+// test of lapack load file ... 
+// .......................
 // load "fflapack" obsolete (F. Hecht version 3.8)
-{
+// use  load "lapack"  
+int nerr=0; // nomber of err .. 
+//  to set a full matrix .. 
+macro SETM(A,i,j,fij) 
+{ 
+    for(int i=0;i<A.n;++i) 
+      for(int j=0;j<A.m;++j) 
+        A(i,j)= (fij) ;
+}//EOM 
+
+// The of Eigen Problem ..
+NewMacro TEST(Type,Typevp,vtype,ComputeEV)
+{     
+cout << "\n\n *****************   VP \n\n\n"; 
 int n=5;
-real[int,int] A(n,n),A1(n,n),B(n,n);
-for(int i=0;i<n;++i)
-for(int j=0;j<n;++j)
-  A(i,j)= (i==j) ? n+1 : 1;
- A(0,n-1)=-100;
+Type[int,int] A(n,n),A1(n,n),B(n,n),Id(n,n);
+SETM(A,i,j,(i==j) ? n+1 : 1); 
+SETM(Id,i,j,real(i==j)); 
+A(0,n-1)=vtype;
+
 cout << A << endl;
 A1=A^-1;
 cout << A1 << endl;
 
- complex[int] vp(n);
- complex[int,int] VP(n,n),KK(n,n);
+Typevp[int] vp(n);
+Typevp[int,int] VP(n,n),KK(n,n);
 
- int nn= dgeev(A,vp,VP);
+int nn= ComputeEV(A,vp,VP);
  cout << "  vp = " <<vp << endl;
  cout << " VP = " << VP << endl;
+ 
+ // verification ... 
  KK =0.;
  for(int i=0;i<n;++i)
    for(int j=0;j<n;++j)
      for(int k=0;k<n;++k)
        KK(i,j) += (A(i,k) - vp[j]* real(i==k) ) *VP(k,j);
- cout <<" KK " <<  KK << endl; 
+ cout <<" ||KK|| " <<  KK.linfty << endl; 
+ nerr += KK.linfty > 1e-9; 
 B=0;
-for(int i=0;i<n;++i)
-  for(int j=0;j<n;++j)
-    for(int k=0;k<n;++k)
-      B(i,j) +=A(i,k)*A1(k,j);
-cout << B << endl;
- B = A*A1; // version 3.13
-cout << B << " ++++++  "<<  endl;
-// A1+A^-1;  attention ne marche pas
-
+B = A*A1; // version 3.13
+B -= Id; 
+cout <<" ||A*A1-Id|| " <<  B.linfty << endl; 
+nerr += B.linfty > 1e-9; 
 inv(A1);
-cout << A1 << endl;
+A1 -= A; 
+cout <<  "|| inv(A1) - A ||" << A1.linfty << endl;
+nerr += A1.linfty > 1e-9; 
 }
-{
-  cout << " *****************  complex VP \n";
-int n=5;
-complex[int,int] A(n,n),A1(n,n),B(n,n);
-for(int i=0;i<n;++i)
-for(int j=0;j<n;++j)
-  A(i,j)= (i==j) ? n+1 : 1;
-A(0,n-1)=-100i;
-cout << A << endl;
-A1=A^-1;
-cout << A1 << endl;
-
- complex[int] vp(n);
- complex[int,int] VP(n,n),KK(n,n);
+EndMacro 
 
- int nn= zgeev(A,vp,VP);
- cout << "  vp = " <<vp << endl;
- cout << " VP = " << VP << endl;
- KK =0.;
- for(int i=0;i<n;++i)
-   for(int j=0;j<n;++j)
-     for(int k=0;k<n;++k)
-       KK(i,j) += (A(i,k) - vp[j]* real(i==k) ) *VP(k,j);
- cout <<" KK " <<  KK << endl; 
- assert( KK.linfty < 1e-10);
-B=0;
-for(int i=0;i<n;++i)
-  for(int j=0;j<n;++j)
-    for(int k=0;k<n;++k)
-      B(i,j) +=A(i,k)*A1(k,j);
-cout << B << endl;
-// A1+A^-1;  attention ne marche pas
-
-//inv(A1);
-//cout << A1 << endl;
-  cout << " *****************  fin --complex VP \n";
-}
+TEST(real,complex,-100.,dgeev)
+TEST(complex,complex,100i,zgeev)
+TEST(real,real,1,dsyev)
+assert(nerr==0); 
 
-{
-  int n=5;
-  complex[int,int] A(n,n),A1(n,n),B(n,n);
-  for(int i=0;i<n;++i)
-    for(int j=0;j<n;++j)
-      A(i,j)= (i==j) ? (n+1)*1i : 1+0i;
-  cout << A << endl;
-  A1=A^-1;
-  cout << A1 << endl;
-
-  B=0;
-  for(int i=0;i<n;++i)
-    for(int j=0;j<n;++j)
-      for(int k=0;k<n;++k)
-	B(i,j) +=A(i,k)*A1(k,j);
-  cout << B << endl;
-  // A1+A^-1;  attention ne marche pas 
-}
 
 // FFCS - value for regression checks
 real regtest=0;
@@ -100,7 +66,6 @@ real regtest=0;
 
 int n=5;
 real [int,int] A(n,n),  B(n,n),  C(n,n);
-macro SETM(A,i,j,fij) { for(int i=0;i<A.n;++i) for(int j=0;j<A.m;++j) A(i,j)= (fij) ;}// 
 SETM(C,i,j,1./(1+i+j)) ; 
 SETM(B,i,j,i==j?2.:1./n) ;
  
diff --git a/examples++-load/msh3.cpp b/examples++-load/msh3.cpp
index 7b1f9aa..780b174 100644
--- a/examples++-load/msh3.cpp
+++ b/examples++-load/msh3.cpp
@@ -4899,11 +4899,13 @@ struct Op_trunc_mesh3 : public OneOperator {
   class Op: public E_F0mps   { 
   public:
     static basicAC_F0::name_and_type name_param[] ;
-    static const int n_name_param =2;
+    static const int n_name_param =4;
     Expression nargs[n_name_param];
     
     Expression getmesh,bbb;
     long arg(int i,Stack stack,long a) const{ return nargs[i] ? GetAny<long>( (*nargs[i])(stack) ): a;}
+    KN<long> *  arg(int i,Stack stack) const{ return nargs[i] ? GetAny<KN<long> *>( (*nargs[i])(stack) ): 0;}
+      
     Op(const basicAC_F0 &  args,Expression t,Expression b) : getmesh(t),bbb(b) 
     { args.SetNameParam(n_name_param,name_param,nargs); }
     AnyType operator()(Stack s)  const ;
@@ -4918,8 +4920,10 @@ struct Op_trunc_mesh3 : public OneOperator {
 basicAC_F0::name_and_type Op_trunc_mesh3::Op::name_param[Op_trunc_mesh3::Op::n_name_param] =
  {
    {  "split",             &typeid(long)},
-   {  "label",             &typeid(long)}
- 
+   {  "label",             &typeid(long)},
+     { "new2old", &typeid(KN<long>*)},  //  ajout FH pour P. Jovilet jan 2014
+     { "old2new", &typeid(KN<long>*)}   //  ajout FH pour P. Jovilet jan 2014
+
  };
 
 
@@ -5260,11 +5264,14 @@ AnyType Op_trunc_mesh3::Op::operator()(Stack stack)  const {
   Mesh3 &Th = *pTh;
   long kkksplit =arg(0,stack,1L);
   long label =arg(1,stack,2L);
+   KN<long> * pn2o =  arg(2,stack);
+KN<long> * po2n =  arg(3,stack);
+
   KN<int> split(Th.nt);
   split=kkksplit;
   MeshPoint *mp= MeshPointStack(stack),mps=*mp;
   long kk=0;
-    
+  long ks=kkksplit*kkksplit*kkksplit;
   for (int k=0;k<Th.nt;k++)
     { 
       const Tet & K( Th.elements[k] );
@@ -5278,10 +5285,33 @@ AnyType Op_trunc_mesh3::Op::operator()(Stack stack)  const {
     cout << "  -- Trunc mesh: Nb of Tetrahedrons = " << kk << " label=" <<label <<endl;
   Mesh3 * Tht = truncmesh(Th,kkksplit,split,false,label);
   
+    if(pn2o)
+    {
+        pn2o->resize(kk*ks);
+        KN<long> &n2o(*pn2o);
+        int l=0;
+        for(int k=0; k< Th.nt; ++k)
+            if( split[k] )
+                for(int i=0; i< ks; ++i)
+                    n2o[l++] = k;
+    }
+    if(po2n)
+    {
+        po2n->resize(Th.nt);
+        KN<long> &o2n(*po2n);
+        int l=0;
+        for(int k=0; k< Th.nt; ++k)
+            if( split[k] )
+            {
+                o2n[k] = l;
+                l+=ks;
+            }
+            else o2n[k]=-1;
+    }
 
-  Add2StackOfPtr2FreeRC(stack,Tht);//  07/2008 FH 
+  Add2StackOfPtr2FreeRC(stack,Tht);//  07/2008 FH
   *mp=mps;
-  return Tht; 
+  return Tht;
  };
  
 //////////////////
diff --git a/examples++-mpi/._AddLayer2d.idp b/examples++-mpi/._AddLayer2d.idp
new file mode 100644
index 0000000..f7a8f68
Binary files /dev/null and b/examples++-mpi/._AddLayer2d.idp differ
diff --git a/examples++-mpi/Laplace3d-hips.edp b/examples++-mpi/Laplace3d-hips.edp
index b2d24f5..66c39ae 100644
--- a/examples++-mpi/Laplace3d-hips.edp
+++ b/examples++-mpi/Laplace3d-hips.edp
@@ -10,6 +10,7 @@ int[int] iparm(16);
 real[int] dparm(6);
 iparm=-1;
 dparm=-1;
+/*  the sol trap  if we use...
 iparm[0]=1; // use iterative solver   0 => trap why ???? FH ..... 
 iparm[1]=0; // PCG as Krylov method
 iparm[4]=1; // Matrix are symmetric
@@ -20,7 +21,7 @@ dparm[1]=5e-4; // Threshold in ILUT
 dparm[2]=5e-4; // Threshold for Schur preconditionner
 dparm[4]=1e-2; // drop tol
 dparm[5]=1e-2; // drop tol 
-
+*/
 int nn=10;
 mesh Th2=square(nn,nn,region=0);
 fespace Vh2(Th2,P2);
diff --git a/examples++-tutorial/._mesh.edp b/examples++-tutorial/._mesh.edp
new file mode 100644
index 0000000..f7a8f68
Binary files /dev/null and b/examples++-tutorial/._mesh.edp differ
diff --git a/examples++-tutorial/._sparse-matrix.edp b/examples++-tutorial/._sparse-matrix.edp
new file mode 100644
index 0000000..f7a8f68
Binary files /dev/null and b/examples++-tutorial/._sparse-matrix.edp differ
diff --git a/examples++-tutorial/mesh.edp b/examples++-tutorial/mesh.edp
index 87eb49d..6b9098a 100644
--- a/examples++-tutorial/mesh.edp
+++ b/examples++-tutorial/mesh.edp
@@ -127,6 +127,7 @@ plot(rh,ps="lshape.eps");
 // ------------------------------------------------------------
 {  //  trunc mesh  tools exemples 
   mesh Th=square(3,3);
+  int[int] n2o(1); 
   fespace Vh(Th,P1);
   Vh u;	
   int i,n=u.n;
@@ -135,8 +136,9 @@ plot(rh,ps="lshape.eps");
     {
       u[][i]=1;
       plot(u,wait=1);
-      mesh Shi=trunc(Th,abs(u)>1e-10,split=5,label=2);
+      mesh Shi=trunc(Th,abs(u)>1e-10,split=2,label=2,new2old=n2o);
       plot(Th,Shi,wait=1,ps="trunc"+i+".eps");                    
+      cout << " n2o " << n2o << endl; // where the element come
       u[][i]=0;
     }
 }
diff --git a/examples++-tutorial/sparse-matrix.edp b/examples++-tutorial/sparse-matrix.edp
index 5bb4483..c032b27 100644
--- a/examples++-tutorial/sparse-matrix.edp
+++ b/examples++-tutorial/sparse-matrix.edp
@@ -227,3 +227,15 @@ aM[9]= MM;
 cout << MM << endl;
 MM.resize(10,100);
 cout << MM << endl;
+
+{  //  test renumbering of sub mesh ..
+  func Pk=P2;
+  int[int] n2ok(1); 
+  mesh ThC = trunc(Th,x < 0.5,new2old=n2ok);
+  fespace VFh(Th,Pk);
+  fespace VCh(ThC,Pk);
+  verbosity= 100; 
+  int[int] n2o=restrict(VCh,VFh,n2ok);
+  cout << " n2o " << n2o << endl;
+  
+}
diff --git a/src/bamglib/Mesh2.cpp b/src/bamglib/Mesh2.cpp
index 9d52828..bb69b1c 100644
--- a/src/bamglib/Mesh2.cpp
+++ b/src/bamglib/Mesh2.cpp
@@ -1696,8 +1696,11 @@ Int4  Triangles::SplitInternalEdgeWithBorderVertices()
       nbv = iv;
     }
   if (NbSplitEdge >  nbv-nbvold)
+  {
     cout << " Warning not enough vertices  to split all internal edges "  << endl
 	 << "    we lost " << NbSplitEdge - ( nbv-nbvold) << " Edges Sorry " << endl;
+      warning = 2;
+  }
   if (verbosity>2)
   cout << "SplitInternalEdgeWithBorderVertices: Number of splited edge " << NbSplitEdge << endl;
   return  NbSplitEdge;
@@ -2885,6 +2888,7 @@ void Triangles::FindSubDomain(int OutSide=0)
 			break;}
 		    Int4 it = Number(t);
 		    if (mark[it] >=0) {
+                        
 			if(verbosity>10)
 			    cerr << "     Warning: the sub domain " << i << " ref = " << subdomains[i].ref 
 				<< " is previouly defined with "  <<mark[it] << " ref = " << subdomains[mark[it]].ref
@@ -3201,7 +3205,7 @@ void Triangles::PreInit(Int4 inbvx,char *fname)
   CrackedEdges  =0;  
   nbe = 0; 
   name = fname ;
-
+  warning=0;
   if (inbvx) {
     vertices=new Vertex[nbvx];
     assert(vertices);
diff --git a/src/bamglib/Mesh2.h b/src/bamglib/Mesh2.h
index 315969a..3b5eee8 100644
--- a/src/bamglib/Mesh2.h
+++ b/src/bamglib/Mesh2.h
@@ -794,6 +794,7 @@ public:
   Vertex ** ordre;
   SubDomain * subdomains;
   ListofIntersectionTriangles  lIntTria;
+  int warning ;
 // end of variable
   
   Triangles(Int4 i);//:BTh(*this),Gh(*new Geometry()){PreInit(i);}
diff --git a/src/femlib/._RNM.hpp b/src/femlib/._splitsimplex.cpp
similarity index 100%
copy from src/femlib/._RNM.hpp
copy to src/femlib/._splitsimplex.cpp
diff --git a/src/femlib/FESpacen.cpp b/src/femlib/FESpacen.cpp
index 38a70fb..c3bccb6 100644
--- a/src/femlib/FESpacen.cpp
+++ b/src/femlib/FESpacen.cpp
@@ -565,8 +565,8 @@ template<class MMesh>
 KN<R>  GFESpace<MMesh>::newSaveDraw(const KN_<R> & U,int componante,int & lg,KN<Rd> &Psub,KN<int> &Ksub,int op_U) const  
 {
   const int d =  Rd::d;
-  Rd *Ps;
-  int *Ks;
+  Rd *Ps=0;
+  int *Ks=0;
   int nsb = TFE[0]->nbsubdivision;        
   int nvsub,nksub;
   SplitSimplex<Rd>(nsb, nvsub,  Ps,  nksub ,  Ks);
diff --git a/src/femlib/MatriceCreuse.hpp b/src/femlib/MatriceCreuse.hpp
index 048828d..7dbae76 100644
--- a/src/femlib/MatriceCreuse.hpp
+++ b/src/femlib/MatriceCreuse.hpp
@@ -151,11 +151,11 @@ public:
      }
       
   virtual R & operator() (int i,int j) =0;
-  virtual void call(int ,int ie,int label,void * data) =0;  // 
+    virtual void call(int ,int ie,int label,void * data,void *Q=0) =0;  //
   const LinearComb<pair<MGauche,MDroit>,C_F0> * bilinearform;
   
-  MatriceElementaire & operator()(int k,int ie,int label,void * s=0) {
-    call(k,ie,label,s);
+  MatriceElementaire & operator()(int k,int ie,int label,void * s=0,void *B=0) {
+    call(k,ie,label,s,B);
     return *this;}
 };
 
@@ -227,8 +227,8 @@ public:
   ~MatriceElementaireFES() {}
   const LinearComb<pair<MGauche,MDroit>,C_F0> * bilinearform;
   
-  MatriceElementaireFES & operator()(int k,int ie,int label,void * s=0) {
-    this->call(k,ie,label,s);
+  MatriceElementaireFES & operator()(int k,int ie,int label,void * s=0,void *Q=0) {
+    this->call(k,ie,label,s,Q);
     return *this;}
 };
 
@@ -247,16 +247,18 @@ public:
   typedef typename  FESpace::Mesh Mesh;
   typedef typename  FESpace::QFElement QFElement;
   typedef typename  FESpace::QFBorderElement QFBorderElement;
-  typedef typename  FESpace::FElement FElement; 
+  typedef typename  FESpace::FElement FElement;
+  typedef typename  FESpace::Mesh::Rd Rd;
+    
 
   R & operator() (int i,int j) {return this->a[i*this->m+j];}
   // MatPleineElementFunc element;
-  void  (* element)(MatriceElementairePleine &,const FElement &,const FElement &, double*,int ie,int label,void *) ; 
-  void  (* faceelement)(MatriceElementairePleine &,const FElement &,const FElement &,const FElement &,const FElement &, double*,int ie,int iee, int label,void *) ; 
-  void call(int k,int ie,int label,void *);
+  void  (* element)(MatriceElementairePleine &,const FElement &,const FElement &, double*,int ie,int label,void *,Rd *) ;
+  void  (* faceelement)(MatriceElementairePleine &,const FElement &,const FElement &,const FElement &,const FElement &, double*,int ie,int iee, int label,void *,Rd *) ;
+    void call(int k,int ie,int label,void *,void *B);
   
-  MatriceElementairePleine & operator()(int k,int ie,int label,void * stack=0)
-  {call(k,ie,label,stack);return *this;}
+  MatriceElementairePleine & operator()(int k,int ie,int label,void * stack=0,Rd *Q=0)
+  {call(k,ie,label,stack,Q);return *this;}
   MatriceElementairePleine(const FESpace & VVh,
                            const QFElement & fit=*QFElement::Default,
                            const QFBorderElement & fie =*QFBorderElement::Default)  
@@ -306,12 +308,12 @@ public:
   typedef typename  FESpace::QFElement QFElement;
   typedef typename  FESpace::QFBorderElement QFBorderElement;
   typedef typename  FESpace::FElement FElement; 
-
+  typedef typename  FESpace::Mesh::Rd Rd;
   R & operator()(int i,int j) 
   {return j < i ? this->a[(i*(i+1))/2 + j] : this->a[(j*(j+1))/2 + i] ;}
-  void (* element)(MatriceElementaireSymetrique &,const FElement &, double*,int ie,int label,void *) ; 
-  void (* mortar)(MatriceElementaireSymetrique &,const FMortar &,void *) ; 
-  void call(int k,int ie,int label,void * stack);
+  void (* element)(MatriceElementaireSymetrique &,const FElement &, double*,int ie,int label,void *,Rd *) ;
+  void (* mortar)(MatriceElementaireSymetrique &,const FMortar &,void *) ;
+  void call(int k,int ie,int label,void * stack,void *B);
   MatriceElementaireSymetrique(const FESpace & VVh,
                                const QFElement & fit=*QFElement::Default,
                                const QFBorderElement & fie =*QFBorderElement::Default) 
@@ -321,8 +323,8 @@ public:
 	   new int[VVh.MaximalNbOfDF()],this->Symmetric,
        fit,fie),
        element(0),mortar(0) {}
-  MatriceElementaireSymetrique & operator()(int k,int ie,int label,void * stack=0) 
-  {this->call(k,ie,label,stack);return *this;};
+  MatriceElementaireSymetrique & operator()(int k,int ie,int label,void * stack=0,Rd *B=0)
+  {this->call(k,ie,label,stack,B);return *this;};
 };
 
 
diff --git a/src/femlib/MatriceCreuse_tpl.hpp b/src/femlib/MatriceCreuse_tpl.hpp
index be8d691..c93ae6a 100644
--- a/src/femlib/MatriceCreuse_tpl.hpp
+++ b/src/femlib/MatriceCreuse_tpl.hpp
@@ -136,7 +136,7 @@ inline int  BuildMEK_KK(const int l,int *p,int *pk,int *pkk,const FElement * pKE
 } //  BuildMEK_KK
 
 template<class R,class FES>
-void MatriceElementairePleine<R,FES>::call(int k,int ie,int label,void * stack) {
+void MatriceElementairePleine<R,FES>::call(int k,int ie,int label,void * stack,void *B) {
   for (int i=0;i<this->lga;i++) 
      this->a[i]=0;
   if(this->onFace)
@@ -154,7 +154,7 @@ void MatriceElementairePleine<R,FES>::call(int k,int ie,int label,void * stack)
 	  this->n=this->m=BuildMEK_KK<FElement>(this->lnk,this->ni,this->nik,this->nikk,&Kv,0);
          int n2 =this->m*this->n; 
          for (int i=0;i<n2;i++) this->a[i]=0;
-         faceelement(*this,Kv,Kv,Kv,Kv,this->data,ie,iie,label,stack);
+         faceelement(*this,Kv,Kv,Kv,Kv,this->data,ie,iie,label,stack,reinterpret_cast<Rd*>(B));
         }
         else
         {
@@ -162,7 +162,7 @@ void MatriceElementairePleine<R,FES>::call(int k,int ie,int label,void * stack)
          this->n=this->m=BuildMEK_KK<FElement>(this->lnk,this->ni,this->nik,this->nikk,&Kv,&KKv);
         
          
-         faceelement(*this,Kv,KKv,Kv,KKv,this->data,ie,iie,label,stack);
+         faceelement(*this,Kv,KKv,Kv,KKv,this->data,ie,iie,label,stack,reinterpret_cast<Rd*>(B));
 
         }
       }
@@ -189,20 +189,20 @@ void MatriceElementairePleine<R,FES>::call(int k,int ie,int label,void * stack)
      this->m=nbdf;
      int n2 =this->m*this->n; 
      for (int i=0;i<n2;i++) this->a[i]=0;
-     element(*this,Ku,Kv,this->data,ie,label,stack);
+     element(*this,Ku,Kv,this->data,ie,label,stack,reinterpret_cast<Rd*>(B));
   }
   else 
     {
      int n2 =this->m*this->n;
      for (int i=0;i<n2;i++) this->a[i]=0;
-     element(*this,Kv,Kv,this->data,ie,label,stack);
+     element(*this,Kv,Kv,this->data,ie,label,stack,reinterpret_cast<Rd*>(B));
    // call the elementary mat 
     }  
   }  
 }
 
 template<class R,class FES>
-void MatriceElementaireSymetrique<R,FES>::call(int k,int ie,int label,void * stack) {
+void MatriceElementaireSymetrique<R,FES>::call(int k,int ie,int label,void * stack,void  *B) {
   // mise a zero de la matrice elementaire, plus sur
   for (int i=0;i<this->lga;i++) 
     this->a[i]=0;
@@ -221,7 +221,7 @@ void MatriceElementaireSymetrique<R,FES>::call(int k,int ie,int label,void * sta
 	  this->ni[i] = K(i); // copy the numbering 
 	this->m=this->n = nbdf; 
 	
-	element(*this,K,this->data,ie,label,stack); 
+	element(*this,K,this->data,ie,label,stack,static_cast<Rd*>(B));
       }// call the elementary mat 
     else
       {
diff --git a/src/femlib/RNM.hpp b/src/femlib/RNM.hpp
index b3895f6..5cfb734 100644
--- a/src/femlib/RNM.hpp
+++ b/src/femlib/RNM.hpp
@@ -159,7 +159,7 @@ inline float  real(const float &x){return x;}
     template<class T> T  real(const complex<T>& v){ return std::real(v);}
 inline double  norm2(const double x){return x*x;}
 inline float  norm2(const float x){return x*x;}
-template<class T> T  norm2(const complex<T>& v){ return norm(v);}
+template<class T> T  norm2(const complex<T>& v){ return std::norm(v);}
     
 template<class T> inline complex<T>  conj(const complex<T>& v){ return std::conj<T>(v);}
 template<class T> inline T Min (const T &a,const T &b){return a < b ? a : b;}
diff --git a/src/femlib/splitsimplex.cpp b/src/femlib/splitsimplex.cpp
index 6893785..8ba28c1 100644
--- a/src/femlib/splitsimplex.cpp
+++ b/src/femlib/splitsimplex.cpp
@@ -217,7 +217,7 @@ void SplitSimplex(int N,R3 *P,int *tet,int op=0,R3* Khat=0)
 	  }
       
     }
-  if(verbosity>5)
+  if(verbosity>199)
     {
       
       cout <<   "  SplitSimplex   " << endl;
@@ -245,7 +245,7 @@ void SplitSurfaceSimplex(int N,int &ntri2,int *&tri)
   
   // face i=0
   int l=0;
-  if(verbosity>100)
+  if(verbosity>200)
     cout << "face i=0" << endl;
   for (int i=0;i<N;++i)
     for (int j=0;j<N;++j){
@@ -262,11 +262,11 @@ void SplitSurfaceSimplex(int N,int &ntri2,int *&tri)
 	  tri[l++]= op+NumSimplex3(0,N-i-1,N-j); 
 	}
       //cout << "i,j " << i << "," << j << endl;
-      if(verbosity>100)
+      if(verbosity>200)
       cout << "l="<< l/3 <<  " "<< tri[l-3] <<" "<< tri[l-2] <<" "<<  tri[l-1] <<" "<<  endl;
     }
   // face j=0
-  if(verbosity>100)
+  if(verbosity>200)
   cout << "face j=0" << endl;
   for (int i=0;i<N;++i)
     for (int j=0;j<N;++j){
@@ -283,11 +283,11 @@ void SplitSurfaceSimplex(int N,int &ntri2,int *&tri)
 	  tri[l++]= op+NumSimplex3(N-i,0,N-j-1);
 	}
       //cout << "i,j " << i << "," << j << endl;
-      if(verbosity>100)    
+      if(verbosity>200)
 	cout << "l="<< l/3 <<  " "<< tri[l-3] <<" "<< tri[l-2] <<" "<<  tri[l-1] <<" "<<  endl;
     }
   // face k=0
-  if(verbosity>100)
+  if(verbosity>200)
     cout << "face k=0" << endl;
   for (int i=0;i<N;++i)
     for (int j=0;j<N;++j){
@@ -306,11 +306,11 @@ void SplitSurfaceSimplex(int N,int &ntri2,int *&tri)
 	  //tri[l++]= op+NumSimplex3(N-i,N-j-1,0);
 	}
       //cout << "i,j " << i << "," << j << endl;
-      if(verbosity>100)
+      if(verbosity>200)
 	cout << "l="<< l/3 <<  " "<< tri[l-3] <<" "<< tri[l-2] <<" "<<  tri[l-1] <<" "<<  endl;
     }
   // face i+j+k=1
-  if(verbosity>100)
+  if(verbosity>200)
     cout << "dernier face " << endl;
   for (int k=0;k<N;++k)
     for (int j=0;j<N;++j){
@@ -328,10 +328,10 @@ void SplitSurfaceSimplex(int N,int &ntri2,int *&tri)
 	  tri[l++]= op+NumSimplex3( i-1, N-j,   N-k); 
 	  tri[l++]= op+NumSimplex3(   i, N-j, N-k-1); 
 	}
-      if(verbosity>100)
+      if(verbosity>200)
 	cout << "l="<< l/3 <<  " "<< tri[l-3] <<" "<< tri[l-2] <<" "<<  tri[l-1] <<" "<<  endl;
     }
-  if(verbosity>100)
+  if(verbosity>200)
     cout << "l= " << l << " ntri=" << ntri << endl;
   assert( l == ntri); 
 }
@@ -399,7 +399,7 @@ void  SplitSimplex(int N,int & nv, R2 *& P, int & nk , int *& K)
 template<class Rd>
 void  SplitSimplex(int N,int & nv, Rd *& P, int & nk , int *& K)
 {
-  const int d = Rd::d;
+  const int d = Rd::d,d1 =d+1;
   int cas = (N>0) ? 1 : d+1;
   assert(N);
   N=abs(N);
@@ -412,22 +412,37 @@ void  SplitSimplex(int N,int & nv, Rd *& P, int & nk , int *& K)
     }
   nv = cas*nv1;
   nk = cas*nk1;
-  P = new Rd[nv];
-  K = new int[nk*(d+1)];
+  P = new Rd[nv]; // no bug correct jan 2024 FH (thank to OP)
+  K = new int[nk*d1]; // no  bug correct jan 2024 FH (thank to OP)
   if( cas ==1) 
     SplitSimplex( N, P,K);
   else 
     { 
-      Rd G=Rd::diag(1./(d+1));
+      Rd G=Rd::diag(1./(d1));
       for(int i=0;i<=d;++i)
 	{
 	  Rd Khat[d+1];
 	  for (int j=1;j<=d;++j)
-	    Khat[j][j]=1;
+	    Khat[j][j-1]=1;// bug correct jan 2024 FH (thank to OP) 
 	  Khat[i]=G;
-	  SplitSimplex( N, P,K+nk1*i,nv1*i,Khat);
+	  SplitSimplex( N, P,K+(nk1*d1)*i,nv1*i,Khat); // FH  no recursion here ...
 	}     
     }
+  if(verbosity>99)
+     {
+         cout << "SplitSimplex : nv ="  << nv << " nk :" << nk << " " << N <<  endl ;
+         for(int i=0; i< nv ; ++i)
+             cout << i << " / " << P[i] <<  endl;
+         
+         for(int k=0,kk=0; k < nk; ++k)
+         {
+            cout << k << " " << kk << " : ";
+             for(int m=0;m<d+1;++m)
+                 cout << K[kk++] << " " ;
+             cout << endl;
+         }
+         
+     }
 }
 
 template void  SplitSimplex<R1>(int N,int & nv, R1 *& P, int & nk , int *& K);
diff --git a/src/femlib/._RNM.hpp b/src/fflib/._AFunction.cpp
similarity index 100%
copy from src/femlib/._RNM.hpp
copy to src/fflib/._AFunction.cpp
diff --git a/src/femlib/._RNM.hpp b/src/fflib/._lgfem.cpp
similarity index 100%
copy from src/femlib/._RNM.hpp
copy to src/fflib/._lgfem.cpp
diff --git a/src/femlib/._RNM.hpp b/src/fflib/._lgmat.cpp
similarity index 100%
copy from src/femlib/._RNM.hpp
copy to src/fflib/._lgmat.cpp
diff --git a/src/femlib/._RNM.hpp b/src/fflib/._lgmesh.cpp
similarity index 100%
copy from src/femlib/._RNM.hpp
copy to src/fflib/._lgmesh.cpp
diff --git a/src/femlib/._RNM.hpp b/src/fflib/._problem.cpp
similarity index 100%
rename from src/femlib/._RNM.hpp
rename to src/fflib/._problem.cpp
diff --git a/src/fflib/AFunction.cpp b/src/fflib/AFunction.cpp
index 4defd2c..0a181c3 100644
--- a/src/fflib/AFunction.cpp
+++ b/src/fflib/AFunction.cpp
@@ -1017,6 +1017,7 @@ void Init_map_type()
      Global.New("searchMethod",CPValue<long>(searchMethod)); //pichon
      
      Global.New("cout",CConstant<ostream*>(&cout));
+     Global.New("cerr",CConstant<ostream*>(&cerr));// add jan 2014 FH.
      Global.New("cin",CConstant<istream*>(&cin));
      Global.New("append",CConstant<ios::openmode>(ios::app));
      Global.New("endl",CConstant<const char*>("\n"));
@@ -1430,6 +1431,8 @@ void Init_map_type()
      Global.Add("max","(",new OneOperator2_<long,long>(Max));
      Global.Add("min","(",new OneOperator2_<long,long>(Min));
      Global.Add("atan2","(",new OneOperator2<double>(atan2));
+     Global.Add("hypot","(",new OneOperator2<double>(hypot));// add Jan 2014
+    
      Global.Add("atan","(",new OneOperator2<double>(atan2));
      Global.Add("sqrt","(",new OneOperator1<double>(sqrt,2));
      Global.Add("abs","(",new OneOperator1<double>(Abs));
diff --git a/src/fflib/lgmat.cpp b/src/fflib/lgmat.cpp
index 628797e..c92eabd 100644
--- a/src/fflib/lgmat.cpp
+++ b/src/fflib/lgmat.cpp
@@ -276,16 +276,180 @@ struct Op2_ListMMadd: public binary_function< Matrice_Creuse<R> *,
     
     
 };
+// Fin Add FH Houston --------
+
+// for Jolivet  to build restriction  jan 2014
+// t[int] I= restrict(VCh,VGh,IPG); //  ou
+template<class pfes>
+class RestrictArray : public OneOperator { public:
+    template< typename T > struct Base { typedef  T B; };
+    template< typename T > struct Base< T* >{ typedef T B;};
+
+    typedef  typename Base<pfes>::B::FESpace FESpace;
+    typedef typename FESpace::FElement FElement;
+  //  typedef  FESpace FESpace;
+    
+    class Op : public E_F0info { public:  // passe de l'info ..
+        typedef pfes * A;
+        Expression a,b,c,d;
+        // if c = 0 => a,b FESpace
+        // if c != a FESpace et b,c KN_<double>
+        static const int n_name_param =0;
+     //   static basicAC_F0::name_and_type name_param[] ;
+        Expression nargs[n_name_param];
+        bool arg(int i,Stack stack,bool a) const{ return nargs[i] ? GetAny<bool>( (*nargs[i])(stack) ): a;}
+        long arg(int i,Stack stack,long a) const{ return nargs[i] ? GetAny<long>( (*nargs[i])(stack) ): a;}
+        KN_<long>  arg(int i,Stack stack,KN_<long> a ) const{ return nargs[i] ? GetAny<KN_<long> >( (*nargs[i])(stack) ): a;}
+        
+    public:
+        Op(const basicAC_F0 &  args,Expression aa,Expression bb,Expression cc) : a(aa),b(bb),c(cc),d(0) {
+          args.SetNameParam(n_name_param,0,nargs);
+          
+        }
+        /*
+        AnyType operator()(Stack stack)  const
+          {
+              if( verbosity>9) cout << " -- RestrictArray  "<< endl;
+              pfes * pCUh = GetAny< pfes * >((* a)(stack));
+              pfes * pFVh = GetAny<  pfes * >((* b)(stack));
+              // verif same  FE.
+              KN_<long> ncf=  GetAny<  KN_<long>  >((* c)(stack));
+              FESpace * pVCh = **pCUh;
+              FESpace * pVFh = **pFVh;
+              FESpace  VCh = *pVCh;
+              FESpace  VFh = *pVFh;
+              long neC = VCh.NbOfElements   ;
+              long neF = VFh.NbOfElements   ;
+              long ndfC = VCh.NbOfDF   ;
+              long ndfF = VFh.NbOfDF   ;
+              
+              KN_<long> nc2f= ncf;
+              
+              KN<long> *pnum=new KN<long>(ndfC);
+              KN<long> inj=*pnum;
+              inj = -1; // un set ..
+              if( verbosity>9) cout<< " ne =" << neC << " " << neF << endl;
+              
+              for(int kc=0; kc <VCh.NbOfElements; kc++)
+              {
+                  
+                  int kf = nc2f(kc);
+                  FElement KC(pVCh,kc);
+                  FElement KF(pVFh,kf);
+                  
+                  int ndofKC = KC.NbDoF() ;
+                  int ndofKF =  KF.NbDoF() ;
+                  if( verbosity>99) cout << kc << " " << kf << " : " <<ndofKC << " " << ndofKF << endl;
+                  ffassert(ndofKC== ndofKF );
+                  ffassert( kf >= 0 && kf < neF);
+                  ffassert( kc >= 0 && kc< neC);
+ 
+                  for(int df=0; df<ndofKC; df++)
+                  {
+                      int dfC =KC(df), dfF=KF(df);
+                      if( verbosity>99) cout << dfC <<" ->  "<< dfF << endl;
+                      assert(dfC >= 0 && dfC < ndfC);
+                      inj[dfC] = dfF;
+                  }
+                 
+              }
+              
+              if( verbosity>9) cout << " restrict:  Inject= " << inj << endl;
+               ffassert(inj.min() != -1);
+            //Add2StackOfPtr2FreeRC(stack,pnum);
+              
+            return pnum;
+          }
+	*/
+    };
+    RestrictArray() : OneOperator(  atype<const typename RestrictArray<pfes>::Op *>(),//atype<KN<long>* >(),
+                                        atype<pfes *>(),
+                                        atype<pfes *>(),
+                                        atype<KN_<long> >()) {}
+    
+    E_F0 * code(const basicAC_F0 & args) const
+    {
+        if(args.size()!=3)CompileError("Bug in RestrictArray code nb of args !=  3 ????? bizarre" );
+      return  new Op(args,t[0]->CastTo(args[0]),
+                           t[1]->CastTo(args[1]),
+                           t[2]->CastTo(args[2]));
+    }
+};
+// end restrict ...
+template< typename T > struct Base { typedef  T B; };
+template< typename T > struct Base< T* >{ typedef T B;};
+
+template<class pfes, int INIT>
+AnyType SetRestrict(Stack stack,Expression einj,Expression erest)
+{
+    
+    typedef  typename Base<pfes>::B::FESpace FESpace;
+    typedef typename FESpace::FElement FElement;
+
+   KN<long>  * pinj =GetAny<KN<long>*>((*einj)(stack));
+   const typename RestrictArray<pfes>::Op * ar(dynamic_cast<const typename RestrictArray<pfes>::Op *>(erest));
+    ffassert(ar);
+    if( verbosity>9) cout << " -- RestrictArray  "<< endl;
+    pfes * pCUh = GetAny< pfes * >((* ar->a)(stack));
+    pfes * pFVh = GetAny<  pfes * >((* ar->b)(stack));
+    // verif same  FE.
+    KN_<long> ncf=  GetAny<  KN_<long>  >((* ar->c)(stack));
+    FESpace * pVCh = **pCUh;
+    FESpace * pVFh = **pFVh;
+    FESpace & VCh = *pVCh;
+    FESpace & VFh = *pVFh;
+    long neC = VCh.NbOfElements   ;
+    long neF = VFh.NbOfElements   ;
+    long ndfC = VCh.NbOfDF   ;
+    long ndfF = VFh.NbOfDF   ;
+    
+    KN_<long> nc2f= ncf;
+    if(INIT==0)
+        pinj->init(ndfC);
+    else pinj->resize(ndfC);
+  //  KN<long> *pnum= INIT ==0 ? new KN<long>(ndfC): pnum;
+    KN<long> & inj=*pinj;
+    inj = -1; // un set ..
+    if( verbosity>9) cout<< " ne =" << neC << " " << neF << endl;
+    
+    for(int kc=0; kc <VCh.NbOfElements; kc++)
+    {
+        
+        int kf = nc2f(kc);
+        FElement KC(pVCh,kc);
+        FElement KF(pVFh,kf);
+        
+        int ndofKC = KC.NbDoF() ;
+        int ndofKF =  KF.NbDoF() ;
+        if( verbosity>99) cout << kc << " " << kf << " : " <<ndofKC << " " << ndofKF << endl;
+        ffassert(ndofKC== ndofKF );
+        ffassert( kf >= 0 && kf < neF);
+        ffassert( kc >= 0 && kc< neC);
+        
+        for(int df=0; df<ndofKC; df++)
+        {
+            int dfC =KC(df), dfF=KF(df);
+            if( verbosity>99) cout << dfC <<" ->  "<< dfF << endl;
+            assert(dfC >= 0 && dfC < ndfC);
+            inj[dfC] = dfF;
+        }
+        
+    }
+    if( verbosity>9) cout << " restrict:  Inject= " << inj << endl;
+    ffassert(inj.min() != -1);
+   
+  return pinj;
+}
 
 // Fin Add FH Houston --------
 template<class pfes>
-class MatrixInterpolation : public OneOperator { public:  
+class MatrixInterpolation : public OneOperator { public:
 
     class Op : public E_F0info { public:
        typedef pfes * A;
-       Expression a,b,c,d; 
+       Expression a,b,c,d;
        // if c = 0 => a,b FESpace
-       // if c != a FESpace et b,c KN_<double> 
+       // if c != a FESpace et b,c KN_<double>
        static const int n_name_param =5;
        static basicAC_F0::name_and_type name_param[] ;
         Expression nargs[n_name_param];
@@ -2747,6 +2911,25 @@ void  init_lgmat()
   Add<const MatrixInterpolation<pfes>::Op *>("<-","(", new MatrixInterpolation<pfes>(1));
   Add<const MatrixInterpolation<pfes>::Op *>("<-","(", new MatrixInterpolation<pfes3>);
   Add<const MatrixInterpolation<pfes>::Op *>("<-","(", new MatrixInterpolation<pfes3>(1,1));
+    
+    Dcl_Type<const  RestrictArray<pfes>::Op *>();
+    Dcl_Type<const  RestrictArray<pfes3>::Op *>();
+  //  Add<const RestrictArray<pfes>::Op *>("<-","(", new RestrictArray<pfes>);
+  //  Add<const RestrictArray<pfes3>::Op *>("<-","(", new RestrictArray<pfes3>);
+  
+  Global.Add("restrict","(",new RestrictArray<pfes>);// FH Jan 2014
+  Global.Add("restrict","(",new RestrictArray<pfes3>);// FH Jan 2014
+    
+  TheOperators->Add("=",
+                      new OneOperator2_<KN<long>*,KN<long>*,const RestrictArray<pfes>::Op*,E_F_StackF0F0>(SetRestrict<pfes,1>),
+                      new OneOperator2_<KN<long>*,KN<long>*,const RestrictArray<pfes3>::Op*,E_F_StackF0F0>(SetRestrict<pfes3,1>)
+                      );
+    TheOperators->Add("<-",
+                      new OneOperator2_<KN<long>*,KN<long>*,const RestrictArray<pfes>::Op*,E_F_StackF0F0>(SetRestrict<pfes,0>),
+                      new OneOperator2_<KN<long>*,KN<long>*,const RestrictArray<pfes3>::Op*,E_F_StackF0F0>(SetRestrict<pfes3,0>)
+                      );
+  
+
   Global.Add("interpolate","(",new MatrixInterpolation<pfes>);
   Global.Add("interpolate","(",new MatrixInterpolation<pfes>(1));
   Global.Add("interpolate","(",new MatrixInterpolation<pfes3>);
@@ -2778,7 +2961,8 @@ void  init_lgmat()
 		   new OneOperator2_<Matrice_Creuse<R>*,Matrice_Creuse<R>*,const MatrixInterpolation<pfes>::Op*,E_F_StackF0F0>(SetMatrixInterpolation),
 		   new OneOperator2_<Matrice_Creuse<R>*,Matrice_Creuse<R>*,const MatrixInterpolation<pfes3>::Op*,E_F_StackF0F0>(SetMatrixInterpolation3)
 		   );
- 
+
+    
  TheOperators->Add("<-",
 		   new OneOperator2_<Matrice_Creuse<R>*,Matrice_Creuse<R>*,const MatrixInterpolation<pfes>::Op*,E_F_StackF0F0>(SetMatrixInterpolation),
 		   new OneOperator2_<Matrice_Creuse<R>*,Matrice_Creuse<R>*,const MatrixInterpolation<pfes3>::Op*,E_F_StackF0F0>(SetMatrixInterpolation3)
diff --git a/src/fflib/lgmesh.cpp b/src/fflib/lgmesh.cpp
index 62cb3c1..e2bcd44 100644
--- a/src/fflib/lgmesh.cpp
+++ b/src/fflib/lgmesh.cpp
@@ -58,7 +58,9 @@ using namespace std;
 #include "BamgFreeFem.hpp"
 #include "lgfem.hpp"
 */
+
 #include "ff++.hpp"
+#include "AFunction_ext.hpp"
 
 using Fem2D::Mesh;
 using Fem2D::MeshPoint;
@@ -316,7 +318,7 @@ class Adaptation :   public E_F0mps { public:
   typedef pmesh  Result;
   
   static basicAC_F0::name_and_type name_param[] ;
-  static const int n_name_param =27;
+  static const int n_name_param =28;
   
   int nbsol;    
   Expression nargs[n_name_param];
@@ -330,6 +332,7 @@ class Adaptation :   public E_F0mps { public:
   
   double arg(int i,Stack stack,double a) const { return nargs[i] ? GetAny<double>( (*nargs[i])(stack) ): a;}
   long arg(int i,Stack stack,long a) const{ return nargs[i] ? GetAny<long>( (*nargs[i])(stack) ): a;}
+  long* arg(int i,Stack stack,long* a) const{ return nargs[i] ? GetAny<long*>( (*nargs[i])(stack) ): a;}
   bool arg(int i,Stack stack,bool a) const{ return nargs[i] ? GetAny<bool>( (*nargs[i])(stack) ): a;}
   int arg(int i,Stack stack,int a) const{ return nargs[i] ? GetAny<int>( (*nargs[i])(stack) ): a;}
   
@@ -433,19 +436,23 @@ class Adaptation :   public E_F0mps { public:
        {  "nomeshgeneration", &typeid(bool) },
        {   "metric"          ,  &typeid(E_Array)},  // 24
        {   "periodic"        ,  &typeid(E_Array) },// 25 
-       { "requirededges",    &typeid(KN_<long> ) } // 26 
+       { "requirededges",    &typeid(KN_<long> ) }, // 26
+       { "warning",    &typeid(long *) } // 27
+     
     };
 
 struct Op_trunc_mesh : public OneOperator {
 
     class Op: public E_F0mps   { public:
       static basicAC_F0::name_and_type name_param[] ;
-      static const int n_name_param =2;
+      static const int n_name_param =4;
       Expression nargs[n_name_param];
     
       Expression getmesh,bbb;
       long arg(int i,Stack stack,long a) const{ return nargs[i] ? GetAny<long>( (*nargs[i])(stack) ): a;}
-      Op(const basicAC_F0 &  args,Expression t,Expression b) : getmesh(t),bbb(b) 
+        
+       KN<long> *  arg(int i,Stack stack) const{ return nargs[i] ? GetAny<KN<long> *>( (*nargs[i])(stack) ): 0;}
+      Op(const basicAC_F0 &  args,Expression t,Expression b) : getmesh(t),bbb(b)
         { args.SetNameParam(n_name_param,name_param,nargs); }
       AnyType operator()(Stack s)  const ;
      };
@@ -458,7 +465,9 @@ struct Op_trunc_mesh : public OneOperator {
 basicAC_F0::name_and_type Op_trunc_mesh::Op::name_param[Op_trunc_mesh::Op::n_name_param] =
  {
    {  "split",             &typeid(long)},
-   {  "label",             &typeid(long)}
+   {  "label",             &typeid(long)},
+   { "new2old", &typeid(KN<long>*)},  //  ajout FH pour P. Jovilet jan 2014
+   { "old2new", &typeid(KN<long>*)}   //  ajout FH pour P. Jovilet jan 2014
  
  };
 
@@ -471,6 +480,7 @@ AnyType classBuildMesh::operator()(Stack stack)  const {
    long  nbvx         = arg(0,stack,0L); 
    bool  requireborder=  arg(1,stack,false);
    ffassert(   nbvx >= 0);
+   
    return SetAny<pmesh>(Add2StackOfPtr2FreeRC(stack,BuildMesh(stack,borders,false,nbvx,requireborder)));
 
 }
@@ -490,8 +500,11 @@ AnyType Op_trunc_mesh::Op::operator()(Stack stack)  const {
     Mesh & Th = *GetAny<pmesh>((*getmesh)(stack));
     long kkksplit =arg(0,stack,1L);
     long label =arg(1,stack,2L);
+    KN<long> * pn2o =  arg(2,stack);
+    KN<long> * po2n =  arg(3,stack);
     KN<int> split(Th.nt);
     split=kkksplit;
+    long ks=kkksplit*kkksplit;
     MeshPoint *mp= MeshPointStack(stack),mps=*mp;
     long kk=0;
     for (int k=0;k<Th.nt;k++)
@@ -502,6 +515,32 @@ AnyType Op_trunc_mesh::Op::operator()(Stack stack)  const {
        if (  GetAny<bool>((*bbb)(stack))  ) kk++;
        else  split[k]=0  ;    
      }
+    
+    if(pn2o)
+        {
+          pn2o->resize(kk*ks);
+          KN<long> &n2o(*pn2o);
+          int l=0;
+          for(int k=0; k< Th.nt; ++k)
+             if( split[k] )
+                 for(int i=0; i< ks; ++i)
+                     n2o[l++] = k;
+        }
+        if(po2n)
+        {
+            po2n->resize(Th.nt);
+            KN<long> &o2n(*po2n);
+            int l=0;
+            for(int k=0; k< Th.nt; ++k)
+                if( split[k] )
+                {
+                        o2n[k] = l;
+                       l+=ks;
+                }
+            else o2n[k]=-1;
+        }
+
+    
      *mp=mps;
      if (verbosity>1) 
      cout << "  -- Trunc mesh: Nb of Triangle = " << kk << " label=" <<label <<endl;
@@ -696,6 +735,11 @@ AnyType Adaptation::operator()(Stack stack) const
   double cutoffradian          = arg(21,stack,-1.0)* bamg::Pi/180. ;
   bool split                    = arg(22,stack,false) ;
   bool nomeshgeneration         = arg(23,stack,false) ;
+  long lwarning=0;
+
+  long * pwarning                = arg(27,stack,&lwarning) ;
+  long &warning=*pwarning; //  get get warning message ...
+    
   //   the 24th param is metrix  and is store at compilation time
   //  const E_Array * expmetrix = dynamic_cast<const E_Array *>(nargs[24]);
   //   the 25th param is periodic and it store at compilation time
@@ -863,7 +907,6 @@ AnyType Adaptation::operator()(Stack stack) const
   if ( ! nomeshgeneration)
   {
   nTh= new Triangles(nbsx,Th,KeepBackVertices); // Adaption is here
-  
   if (split)
 	    nTh->SplitElement(1); // modif FH mai 2009 (thank J-M Mirebeau) : Th ->nTh
  
@@ -892,6 +935,7 @@ AnyType Adaptation::operator()(Stack stack) const
   Metric M(hmax);
   for (iv=0;iv < Th.nbv;iv++)
     Th[iv].m = M;
+  warning = nTh->warning;
 
   Mesh * g=  bamg2msh(nTh,true);
 
@@ -1686,6 +1730,63 @@ AnyType CheckMoveMesh::operator()(Stack stack) const
 
 }
 
+bool SameMesh(Mesh * const & pTh1,Mesh * const & pTh2)
+{
+    typedef Mesh::Element Element;
+    if( !pTh1) return 0;
+    if( !pTh2) return 0;
+    if( pTh1 == pTh2) return 1;
+    if( pTh1->nv != pTh2->nv) return 0;
+    if( pTh1->nt != pTh2->nt) return 0;
+    Mesh & Th1=*pTh1, & Th2 = *pTh2;
+    ffassert(0); // a faire..
+    
+    return 1;
+}
+
+bool AddLayers(Mesh * const & pTh, KN<double> * const & psupp, long const & nlayer,KN<double> * const & pphi)
+{
+    ffassert(pTh && psupp && pphi);
+    const int nve = Mesh::Element::NbV;
+    Mesh & Th= *pTh;
+    int nt = Th.nt;
+    int nv = Th.nv;
+    
+    KN<double> & supp(*psupp);
+    KN<double> u(nv), s(nt);
+    KN<double> & phi(*pphi);
+    ffassert(supp.N()==nt);//P0
+    ffassert(phi.N()==nv); // P1
+    s = supp;
+    
+    supp = 0.;
+    for(int step=0; step < nlayer; ++ step)
+    {
+        
+        phi=0.;
+        u = 0.;
+        for(int k=0; k<nt; ++k)
+            for(int i=0; i<nve; ++i)
+                u[Th(k,i)] += supp[k];
+        
+        for(int v=0; v < nv; ++nv)
+            u[v] = u[v] >0.;
+        
+        supp += u;
+        
+        s = 0.;
+        for(int k=0; k<nt; ++k)
+            for(int i=0; i<nve; ++i)
+                s[k] += u[Th(k,i)];
+        
+        for(int v=0; v < nt; ++nv)
+            s[v] = s[v] > 0.;
+    }
+    phi = u*(1./nlayer);
+    supp =s;
+    return true;
+}
+
 void init_lgmesh() {
   if(verbosity&&(mpirank==0) )  cout <<"lg_mesh ";
   bamg::MeshIstreamErrorHandler = MeshErrorIO;
@@ -1710,8 +1811,10 @@ void init_lgmesh() {
   Global.Add("triangulate","(",new OneOperator2_<pmesh,KN_<double>,KN_<double>,E_F_F0F0_Add2RC<pmesh,KN_<double>,KN_<double>,E_F0> >(Triangulate));
   TheOperators->Add("<-",
 		    new OneOperator2_<pmesh*,pmesh*,string* >(&initMesh));
-       
-  // use for :   mesh Th = readmesh ( ...);       
+    // Thg,suppi[],nnn,unssd[]
+  Global.Add("AddLayers","(",new OneOperator4_<bool, Mesh * , KN<double> * , long ,KN<double> * >(AddLayers));
+  Global.Add("AddLayers","(",new OneOperator2_<bool, Mesh * , Mesh * >(SameMesh));
+  // use for :   mesh Th = readmesh ( ...);
   TheOperators->Add("<-",
 		    new OneOperator2_<pmesh*,pmesh*,pmesh >(&set_copy_incr));
   extern void init_glumesh2D();
diff --git a/src/fflib/problem.cpp b/src/fflib/problem.cpp
index e15d102..dc519a3 100644
--- a/src/fflib/problem.cpp
+++ b/src/fflib/problem.cpp
@@ -266,7 +266,7 @@ void Check(const Opera &Op,int N,int  M)
   void  Element_OpVF(MatriceElementairePleine<R,FESpace3> & mat,
 		     const FElement3 & Ku,const FElement3 & KKu,
 		     const FElement3 & Kv,const FElement3 & KKv,
-		     double * p,int ie,int iie, int label,void *bstack)
+		     double * p,int ie,int iie, int label,void *bstack,R3 *B)
   {
     ffassert(0); 
   }
@@ -275,9 +275,9 @@ void Check(const Opera &Op,int N,int  M)
   void  Element_OpVF(MatriceElementairePleine<R,FESpace> & mat,
 			const FElement & Ku,const FElement & KKu,
 			const FElement & Kv,const FElement & KKv,
-			double * p,int ie,int iie, int label,void *bstack)
+			double * p,int ie,int iie, int label,void *bstack,R2 *B)
   {
-    
+     ffassert(B==0);
     pair_stack_double * bs=static_cast<pair_stack_double *>(bstack);   
     Stack stack= bs->first;
     double binside = *bs->second; // truc FH pour fluide de grad2 (decentrage bizard)
@@ -563,7 +563,7 @@ void Check(const Opera &Op,int N,int  M)
     }
     else if (sym) {
       mates= new MatriceElementaireSymetrique<R,FESpace>(Uh,FIT,FIE);
-      mates->element = Element_Op<R>;               
+      mates->element = Element_Op<R>;
     }
     else {
       matep= new MatriceElementairePleine<R,FESpace>(Uh,Vh,FIT,FIE);
@@ -612,7 +612,8 @@ void Check(const Opera &Op,int N,int  M)
                               Element_rhs<R>(Vh[t],*l->l,buf,stack,*B,FIE,Q[0],Q[1]);
                           }
                           else*/ 
-                              InternalError(" No levelSet on Diff mesh :    to day  int1d of Matrix");
+                           //   InternalError(" No levelSet on Diff mesh :    to day  int1d of Matrix");
+                         A += mate(0,0,0,stack,Q);
                       }
                       if(sptrclean) sptrclean=sptr->clean();
                   }
@@ -1647,8 +1648,9 @@ void Check(const Opera &Op,int N,int  M)
  
  
   template<class R> 
-  void  Element_Op(MatriceElementairePleine<R,FESpace3> & mat,const FElement3 & Ku,const FElement3 & Kv,double * p,int ie,int label,void *vstack)
+  void  Element_Op(MatriceElementairePleine<R,FESpace3> & mat,const FElement3 & Ku,const FElement3 & Kv,double * p,int ie,int label,void *vstack,R3 *B)
   {
+    ffassert(B==0);
    Stack stack=pvoid2Stack(vstack);    
     //    ffassert(0);
     typedef  FElement3::Element Element;
@@ -1809,9 +1811,9 @@ void Check(const Opera &Op,int N,int  M)
   } 
   // xxxxxxxxxxxxxxxxx  modif a faire 
   template<class R> 
-  void  Element_Op(MatriceElementairePleine<R,FESpace> & mat,const FElement & Ku,const FElement & Kv,double * p,int ie,int label,void *vstack)
+  void  Element_Op(MatriceElementairePleine<R,FESpace> & mat,const FElement & Ku,const FElement & Kv,double * p,int ie,int label,void *vstack,R2 *B)
   {
-       Stack stack=pvoid2Stack(vstack);
+      Stack stack=pvoid2Stack(vstack);
     typedef  FElement::Element Element;
     MeshPoint mp= *MeshPointStack(stack);
     R ** copt = Stack_Ptr<R*>(stack,ElemMatPtrOffset);
@@ -1852,7 +1854,7 @@ void Check(const Opera &Op,int N,int  M)
 
   for (i=0;i< nx;i++) 
     *pa++ = 0.; 
-  if (ie<0)    
+  if (ie<0 && B==0)
     for (npi=0;npi<FI.n;npi++) // loop on the integration point
       {
         QuadraturePoint pi(FI[npi]);
@@ -1943,7 +1945,67 @@ void Check(const Opera &Op,int N,int  M)
           }
 	*/
       }
-  else // int on edge ie 
+  else if(B)
+  {  // int on isovalue ...
+      R2 PA(B[0]),PB(B[0]);
+      R2 A=T(PA),B=T(PB);
+      R2 E(A,B);
+      double le = sqrt((E,E));
+      if(le > 1e-15) // bofbof ????
+      for (npi=0;npi<FIb.n;npi++) // loop on the integration point
+      {
+          pa =a;
+          QuadratureFormular1dPoint pi( FIb[npi]);
+          double coef = le*pi.a;
+          double sa=pi.x,sb=1-sa;
+          R2 Pt(PA*sa+PB*sb ); //
+          Ku.BF(Dop,Pt,fu);
+          if (!same) Kv.BF(Dop,Pt,fv);
+          // int label=-999999; // a passer en argument
+          MeshPointStack(stack)->set(T(Pt),Pt,Kv,-1,R2(E.y,-E.x)/le,-1);
+          if (classoptm) (*Op.optiexpK)(stack); // call optim version
+          int il=0;
+          for (BilinearOperator::const_iterator l=Op.v.begin();l!=Op.v.end();l++,il++)
+	  {  // attention la fonction test donne la ligne
+              //  et la fonction test est en second
+              BilinearOperator::K ll(*l);
+              //	      pair<int,int> jj(ll.first.first),ii(ll.first.second);
+              long jcomp= ll.first.first.first,jop=ll.first.first.second;
+              long icomp= ll.first.second.first,iop=ll.first.second.second;
+              
+              
+              R ccc = copt ? *(copt[il]) : GetAny<R>(ll.second.eval(stack));
+              if ( copt && Kv.number <1)
+	      {
+                  R cc  =  GetAny<R>(ll.second.eval(stack));
+                  //cout << *(copt[il]) << " == " <<  cc << endl;
+                  if ( ccc != cc) {
+                      cerr << cc << " != " << ccc << " => ";
+                      cerr << "Sorry error in Optimization (a) add:  int2d(Th,optimize=0)(...)" << endl;
+                      ExecError("In Optimized version "); }
+	      }
+              int fi=Kv.dfcbegin(icomp);
+              int li=Kv.dfcend(icomp);
+              int fj=Ku.dfcbegin(jcomp);
+              int lj=Ku.dfcend(jcomp);
+              ccc *= coef;
+              
+              // attention la fonction test donne la ligne
+              //  et la fonction test est en second      
+              
+              for ( i=fi;  i<li;   i++ )  
+	      { 
+		  for ( j=fj;  j<lj;   j++ ) 
+                  { 		      
+		      R w_i =  fv(i,icomp,iop); 
+		      R w_j =  fu(j,jcomp,jop);		      
+		      mat(i,j) += ccc * w_i*w_j;
+                  }
+	      }
+	  }
+      }
+  }
+  else // int on edge ie
     for (npi=0;npi<FIb.n;npi++) // loop on the integration point
       {
         pa =a;
@@ -2054,8 +2116,9 @@ void Check(const Opera &Op,int N,int  M)
   
   
  template<class R>
- void  Element_Op(MatriceElementaireSymetrique<R,FESpace3> & mat,const FElement3 & Ku,double * p,int ie,int label, void * vstack)
+ void  Element_Op(MatriceElementaireSymetrique<R,FESpace3> & mat,const FElement3 & Ku,double * p,int ie,int label, void * vstack,R3 *B)
   {
+      ffassert(B==0);
       Stack stack=pvoid2Stack(vstack);
    typedef FESpace3 FESpace;
    typedef typename FESpace3::Mesh Mesh;
@@ -2235,7 +2298,7 @@ void Check(const Opera &Op,int N,int  M)
 
   // xxxxxxxxxxxxxxxxx  modif a faire   
  template<class R>
- void  Element_Op(MatriceElementaireSymetrique<R,FESpace> & mat,const FElement & Ku,double * p,int ie,int label, void * vstack)
+ void  Element_Op(MatriceElementaireSymetrique<R,FESpace> & mat,const FElement & Ku,double * p,int ie,int label, void * vstack,R2*B)
   {
     Stack stack=pvoid2Stack(vstack);
     MeshPoint mp= *MeshPointStack(stack);
@@ -2363,7 +2426,69 @@ void Check(const Opera &Op,int N,int  M)
 		      }*/
           
         } 
-    else // int on edge ie 
+    else if(B)
+    {
+        R2 PA(B[0]),PB(B[0]);
+        R2 A=T(PA),B=T(PB);
+        R2 E(A,B);
+        double le = sqrt((E,E));
+         if(le > 1e-15)
+        for (npi=0;npi<FIb.n;npi++) // loop on the integration point
+        {
+            
+            pa =a;
+            QuadratureFormular1dPoint pi( FIb[npi]);
+           
+            double coef = le*pi.a;
+            double sa=pi.x,sb=1-sa;
+            R2 Pt(PA*sa+PB*sb ); //
+            Ku.BF(Dop,Pt,fu);
+            // int label=-999999; // a passer en argument
+            MeshPointStack(stack)->set(T(Pt),Pt,Ku,0,R2(E.y,-E.x)/le,0);
+            if (classoptm) (*Op.optiexpK)(stack); // call optim version
+            
+            int il=0;
+            for (BilinearOperator::const_iterator l=Op.v.begin();l!=Op.v.end();l++,il++)
+	    {  // attention la fonction test donne la ligne
+                //  et la fonction test est en second
+                BilinearOperator::K ll(*l);
+                //	      pair<int,int> jj(ll.first.first),ii(ll.first.second);
+                long jcomp= ll.first.first.first,jop=ll.first.first.second;
+                long icomp= ll.first.second.first,iop=ll.first.second.second;
+                
+                R c = copt ? *(copt[il]): GetAny<R>(ll.second.eval(stack));
+                if ( copt && Ku.number <1)
+		{
+                    R cc  =  GetAny<R>(ll.second.eval(stack));
+                    // cout << *(copt[il]) << " == " <<  cc << endl;
+                    if ( c != cc) {
+                        cerr << c << " != " << cc << " => ";
+                        cerr << "Sorry error in Optimization (c) add:  int2d(Th,optimize=0)(...)" << endl;
+                        ExecError("In Optimized version "); }
+		}
+                c *= coef ;
+                long fi=Ku.dfcbegin(icomp);
+                long li=Ku.dfcend(icomp);
+                long fj=Ku.dfcbegin(jcomp);
+                long lj=Ku.dfcend(jcomp);
+                
+                for ( i=fi;  i<li;   i++ )
+                    for ( j=fj;  j<min(lj,i+1);  j++,pa++ ) //
+                    {
+                        R w_i =  fu(i,icomp,iop);
+                        R w_j =  fu(j,jcomp,jop);		      
+                        
+                        mat(i,j)  +=  c * w_i*w_j;
+                        /*
+                         if (Ku.Vh.Th(T) < 1 && npi < 1 && i < 1 && j < 1 ) 
+                         cout <<" + " << c << " (" <<coef << " " << w_i << " " << w_j << " " << jj.first << " " << jj.second << ") " ;
+                         */
+                    }
+                
+            }
+        }
+    }
+    else    // int on edge ie
       for (npi=0;npi<FIb.n;npi++) // loop on the integration point
         {
           
diff --git a/src/fflib/problem.hpp b/src/fflib/problem.hpp
index fdb47f0..33b9774 100644
--- a/src/fflib/problem.hpp
+++ b/src/fflib/problem.hpp
@@ -996,8 +996,8 @@ namespace Fem2D {
   
   template<class R>   void  Element_rhs(const FElement3 & Kv,int ie,int label,const LOperaD &Op,double * p,void * stack,KN_<R> & B,bool all);
   template<class R>   void  Element_rhs(const FElement3 & Kv,const LOperaD &Op,double * p,void * stack,KN_<R> & B);
-  template<class R>   void  Element_Op(MatriceElementairePleine<R,FESpace3> & mat,const FElement3 & Ku,const FElement3 & Kv,double * p,int ie,int label, void *stack);
-  template<class R>   void  Element_Op(MatriceElementaireSymetrique<R,FESpace3> & mat,const FElement3 & Ku,double * p,int ie,int label, void * stack);
+  template<class R>   void  Element_Op(MatriceElementairePleine<R,FESpace3> & mat,const FElement3 & Ku,const FElement3 & Kv,double * p,int ie,int label, void *stack,R3 *B);
+  template<class R>   void  Element_Op(MatriceElementaireSymetrique<R,FESpace3> & mat,const FElement3 & Ku,double * p,int ie,int label, void * stack,R3 *B);
   
   template<class R,class FESpace>
   void AssembleBC(Stack stack,const typename FESpace::Mesh & Th,const FESpace & Uh,const FESpace & Vh,bool sym,
@@ -1007,8 +1007,8 @@ namespace Fem2D {
   
   template<class R>   void  Element_rhs(const FElement & Kv,int ie,int label,const LOperaD &Op,double * p,void * stack,KN_<R> & B,bool all);
   template<class R>   void  Element_rhs(const FElement & Kv,const LOperaD &Op,double * p,void * stack,KN_<R> & B);
-  template<class R>   void  Element_Op(MatriceElementairePleine<R,FESpace> & mat,const FElement & Ku,const FElement & Kv,double * p,int ie,int label, void *stack);
-  template<class R>   void  Element_Op(MatriceElementaireSymetrique<R,FESpace> & mat,const FElement & Ku,double * p,int ie,int label, void * stack);
+  template<class R>   void  Element_Op(MatriceElementairePleine<R,FESpace> & mat,const FElement & Ku,const FElement & Kv,double * p,int ie,int label, void *stack,R2 *B);
+  template<class R>   void  Element_Op(MatriceElementaireSymetrique<R,FESpace> & mat,const FElement & Ku,double * p,int ie,int label, void * stack,R2 *B);
   
 /*template<class R>   void AssembleBilinearForm(Stack stack,const Mesh & Th,const FESpace & Uh,const FESpace & Vh,bool sym,
                             MatriceCreuse<R>  & A, const  FormBilinear * b  );
diff --git a/src/fflib/strversionnumber.cpp b/src/fflib/strversionnumber.cpp
index 592c068..73dcc86 100644
--- a/src/fflib/strversionnumber.cpp
+++ b/src/fflib/strversionnumber.cpp
@@ -18,6 +18,6 @@ string StrVersionNumber(){
 //  buffer.precision(8);
 //  buffer<<VersionNumber();
   static char buffer[100];
-  sprintf(buffer," %9f (date Jeu 28 nov 2013 11:11:34 CET)",VersionNumber());
-  return buffer; //.str()+" (date Jeu 28 nov 2013 11:11:34 CET)" ;
+  sprintf(buffer," %9f (date Dim  2 fév 2014 20:26:12 CET)",VersionNumber());
+  return buffer; //.str()+" (date Dim  2 fév 2014 20:26:12 CET)" ;
 }

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



More information about the debian-science-commits mailing list