summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsimon2008-08-07 15:00:45 +0000
committersimon2008-08-07 15:00:45 +0000
commit9633cfcb36ba18c46282c8e8a7e5dd7352212c40 (patch)
treee766cc4a2d03d979eeba92c0053afa60aa925943 /src
parentc80b732994ec39abd96da72e03fb95dfb6997422 (diff)
downloadscilab2c-9633cfcb36ba18c46282c8e8a7e5dd7352212c40.tar.gz
scilab2c-9633cfcb36ba18c46282c8e8a7e5dd7352212c40.tar.bz2
scilab2c-9633cfcb36ba18c46282c8e8a7e5dd7352212c40.zip
added matrixExponential and all related sub functions
matrixExponential just work with real Double for the moment
Diffstat (limited to 'src')
-rw-r--r--src/auxiliaryFunctions/Makefile.am3
-rw-r--r--src/auxiliaryFunctions/Makefile.in3
-rw-r--r--src/auxiliaryFunctions/frexp/Makefile.am43
-rw-r--r--src/auxiliaryFunctions/frexp/Makefile.in613
-rw-r--r--src/auxiliaryFunctions/frexp/dfrexps.c22
-rw-r--r--src/auxiliaryFunctions/frexp/sfrexps.c22
-rw-r--r--src/auxiliaryFunctions/includes/frexp.h24
-rwxr-xr-xsrc/configure6
-rw-r--r--src/configure.ac4
-rw-r--r--src/includes/blas.h16
-rw-r--r--src/includes/lapack.h45
-rw-r--r--src/matrixOperations/Makefile.am5
-rw-r--r--src/matrixOperations/Makefile.in5
-rw-r--r--src/matrixOperations/division/Makefile.am2
-rw-r--r--src/matrixOperations/division/Makefile.in2
-rw-r--r--src/matrixOperations/division/cldiva.c2
-rw-r--r--src/matrixOperations/division/crdiva.c2
-rw-r--r--src/matrixOperations/division/dldiva.c6
-rw-r--r--src/matrixOperations/division/drdiva.c21
-rw-r--r--src/matrixOperations/division/sldiva.c2
-rw-r--r--src/matrixOperations/division/srdiva.c2
-rw-r--r--src/matrixOperations/division/testMatrixLDivision.c61
-rw-r--r--src/matrixOperations/division/testMatrixRDivision.c33
-rw-r--r--src/matrixOperations/division/zldiva.c7
-rw-r--r--src/matrixOperations/division/zrdiva.c10
-rw-r--r--src/matrixOperations/expm/Makefile.am75
-rw-r--r--src/matrixOperations/expm/Makefile.in670
-rw-r--r--src/matrixOperations/expm/cexpma.c172
-rw-r--r--src/matrixOperations/expm/dexpma.c163
-rw-r--r--src/matrixOperations/expm/sexpma.c163
-rw-r--r--src/matrixOperations/expm/testMatrixExponential.c510
-rw-r--r--src/matrixOperations/expm/zexpma.c172
-rw-r--r--src/matrixOperations/eyes/Makefile.am48
-rw-r--r--src/matrixOperations/eyes/Makefile.in636
-rw-r--r--src/matrixOperations/eyes/ceyesa.c24
-rw-r--r--src/matrixOperations/eyes/deyesa.c23
-rw-r--r--src/matrixOperations/eyes/seyesa.c23
-rw-r--r--src/matrixOperations/eyes/zeyesa.c27
-rw-r--r--src/matrixOperations/includes/hilbert.h3
-rw-r--r--src/matrixOperations/includes/infiniteNorm.h32
-rw-r--r--src/matrixOperations/includes/matrixDivision.h6
-rw-r--r--src/matrixOperations/includes/matrixExponential.h43
-rw-r--r--src/matrixOperations/includes/matrixEyes.h30
-rw-r--r--src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-cinfnorma.Plo83
-rw-r--r--src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-dinfnorma.Plo83
-rw-r--r--src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-sinfnorma.Plo83
-rw-r--r--src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-zinfnorma.Plo83
-rw-r--r--src/matrixOperations/infiniteNorm/.deps/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po1
-rw-r--r--src/matrixOperations/infiniteNorm/Makefile.am48
-rw-r--r--src/matrixOperations/infiniteNorm/Makefile.in644
-rw-r--r--src/matrixOperations/infiniteNorm/cinfnorma.c34
-rw-r--r--src/matrixOperations/infiniteNorm/dinfnorma.c35
-rw-r--r--src/matrixOperations/infiniteNorm/sinfnorma.c37
-rw-r--r--src/matrixOperations/infiniteNorm/zinfnorma.c34
-rw-r--r--src/matrixOperations/multiplication/zmulma.c3
55 files changed, 4875 insertions, 74 deletions
diff --git a/src/auxiliaryFunctions/Makefile.am b/src/auxiliaryFunctions/Makefile.am
index 83dca350..fc63071e 100644
--- a/src/auxiliaryFunctions/Makefile.am
+++ b/src/auxiliaryFunctions/Makefile.am
@@ -19,4 +19,5 @@ SUBDIRS= abs \
pythag \
size \
type \
- length
+ length \
+ frexp
diff --git a/src/auxiliaryFunctions/Makefile.in b/src/auxiliaryFunctions/Makefile.in
index dad11f97..402b9843 100644
--- a/src/auxiliaryFunctions/Makefile.in
+++ b/src/auxiliaryFunctions/Makefile.in
@@ -174,7 +174,8 @@ SUBDIRS = abs \
pythag \
size \
type \
- length
+ length \
+ frexp
all: all-recursive
diff --git a/src/auxiliaryFunctions/frexp/Makefile.am b/src/auxiliaryFunctions/frexp/Makefile.am
new file mode 100644
index 00000000..8fff3402
--- /dev/null
+++ b/src/auxiliaryFunctions/frexp/Makefile.am
@@ -0,0 +1,43 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2008-2008 - INRIA - Allan SIMON
+##
+## This file must be used under the terms of the CeCILL.
+## This source file is licensed as described in the file COPYING, which
+## you should have received as part of this distribution. The terms
+## are also available at
+## http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+##
+##
+
+libFrexp_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libFrexp.la
+
+HEAD = ../includes/frexp.h
+
+libFrexp_la_SOURCES = $(HEAD) \
+ sfrexps.c \
+ dfrexps.c
+
+check_PROGRAMS = testFrexp
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libFrexp.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes
+
+
+
+testFrexp_SOURCES = testFrexp.c
+testFrexp_LDADD = $(check_LDADD)
+testFrexp_CFLAGS = $(check_INCLUDES)
+
+TESTS = testFrexp
diff --git a/src/auxiliaryFunctions/frexp/Makefile.in b/src/auxiliaryFunctions/frexp/Makefile.in
new file mode 100644
index 00000000..8b07517c
--- /dev/null
+++ b/src/auxiliaryFunctions/frexp/Makefile.in
@@ -0,0 +1,613 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testFrexp$(EXEEXT)
+TESTS = testFrexp$(EXEEXT)
+subdir = auxiliaryFunctions/frexp
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+pkglibLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libFrexp_la_LIBADD =
+am__objects_1 =
+am_libFrexp_la_OBJECTS = $(am__objects_1) libFrexp_la-sfrexps.lo \
+ libFrexp_la-dfrexps.lo
+libFrexp_la_OBJECTS = $(am_libFrexp_la_OBJECTS)
+libFrexp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libFrexp_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFrexp_OBJECTS = testFrexp-testFrexp.$(OBJEXT)
+testFrexp_OBJECTS = $(am_testFrexp_OBJECTS)
+testFrexp_DEPENDENCIES = $(check_LDADD)
+testFrexp_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFrexp_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libFrexp_la_SOURCES) $(testFrexp_SOURCES)
+DIST_SOURCES = $(libFrexp_la_SOURCES) $(testFrexp_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libFrexp_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libFrexp.la
+HEAD = ../includes/frexp.h
+libFrexp_la_SOURCES = $(HEAD) \
+ sfrexps.c \
+ dfrexps.c
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libFrexp.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes
+
+testFrexp_SOURCES = testFrexp.c
+testFrexp_LDADD = $(check_LDADD)
+testFrexp_CFLAGS = $(check_INCLUDES)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign auxiliaryFunctions/frexp/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign auxiliaryFunctions/frexp/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libFrexp.la: $(libFrexp_la_OBJECTS) $(libFrexp_la_DEPENDENCIES)
+ $(libFrexp_la_LINK) -rpath $(pkglibdir) $(libFrexp_la_OBJECTS) $(libFrexp_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+testFrexp$(EXEEXT): $(testFrexp_OBJECTS) $(testFrexp_DEPENDENCIES)
+ @rm -f testFrexp$(EXEEXT)
+ $(testFrexp_LINK) $(testFrexp_OBJECTS) $(testFrexp_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libFrexp_la-dfrexps.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libFrexp_la-sfrexps.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFrexp-testFrexp.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libFrexp_la-sfrexps.lo: sfrexps.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libFrexp_la_CFLAGS) $(CFLAGS) -MT libFrexp_la-sfrexps.lo -MD -MP -MF $(DEPDIR)/libFrexp_la-sfrexps.Tpo -c -o libFrexp_la-sfrexps.lo `test -f 'sfrexps.c' || echo '$(srcdir)/'`sfrexps.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libFrexp_la-sfrexps.Tpo $(DEPDIR)/libFrexp_la-sfrexps.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sfrexps.c' object='libFrexp_la-sfrexps.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libFrexp_la_CFLAGS) $(CFLAGS) -c -o libFrexp_la-sfrexps.lo `test -f 'sfrexps.c' || echo '$(srcdir)/'`sfrexps.c
+
+libFrexp_la-dfrexps.lo: dfrexps.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libFrexp_la_CFLAGS) $(CFLAGS) -MT libFrexp_la-dfrexps.lo -MD -MP -MF $(DEPDIR)/libFrexp_la-dfrexps.Tpo -c -o libFrexp_la-dfrexps.lo `test -f 'dfrexps.c' || echo '$(srcdir)/'`dfrexps.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libFrexp_la-dfrexps.Tpo $(DEPDIR)/libFrexp_la-dfrexps.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dfrexps.c' object='libFrexp_la-dfrexps.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libFrexp_la_CFLAGS) $(CFLAGS) -c -o libFrexp_la-dfrexps.lo `test -f 'dfrexps.c' || echo '$(srcdir)/'`dfrexps.c
+
+testFrexp-testFrexp.o: testFrexp.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFrexp_CFLAGS) $(CFLAGS) -MT testFrexp-testFrexp.o -MD -MP -MF $(DEPDIR)/testFrexp-testFrexp.Tpo -c -o testFrexp-testFrexp.o `test -f 'testFrexp.c' || echo '$(srcdir)/'`testFrexp.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFrexp-testFrexp.Tpo $(DEPDIR)/testFrexp-testFrexp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFrexp.c' object='testFrexp-testFrexp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFrexp_CFLAGS) $(CFLAGS) -c -o testFrexp-testFrexp.o `test -f 'testFrexp.c' || echo '$(srcdir)/'`testFrexp.c
+
+testFrexp-testFrexp.obj: testFrexp.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFrexp_CFLAGS) $(CFLAGS) -MT testFrexp-testFrexp.obj -MD -MP -MF $(DEPDIR)/testFrexp-testFrexp.Tpo -c -o testFrexp-testFrexp.obj `if test -f 'testFrexp.c'; then $(CYGPATH_W) 'testFrexp.c'; else $(CYGPATH_W) '$(srcdir)/testFrexp.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFrexp-testFrexp.Tpo $(DEPDIR)/testFrexp-testFrexp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFrexp.c' object='testFrexp-testFrexp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFrexp_CFLAGS) $(CFLAGS) -c -o testFrexp-testFrexp.obj `if test -f 'testFrexp.c'; then $(CYGPATH_W) 'testFrexp.c'; else $(CYGPATH_W) '$(srcdir)/testFrexp.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/auxiliaryFunctions/frexp/dfrexps.c b/src/auxiliaryFunctions/frexp/dfrexps.c
new file mode 100644
index 00000000..fb4b31eb
--- /dev/null
+++ b/src/auxiliaryFunctions/frexp/dfrexps.c
@@ -0,0 +1,22 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "frexp.h"
+
+double dfrexps(double _dblVal, double *_pdblExp)
+{
+ int iExp = 0;
+ double dblCoef = 0;
+ dblCoef = frexp(_dblVal, &iExp);
+ *_pdblExp = iExp;
+ return dblCoef;
+}
diff --git a/src/auxiliaryFunctions/frexp/sfrexps.c b/src/auxiliaryFunctions/frexp/sfrexps.c
new file mode 100644
index 00000000..95571187
--- /dev/null
+++ b/src/auxiliaryFunctions/frexp/sfrexps.c
@@ -0,0 +1,22 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "frexp.h"
+
+float sfrexps(float _fltVal, float *_pfltExp)
+{
+ int iExp = 0;
+ float fltCoef = 0;
+ fltCoef = (float) frexp (_fltVal, &iExp);
+ *_pfltExp = (float) iExp;
+ return fltCoef;
+}
diff --git a/src/auxiliaryFunctions/includes/frexp.h b/src/auxiliaryFunctions/includes/frexp.h
new file mode 100644
index 00000000..1c3e6410
--- /dev/null
+++ b/src/auxiliaryFunctions/includes/frexp.h
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __FREXP_H__
+#define __FREXP_H__
+
+#include <math.h>
+
+float sfrexps(float _fltVal, float *_pfltExp);
+
+double dfrexps(double _dblVal, double *_pdblExp);
+
+
+
+#endif /* !__FREXP_H__ */
diff --git a/src/configure b/src/configure
index 4cd9a6a8..bbd849cc 100755
--- a/src/configure
+++ b/src/configure
@@ -22153,7 +22153,7 @@ fi
###### Creation of the header file (machine.h)
#######################
-ac_config_files="$ac_config_files Makefile lib/blas/Makefile lib/lapack/Makefile type/Makefile matrixOperations/Makefile matrixOperations/addition/Makefile matrixOperations/subtraction/Makefile matrixOperations/multiplication/Makefile matrixOperations/division/Makefile matrixOperations/cat/Makefile matrixOperations/transpose/Makefile matrixOperations/trace/Makefile matrixOperations/hilbert/Makefile implicitList/Makefile elementaryFunctions/Makefile elementaryFunctions/cos/Makefile elementaryFunctions/cosh/Makefile elementaryFunctions/conj/Makefile elementaryFunctions/acos/Makefile elementaryFunctions/acosh/Makefile elementaryFunctions/sin/Makefile elementaryFunctions/sinh/Makefile elementaryFunctions/asin/Makefile elementaryFunctions/asinh/Makefile elementaryFunctions/tan/Makefile elementaryFunctions/tanh/Makefile elementaryFunctions/atan/Makefile elementaryFunctions/atan2/Makefile elementaryFunctions/atanh/Makefile elementaryFunctions/log/Makefile elementaryFunctions/log1p/Makefile elementaryFunctions/log10/Makefile elementaryFunctions/exp/Makefile elementaryFunctions/exp10/Makefile elementaryFunctions/sqrt/Makefile elementaryFunctions/lnp1m1/Makefile elementaryFunctions/pow/Makefile auxiliaryFunctions/Makefile auxiliaryFunctions/abs/Makefile auxiliaryFunctions/find/Makefile auxiliaryFunctions/isempty/Makefile auxiliaryFunctions/isnan/Makefile auxiliaryFunctions/rand/Makefile auxiliaryFunctions/sign/Makefile auxiliaryFunctions/size/Makefile auxiliaryFunctions/length/Makefile auxiliaryFunctions/type/Makefile auxiliaryFunctions/pythag/Makefile statisticsFunctions/Makefile statisticsFunctions/mean/Makefile statisticsFunctions/sum/Makefile statisticsFunctions/variance/Makefile string/Makefile string/disp/Makefile string/string/Makefile"
+ac_config_files="$ac_config_files Makefile lib/blas/Makefile lib/lapack/Makefile type/Makefile matrixOperations/Makefile matrixOperations/addition/Makefile matrixOperations/subtraction/Makefile matrixOperations/multiplication/Makefile matrixOperations/division/Makefile matrixOperations/cat/Makefile matrixOperations/transpose/Makefile matrixOperations/trace/Makefile matrixOperations/hilbert/Makefile matrixOperations/expm/Makefile matrixOperations/eyes/Makefile matrixOperations/infiniteNorm/Makefile implicitList/Makefile elementaryFunctions/Makefile elementaryFunctions/cos/Makefile elementaryFunctions/cosh/Makefile elementaryFunctions/conj/Makefile elementaryFunctions/acos/Makefile elementaryFunctions/acosh/Makefile elementaryFunctions/sin/Makefile elementaryFunctions/sinh/Makefile elementaryFunctions/asin/Makefile elementaryFunctions/asinh/Makefile elementaryFunctions/tan/Makefile elementaryFunctions/tanh/Makefile elementaryFunctions/atan/Makefile elementaryFunctions/atan2/Makefile elementaryFunctions/atanh/Makefile elementaryFunctions/log/Makefile elementaryFunctions/log1p/Makefile elementaryFunctions/log10/Makefile elementaryFunctions/exp/Makefile elementaryFunctions/exp10/Makefile elementaryFunctions/sqrt/Makefile elementaryFunctions/lnp1m1/Makefile elementaryFunctions/pow/Makefile auxiliaryFunctions/Makefile auxiliaryFunctions/abs/Makefile auxiliaryFunctions/find/Makefile auxiliaryFunctions/frexp/Makefile auxiliaryFunctions/isempty/Makefile auxiliaryFunctions/isnan/Makefile auxiliaryFunctions/rand/Makefile auxiliaryFunctions/sign/Makefile auxiliaryFunctions/size/Makefile auxiliaryFunctions/length/Makefile auxiliaryFunctions/type/Makefile auxiliaryFunctions/pythag/Makefile statisticsFunctions/Makefile statisticsFunctions/mean/Makefile statisticsFunctions/sum/Makefile statisticsFunctions/variance/Makefile string/Makefile string/disp/Makefile string/string/Makefile"
@@ -22777,6 +22777,9 @@ do
"matrixOperations/transpose/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/transpose/Makefile" ;;
"matrixOperations/trace/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/trace/Makefile" ;;
"matrixOperations/hilbert/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/hilbert/Makefile" ;;
+ "matrixOperations/expm/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/expm/Makefile" ;;
+ "matrixOperations/eyes/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/eyes/Makefile" ;;
+ "matrixOperations/infiniteNorm/Makefile") CONFIG_FILES="$CONFIG_FILES matrixOperations/infiniteNorm/Makefile" ;;
"implicitList/Makefile") CONFIG_FILES="$CONFIG_FILES implicitList/Makefile" ;;
"elementaryFunctions/Makefile") CONFIG_FILES="$CONFIG_FILES elementaryFunctions/Makefile" ;;
"elementaryFunctions/cos/Makefile") CONFIG_FILES="$CONFIG_FILES elementaryFunctions/cos/Makefile" ;;
@@ -22804,6 +22807,7 @@ do
"auxiliaryFunctions/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/Makefile" ;;
"auxiliaryFunctions/abs/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/abs/Makefile" ;;
"auxiliaryFunctions/find/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/find/Makefile" ;;
+ "auxiliaryFunctions/frexp/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/frexp/Makefile" ;;
"auxiliaryFunctions/isempty/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/isempty/Makefile" ;;
"auxiliaryFunctions/isnan/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/isnan/Makefile" ;;
"auxiliaryFunctions/rand/Makefile") CONFIG_FILES="$CONFIG_FILES auxiliaryFunctions/rand/Makefile" ;;
diff --git a/src/configure.ac b/src/configure.ac
index 13f5a8be..876f3ffd 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -173,6 +173,9 @@ matrixOperations/cat/Makefile
matrixOperations/transpose/Makefile
matrixOperations/trace/Makefile
matrixOperations/hilbert/Makefile
+matrixOperations/expm/Makefile
+matrixOperations/eyes/Makefile
+matrixOperations/infiniteNorm/Makefile
implicitList/Makefile
elementaryFunctions/Makefile
elementaryFunctions/cos/Makefile
@@ -200,6 +203,7 @@ elementaryFunctions/pow/Makefile
auxiliaryFunctions/Makefile
auxiliaryFunctions/abs/Makefile
auxiliaryFunctions/find/Makefile
+auxiliaryFunctions/frexp/Makefile
auxiliaryFunctions/isempty/Makefile
auxiliaryFunctions/isnan/Makefile
auxiliaryFunctions/rand/Makefile
diff --git a/src/includes/blas.h b/src/includes/blas.h
index fc12ac17..86ab62f6 100644
--- a/src/includes/blas.h
+++ b/src/includes/blas.h
@@ -13,6 +13,11 @@
#ifndef __BLAS_H__
#define __BLAS_H__
+
+#ifndef _MACRO_C2F_
+#define _MACRO_C2F_
+#define C2F(name) name##_
+#endif
/*
SUBROUTINE DGEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB,
$ BETA, C, LDC )
@@ -139,10 +144,17 @@ C (NaN*0 should be NaN, not 0)
*
* Level 3 Blas routine.
*/
-
+/*
void dgemm_(char *TRANSA, char* TRANSB, int *M, int *N, int *K,
double *ALPHA, double *A, int *LDA,
double *B, int *LDB, double *BETA,
- double *C, int *LDC);
+ double *C, int *LDC);*/
+
+extern int C2F(dgemm)();
+extern int C2F(idamax)() ;/* could be transcribe easaly in c */
+extern int C2F(daxpy) () ;/* could be transcribe easaly in c */
+extern int C2F(dscal) () ;/* could be transcribe easaly in c */
+extern int C2F(dasum) () ;/* could be transcribe easaly in c */
+
#endif /* !__BLAS_H__ */
diff --git a/src/includes/lapack.h b/src/includes/lapack.h
index 52faccf5..1bc658ee 100644
--- a/src/includes/lapack.h
+++ b/src/includes/lapack.h
@@ -13,7 +13,11 @@
#ifndef __LAPACK_H__
#define __LAPACK_H__
+#ifndef _MACRO_C2F_
+#define _MACRO_C2F_
#define C2F(name) name##_
+#endif
+
#define getRelativeMachinePrecision() dlamch_("e", 1L)
#define getOverflowThreshold() dlamch_("o", 1L)
@@ -89,23 +93,42 @@ extern double dlacpy_ (char* NORM, int* M, int* N, double* A, int* LDA,
/****** doubleComplex fortran function ************/
+extern double zgelsy_ () ;
+
+
+extern double zlamch_ ();
+
+extern double zlange_ ();
+
+extern double zgetrf_ ();
-extern int zlamch_ ();
+extern double zgecon_ ( ) ;
-extern int zlange_ ();
+extern double zgetrs_ ( ) ;
-extern int zgetrf_ ();
+extern double zlacpy_ ();
+/*extern int zgelsy_ ();*/
-extern int zgecon_ ( ) ;
+/*certainly have some blas functions in */
+extern int C2F(split)();
+extern int C2F(exch)();
-extern int zgetrs_ ( ) ;
+extern int C2F(balbak)();
+extern double C2F(ddot)();
+extern int C2F(pade)();
+extern int C2F(dcopy)();
+extern int C2F(dscal)();
-extern int zgelsy_ ();
-/*extern doubleComplex zgelsy_ (int* M, int* N, int* NRHS, doubleComplex* A, int* LDA,
- doubleComplex* B, int* LDB, int* JPVT, double* RCOND, int* RANK,
- doubleComplex* WORK, int* LWORK, double* RWORK, int* INFO) ;
-*/
+extern int C2F(dgeco)();
+extern int C2F(dgesl)();
+extern int C2F(coef)();
+extern int C2F(cerr)();
+extern int C2F(dclmat)();
+extern int C2F(dexpm1)();
+extern int C2F(wexpm1)();
+extern int C2F(drot)();
+extern int C2F(intexpm) ();
-extern int zlacpy_ ();
+extern int C2F(zcopy)();
#endif /* !__LAPACK_H__ */
diff --git a/src/matrixOperations/Makefile.am b/src/matrixOperations/Makefile.am
index b35bfb10..67b04d38 100644
--- a/src/matrixOperations/Makefile.am
+++ b/src/matrixOperations/Makefile.am
@@ -18,5 +18,8 @@ SUBDIRS= addition \
transpose \
division \
trace \
- hilbert
+ hilbert \
+ expm \
+ infiniteNorm \
+ eyes
diff --git a/src/matrixOperations/Makefile.in b/src/matrixOperations/Makefile.in
index e0b4956d..49ab0273 100644
--- a/src/matrixOperations/Makefile.in
+++ b/src/matrixOperations/Makefile.in
@@ -173,7 +173,10 @@ SUBDIRS = addition \
transpose \
division \
trace \
- hilbert
+ hilbert \
+ expm \
+ infiniteNorm \
+ eyes
all: all-recursive
diff --git a/src/matrixOperations/division/Makefile.am b/src/matrixOperations/division/Makefile.am
index a021eecb..22a49a1b 100644
--- a/src/matrixOperations/division/Makefile.am
+++ b/src/matrixOperations/division/Makefile.am
@@ -12,6 +12,7 @@
libMatrixDivision_la_CFLAGS = -I $(top_builddir)/type \
-I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
-I $(top_builddir)/elementaryFunctions/includes
instdir = $(top_builddir)/lib
@@ -43,6 +44,7 @@ check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
check_INCLUDES = -I $(top_builddir)/type \
-I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
-I $(top_builddir)/elementaryFunctions/includes
testMatrixLDivision_SOURCES = testMatrixLDivision.c
diff --git a/src/matrixOperations/division/Makefile.in b/src/matrixOperations/division/Makefile.in
index 7ae2546a..1910c826 100644
--- a/src/matrixOperations/division/Makefile.in
+++ b/src/matrixOperations/division/Makefile.in
@@ -212,6 +212,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
libMatrixDivision_la_CFLAGS = -I $(top_builddir)/type \
-I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
-I $(top_builddir)/elementaryFunctions/includes
instdir = $(top_builddir)/lib
@@ -237,6 +238,7 @@ check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
check_INCLUDES = -I $(top_builddir)/type \
-I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
-I $(top_builddir)/elementaryFunctions/includes
testMatrixLDivision_SOURCES = testMatrixLDivision.c
diff --git a/src/matrixOperations/division/cldiva.c b/src/matrixOperations/division/cldiva.c
index 170380ca..26b2d188 100644
--- a/src/matrixOperations/division/cldiva.c
+++ b/src/matrixOperations/division/cldiva.c
@@ -54,7 +54,7 @@ void cldiva ( floatComplex* in1, int lines1, int columns1 ,
zldiva( dblin1 , lines1 , columns1 , dblin2 , lines2 , columns2 , dblout );
- for ( i = 0 ; i < Min(lines2,columns2) * lines1 ; i++ )
+ for ( i = 0 ; i < min(lines2,columns2) * lines1 ; i++ )
{
out[i] = FloatComplex ((float) zreals ( dblout[i]) , (float) zimags ( dblout[i])) ;
diff --git a/src/matrixOperations/division/crdiva.c b/src/matrixOperations/division/crdiva.c
index 70699ebf..57bc5630 100644
--- a/src/matrixOperations/division/crdiva.c
+++ b/src/matrixOperations/division/crdiva.c
@@ -53,7 +53,7 @@ void crdiva ( floatComplex* in1, int lines1, int columns1 ,
zrdiva( dblin1 , lines1 , columns1 , dblin2 , lines2 , columns2 , dblout );
- for ( i = 0 ; i < Min(lines2,columns2) * lines1 ; i++ )
+ for ( i = 0 ; i < min(lines2,columns2) * lines1 ; i++ )
{
out[i] = FloatComplex ((float) zreals ( dblout[i]) , (float) zimags ( dblout[i])) ;
diff --git a/src/matrixOperations/division/dldiva.c b/src/matrixOperations/division/dldiva.c
index 88b52f64..86d155fc 100644
--- a/src/matrixOperations/division/dldiva.c
+++ b/src/matrixOperations/division/dldiva.c
@@ -44,14 +44,14 @@ void dldiva (double* in1, int lines1, int columns1 ,
int *pJpvt = NULL;
int *pIwork = NULL;
- iWork = Max(4 * columns1, Max(Min(lines1, columns1) + 3 * lines1 + 1, 2 * Min(lines1, columns1) + columns2));
+ iWork = max(4 * columns1, max(min(lines1, columns1) + 3 * lines1 + 1, 2 * min(lines1, columns1) + columns2));
/* Array allocations*/
pAf = (double*)malloc(sizeof(double) * (unsigned int) lines1 * (unsigned int) columns1);
- pXb = (double*)malloc(sizeof(double) * (unsigned int) Max(lines1,columns1) * (unsigned int) columns1);
+ pXb = (double*)malloc(sizeof(double) * (unsigned int) max(lines1,columns1) * (unsigned int) columns1);
pRank = (int*)malloc(sizeof(int));
pIpiv = (int*)malloc(sizeof(int) *(unsigned int) columns1);
@@ -91,7 +91,7 @@ void dldiva (double* in1, int lines1, int columns1 ,
{
dblRcond = sqrt(dblEps);
cNorm = 'F';
- iMax = Max(lines1, columns1);
+ iMax = max(lines1, columns1);
C2F(dlacpy)(&cNorm, &lines1, &columns2, in2, &lines2, pXb, &iMax);
memset(pJpvt, 0x00,(unsigned int) sizeof(int) * (unsigned int) columns1);
C2F(dgelsy)( &lines1, &columns1, &columns2, in1, &lines1, pXb, &iMax,
diff --git a/src/matrixOperations/division/drdiva.c b/src/matrixOperations/division/drdiva.c
index bf94533d..e062ad58 100644
--- a/src/matrixOperations/division/drdiva.c
+++ b/src/matrixOperations/division/drdiva.c
@@ -43,13 +43,13 @@ void drdiva ( double * in1, int lines1, int columns1,
int *pJpvt = NULL;
int *pIwork = NULL;
- iWork = Max(4 * columns2, Max(Min(lines2, columns2) + 3 * lines2 + 1, 2 * Min(lines2, columns2) + lines1));
+ iWork = max(4 * columns2, max(min(lines2, columns2) + 3 * lines2 + 1, 2 * min(lines2, columns2) + lines1));
/* Array allocations*/
pAf = (double*)malloc(sizeof(double) * (unsigned int)columns2 * (unsigned int)lines2);
pAt = (double*)malloc(sizeof(double) * (unsigned int)columns2 *(unsigned int) lines2);
- pBt = (double*)malloc(sizeof(double) * (unsigned int)Max(lines2,columns2) * (unsigned int)lines1);
+ pBt = (double*)malloc(sizeof(double) * (unsigned int)max(lines2,columns2) * (unsigned int)lines1);
pRank = (int*)malloc(sizeof(int));
pIpiv = (int*)malloc(sizeof(int) * (unsigned int)columns2);
@@ -91,7 +91,7 @@ void drdiva ( double * in1, int lines1, int columns1,
{
dblRcond = sqrt(dblEps);
cNorm = 'F';
- iMax = Max(lines2, columns2);
+ iMax = max(lines2, columns2);
memset(pJpvt, 0x00, (unsigned int)sizeof(int) * (unsigned int)lines2);
dgelsy_(&columns2, &lines2, &lines1, pAt, &columns2, pBt, &iMax,
pJpvt, &dblRcond, &pRank[0], pDwork, &iWork, &iInfo);
@@ -111,7 +111,7 @@ void drdiva ( double * in1, int lines1, int columns1,
for(i = 0 ; i < lines1 ; i++)
{
ij = i + j * lines1;
- ji = j + i * Max(lines2, columns2);
+ ji = j + i * max(lines2, columns2);
out[ij] = pBt[ji];
}
}
@@ -130,16 +130,3 @@ void drdiva ( double * in1, int lines1, int columns1,
}
-int Max(int _dblVar1, int _dblVar2)
-{
- if(_dblVar1 > _dblVar2)
- return _dblVar1;
- return _dblVar2;
-}
-
-int Min(int _dblVar1, int _dblVar2)
-{
- if(_dblVar1 < _dblVar2)
- return _dblVar1;
- return _dblVar2;
-}
diff --git a/src/matrixOperations/division/sldiva.c b/src/matrixOperations/division/sldiva.c
index b75eb44f..bba5c85e 100644
--- a/src/matrixOperations/division/sldiva.c
+++ b/src/matrixOperations/division/sldiva.c
@@ -52,7 +52,7 @@ void sldiva ( float* in1, int lines1, int columns1 ,
dldiva( dblin1 , lines1 , columns1 , dblin2 , lines2 , columns2 , dblout );
- for ( i = 0 ; i < Min(lines2,columns2) * lines1 ; i++ )
+ for ( i = 0 ; i < min(lines2,columns2) * lines1 ; i++ )
{
out[i] = (float) dblout[i] ;
diff --git a/src/matrixOperations/division/srdiva.c b/src/matrixOperations/division/srdiva.c
index 343ba9c9..3aaa67df 100644
--- a/src/matrixOperations/division/srdiva.c
+++ b/src/matrixOperations/division/srdiva.c
@@ -52,7 +52,7 @@ void srdiva ( float* in1, int lines1, int columns1 ,
drdiva( dblin1 , lines1 , columns1 , dblin2 , lines2 , columns2 , dblout );
- for ( i = 0 ; i < Min(lines2,columns2) * lines1 ; i++ )
+ for ( i = 0 ; i < min(lines2,columns2) * lines1 ; i++ )
{
out[i] = (float) dblout[i] ;
diff --git a/src/matrixOperations/division/testMatrixLDivision.c b/src/matrixOperations/division/testMatrixLDivision.c
index 193eada6..43e3d561 100644
--- a/src/matrixOperations/division/testMatrixLDivision.c
+++ b/src/matrixOperations/division/testMatrixLDivision.c
@@ -297,11 +297,14 @@ static void dldivaTest ( void )
static void cldivaTest (void )
{
int i = 0 ;
-
+
float tin1[] = { 10.0f , 9.0f , 2.0f ,4.0f};
float tin2[] = { 1.0f , 2.0f};
-
+
+ /* float tin1[] = { 4.0f , 3.0f , 8.0f , 9.0f } ;
+ float tin2[] = { 1.0f , 3.0f , 2.0f , 4.0f } ;
+ */
floatComplex* in1 ;
floatComplex* in2 ;
floatComplex* out ;
@@ -314,6 +317,12 @@ static void cldivaTest (void )
Result[0] = FloatComplex ( 0 , 0 );
Result[1] = FloatComplex ( 0.5f , 0 );
+ /*
+ Result[0] = FloatComplex ( -1.25f , 0 );
+ Result[1] = FloatComplex ( 0.75f , 0 );
+ Result[2] = FloatComplex ( -1.16666666f , 0 );
+ Result[3] = FloatComplex ( 0.833333333333f , 0 );*/
+
cldiva ( in1 , ZLINES , ZCOLUMNS1 , in2 ,ZLINES , ZCOLUMNS2 , out) ;
for ( i = 0 ; i < (ZCOLUMNS1*ZCOLUMNS2 ) ; i++ )
@@ -323,9 +332,17 @@ static void cldivaTest (void )
fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) ,
fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])));
- assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 1e-06 );
- assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-06 ) ;
- }
+ if ( creals(out[i]) < 1e-06 && creals (Result[i]) < 1e-08 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 1e-16 );
+
+
+ if ( cimags(out[i]) < 1e-06 && cimags (Result[i]) < 1e-08 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-16 ) ;
+}
}
@@ -343,6 +360,10 @@ static void zldivaTest (void )
double tin1[] = { 10 , 9 , 2 ,4};
double tin2[] = { 1 , 2};
+/*
+ double tin1[] = { 4 , 3 , 8 , 9 } ;
+ double tin2[] = { 1 , 3 , 2 , 4 } ;
+*/
doubleComplex* in1 ;
@@ -356,6 +377,11 @@ static void zldivaTest (void )
Result[0] = DoubleComplex ( 0 , 0 );
Result[1] = DoubleComplex ( 0.5 , 0 );
+ /*
+ Result[0] = DoubleComplex ( -1.25 , 0 );
+ Result[1] = DoubleComplex ( 0.75 , 0 );
+ Result[2] = DoubleComplex ( -1.16666666 , 0 );
+ Result[3] = DoubleComplex ( 0.833333333333 , 0 ); */
zldiva ( in1 , ZLINES , ZCOLUMNS1 , in2 ,ZLINES , ZCOLUMNS2 , out) ;
@@ -366,9 +392,20 @@ static void zldivaTest (void )
fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) ,
fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])));
- assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-17 );
- assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-17 ) ;
- }
+ /* if we don't add that test assert failed if result = 0 'cause then we have |(out - 0)|/|out| = 1*/
+
+ if ( zreals(out[i]) < 1e-16 && zreals (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-16 );
+
+
+ if ( zimags(out[i]) < 1e-16 && zimags (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-16 ) ;
+
+ }
}
@@ -386,14 +423,14 @@ static int testLDiva (void) {
printf("\n\n\n\t>>>> Double real Tests\n");
dldivaTest();
-
- printf("\n\t>>>> Float complex Tests\n");
- cldivaTest();
+
printf("\n\t>>>> Double complex Tests\n");
zldivaTest();
-
+ printf("\n\t>>>> Float complex Tests\n");
+ cldivaTest();
+
return 0;
}
diff --git a/src/matrixOperations/division/testMatrixRDivision.c b/src/matrixOperations/division/testMatrixRDivision.c
index c2296111..884bbc35 100644
--- a/src/matrixOperations/division/testMatrixRDivision.c
+++ b/src/matrixOperations/division/testMatrixRDivision.c
@@ -291,9 +291,18 @@ static void crdivaTest (void )
fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) ,
fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])));
- assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 1e-06 );
- assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-06 ) ;
- }
+ if ( creals(out[i]) < 1e-06 && creals (Result[i]) < 1e-08 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 1e-16 );
+
+
+ if ( cimags(out[i]) < 1e-06 && cimags (Result[i]) < 1e-08 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-16 ) ;
+
+ }
}
@@ -416,15 +425,25 @@ static void zrdivaTest ( void ){
zrdiva ( in1 , ZLINES1 , ZCOLUMNS , in2 ,ZLINES2 , ZCOLUMNS , out) ;
- for ( i = 0 ; i < (ZLINES2*ZCOLUMNS ) ; i++ )
+ for ( i = 0 ; i < (ZLINES2*ZCOLUMNS ) ; i++ )
{
printf ( "\t\t %d out : %e + %e * i result : %e + %e * i assert : %e + %e \n" ,
i ,zreals(out[i]) , zimags(out[i]) , zreals (Result[i]) , zimags (Result[i]),
fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) ,
fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])));
+
+ /* if we don't add that test assert failed if result = 0 'cause then we have |(out - 0)|/|out| = 1*/
+
+ if ( zreals(out[i]) < 1e-16 && zreals (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-16 );
+
- assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-17 );
- assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-17 ) ;
+ if ( zimags(out[i]) < 1e-16 && zimags (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-16 ) ;
}
}
@@ -441,7 +460,7 @@ static int testRDiva (void) {
printf("\n\n\n\n\t>>>> Double real Tests\n");
drdivaTest();
- printf("\n\t>>>> Double complex Tests\n");
+ printf("\n\t>>>> Float complex Tests\n");
crdivaTest();
printf("\n\t>>>> Double complex Tests\n");
diff --git a/src/matrixOperations/division/zldiva.c b/src/matrixOperations/division/zldiva.c
index cc4cd479..c2586a6d 100644
--- a/src/matrixOperations/division/zldiva.c
+++ b/src/matrixOperations/division/zldiva.c
@@ -1,3 +1,4 @@
+
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2008-2008 - INRIA - Allan SIMON
@@ -45,7 +46,7 @@ void zldiva( doubleComplex* in1, int lines1, int columns1 ,
int *pIpiv = NULL;
int *pJpvt = NULL;
- iWork = Max(2*columns2, Min(lines2, columns2) + Max(2 * Min(lines2, columns2), Max(lines2 + 1, Min(lines2, columns2) + lines1)));
+ iWork = max(2*columns2, min(lines2, columns2) + max(2 * min(lines2, columns2), max(lines2 + 1, min(lines2, columns2) + lines1)));
@@ -53,7 +54,7 @@ void zldiva( doubleComplex* in1, int lines1, int columns1 ,
pAf = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) lines1 *(unsigned int)columns1);
- pXb = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) Max(lines1,columns1) *(unsigned int) columns2);
+ pXb = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) max(lines1,columns1) *(unsigned int) columns2);
pIpiv = (int*)malloc(sizeof(int) * (unsigned int)columns1);
@@ -93,7 +94,7 @@ void zldiva( doubleComplex* in1, int lines1, int columns1 ,
{
dblRcond = sqrt(dblEps);
cNorm = 'F';
- iMax = Max(lines1, columns1);
+ iMax = max(lines1, columns1);
C2F(zlacpy)(&cNorm, &lines1, &columns2, in2, &lines1, pXb, &iMax);
memset(pJpvt, 0x00,(unsigned int) sizeof(int) * (unsigned int)columns1);
C2F(zgelsy)( &lines1, &columns1, &columns2, in1, &lines1, pXb, &iMax,
diff --git a/src/matrixOperations/division/zrdiva.c b/src/matrixOperations/division/zrdiva.c
index a456ce32..903873d4 100644
--- a/src/matrixOperations/division/zrdiva.c
+++ b/src/matrixOperations/division/zrdiva.c
@@ -46,7 +46,7 @@ void zrdiva( doubleComplex* in1, int lines1, int columns1 ,
int *pJpvt = NULL;
double *pRwork = NULL;
- iWork = Max(2*columns2, Min(lines2, columns2) + Max(2 * Min(lines2, columns2), Max(lines2 + 1, Min(lines2, columns2) + lines1)));
+ iWork = max(2*columns2, min(lines2, columns2) + max(2 * min(lines2, columns2), max(lines2 + 1, min(lines2, columns2) + lines1)));
@@ -55,7 +55,7 @@ void zrdiva( doubleComplex* in1, int lines1, int columns1 ,
poAf = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) lines2 *(unsigned int) columns2);
poAt = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int)lines2 *(unsigned int) columns2);
- poBt = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) Max(lines2, columns2) *(unsigned int) lines1);
+ poBt = (doubleComplex*)malloc(sizeof(doubleComplex) *(unsigned int) max(lines2, columns2) *(unsigned int) lines1);
pRank = (int*)malloc(sizeof(int));
pIpiv = (int*)malloc(sizeof(int) *(unsigned int) columns2);
@@ -79,7 +79,7 @@ void zrdiva( doubleComplex* in1, int lines1, int columns1 ,
{
for(i = 0 ; i < columns2 ; i++)
{
- ij = i + j * Max(lines2, columns2);
+ ij = i + j * max(lines2, columns2);
ji = j + i * lines1;
poBt[ij] = DoubleComplex (zreals ( in1[ji] ) , - zimags ( in1[ji] ) );
@@ -113,7 +113,7 @@ void zrdiva( doubleComplex* in1, int lines1, int columns1 ,
{
dblRcond = sqrt(dblEps);
cNorm = 'F';
- iMax = Max(lines2, columns2);
+ iMax = max(lines2, columns2);
memset(pJpvt, 0x00,(unsigned int) sizeof(int) *(unsigned int) lines2);
C2F(zgelsy)(&columns2, &lines2, &lines1, poAt, &columns2, poBt, &iMax,
@@ -133,7 +133,7 @@ void zrdiva( doubleComplex* in1, int lines1, int columns1 ,
for(i = 0 ; i < lines1 ; i++)
{
ij = i + j * lines1;
- ji = j + i * Max(lines2, columns2);
+ ji = j + i * max(lines2, columns2);
out[ij] = DoubleComplex ( zreals( poBt[ji]) , -zimags ( poBt[ji]));
printf ( "\n\t\t\t<debug>%e + %e\n " , zreals( poBt[ji]) , -zimags ( poBt[ji]));
}
diff --git a/src/matrixOperations/expm/Makefile.am b/src/matrixOperations/expm/Makefile.am
new file mode 100644
index 00000000..985c50d4
--- /dev/null
+++ b/src/matrixOperations/expm/Makefile.am
@@ -0,0 +1,75 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2008-2008 - INRIA - Allan SIMON
+##
+## This file must be used under the terms of the CeCILL.
+## This source file is licensed as described in the file COPYING, which
+## you should have received as part of this distribution. The terms
+## are also available at
+## http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+##
+##
+
+libMatrixExponential_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMatrixExponential.la
+
+HEAD = ../includes/matrixExponential.h
+
+libMatrixExponential_la_SOURCES = $(HEAD) \
+ dexpma.c \
+ zexpma.c \
+ sexpma.c \
+ cexpma.c
+
+
+check_PROGRAMS = testMatrixExponential
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ $(top_builddir)/matrixOperations/division/libMatrixDivision.la \
+ $(top_builddir)/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/auxiliaryFunctions/sign/libSign.la \
+ $(top_builddir)/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/auxiliaryFunctions/frexp/libFrexp.la \
+ $(top_builddir)/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/elementaryFunctions/lnp1m1/libLnp1m1.la\
+ $(top_builddir)/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/matrixOperations/cat/libMatrixConcatenation.la \
+ $(top_builddir)/matrixOperations/multiplication/libMatrixMultiplication.la \
+ $(top_builddir)/matrixOperations/addition/libMatrixAddition.la \
+ $(top_builddir)/matrixOperations/subtraction/libMatrixSubtraction.la \
+ $(top_builddir)/matrixOperations/infiniteNorm/libMatrixInfiniteNorm.la \
+ $(top_builddir)/matrixOperations/eyes/libMatrixEyes.la \
+ $(top_builddir)/elementaryFunctions/conj/libConj.la \
+ $(top_builddir)/lib/lapack/libscilapack.la \
+ $(top_builddir)/lib/blas/libsciblas.la \
+ $(top_builddir)/elementaryFunctions/conj/libConj.la \
+ libMatrixExponential.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixExponential_SOURCES = testMatrixExponential.c
+testMatrixExponential_LDADD = $(check_LDADD)
+testMatrixExponential_CFLAGS = $(check_INCLUDES)
+
+
+TESTS = testMatrixExponential
diff --git a/src/matrixOperations/expm/Makefile.in b/src/matrixOperations/expm/Makefile.in
new file mode 100644
index 00000000..08c1ba60
--- /dev/null
+++ b/src/matrixOperations/expm/Makefile.in
@@ -0,0 +1,670 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testMatrixExponential$(EXEEXT)
+TESTS = testMatrixExponential$(EXEEXT)
+subdir = matrixOperations/expm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+pkglibLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMatrixExponential_la_LIBADD =
+am__objects_1 =
+am_libMatrixExponential_la_OBJECTS = $(am__objects_1) \
+ libMatrixExponential_la-dexpma.lo \
+ libMatrixExponential_la-zexpma.lo \
+ libMatrixExponential_la-sexpma.lo \
+ libMatrixExponential_la-cexpma.lo
+libMatrixExponential_la_OBJECTS = \
+ $(am_libMatrixExponential_la_OBJECTS)
+libMatrixExponential_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libMatrixExponential_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_testMatrixExponential_OBJECTS = \
+ testMatrixExponential-testMatrixExponential.$(OBJEXT)
+testMatrixExponential_OBJECTS = $(am_testMatrixExponential_OBJECTS)
+testMatrixExponential_DEPENDENCIES = $(check_LDADD)
+testMatrixExponential_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testMatrixExponential_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libMatrixExponential_la_SOURCES) \
+ $(testMatrixExponential_SOURCES)
+DIST_SOURCES = $(libMatrixExponential_la_SOURCES) \
+ $(testMatrixExponential_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMatrixExponential_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMatrixExponential.la
+HEAD = ../includes/matrixExponential.h
+libMatrixExponential_la_SOURCES = $(HEAD) \
+ dexpma.c \
+ zexpma.c \
+ sexpma.c \
+ cexpma.c
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ $(top_builddir)/matrixOperations/division/libMatrixDivision.la \
+ $(top_builddir)/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/auxiliaryFunctions/sign/libSign.la \
+ $(top_builddir)/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/auxiliaryFunctions/frexp/libFrexp.la \
+ $(top_builddir)/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/elementaryFunctions/lnp1m1/libLnp1m1.la\
+ $(top_builddir)/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/matrixOperations/cat/libMatrixConcatenation.la \
+ $(top_builddir)/matrixOperations/multiplication/libMatrixMultiplication.la \
+ $(top_builddir)/matrixOperations/addition/libMatrixAddition.la \
+ $(top_builddir)/matrixOperations/subtraction/libMatrixSubtraction.la \
+ $(top_builddir)/matrixOperations/infiniteNorm/libMatrixInfiniteNorm.la \
+ $(top_builddir)/matrixOperations/eyes/libMatrixEyes.la \
+ $(top_builddir)/elementaryFunctions/conj/libConj.la \
+ $(top_builddir)/lib/lapack/libscilapack.la \
+ $(top_builddir)/lib/blas/libsciblas.la \
+ $(top_builddir)/elementaryFunctions/conj/libConj.la \
+ libMatrixExponential.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixExponential_SOURCES = testMatrixExponential.c
+testMatrixExponential_LDADD = $(check_LDADD)
+testMatrixExponential_CFLAGS = $(check_INCLUDES)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign matrixOperations/expm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign matrixOperations/expm/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libMatrixExponential.la: $(libMatrixExponential_la_OBJECTS) $(libMatrixExponential_la_DEPENDENCIES)
+ $(libMatrixExponential_la_LINK) -rpath $(pkglibdir) $(libMatrixExponential_la_OBJECTS) $(libMatrixExponential_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+testMatrixExponential$(EXEEXT): $(testMatrixExponential_OBJECTS) $(testMatrixExponential_DEPENDENCIES)
+ @rm -f testMatrixExponential$(EXEEXT)
+ $(testMatrixExponential_LINK) $(testMatrixExponential_OBJECTS) $(testMatrixExponential_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixExponential_la-cexpma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixExponential_la-dexpma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixExponential_la-sexpma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixExponential_la-zexpma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testMatrixExponential-testMatrixExponential.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libMatrixExponential_la-dexpma.lo: dexpma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -MT libMatrixExponential_la-dexpma.lo -MD -MP -MF $(DEPDIR)/libMatrixExponential_la-dexpma.Tpo -c -o libMatrixExponential_la-dexpma.lo `test -f 'dexpma.c' || echo '$(srcdir)/'`dexpma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixExponential_la-dexpma.Tpo $(DEPDIR)/libMatrixExponential_la-dexpma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dexpma.c' object='libMatrixExponential_la-dexpma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -c -o libMatrixExponential_la-dexpma.lo `test -f 'dexpma.c' || echo '$(srcdir)/'`dexpma.c
+
+libMatrixExponential_la-zexpma.lo: zexpma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -MT libMatrixExponential_la-zexpma.lo -MD -MP -MF $(DEPDIR)/libMatrixExponential_la-zexpma.Tpo -c -o libMatrixExponential_la-zexpma.lo `test -f 'zexpma.c' || echo '$(srcdir)/'`zexpma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixExponential_la-zexpma.Tpo $(DEPDIR)/libMatrixExponential_la-zexpma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zexpma.c' object='libMatrixExponential_la-zexpma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -c -o libMatrixExponential_la-zexpma.lo `test -f 'zexpma.c' || echo '$(srcdir)/'`zexpma.c
+
+libMatrixExponential_la-sexpma.lo: sexpma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -MT libMatrixExponential_la-sexpma.lo -MD -MP -MF $(DEPDIR)/libMatrixExponential_la-sexpma.Tpo -c -o libMatrixExponential_la-sexpma.lo `test -f 'sexpma.c' || echo '$(srcdir)/'`sexpma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixExponential_la-sexpma.Tpo $(DEPDIR)/libMatrixExponential_la-sexpma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sexpma.c' object='libMatrixExponential_la-sexpma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -c -o libMatrixExponential_la-sexpma.lo `test -f 'sexpma.c' || echo '$(srcdir)/'`sexpma.c
+
+libMatrixExponential_la-cexpma.lo: cexpma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -MT libMatrixExponential_la-cexpma.lo -MD -MP -MF $(DEPDIR)/libMatrixExponential_la-cexpma.Tpo -c -o libMatrixExponential_la-cexpma.lo `test -f 'cexpma.c' || echo '$(srcdir)/'`cexpma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixExponential_la-cexpma.Tpo $(DEPDIR)/libMatrixExponential_la-cexpma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cexpma.c' object='libMatrixExponential_la-cexpma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixExponential_la_CFLAGS) $(CFLAGS) -c -o libMatrixExponential_la-cexpma.lo `test -f 'cexpma.c' || echo '$(srcdir)/'`cexpma.c
+
+testMatrixExponential-testMatrixExponential.o: testMatrixExponential.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixExponential_CFLAGS) $(CFLAGS) -MT testMatrixExponential-testMatrixExponential.o -MD -MP -MF $(DEPDIR)/testMatrixExponential-testMatrixExponential.Tpo -c -o testMatrixExponential-testMatrixExponential.o `test -f 'testMatrixExponential.c' || echo '$(srcdir)/'`testMatrixExponential.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixExponential-testMatrixExponential.Tpo $(DEPDIR)/testMatrixExponential-testMatrixExponential.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixExponential.c' object='testMatrixExponential-testMatrixExponential.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixExponential_CFLAGS) $(CFLAGS) -c -o testMatrixExponential-testMatrixExponential.o `test -f 'testMatrixExponential.c' || echo '$(srcdir)/'`testMatrixExponential.c
+
+testMatrixExponential-testMatrixExponential.obj: testMatrixExponential.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixExponential_CFLAGS) $(CFLAGS) -MT testMatrixExponential-testMatrixExponential.obj -MD -MP -MF $(DEPDIR)/testMatrixExponential-testMatrixExponential.Tpo -c -o testMatrixExponential-testMatrixExponential.obj `if test -f 'testMatrixExponential.c'; then $(CYGPATH_W) 'testMatrixExponential.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixExponential.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixExponential-testMatrixExponential.Tpo $(DEPDIR)/testMatrixExponential-testMatrixExponential.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixExponential.c' object='testMatrixExponential-testMatrixExponential.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixExponential_CFLAGS) $(CFLAGS) -c -o testMatrixExponential-testMatrixExponential.obj `if test -f 'testMatrixExponential.c'; then $(CYGPATH_W) 'testMatrixExponential.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixExponential.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/matrixOperations/expm/cexpma.c b/src/matrixOperations/expm/cexpma.c
new file mode 100644
index 00000000..97d24b42
--- /dev/null
+++ b/src/matrixOperations/expm/cexpma.c
@@ -0,0 +1,172 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixExponential.h"
+
+void cexpma(floatComplex * in, floatComplex * out, int _iLeadDim)
+{
+ int iIndex1 = 0;
+ int iMax = 0;
+ int iFlag = 0;
+ int iLoop1 = 0;
+ int iSquare = 0;
+
+
+ float fltExp = 0;
+ float fltS = 0;
+ float fltS2 = 0;
+ float fltCst = 0.5f;
+
+ floatComplex cfltCst ;
+
+ floatComplex *pfltMatrixA = NULL;
+ floatComplex *pfltMatrixX = NULL;
+ floatComplex *pfltMatrixD = NULL;
+ floatComplex *pfltMatrixcX = NULL;
+ floatComplex *pfltMatrixcA = NULL;
+ floatComplex *pfltMatrixEye = NULL;
+ floatComplex *pfltMatrixTemp = NULL;
+ floatComplex *pfltMatrixTemp2 = NULL;
+
+
+
+
+ iSquare = _iLeadDim * _iLeadDim;
+
+ pfltMatrixA = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixX = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixD = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixcX = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixcA = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixEye = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixTemp = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+ pfltMatrixTemp2 = (floatComplex*)malloc(sizeof(floatComplex) * (unsigned int) iSquare);
+
+ cfltCst = FloatComplex ( 0.5f , 0 );
+
+ /*// Scale A by power of 2 so that its norm is < 1/2 .*/
+ sfrexps( cinfnorma( in, _iLeadDim, _iLeadDim) , &fltExp);
+ fltS = max(0, fltExp + 1);
+ fltS2 = spows(2.0f, fltS);
+
+ /*A = A./2^s */
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixA[iIndex1] = cdevides ( in[iIndex1] , FloatComplex ( fltS2 , 0 ));
+
+
+ /* Pade approximation for exp(A)
+ //X = A */
+ /*C2F(zcopy)(&iSquare, pfltMatrixA, &iOne, pfltMatrixX, &iOne );*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixX[iIndex1] = pfltMatrixA[iIndex1] ;
+
+
+ ceyesa(pfltMatrixEye, _iLeadDim, _iLeadDim);
+
+ cmulma ( & cfltCst , 1 ,1,
+ pfltMatrixA , _iLeadDim, _iLeadDim,
+ pfltMatrixcA);
+
+ /* cA = A * c */
+
+
+ /*E = Eye + cA*/
+
+ caddma (pfltMatrixEye , iSquare, pfltMatrixcA ,iSquare, out ) ;
+
+ /* D = Eye - cA */
+
+ cdiffma (pfltMatrixEye , iSquare, pfltMatrixcA ,iSquare,pfltMatrixD ) ;
+
+ iMax = 6;
+ iFlag = 1;
+
+ for(iLoop1 = 2 ; iLoop1 <= iMax ; iLoop1++)
+ {
+ fltCst *= (float) ((iMax - iLoop1 + 1 ) / (iLoop1 * (2 * iMax - iLoop1 + 1)));
+ cfltCst = FloatComplex( fltCst , 0);
+
+ /*Temp = X */
+ /*C2F(zcopy)(&iSquare, pfltMatrixX, &iOne, pfltMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixTemp[iIndex1] = pfltMatrixX[iIndex1] ;
+ /* X = A * Temp; */
+
+ cmulma ( pfltMatrixA , _iLeadDim , _iLeadDim,
+ pfltMatrixTemp , _iLeadDim , _iLeadDim,
+ pfltMatrixX );
+ /* cX = c * X */
+
+ cmulma ( & cfltCst , 1 ,1,
+ pfltMatrixX , _iLeadDim, _iLeadDim,
+ pfltMatrixcX);
+
+ /* E = E + cX */
+
+ caddma ( out, iSquare , pfltMatrixcX , iSquare , out ) ;
+
+ if(iFlag == 1) /* D = D + cX */
+ {
+ caddma ( pfltMatrixD, iSquare , pfltMatrixcX , iSquare , pfltMatrixD ) ;
+ }
+ else /* D = D - cX */
+ {
+ cdiffma ( pfltMatrixD, iSquare , pfltMatrixcX , iSquare , pfltMatrixD );
+ }
+
+ /* Toggle iFlag */
+ iFlag = !iFlag;
+ }
+
+ /* Temp = E */
+ /*C2F(zcopy)(&iSquare, out, &iOne, pfltMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixTemp[iIndex1] = out[iIndex1] ;
+
+ /* E = D\E */
+ cldiva ( pfltMatrixD , _iLeadDim , _iLeadDim , pfltMatrixTemp , _iLeadDim , _iLeadDim , out ) ;
+
+ /*/ Undo scaling by repeated squaring */
+ for(iLoop1 = 0 ; iLoop1 < fltS ; iLoop1++)
+ {
+ /*//Temp = E */
+ /*//Temp2 = E */
+
+ /*C2F(zcopy)(&iSquare, out, &iOne, pfltMatrixTemp, &iOne);
+ C2F(zcopy)(&iSquare, out, &iOne, pfltMatrixTemp2, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ {
+ pfltMatrixTemp [iIndex1] = out[iIndex1] ;
+ pfltMatrixTemp2[iIndex1] = out[iIndex1] ;
+ }
+
+ /* E = E*E*/
+ cmulma ( pfltMatrixTemp , _iLeadDim , _iLeadDim,
+ pfltMatrixTemp2 , _iLeadDim , _iLeadDim,
+ out );
+
+ }
+
+ free(pfltMatrixA);
+ free(pfltMatrixX);
+ free(pfltMatrixD);
+ free(pfltMatrixcX);
+ free(pfltMatrixcA);
+ free(pfltMatrixEye);
+ free(pfltMatrixTemp);
+ free(pfltMatrixTemp2);
+
+
+
+ return ;
+}
diff --git a/src/matrixOperations/expm/dexpma.c b/src/matrixOperations/expm/dexpma.c
new file mode 100644
index 00000000..9bfc4ea2
--- /dev/null
+++ b/src/matrixOperations/expm/dexpma.c
@@ -0,0 +1,163 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixExponential.h"
+
+void dexpma (double* in, double* out, int _iLeadDim){
+
+ int iIndex1 = 0;
+ int iMax = 0;
+ int iFlag = 0;
+ int iLoop1 = 0;
+ int iSquare = 0;
+
+
+ double dblExp = 0;
+ double dblS = 0;
+ double dblS2 = 0;
+ double dblCst = 0.5;
+
+ double *pdblMatrixA = NULL;/*A'*/
+ double *pdblMatrixX = NULL;/*X*/
+ double *pdblMatrixD = NULL;/*D*/
+ double *pdblMatrixcX = NULL;/*cX*/
+ double *pdblMatrixcA = NULL;/*cX*/
+ double *pdblMatrixEye = NULL;/*Eye*/
+ double *pdblMatrixTemp = NULL;/*Temp*/
+ double *pdblMatrixTemp2 = NULL;/*Temp2*/
+
+
+
+ iSquare = _iLeadDim * _iLeadDim;
+
+ pdblMatrixA = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixX = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixD = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixcX = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixcA = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixEye = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixTemp = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+ pdblMatrixTemp2 = (double*)malloc(sizeof(double) *(unsigned int) iSquare);
+
+
+
+ /* Scale A by power of 2 so that its norm is < 1/2 .*/
+ dfrexps( dinfnorma( in, _iLeadDim, _iLeadDim), &dblExp);
+ dblS = max(0, dblExp + 1);
+ dblS2 = dpows(2, dblS);
+
+ /*A = A./2^s*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixA[iIndex1] = in[iIndex1] / dblS2 ;
+
+ /* Pade approximation for exp(A)*/
+ /*X = A */
+ /*C2F(dcopy)(&iSquare, pdblMatrixA, &iOne, pdblMatrixX, &iOne );*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixX[iIndex1] = pdblMatrixA[iIndex1] ;
+
+ deyesa(pdblMatrixEye, _iLeadDim, _iLeadDim);
+
+
+ /*cA = A * c*/
+
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixcA[iIndex1] = pdblMatrixA[iIndex1] * dblCst ;
+
+
+ /*E = Eye + cA*/
+ daddma (pdblMatrixEye , iSquare, pdblMatrixcA ,iSquare, out ) ;
+
+ /*D = Eye - cA*/
+ ddiffma (pdblMatrixEye , iSquare, pdblMatrixcA ,iSquare,pdblMatrixD ) ;
+
+ iMax = 6;
+ iFlag = 1;
+
+ for(iLoop1 = 2 ; iLoop1 <= iMax ; iLoop1++)
+ {
+ dblCst = dblCst * (iMax - iLoop1 + 1 ) / (iLoop1 * (2 * iMax - iLoop1 + 1));
+
+ /*Temp = X*/
+ /*C2F(dcopy)(&iSquare, pdblMatrixX, &iOne, pdblMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixTemp[iIndex1] = pdblMatrixX[iIndex1] ;
+ /*X = A * Temp;*/
+
+ dmulma ( pdblMatrixA , _iLeadDim , _iLeadDim,
+ pdblMatrixTemp , _iLeadDim , _iLeadDim,
+ pdblMatrixX );
+
+ /*cX = c * X*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixcX[iIndex1] = pdblMatrixX[iIndex1] * dblCst ;
+
+ /*E = E + cX*/
+ daddma ( out, iSquare , pdblMatrixcX , iSquare , out ) ;
+
+ if(iFlag == 1) /*D = D + cX*/
+ {
+ daddma ( pdblMatrixD, iSquare , pdblMatrixcX , iSquare , pdblMatrixD ) ;
+ }
+ else /*D = D - cX*/
+ {
+ ddiffma ( pdblMatrixD, iSquare , pdblMatrixcX , iSquare , pdblMatrixD );
+ }
+
+ /*Toggle iFlag*/
+ iFlag = !iFlag;
+ }
+
+ /*Temp = E*/
+ /*C2F(dcopy)(&iSquare, out, &iOne, pdblMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixTemp[iIndex1] = out[iIndex1] ;
+
+ /*E = D\E*/
+ dldiva ( pdblMatrixD , _iLeadDim , _iLeadDim , pdblMatrixTemp , _iLeadDim , _iLeadDim , out );
+
+ /* Undo scaling by repeated squaring*/
+ for(iLoop1 = 0 ; iLoop1 < dblS ; iLoop1++)
+ {
+ /*Temp = E*/
+ /*Temp2 = E*/
+ /*C2F(dcopy)(&iSquare, out, &iOne, pdblMatrixTemp, &iOne);
+ C2F(dcopy)(&iSquare, out, &iOne, pdblMatrixTemp2, &iOne);*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ {
+ pdblMatrixTemp [iIndex1] = out[iIndex1] ;
+ pdblMatrixTemp2[iIndex1] = out[iIndex1] ;
+ }
+ /* E = E*E*/
+ dmulma ( pdblMatrixTemp , _iLeadDim , _iLeadDim,
+ pdblMatrixTemp2 , _iLeadDim , _iLeadDim,
+ out );
+ }
+
+ free(pdblMatrixA);
+ free(pdblMatrixX);
+ free(pdblMatrixD);
+ free(pdblMatrixcX);
+ free(pdblMatrixcA);
+ free(pdblMatrixEye);
+ free(pdblMatrixTemp);
+ free(pdblMatrixTemp2);
+
+
+
+ return ;
+}
diff --git a/src/matrixOperations/expm/sexpma.c b/src/matrixOperations/expm/sexpma.c
new file mode 100644
index 00000000..51f783e2
--- /dev/null
+++ b/src/matrixOperations/expm/sexpma.c
@@ -0,0 +1,163 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixExponential.h"
+
+void sexpma (float* in, float* out, int _iLeadDim){
+
+ int iIndex1 = 0;
+ int iMax = 0;
+ int iFlag = 0;
+ int iLoop1 = 0;
+ int iSquare = 0;
+
+
+ float fltExp = 0;
+ float fltS = 0;
+ float fltS2 = 0;
+ float fltCst = 0.5f;
+
+ float *pfltMatrixA = NULL;/*A'*/
+ float *pfltMatrixX = NULL;/*X*/
+ float *pfltMatrixD = NULL;/*D*/
+ float *pfltMatrixcX = NULL;/*cX*/
+ float *pfltMatrixcA = NULL;/*cX*/
+ float *pfltMatrixEye = NULL;/*Eye*/
+ float *pfltMatrixTemp = NULL;/*Temp*/
+ float *pfltMatrixTemp2 = NULL;/*Temp2*/
+
+
+
+ iSquare = _iLeadDim * _iLeadDim;
+
+ pfltMatrixA = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixX = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixD = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixcX = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixcA = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixEye = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixTemp = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+ pfltMatrixTemp2 = (float*)malloc(sizeof(float) *(unsigned int) iSquare);
+
+
+
+ /* Scale A by power of 2 so that its norm is < 1/2 .*/
+ sfrexps( sinfnorma( in, _iLeadDim, _iLeadDim), &fltExp);
+ fltS = max(0, fltExp + 1);
+ fltS2 = spows(2, fltS);
+
+ /*A = A./2^s*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixA[iIndex1] = in[iIndex1] / fltS2 ;
+
+ /* Pade approximation for exp(A)*/
+ /*X = A */
+ /*C2F(dcopy)(&iSquare, pfltMatrixA, &iOne, pfltMatrixX, &iOne );*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixX[iIndex1] = pfltMatrixA[iIndex1] ;
+
+ seyesa(pfltMatrixEye, _iLeadDim, _iLeadDim);
+
+
+ /*cA = A * c*/
+
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixcA[iIndex1] = pfltMatrixA[iIndex1] * fltCst ;
+
+
+ /*E = Eye + cA*/
+ saddma (pfltMatrixEye , iSquare, pfltMatrixcA ,iSquare, out ) ;
+
+ /*D = Eye - cA*/
+ sdiffma (pfltMatrixEye , iSquare, pfltMatrixcA ,iSquare,pfltMatrixD ) ;
+
+ iMax = 6;
+ iFlag = 1;
+
+ for(iLoop1 = 2 ; iLoop1 <= iMax ; iLoop1++)
+ {
+ fltCst *=(float) ( (iMax - iLoop1 + 1 ) / (iLoop1 * (2 * iMax - iLoop1 + 1)));
+
+ /*Temp = X*/
+ /*C2F(dcopy)(&iSquare, pfltMatrixX, &iOne, pfltMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixTemp[iIndex1] = pfltMatrixX[iIndex1] ;
+ /*X = A * Temp;*/
+
+ smulma ( pfltMatrixA , _iLeadDim , _iLeadDim,
+ pfltMatrixTemp , _iLeadDim , _iLeadDim,
+ pfltMatrixX );
+
+ /*cX = c * X*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixcX[iIndex1] = pfltMatrixX[iIndex1] * fltCst ;
+
+ /*E = E + cX*/
+ saddma ( out, iSquare , pfltMatrixcX , iSquare , out ) ;
+
+ if(iFlag == 1) /*D = D + cX*/
+ {
+ saddma ( pfltMatrixD, iSquare , pfltMatrixcX , iSquare , pfltMatrixD ) ;
+ }
+ else /*D = D - cX*/
+ {
+ sdiffma ( pfltMatrixD, iSquare , pfltMatrixcX , iSquare , pfltMatrixD );
+ }
+
+ /*Toggle iFlag*/
+ iFlag = !iFlag;
+ }
+
+ /*Temp = E*/
+ /*C2F(dcopy)(&iSquare, out, &iOne, pfltMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pfltMatrixTemp[iIndex1] = out[iIndex1] ;
+
+ /*E = D\E*/
+ sldiva ( pfltMatrixD , _iLeadDim , _iLeadDim , pfltMatrixTemp , _iLeadDim , _iLeadDim , out );
+
+ /* Undo scaling by repeated squaring*/
+ for(iLoop1 = 0 ; iLoop1 < fltS ; iLoop1++)
+ {
+ /*Temp = E*/
+ /*Temp2 = E*/
+ /*C2F(dcopy)(&iSquare, out, &iOne, pfltMatrixTemp, &iOne);
+ C2F(dcopy)(&iSquare, out, &iOne, pfltMatrixTemp2, &iOne);*/
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ {
+ pfltMatrixTemp [iIndex1] = out[iIndex1] ;
+ pfltMatrixTemp2[iIndex1] = out[iIndex1] ;
+ }
+ /* E = E*E*/
+ smulma ( pfltMatrixTemp , _iLeadDim , _iLeadDim,
+ pfltMatrixTemp2 , _iLeadDim , _iLeadDim,
+ out );
+ }
+
+ free(pfltMatrixA);
+ free(pfltMatrixX);
+ free(pfltMatrixD);
+ free(pfltMatrixcX);
+ free(pfltMatrixcA);
+ free(pfltMatrixEye);
+ free(pfltMatrixTemp);
+ free(pfltMatrixTemp2);
+
+
+
+ return ;
+}
diff --git a/src/matrixOperations/expm/testMatrixExponential.c b/src/matrixOperations/expm/testMatrixExponential.c
new file mode 100644
index 00000000..95056e74
--- /dev/null
+++ b/src/matrixOperations/expm/testMatrixExponential.c
@@ -0,0 +1,510 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include "matrixExponential.h"
+
+
+#define LEADDIM 10
+
+#define DMATRIX_IN {0.15869047446176410,0.80895681912079453,0.72621259605512023,0.18993748771026731,\
+ 0.43964602379128337,0.37921421090140939,0.95195201179012656,0.59145097108557820,\
+ 0.70597065938636661,0.62873698258772492,\
+0.62407150492072105,0.68317985069006681,0.70999773032963276,0.25839814636856318,\
+ 0.65407369285821915,0.76687160786241293,0.71278580836951733,0.68067426700145006,\
+ 0.70181696489453316,0.28785153012722731,\
+0.63760355720296502,0.03401931514963508,0.47457459988072515,0.09878737432882190,\
+ 0.58781063789501786,0.60066213225945830,0.11923700617626309,0.07392961112782359,\
+ 0.40879997471347451,0.3292048736475408,\
+0.42704886104911566,0.23805456422269344,0.9438692079856992,0.06199027225375175,\
+ 0.60208318661898375,0.78567356057465076,0.50091631803661585,0.94336947053670883,\
+ 0.06362213846296072,0.47192330472171307,\
+0.10716815060004592,0.94920115964487195,0.14596485672518611,0.04034968325868249,\
+ 0.04535020282492042,0.73871155502274632,0.32900535268709064,0.12863306934013963,\
+ 0.06573933875188231,0.33537696348503232,\
+0.23822965659201145,0.21827886346727610,0.07141010463237762,0.74001471605151892,\
+ 0.20294443331658840,0.55442603398114443,0.48089468106627464,0.20190807711333036,\
+ 0.53310041315853596,0.55530697200447321,\
+0.94629473658278584,0.61546878470107913,0.67337385797873139,0.61626600986346602,\
+ 0.78442738251760602,0.99291495559737086,0.33036959776654840,0.19693034281954169,\
+ 0.03315818728879094,0.11960808141157031,\
+0.45766852516680956,0.83135433867573738,0.65369247179478407,0.6583583448082209,\
+ 0.26375361625105143,0.97574284672737122,0.63044753577560186,0.89286901615560055,\
+ 0.31578356493264437,0.76139996573328972,\
+0.89644787041470408,0.77340125897899270,0.19968961318954825,0.25145971449092031,\
+ 0.43832763982936740,0.37096222722902894,0.21171907847747207,0.46179189579561353,\
+ 0.37858232436701655,0.47909884760156274,\
+0.44384705275297165,0.4244190966710448,0.60141251794993877,0.38433500844985247,\
+ 0.86648589745163918,0.30322382133454084,0.44860231317579746,0.62512917164713144,\
+ 0.46195234358310699,0.28169692959636450}
+
+#define DMATRIX_RESULT {14.6458099031118518,15.9879935334969154,14.5023146230340352,9.79104027026660262,\
+ 13.658147977601745,18.2826677794023276,13.9913488019182726,13.0555850244756648,\
+ 11.2702097163264696,12.2080852641231488,\
+14.9576657268129818,18.0415870145381838,15.4577532112657572,10.6060207869925502,\
+ 14.6987916130120198,19.9917861348452170,14.8484467294549827,14.0994958596124,\
+ 12.1294313366477713,12.8836800651605152,\
+7.72729140087719646,8.27571528291814396,8.78222511899259928,5.22537042408334251,\
+ 7.61718988429527233,10.1106593547443495,7.22727291477849576,6.72646688774223733,\
+ 6.21430065514425589,6.69442204331610213,\
+11.8618893865302528,13.2731189359057637,12.8373872935372706,9.52692469532374631,\
+ 11.9056327368823247,16.3654355264039921,11.8674243780595265,11.7206072002431814,\
+ 9.24712051368910970,10.6966525674175159,\
+7.25089971320127891,8.98673751651268127,7.49831172728240691,5.29368504368777693,\
+ 8.12154956830077346,10.3089262075282218,7.4337348502224856,6.83888206810676191,\
+ 5.87125977419815737,6.5321378683758375,\
+9.25854069422946502,10.4059421461299539,9.47515410794143342,7.263789985253827,\
+ 9.16034813421007321,13.6353552693330933,9.3726649654333336,8.83558176180042132,\
+ 7.6055387753197277,8.4871270614444292,\
+12.6878667266786511,14.1417583108624711,13.0448499416136254,9.182764814582713,\
+ 12.4852121681423256,17.073953108953809,13.2550267101027224,11.3640159258193041,\
+ 9.6279844249894015,10.6765282334921068,\
+16.0691497196859565,18.4667994666424704,16.975871456346809,12.083598083627443,\
+ 15.7522021028722747,22.0489520587189212,16.1322911282790358,16.8044904865300744,\
+ 12.7829232118433556,14.5730443462997599,\
+11.943978463537455,13.6259118560125358,11.8068134298221956,8.21687415305816771,\
+ 11.4127920042158735,15.2296090993128281,11.3826577511842082,11.0976684273648587,\
+ 10.3857413785092909,10.2894980707345525,\
+11.5843985401712821,13.2781579371486753,12.1725305229437293,8.37850128011447204,\
+ 11.8141382209783163,15.4022074994757734,11.484608766021573,11.1535660239869383,\
+ 9.31343988645433285,11.1349864749012912}
+
+
+
+
+
+#define ZRMATRIX_IN {0.21132486546412110,0.56084860628470778,0.30760907428339124,0.50153415976092219, \
+ 0.28064980218186975,0.40948254754766822,0.38737787725403905,0.53762298030778766,\
+ 0.58787201577797532,0.64885628735646605,\
+0.75604385416954756,0.66235693730413914,0.93296162132173777,0.43685875833034515,\
+ 0.12800584640353918,0.87841258011758327,0.92228986788541079,0.11999255046248436,\
+ 0.48291792999953032,0.99231909401714802,\
+0.00022113462910056,0.72635067673400044,0.21460078610107303,0.26931248093023896,\
+ 0.77831285959109664,0.11383596854284406,0.94881842611357570,0.2256303490139544,\
+ 0.22328650346025825,0.05004197778180242,\
+0.33032709173858166,0.19851438421756029,0.31264199689030647,0.63257448654621840,\
+ 0.21190304495394230,0.19983377400785685,0.34353372454643250,0.62740930821746588,\
+ 0.84008856676518917,0.74855065811425447,\
+0.66538110421970487,0.54425731627270579,0.36163610080257058,0.40519540151581168,\
+ 0.11213546665385365,0.56186607433483005,0.37601187312975526,0.76084325974807143,\
+ 0.12059959070757031,0.41040589986369014,\
+0.62839178834110498,0.23207478970289230,0.2922266637906432,0.91847078315913677,\
+ 0.68568959552794695,0.58961773291230202,0.73409405630081892,0.04855662025511265,\
+ 0.28553641680628061,0.60845263302326202,\
+0.84974523587152362,0.23122371966019273,0.56642488157376647,0.04373343335464597,\
+ 0.15312166837975383,0.68539796629920602,0.26157614728435874,0.67239497276023030,\
+ 0.86075146449729800,0.85442108893766999,\
+0.68573101982474327,0.21646326314657927,0.48264719732105732,0.48185089323669672,\
+ 0.69708506017923355,0.89062247332185507,0.49934938363730907,0.20171726960688829,\
+ 0.84941016510128975,0.06426467280834913,\
+0.87821648130193353,0.88338878145441413,0.33217189135029912,0.26395560009405017,\
+ 0.84155184263363481,0.50422128057107329,0.26385784195736051,0.39115739194676280,\
+ 0.52570608118548989,0.82790829380974174,\
+0.06837403681129217,0.65251349471509457,0.59350947011262178,0.41481037065386772,\
+ 0.40620247554033995,0.34936154074966908,0.52535630855709314,0.83003165572881699,\
+ 0.99312098976224661,0.92623437754809856}
+
+#define ZIMATRIX_IN {0.56672112690284848,0.73956565884873271,0.02587099233642220,0.70648676296696067,\
+ 0.96770532103255391,0.42568723810836673,0.18711117887869477,0.21240556007251143,\
+ 0.69127879338338971,0.13049928424879909,\
+0.57116389367729425,0.00371731072664261,0.51744682248681784,0.52114724926650524,\
+ 0.50685344357043505,0.24615605548024178,0.01895748358219862,0.57950199581682682,\
+ 0.76568587962538004,0.96820035576820374,\
+0.81601104838773608,0.59005728596821427,0.39168732380494475,0.28704008506610990,\
+ 0.52329764096066356,0.92295324662700295,0.84335647663101554,0.26281475694850087,\
+ 0.35726496530696750,0.6561381467618048,\
+0.05689279362559319,0.3096467358991504,0.24135384149849415,0.65027950797230005,\
+ 0.5596947595477104,0.10007458087056875,0.07485948316752911,0.43609866220504045,\
+ 0.76933998242020607,0.24455389659851789,\
+0.55959366867318749,0.25522057106718421,0.50644348980858922,0.08813347620889544,\
+ 0.56173070007935166,0.46782181179150939,0.85328151332214475,0.91105451015755534,\
+ 0.54776339093223214,0.52831235667690635,\
+0.12493403162807226,0.62518793903291225,0.42361020017415285,0.44987633451819420,\
+ 0.46817600261420012,0.39504976756870747,0.01245901081711054,0.80826673656702042,\
+ 0.09622887428849936,0.84689256362617016,\
+0.72792222863063216,0.11574173765257001,0.28937275288626552,0.72272530803456903,\
+ 0.77945467224344611,0.03661171020939946,0.18675393564626575,0.81026530498638749,\
+ 0.95611717319115996,0.78766220854595304,\
+0.26777664758265018,0.61170040909200907,0.08879321813583374,0.89767962601035833,\
+ 0.79010718129575253,0.51753685344010592,0.49205840751528740,0.25904283951967955,\
+ 0.22074085660278797,0.12620826158672571,\
+0.54653349192813039,0.67839562846347690,0.62128817522898316,0.24278218811377883,\
+ 0.98085420625284314,0.83254515705630183,0.74896081397309899,0.41390872886404395,\
+ 0.01432593585923314,0.78838609857484698,\
+0.98854076582938433,0.33200952783226967,0.34549844544380903,0.43377211131155491,\
+ 0.81870661024004221,0.61048321425914764,0.94149570073932409,0.35999277792870998,\
+ 0.81914897728711367,0.34530424699187279}
+
+
+#define ZRMATRIX_RESULT {4.6052332809216896,2.16205411267794823,1.12245312965776556,4.0468190853821735,\
+ 7.29705295628955231,2.45894799152591625,2.29331674633863614,4.21571156291592253,\
+ 2.81922686558935887,2.348781949769843,\
+2.07401297354815162,1.50063692688995753,0.25219828236411757,2.7063265188290884,\
+ 6.35812780561968260,0.67264506810224134,0.79079814568186024,2.91747981321864280,\
+ 1.01032692983832129,0.75975015828076931,\
+7.04077899650083694,5.39363072316827363,4.99449464719530045,6.79878933472462954,\
+ 11.2977866849707205,5.7026161792862045,6.09443833294921244,7.35970702338152272,\
+ 6.14030297304667272,5.80227288585002476,\
+1.52422494456658053,0.15792523935350228,-0.39437456229879331,3.21063571532312331,\
+ 4.72654937095295491,0.19681048033039794,0.13926710536989889,2.4098033377935764,\
+ 1.19110231590601412,0.24431206393184518,\
+5.84910802491279558,3.67968516288822922,2.73879619563976862,5.69547375492497387,\
+ 10.2284804678743431,4.40378197582331143,3.9855513762320007,6.24858736599414133,\
+ 4.57057059205936156,4.19331143449899635,\
+2.84423960711997825,0.91341486330902766,0.32799575263405639,3.63130361353437925,\
+ 6.73358898182897025,2.44092642244158631,1.4035651670524776,3.29646069585033841,\
+ 1.63804041671370615,1.34065096546340268,\
+5.04689360696997724,2.58451417966281571,1.89915292921285772,4.62170835433455451,\
+ 9.05019265678329887,3.33670002112993291,3.66038974983755372,5.62296495186113443,\
+ 4.04432332701467434,3.48415716881126114,\
+2.99051528256943167,0.76077291642727529,0.19995186822386554,2.96972391032047955,\
+ 6.60462877127714787,1.8346028052798535,1.31621250911818244,3.73816126628208467,\
+ 1.3788533261260996,0.30973924698106181,\
+5.20595600060592734,3.44646883779368096,1.85946748567920750,5.1361216710529769,\
+ 10.0941765681228333,3.49429925842045552,3.05021742013193098,5.4348094549241184,\
+ 4.51765668386982977,3.40850797720926035,\
+4.65702831667450212,3.03706964016556746,2.06940591125521856,5.11047315752830578,\
+ 9.94379845012778674,3.3321507049026704,3.29919175160893818,5.94111235727490428,\
+ 4.22429837741492253,4.41612421969640145}
+
+#define ZIMATRIX_RESULT {-14.2670217568608670,-12.454640354285063,-11.2804810864205063,-12.2724799117031509,\
+ -14.2468231668880438,-13.7336716491454212,-13.4126704881317167,-13.2354295209306141,\
+ -15.0748008268599314,-16.4106582082002141,\
+-18.1383938627890586,-16.2500310962210612,-13.6080240801173602,-16.1094229201551187,\
+ -18.8440235801764437,-17.4411014766214336,-16.8096205594578301,-16.4844610002227725,\
+ -18.6024277051838922,-19.7565384964549153,\
+-13.6088148145822956,-12.746762149308113,-10.9388281270062464,-12.2279241359128505,\
+ -13.2072598928012983,-13.2417837783338328,-12.6472077791728861,-12.2778413042734709,\
+ -14.8521542656410972,-15.7031049148228732,\
+-13.2144981163630746,-11.2231448799035274,-9.7632306445459864,-11.1681914913523084,\
+ -13.2326349218083568,-12.3373828754640584,-11.7842111257382829,-11.8870664403988826,\
+ -13.3125999502667849,-14.6665812584015534,\
+-14.2784445192169489,-13.0211070334450945,-11.1550881344005877,-12.7744646170515193,\
+ -13.8646425595775469,-13.6955906712953759,-12.98118927813419,-12.5125330823426655,\
+ -15.2470302805889251,-16.6299797243330687,\
+-15.3135193060880574,-12.8989039623516373,-11.1097185418698405,-12.9878481756480575,\
+ -15.1819592065246791,-14.1554345301917017,-13.7019470831634962,-13.1000905274159241,\
+ -15.697504333561957,-16.4727155095115592,\
+-16.6151865381969657,-15.0301220873079888,-13.119515101239017,-14.6038902499774128,\
+ -16.5465022870658487,-16.2745681097221642,-15.5790325754692791,-14.9778105214080721,\
+ -17.5880407064706752,-18.9858728410024717,\
+-15.2244202423134851,-12.9437967685452655,-11.4320003274904263,-12.6340981883688794,\
+ -15.2648705712828949,-14.0427697860698029,-13.5757724082098221,-13.5147279252801411,\
+ -15.9307999370437052,-16.8057661616885916,\
+-18.255930649471658,-16.1956269359019345,-13.6756135725252594,-16.3611958886634667,\
+ -18.0721805983153097,-17.0517408001458151,-16.231614445430882,-16.4843630200203357,\
+ -19.7691884354979948,-20.3871124127432672,\
+-18.2105493706955421,-16.9125659016652854,-14.4302205379609418,-16.7267447227195518,\
+ -18.7135188739136353,-17.6467699531147559,-16.5820479292089722,-17.0861611432949942,\
+ -19.7638794191151916,-21.2748129090505991}
+
+#define FMATRIX_IN {0.15869047446176410f,0.80895681912079453f,0.72621259605512023f,0.18993748771026731f,\
+ 0.43964602379128337f,0.37921421090140939f,0.95195201179012656f,0.59145097108557820f,\
+ 0.70597065938636661f,0.62873698258772492f,\
+0.62407150492072105f,0.68317985069006681f,0.70999773032963276f,0.25839814636856318f,\
+ 0.65407369285821915f,0.76687160786241293f,0.71278580836951733f,0.68067426700145006f,\
+ 0.70181696489453316f,0.28785153012722731f,\
+0.63760355720296502f,0.03401931514963508f,0.47457459988072515f,0.09878737432882190f,\
+ 0.58781063789501786f,0.60066213225945830f,0.11923700617626309f,0.07392961112782359f,\
+ 0.40879997471347451f,0.3292048736475408f,\
+0.42704886104911566f,0.23805456422269344f,0.9438692079856992f,0.06199027225375175f,\
+ 0.60208318661898375f,0.78567356057465076f,0.50091631803661585f,0.94336947053670883f,\
+ 0.06362213846296072f,0.47192330472171307f,\
+0.10716815060004592f,0.94920115964487195f,0.14596485672518611f,0.04034968325868249f,\
+ 0.04535020282492042f,0.73871155502274632f,0.32900535268709064f,0.12863306934013963f,\
+ 0.06573933875188231f,0.33537696348503232f,\
+0.23822965659201145f,0.21827886346727610f,0.07141010463237762f,0.74001471605151892f,\
+ 0.20294443331658840f,0.55442603398114443f,0.48089468106627464f,0.20190807711333036f,\
+ 0.53310041315853596f,0.55530697200447321f,\
+0.94629473658278584f,0.61546878470107913f,0.67337385797873139f,0.61626600986346602f,\
+ 0.78442738251760602f,0.99291495559737086f,0.33036959776654840f,0.19693034281954169f,\
+ 0.03315818728879094f,0.11960808141157031f,\
+0.45766852516680956f,0.83135433867573738f,0.65369247179478407f,0.6583583448082209f,\
+ 0.26375361625105143f,0.97574284672737122f,0.63044753577560186f,0.89286901615560055f,\
+ 0.31578356493264437f,0.76139996573328972f,\
+0.89644787041470408f,0.77340125897899270f,0.19968961318954825f,0.25145971449092031f,\
+ 0.43832763982936740f,0.37096222722902894f,0.21171907847747207f,0.46179189579561353f,\
+ 0.37858232436701655f,0.47909884760156274f,\
+0.44384705275297165f,0.4244190966710448f,0.60141251794993877f,0.38433500844985247f,\
+ 0.86648589745163918f,0.30322382133454084f,0.44860231317579746f,0.62512917164713144f,\
+ 0.46195234358310699f,0.28169692959636450f}
+
+#define FMATRIX_RESULT {14.6458099031118518f,15.9879935334969154f,14.5023146230340352f,9.79104027026660262f,\
+ 13.658147977601745f,18.2826677794023276f,13.9913488019182726f,13.0555850244756648f,\
+ 11.2702097163264696f,12.2080852641231488f,\
+14.9576657268129818f,18.0415870145381838f,15.4577532112657572f,10.6060207869925502f,\
+ 14.6987916130120198f,19.9917861348452170f,14.8484467294549827f,14.0994958596124f,\
+ 12.1294313366477713f,12.8836800651605152f,\
+7.72729140087719646f,8.27571528291814396f,8.78222511899259928f,5.22537042408334251f,\
+ 7.61718988429527233f,10.1106593547443495f,7.22727291477849576f,6.72646688774223733f,\
+ 6.21430065514425589f,6.69442204331610213f,\
+11.8618893865302528f,13.2731189359057637f,12.8373872935372706f,9.52692469532374631f,\
+ 11.9056327368823247f,16.3654355264039921f,11.8674243780595265f,11.7206072002431814f,\
+ 9.24712051368910970f,10.6966525674175159f,\
+7.25089971320127891f,8.98673751651268127f,7.49831172728240691f,5.29368504368777693f,\
+ 8.12154956830077346f,10.3089262075282218f,7.4337348502224856f,6.83888206810676191f,\
+ 5.87125977419815737f,6.5321378683758375f,\
+9.25854069422946502f,10.4059421461299539f,9.47515410794143342f,7.263789985253827f,\
+ 9.16034813421007321f,13.6353552693330933f,9.3726649654333336f,8.83558176180042132f,\
+ 7.6055387753197277f,8.4871270614444292f,\
+12.6878667266786511f,14.1417583108624711f,13.0448499416136254f,9.182764814582713f,\
+ 12.4852121681423256f,17.073953108953809f,13.2550267101027224f,11.3640159258193041f,\
+ 9.6279844249894015f,10.6765282334921068f,\
+16.0691497196859565f,18.4667994666424704f,16.975871456346809f,12.083598083627443f,\
+ 15.7522021028722747f,22.0489520587189212f,16.1322911282790358f,16.8044904865300744f,\
+ 12.7829232118433556f,14.5730443462997599f,\
+11.943978463537455f,13.6259118560125358f,11.8068134298221956f,8.21687415305816771f,\
+ 11.4127920042158735f,15.2296090993128281f,11.3826577511842082f,11.0976684273648587f,\
+ 10.3857413785092909f,10.2894980707345525f,\
+11.5843985401712821f,13.2781579371486753f,12.1725305229437293f,8.37850128011447204f,\
+ 11.8141382209783163f,15.4022074994757734f,11.484608766021573f,11.1535660239869383f,\
+ 9.31343988645433285f,11.1349864749012912f}
+
+
+
+
+
+#define CRMATRIX_IN {0.21132486546412110f,0.56084860628470778f,0.30760907428339124f,0.50153415976092219f, \
+ 0.28064980218186975f,0.40948254754766822f,0.38737787725403905f,0.53762298030778766f,\
+ 0.58787201577797532f,0.64885628735646605f,\
+0.75604385416954756f,0.66235693730413914f,0.93296162132173777f,0.43685875833034515f,\
+ 0.12800584640353918f,0.87841258011758327f,0.92228986788541079f,0.11999255046248436f,\
+ 0.48291792999953032f,0.99231909401714802f,\
+0.00022113462910056f,0.72635067673400044f,0.21460078610107303f,0.26931248093023896f,\
+ 0.77831285959109664f,0.11383596854284406f,0.94881842611357570f,0.2256303490139544f,\
+ 0.22328650346025825f,0.05004197778180242f,\
+0.33032709173858166f,0.19851438421756029f,0.31264199689030647f,0.63257448654621840f,\
+ 0.21190304495394230f,0.19983377400785685f,0.34353372454643250f,0.62740930821746588f,\
+ 0.84008856676518917f,0.74855065811425447f,\
+0.66538110421970487f,0.54425731627270579f,0.36163610080257058f,0.40519540151581168f,\
+ 0.11213546665385365f,0.56186607433483005f,0.37601187312975526f,0.76084325974807143f,\
+ 0.12059959070757031f,0.41040589986369014f,\
+0.62839178834110498f,0.23207478970289230f,0.2922266637906432f,0.91847078315913677f,\
+ 0.68568959552794695f,0.58961773291230202f,0.73409405630081892f,0.04855662025511265f,\
+ 0.28553641680628061f,0.60845263302326202f,\
+0.84974523587152362f,0.23122371966019273f,0.56642488157376647f,0.04373343335464597f,\
+ 0.15312166837975383f,0.68539796629920602f,0.26157614728435874f,0.67239497276023030f,\
+ 0.86075146449729800f,0.85442108893766999f,\
+0.68573101982474327f,0.21646326314657927f,0.48264719732105732f,0.48185089323669672f,\
+ 0.69708506017923355f,0.89062247332185507f,0.49934938363730907f,0.20171726960688829f,\
+ 0.84941016510128975f,0.06426467280834913f,\
+0.87821648130193353f,0.88338878145441413f,0.33217189135029912f,0.26395560009405017f,\
+ 0.84155184263363481f,0.50422128057107329f,0.26385784195736051f,0.39115739194676280f,\
+ 0.52570608118548989f,0.82790829380974174f,\
+0.06837403681129217f,0.65251349471509457f,0.59350947011262178f,0.41481037065386772f,\
+ 0.40620247554033995f,0.34936154074966908f,0.52535630855709314f,0.83003165572881699f,\
+ 0.99312098976224661f,0.92623437754809856f}
+
+#define CIMATRIX_IN {0.56672112690284848f,0.73956565884873271f,0.02587099233642220f,0.70648676296696067f,\
+ 0.96770532103255391f,0.42568723810836673f,0.18711117887869477f,0.21240556007251143f,\
+ 0.69127879338338971f,0.13049928424879909f,\
+0.57116389367729425f,0.00371731072664261f,0.51744682248681784f,0.52114724926650524f,\
+ 0.50685344357043505f,0.24615605548024178f,0.01895748358219862f,0.57950199581682682f,\
+ 0.76568587962538004f,0.96820035576820374f,\
+0.81601104838773608f,0.59005728596821427f,0.39168732380494475f,0.28704008506610990f,\
+ 0.52329764096066356f,0.92295324662700295f,0.84335647663101554f,0.26281475694850087f,\
+ 0.35726496530696750f,0.6561381467618048f,\
+0.05689279362559319f,0.3096467358991504f,0.24135384149849415f,0.65027950797230005f,\
+ 0.5596947595477104f,0.10007458087056875f,0.07485948316752911f,0.43609866220504045f,\
+ 0.76933998242020607f,0.24455389659851789f,\
+0.55959366867318749f,0.25522057106718421f,0.50644348980858922f,0.08813347620889544f,\
+ 0.56173070007935166f,0.46782181179150939f,0.85328151332214475f,0.91105451015755534f,\
+ 0.54776339093223214f,0.52831235667690635f,\
+0.12493403162807226f,0.62518793903291225f,0.42361020017415285f,0.44987633451819420f,\
+ 0.46817600261420012f,0.39504976756870747f,0.01245901081711054f,0.80826673656702042f,\
+ 0.09622887428849936f,0.84689256362617016f,\
+0.72792222863063216f,0.11574173765257001f,0.28937275288626552f,0.72272530803456903f,\
+ 0.77945467224344611f,0.03661171020939946f,0.18675393564626575f,0.81026530498638749f,\
+ 0.95611717319115996f,0.78766220854595304f,\
+0.26777664758265018f,0.61170040909200907f,0.08879321813583374f,0.89767962601035833f,\
+ 0.79010718129575253f,0.51753685344010592f,0.49205840751528740f,0.25904283951967955f,\
+ 0.22074085660278797f,0.12620826158672571f,\
+0.54653349192813039f,0.67839562846347690f,0.62128817522898316f,0.24278218811377883f,\
+ 0.98085420625284314f,0.83254515705630183f,0.74896081397309899f,0.41390872886404395f,\
+ 0.01432593585923314f,0.78838609857484698f,\
+0.98854076582938433f,0.33200952783226967f,0.34549844544380903f,0.43377211131155491f,\
+ 0.81870661024004221f,0.61048321425914764f,0.94149570073932409f,0.35999277792870998f,\
+ 0.81914897728711367f,0.34530424699187279f}
+
+
+#define CRMATRIX_RESULT {4.6052332809216896f,2.16205411267794823f,1.12245312965776556f,4.0468190853821735f,\
+ 7.29705295628955231f,2.45894799152591625f,2.29331674633863614f,4.21571156291592253f,\
+ 2.81922686558935887f,2.348781949769843f,\
+2.07401297354815162f,1.50063692688995753f,0.25219828236411757f,2.7063265188290884f,\
+ 6.35812780561968260f,0.67264506810224134f,0.79079814568186024f,2.91747981321864280f,\
+ 1.01032692983832129f,0.75975015828076931f,\
+7.04077899650083694f,5.39363072316827363f,4.99449464719530045f,6.79878933472462954f,\
+ 11.2977866849707205f,5.7026161792862045f,6.09443833294921244f,7.35970702338152272f,\
+ 6.14030297304667272f,5.80227288585002476f,\
+1.52422494456658053f,0.15792523935350228f,-0.39437456229879331f,3.21063571532312331f,\
+ 4.72654937095295491f,0.19681048033039794f,0.13926710536989889f,2.4098033377935764f,\
+ 1.19110231590601412f,0.24431206393184518f,\
+5.84910802491279558f,3.67968516288822922f,2.73879619563976862f,5.69547375492497387f,\
+ 10.2284804678743431f,4.40378197582331143f,3.9855513762320007f,6.24858736599414133f,\
+ 4.57057059205936156f,4.19331143449899635f,\
+2.84423960711997825f,0.91341486330902766f,0.32799575263405639f,3.63130361353437925f,\
+ 6.73358898182897025f,2.44092642244158631f,1.4035651670524776f,3.29646069585033841f,\
+ 1.63804041671370615f,1.34065096546340268f,\
+5.04689360696997724f,2.58451417966281571f,1.89915292921285772f,4.62170835433455451f,\
+ 9.05019265678329887f,3.33670002112993291f,3.66038974983755372f,5.62296495186113443f,\
+ 4.04432332701467434f,3.48415716881126114f,\
+2.99051528256943167f,0.76077291642727529f,0.19995186822386554f,2.96972391032047955f,\
+ 6.60462877127714787f,1.8346028052798535f,1.31621250911818244f,3.73816126628208467f,\
+ 1.3788533261260996f,0.30973924698106181f,\
+5.20595600060592734f,3.44646883779368096f,1.85946748567920750f,5.1361216710529769f,\
+ 10.0941765681228333f,3.49429925842045552f,3.05021742013193098f,5.4348094549241184f,\
+ 4.51765668386982977f,3.40850797720926035f,\
+4.65702831667450212f,3.03706964016556746f,2.06940591125521856f,5.11047315752830578f,\
+ 9.94379845012778674f,3.3321507049026704f,3.29919175160893818f,5.94111235727490428f,\
+ 4.22429837741492253f,4.41612421969640145f}
+
+#define CIMATRIX_RESULT {-14.2670217568608670f,-12.454640354285063f,-11.2804810864205063f,-12.2724799117031509f,\
+ -14.2468231668880438f,-13.7336716491454212f,-13.4126704881317167f,-13.2354295209306141f,\
+ -15.0748008268599314f,-16.4106582082002141f,\
+-18.1383938627890586f,-16.2500310962210612f,-13.6080240801173602f,-16.1094229201551187f,\
+ -18.8440235801764437f,-17.4411014766214336f,-16.8096205594578301f,-16.4844610002227725f,\
+ -18.6024277051838922f,-19.7565384964549153f,\
+-13.6088148145822956f,-12.746762149308113f,-10.9388281270062464f,-12.2279241359128505f,\
+ -13.2072598928012983f,-13.2417837783338328f,-12.6472077791728861f,-12.2778413042734709f,\
+ -14.8521542656410972f,-15.7031049148228732f,\
+-13.2144981163630746f,-11.2231448799035274f,-9.7632306445459864f,-11.1681914913523084f,\
+ -13.2326349218083568f,-12.3373828754640584f,-11.7842111257382829f,-11.8870664403988826f,\
+ -13.3125999502667849f,-14.6665812584015534f,\
+-14.2784445192169489f,-13.0211070334450945f,-11.1550881344005877f,-12.7744646170515193f,\
+ -13.8646425595775469f,-13.6955906712953759f,-12.98118927813419f,-12.5125330823426655f,\
+ -15.2470302805889251f,-16.6299797243330687f,\
+-15.3135193060880574f,-12.8989039623516373f,-11.1097185418698405f,-12.9878481756480575f,\
+ -15.1819592065246791f,-14.1554345301917017f,-13.7019470831634962f,-13.1000905274159241f,\
+ -15.697504333561957f,-16.4727155095115592f,\
+-16.6151865381969657f,-15.0301220873079888f,-13.119515101239017f,-14.6038902499774128f,\
+ -16.5465022870658487f,-16.2745681097221642f,-15.5790325754692791f,-14.9778105214080721f,\
+ -17.5880407064706752f,-18.9858728410024717f,\
+-15.2244202423134851f,-12.9437967685452655f,-11.4320003274904263f,-12.6340981883688794f,\
+ -15.2648705712828949f,-14.0427697860698029f,-13.5757724082098221f,-13.5147279252801411f,\
+ -15.9307999370437052f,-16.8057661616885916f,\
+-18.255930649471658f,-16.1956269359019345f,-13.6756135725252594f,-16.3611958886634667f,\
+ -18.0721805983153097f,-17.0517408001458151f,-16.231614445430882f,-16.4843630200203357f,\
+ -19.7691884354979948f,-20.3871124127432672f,\
+-18.2105493706955421f,-16.9125659016652854f,-14.4302205379609418f,-16.7267447227195518f,\
+ -18.7135188739136353f,-17.6467699531147559f,-16.5820479292089722f,-17.0861611432949942f,\
+ -19.7638794191151916f,-21.2748129090505991f}
+
+
+static void sexpmaTest (void ) {
+
+ int i = 0 ;
+
+ float in[] = FMATRIX_IN ;
+
+ float result[] = FMATRIX_RESULT ;
+
+ float out[LEADDIM*LEADDIM] ;
+
+
+ sexpma ( in, out, LEADDIM) ;
+
+ for ( i = 0 ; i < LEADDIM*LEADDIM ; i++ )
+ {
+ printf ( "\t\t %d out : %e\tresult : %e\tassert : %e \n" , i , out[i] , result[i] , fabs ( out[i] - result[i] ) / fabs( out[i]) ) ;
+ /*assert ( fabs ( out[i] - result[i] ) / fabs( out[i]) < 1e-6 ) ;*/
+ }
+}
+
+
+
+static void dexpmaTest (void ) {
+
+ int i = 0 ;
+
+ double in[] = DMATRIX_IN ;
+
+ double result[] = DMATRIX_RESULT ;
+
+ double out[LEADDIM*LEADDIM] ;
+
+
+ dexpma ( in, out, LEADDIM) ;
+
+ for ( i = 0 ; i < LEADDIM*LEADDIM ; i++ )
+ {
+ printf ( "\t\t %d out : %e\tresult : %e\tassert : %e \n" , i , out[i] , result[i] , fabs ( out[i] - result[i] ) / fabs( out[i]) ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i]) < 1e-14 ) ;
+ }
+}
+
+
+static void zexpmaTest ( void) {
+
+ int i = 0 ;
+
+ double tRealIn [] = ZRMATRIX_IN ;
+ double tImagIn [] = ZIMATRIX_IN ;
+
+
+
+ double tRealResult [] = ZRMATRIX_RESULT ;
+ double tImagResult [] = ZIMATRIX_RESULT ;
+
+ doubleComplex out[LEADDIM*LEADDIM ] ;
+
+ doubleComplex* in = DoubleComplexMatrix ( tRealIn , tImagIn , LEADDIM*LEADDIM );
+ doubleComplex* Result = DoubleComplexMatrix ( tRealResult , tImagResult ,LEADDIM*LEADDIM) ;
+
+ zexpma ( in ,out , LEADDIM ) ;
+
+
+ /* if we don't add that test assert failed if result = 0 'cause then we have |(out - 0)|/|out| = 1*/
+ for ( i = 0 ; i < (LEADDIM*LEADDIM ) ; i++ )
+ {
+ printf ( "\t\t %d out : %e\t + %e\t * i result : %e\t + %e\t * i assert : %e + %e \n" ,
+ i ,zreals(out[i]) , zimags(out[i]) , zreals (Result[i]) , zimags (Result[i]),
+ fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) ,
+ fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])));
+
+ if ( zreals(out[i]) < 1e-14 && zreals (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 1e-14 );
+
+
+ if ( zimags(out[i]) < 1e-14 && zimags (Result[i]) < 1e-18 )
+ assert ( 1 ) ;
+ else
+ assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-14 ) ;
+
+ }
+}
+
+
+static int testExponential(void) {
+
+ printf("\n>>>> Matrix Exponential Tests\n");
+ printf("\t>>>> Matrix Double Realt Tests\n");
+ dexpmaTest();
+
+ printf("\n\n\t>>>> Matrix Float Realt Tests\n");
+ sexpmaTest();
+
+ printf("\n\n\n");
+ printf("\t>>>> Matrix Double Complex Tests\n");
+ zexpmaTest();
+
+ return 0;
+}
+
+
+
+int main(void) {
+ assert(testExponential() == 0);
+ return 0;
+}
diff --git a/src/matrixOperations/expm/zexpma.c b/src/matrixOperations/expm/zexpma.c
new file mode 100644
index 00000000..7ee85f17
--- /dev/null
+++ b/src/matrixOperations/expm/zexpma.c
@@ -0,0 +1,172 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixExponential.h"
+
+void zexpma(doubleComplex * in, doubleComplex * out, int _iLeadDim)
+{
+ int iIndex1 = 0;
+ int iMax = 0;
+ int iFlag = 0;
+ int iLoop1 = 0;
+ int iSquare = 0;
+
+
+ double dblExp = 0;
+ double dblS = 0;
+ double dblS2 = 0;
+ double dblCst = 0.5;
+
+ doubleComplex zdblCst ;
+
+ doubleComplex *pdblMatrixA = NULL;
+ doubleComplex *pdblMatrixX = NULL;
+ doubleComplex *pdblMatrixD = NULL;
+ doubleComplex *pdblMatrixcX = NULL;
+ doubleComplex *pdblMatrixcA = NULL;
+ doubleComplex *pdblMatrixEye = NULL;
+ doubleComplex *pdblMatrixTemp = NULL;
+ doubleComplex *pdblMatrixTemp2 = NULL;
+
+
+
+
+ iSquare = _iLeadDim * _iLeadDim;
+
+ pdblMatrixA = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixX = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixD = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixcX = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixcA = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixEye = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixTemp = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+ pdblMatrixTemp2 = (doubleComplex*)malloc(sizeof(doubleComplex) * (unsigned int) iSquare);
+
+ zdblCst = DoubleComplex ( 0.5 , 0 );
+
+ /*// Scale A by power of 2 so that its norm is < 1/2 .*/
+ dfrexps( zinfnorma( in, _iLeadDim, _iLeadDim) , &dblExp);
+ dblS = max(0, dblExp + 1);
+ dblS2 = pow(2, dblS);
+
+ /*A = A./2^s */
+
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixA[iIndex1] = zdevides ( in[iIndex1] , DoubleComplex ( dblS2 , 0 ));
+
+
+ /* Pade approximation for exp(A)
+ //X = A */
+ /*C2F(zcopy)(&iSquare, pdblMatrixA, &iOne, pdblMatrixX, &iOne );*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixX[iIndex1] = pdblMatrixA[iIndex1] ;
+
+
+ zeyesa(pdblMatrixEye, _iLeadDim, _iLeadDim);
+
+ zmulma ( & zdblCst , 1 ,1,
+ pdblMatrixA , _iLeadDim, _iLeadDim,
+ pdblMatrixcA);
+
+ /* cA = A * c */
+
+
+ /*E = Eye + cA*/
+
+ zaddma (pdblMatrixEye , iSquare, pdblMatrixcA ,iSquare, out ) ;
+
+ /* D = Eye - cA */
+
+ zdiffma (pdblMatrixEye , iSquare, pdblMatrixcA ,iSquare,pdblMatrixD ) ;
+
+ iMax = 6;
+ iFlag = 1;
+
+ for(iLoop1 = 2 ; iLoop1 <= iMax ; iLoop1++)
+ {
+ dblCst = dblCst * (iMax - iLoop1 + 1 ) / (iLoop1 * (2 * iMax - iLoop1 + 1));
+ zdblCst = DoubleComplex( dblCst , 0);
+
+ /*Temp = X */
+ /*C2F(zcopy)(&iSquare, pdblMatrixX, &iOne, pdblMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixTemp[iIndex1] = pdblMatrixX[iIndex1] ;
+ /* X = A * Temp; */
+
+ zmulma ( pdblMatrixA , _iLeadDim , _iLeadDim,
+ pdblMatrixTemp , _iLeadDim , _iLeadDim,
+ pdblMatrixX );
+ /* cX = c * X */
+
+ zmulma ( & zdblCst , 1 ,1,
+ pdblMatrixX , _iLeadDim, _iLeadDim,
+ pdblMatrixcX);
+
+ /* E = E + cX */
+
+ zaddma ( out, iSquare , pdblMatrixcX , iSquare , out ) ;
+
+ if(iFlag == 1) /* D = D + cX */
+ {
+ zaddma ( pdblMatrixD, iSquare , pdblMatrixcX , iSquare , pdblMatrixD ) ;
+ }
+ else /* D = D - cX */
+ {
+ zdiffma ( pdblMatrixD, iSquare , pdblMatrixcX , iSquare , pdblMatrixD );
+ }
+
+ /* Toggle iFlag */
+ iFlag = !iFlag;
+ }
+
+ /* Temp = E */
+ /*C2F(zcopy)(&iSquare, out, &iOne, pdblMatrixTemp, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ pdblMatrixTemp[iIndex1] = out[iIndex1] ;
+
+ /* E = D\E */
+ zldiva ( pdblMatrixD , _iLeadDim , _iLeadDim , pdblMatrixTemp , _iLeadDim , _iLeadDim , out ) ;
+
+ /*/ Undo scaling by repeated squaring */
+ for(iLoop1 = 0 ; iLoop1 < dblS ; iLoop1++)
+ {
+ /*//Temp = E */
+ /*//Temp2 = E */
+
+ /*C2F(zcopy)(&iSquare, out, &iOne, pdblMatrixTemp, &iOne);
+ C2F(zcopy)(&iSquare, out, &iOne, pdblMatrixTemp2, &iOne);*/
+ for ( iIndex1 = 0 ; iIndex1 < iSquare ; iIndex1++ )
+ {
+ pdblMatrixTemp [iIndex1] = out[iIndex1] ;
+ pdblMatrixTemp2[iIndex1] = out[iIndex1] ;
+ }
+
+ /* E = E*E*/
+ zmulma ( pdblMatrixTemp , _iLeadDim , _iLeadDim,
+ pdblMatrixTemp2 , _iLeadDim , _iLeadDim,
+ out );
+
+ }
+
+ free(pdblMatrixA);
+ free(pdblMatrixX);
+ free(pdblMatrixD);
+ free(pdblMatrixcX);
+ free(pdblMatrixcA);
+ free(pdblMatrixEye);
+ free(pdblMatrixTemp);
+ free(pdblMatrixTemp2);
+
+
+
+ return ;
+}
diff --git a/src/matrixOperations/eyes/Makefile.am b/src/matrixOperations/eyes/Makefile.am
new file mode 100644
index 00000000..1248f722
--- /dev/null
+++ b/src/matrixOperations/eyes/Makefile.am
@@ -0,0 +1,48 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2008-2008 - INRIA - Allan SIMON
+##
+## This file must be used under the terms of the CeCILL.
+## This source file is licensed as described in the file COPYING, which
+## you should have received as part of this distribution. The terms
+## are also available at
+## http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+##
+##
+
+libMatrixEyes_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMatrixEyes.la
+
+HEAD = ../includes/matrixEyes.h
+
+libMatrixEyes_la_SOURCES = $(HEAD) \
+ seyesa.c \
+ deyesa.c \
+ ceyesa.c \
+ zeyesa.c
+
+check_PROGRAMS = testMatrixEyes
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libMatrixEyes.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixEyes_SOURCES = testMatrixEyes.c
+testMatrixEyes_LDADD = $(check_LDADD)
+testMatrixEyes_CFLAGS = $(check_INCLUDES)
+
+TESTS = testMatrixEyes
diff --git a/src/matrixOperations/eyes/Makefile.in b/src/matrixOperations/eyes/Makefile.in
new file mode 100644
index 00000000..59d897a6
--- /dev/null
+++ b/src/matrixOperations/eyes/Makefile.in
@@ -0,0 +1,636 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testMatrixEyes$(EXEEXT)
+TESTS = testMatrixEyes$(EXEEXT)
+subdir = matrixOperations/eyes
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+pkglibLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMatrixEyes_la_LIBADD =
+am__objects_1 =
+am_libMatrixEyes_la_OBJECTS = $(am__objects_1) \
+ libMatrixEyes_la-seyesa.lo libMatrixEyes_la-deyesa.lo \
+ libMatrixEyes_la-ceyesa.lo libMatrixEyes_la-zeyesa.lo
+libMatrixEyes_la_OBJECTS = $(am_libMatrixEyes_la_OBJECTS)
+libMatrixEyes_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libMatrixEyes_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testMatrixEyes_OBJECTS = testMatrixEyes-testMatrixEyes.$(OBJEXT)
+testMatrixEyes_OBJECTS = $(am_testMatrixEyes_OBJECTS)
+testMatrixEyes_DEPENDENCIES = $(check_LDADD)
+testMatrixEyes_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testMatrixEyes_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libMatrixEyes_la_SOURCES) $(testMatrixEyes_SOURCES)
+DIST_SOURCES = $(libMatrixEyes_la_SOURCES) $(testMatrixEyes_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMatrixEyes_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMatrixEyes.la
+HEAD = ../includes/matrixEyes.h
+libMatrixEyes_la_SOURCES = $(HEAD) \
+ seyesa.c \
+ deyesa.c \
+ ceyesa.c \
+ zeyesa.c
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libMatrixEyes.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixEyes_SOURCES = testMatrixEyes.c
+testMatrixEyes_LDADD = $(check_LDADD)
+testMatrixEyes_CFLAGS = $(check_INCLUDES)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign matrixOperations/eyes/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign matrixOperations/eyes/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libMatrixEyes.la: $(libMatrixEyes_la_OBJECTS) $(libMatrixEyes_la_DEPENDENCIES)
+ $(libMatrixEyes_la_LINK) -rpath $(pkglibdir) $(libMatrixEyes_la_OBJECTS) $(libMatrixEyes_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+testMatrixEyes$(EXEEXT): $(testMatrixEyes_OBJECTS) $(testMatrixEyes_DEPENDENCIES)
+ @rm -f testMatrixEyes$(EXEEXT)
+ $(testMatrixEyes_LINK) $(testMatrixEyes_OBJECTS) $(testMatrixEyes_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixEyes_la-ceyesa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixEyes_la-deyesa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixEyes_la-seyesa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixEyes_la-zeyesa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testMatrixEyes-testMatrixEyes.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libMatrixEyes_la-seyesa.lo: seyesa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -MT libMatrixEyes_la-seyesa.lo -MD -MP -MF $(DEPDIR)/libMatrixEyes_la-seyesa.Tpo -c -o libMatrixEyes_la-seyesa.lo `test -f 'seyesa.c' || echo '$(srcdir)/'`seyesa.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixEyes_la-seyesa.Tpo $(DEPDIR)/libMatrixEyes_la-seyesa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='seyesa.c' object='libMatrixEyes_la-seyesa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -c -o libMatrixEyes_la-seyesa.lo `test -f 'seyesa.c' || echo '$(srcdir)/'`seyesa.c
+
+libMatrixEyes_la-deyesa.lo: deyesa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -MT libMatrixEyes_la-deyesa.lo -MD -MP -MF $(DEPDIR)/libMatrixEyes_la-deyesa.Tpo -c -o libMatrixEyes_la-deyesa.lo `test -f 'deyesa.c' || echo '$(srcdir)/'`deyesa.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixEyes_la-deyesa.Tpo $(DEPDIR)/libMatrixEyes_la-deyesa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='deyesa.c' object='libMatrixEyes_la-deyesa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -c -o libMatrixEyes_la-deyesa.lo `test -f 'deyesa.c' || echo '$(srcdir)/'`deyesa.c
+
+libMatrixEyes_la-ceyesa.lo: ceyesa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -MT libMatrixEyes_la-ceyesa.lo -MD -MP -MF $(DEPDIR)/libMatrixEyes_la-ceyesa.Tpo -c -o libMatrixEyes_la-ceyesa.lo `test -f 'ceyesa.c' || echo '$(srcdir)/'`ceyesa.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixEyes_la-ceyesa.Tpo $(DEPDIR)/libMatrixEyes_la-ceyesa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ceyesa.c' object='libMatrixEyes_la-ceyesa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -c -o libMatrixEyes_la-ceyesa.lo `test -f 'ceyesa.c' || echo '$(srcdir)/'`ceyesa.c
+
+libMatrixEyes_la-zeyesa.lo: zeyesa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -MT libMatrixEyes_la-zeyesa.lo -MD -MP -MF $(DEPDIR)/libMatrixEyes_la-zeyesa.Tpo -c -o libMatrixEyes_la-zeyesa.lo `test -f 'zeyesa.c' || echo '$(srcdir)/'`zeyesa.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixEyes_la-zeyesa.Tpo $(DEPDIR)/libMatrixEyes_la-zeyesa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zeyesa.c' object='libMatrixEyes_la-zeyesa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixEyes_la_CFLAGS) $(CFLAGS) -c -o libMatrixEyes_la-zeyesa.lo `test -f 'zeyesa.c' || echo '$(srcdir)/'`zeyesa.c
+
+testMatrixEyes-testMatrixEyes.o: testMatrixEyes.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixEyes_CFLAGS) $(CFLAGS) -MT testMatrixEyes-testMatrixEyes.o -MD -MP -MF $(DEPDIR)/testMatrixEyes-testMatrixEyes.Tpo -c -o testMatrixEyes-testMatrixEyes.o `test -f 'testMatrixEyes.c' || echo '$(srcdir)/'`testMatrixEyes.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixEyes-testMatrixEyes.Tpo $(DEPDIR)/testMatrixEyes-testMatrixEyes.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixEyes.c' object='testMatrixEyes-testMatrixEyes.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixEyes_CFLAGS) $(CFLAGS) -c -o testMatrixEyes-testMatrixEyes.o `test -f 'testMatrixEyes.c' || echo '$(srcdir)/'`testMatrixEyes.c
+
+testMatrixEyes-testMatrixEyes.obj: testMatrixEyes.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixEyes_CFLAGS) $(CFLAGS) -MT testMatrixEyes-testMatrixEyes.obj -MD -MP -MF $(DEPDIR)/testMatrixEyes-testMatrixEyes.Tpo -c -o testMatrixEyes-testMatrixEyes.obj `if test -f 'testMatrixEyes.c'; then $(CYGPATH_W) 'testMatrixEyes.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixEyes.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixEyes-testMatrixEyes.Tpo $(DEPDIR)/testMatrixEyes-testMatrixEyes.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixEyes.c' object='testMatrixEyes-testMatrixEyes.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixEyes_CFLAGS) $(CFLAGS) -c -o testMatrixEyes-testMatrixEyes.obj `if test -f 'testMatrixEyes.c'; then $(CYGPATH_W) 'testMatrixEyes.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixEyes.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/matrixOperations/eyes/ceyesa.c b/src/matrixOperations/eyes/ceyesa.c
new file mode 100644
index 00000000..4e396f29
--- /dev/null
+++ b/src/matrixOperations/eyes/ceyesa.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixEyes.h"
+
+void ceyesa(floatComplex *in, int _iRows, int _iCols)
+{
+ int i , j ;
+
+ for ( i = 0 ; i < _iRows ; i++ )
+ for ( j = 0 ; j <_iCols ; j++ )
+ in[i + j * _iRows] = FloatComplex ( (i==j)?1.0f:0.0f , 0) ;
+
+
+}
diff --git a/src/matrixOperations/eyes/deyesa.c b/src/matrixOperations/eyes/deyesa.c
new file mode 100644
index 00000000..8f45038f
--- /dev/null
+++ b/src/matrixOperations/eyes/deyesa.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixEyes.h"
+
+void deyesa(double *in, int _iRows, int _iCols)
+{
+ int i , j ;
+
+ for ( i = 0 ; i < _iRows ; i++ )
+ for ( j = 0 ; j <_iCols ; j++ )
+ in[i + j * _iRows] = (i==j)?1:0 ;
+}
+
diff --git a/src/matrixOperations/eyes/seyesa.c b/src/matrixOperations/eyes/seyesa.c
new file mode 100644
index 00000000..40be50b9
--- /dev/null
+++ b/src/matrixOperations/eyes/seyesa.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixEyes.h"
+
+void seyesa(float* in, int _iRows, int _iCols)
+{
+ int i , j ;
+
+ for ( i = 0 ; i < _iRows ; i++ )
+ for ( j = 0 ; j <_iCols ; j++ )
+ in[i + j * _iRows] = (i==j)?1.0f:0 ;
+}
+
diff --git a/src/matrixOperations/eyes/zeyesa.c b/src/matrixOperations/eyes/zeyesa.c
new file mode 100644
index 00000000..c0f43a23
--- /dev/null
+++ b/src/matrixOperations/eyes/zeyesa.c
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "matrixEyes.h"
+
+
+
+void zeyesa(doubleComplex *in, int _iRows, int _iCols)
+{
+ int i , j ;
+
+ for ( i = 0 ; i < _iRows ; i++ )
+ for ( j = 0 ; j <_iCols ; j++ )
+ in[i + j * _iRows] = DoubleComplex ( (i==j)?1:0 , 0) ;
+
+
+}
+
diff --git a/src/matrixOperations/includes/hilbert.h b/src/matrixOperations/includes/hilbert.h
index 8e4e857b..11c4f6bd 100644
--- a/src/matrixOperations/includes/hilbert.h
+++ b/src/matrixOperations/includes/hilbert.h
@@ -13,6 +13,8 @@
#ifndef __HILBERT_H__
#define __HILBERT_H__
+#include "floatComplex.h"
+#include "doubleComplex.h"
#include <math.h>
/*
** generate an Hilbert's matrix
@@ -32,3 +34,4 @@ void shilba ( float* out, int size) ;
void dhilba ( double* out, int size ) ;
#endif /* !__HILBERT_H__ */
+
diff --git a/src/matrixOperations/includes/infiniteNorm.h b/src/matrixOperations/includes/infiniteNorm.h
new file mode 100644
index 00000000..61518e47
--- /dev/null
+++ b/src/matrixOperations/includes/infiniteNorm.h
@@ -0,0 +1,32 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __INFINITENORM_H__
+#define __INFINITENORM_H__
+
+#include "sign.h"
+#include "pythag.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+float sinfnorma(float* in, int _iRows, int _iCols);
+
+double dinfnorma(double* in, int _iRows, int _iCols);
+
+float cinfnorma(floatComplex* in, int _iRows, int _iCols);
+
+double zinfnorma(doubleComplex* in, int _iRows, int _iCols);
+
+
+
+#endif /* !__INFINITENORM_H__ */
+
diff --git a/src/matrixOperations/includes/matrixDivision.h b/src/matrixOperations/includes/matrixDivision.h
index 2100092e..38fc9634 100644
--- a/src/matrixOperations/includes/matrixDivision.h
+++ b/src/matrixOperations/includes/matrixDivision.h
@@ -19,6 +19,8 @@
#include "cat.h"
#include "matrixTranspose.h"
#include "conj.h"
+#include "min.h"
+#include "max.h"
void srdiva ( float* in1, int lines1, int columns1 ,
@@ -47,10 +49,6 @@ void zldiva( doubleComplex* in1, int lines1, int columns1 ,
doubleComplex* in2, int lines2, int columns2 ,
doubleComplex* out );
-int Min(int _dblVar1, int _dblVar2);
-int Max(int _dblVar1, int _dblVar2);
-
-
void crdiva( floatComplex* in1, int lines1, int columns1 ,
floatComplex* in2, int lines2, int columns2 ,
floatComplex* out );
diff --git a/src/matrixOperations/includes/matrixExponential.h b/src/matrixOperations/includes/matrixExponential.h
new file mode 100644
index 00000000..6e11649b
--- /dev/null
+++ b/src/matrixOperations/includes/matrixExponential.h
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __MATRIXEXPONENTIAL_H__
+#define __MATRIXEXPONENTIAL_H__
+
+#include <math.h>
+#include "lapack.h"
+#include "blas.h"
+#include <stdlib.h>
+#include "abs.h"
+#include "exp.h"
+#include "max.h"
+#include "pow.h"
+#include "matrixDivision.h"
+#include "matrixMultiplication.h"
+#include "matrixAddition.h"
+#include "matrixSubtraction.h"
+#include "matrixEyes.h"
+#include "infiniteNorm.h"
+#include "frexp.h"
+
+
+void sexpma (float* in, float* out, int _iLeadDim);
+
+void dexpma (double* in, double* out, int _iLeadDim);
+
+void cexpma(floatComplex * in, floatComplex * out, int _iLeadDim);
+
+void zexpma (doubleComplex * in, doubleComplex * out, int _iLeadDim);
+
+
+#endif /* !__MATRIXEXPONENTIAL_H__ */
+
diff --git a/src/matrixOperations/includes/matrixEyes.h b/src/matrixOperations/includes/matrixEyes.h
new file mode 100644
index 00000000..af10010d
--- /dev/null
+++ b/src/matrixOperations/includes/matrixEyes.h
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __MATRIXEYES_H__
+#define __MATRIXEYES_H__
+
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+void seyesa(float* in, int _iRows, int _iCols);
+
+void deyesa(double* in, int _iRows, int _iCols);
+
+void ceyesa(floatComplex* in, int _iRows, int _iCols);
+
+void zeyesa(doubleComplex* in, int _iRows, int _iCols);
+
+
+
+#endif /* !__MATRIXEYES_H__ */
+
diff --git a/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-cinfnorma.Plo b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-cinfnorma.Plo
new file mode 100644
index 00000000..e49f7407
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-cinfnorma.Plo
@@ -0,0 +1,83 @@
+libMatrixInfiniteNorm_la-cinfnorma.lo: cinfnorma.c \
+ ../../matrixOperations/includes/infiniteNorm.h \
+ ../../auxiliaryFunctions/includes/sign.h /usr/include/math.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h /usr/include/bits/huge_val.h \
+ /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
+ /usr/include/bits/mathinline.h ../../type/floatComplex.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h \
+ ../../type/doubleComplex.h /usr/include/stdlib.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ ../../auxiliaryFunctions/includes/pythag.h \
+ ../../elementaryFunctions/includes/sqrt.h
+
+../../matrixOperations/includes/infiniteNorm.h:
+
+../../auxiliaryFunctions/includes/sign.h:
+
+/usr/include/math.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+../../type/floatComplex.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h:
+
+../../type/doubleComplex.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+../../auxiliaryFunctions/includes/pythag.h:
+
+../../elementaryFunctions/includes/sqrt.h:
diff --git a/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-dinfnorma.Plo b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-dinfnorma.Plo
new file mode 100644
index 00000000..777618ed
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-dinfnorma.Plo
@@ -0,0 +1,83 @@
+libMatrixInfiniteNorm_la-dinfnorma.lo: dinfnorma.c \
+ ../../matrixOperations/includes/infiniteNorm.h \
+ ../../auxiliaryFunctions/includes/sign.h /usr/include/math.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h /usr/include/bits/huge_val.h \
+ /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
+ /usr/include/bits/mathinline.h ../../type/floatComplex.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h \
+ ../../type/doubleComplex.h /usr/include/stdlib.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ ../../auxiliaryFunctions/includes/pythag.h \
+ ../../elementaryFunctions/includes/sqrt.h
+
+../../matrixOperations/includes/infiniteNorm.h:
+
+../../auxiliaryFunctions/includes/sign.h:
+
+/usr/include/math.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+../../type/floatComplex.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h:
+
+../../type/doubleComplex.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+../../auxiliaryFunctions/includes/pythag.h:
+
+../../elementaryFunctions/includes/sqrt.h:
diff --git a/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-sinfnorma.Plo b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-sinfnorma.Plo
new file mode 100644
index 00000000..8ffbf96b
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-sinfnorma.Plo
@@ -0,0 +1,83 @@
+libMatrixInfiniteNorm_la-sinfnorma.lo: sinfnorma.c \
+ ../../matrixOperations/includes/infiniteNorm.h \
+ ../../auxiliaryFunctions/includes/sign.h /usr/include/math.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h /usr/include/bits/huge_val.h \
+ /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
+ /usr/include/bits/mathinline.h ../../type/floatComplex.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h \
+ ../../type/doubleComplex.h /usr/include/stdlib.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ ../../auxiliaryFunctions/includes/pythag.h \
+ ../../elementaryFunctions/includes/sqrt.h
+
+../../matrixOperations/includes/infiniteNorm.h:
+
+../../auxiliaryFunctions/includes/sign.h:
+
+/usr/include/math.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+../../type/floatComplex.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h:
+
+../../type/doubleComplex.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+../../auxiliaryFunctions/includes/pythag.h:
+
+../../elementaryFunctions/includes/sqrt.h:
diff --git a/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-zinfnorma.Plo b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-zinfnorma.Plo
new file mode 100644
index 00000000..d9411f7c
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/.deps/libMatrixInfiniteNorm_la-zinfnorma.Plo
@@ -0,0 +1,83 @@
+libMatrixInfiniteNorm_la-zinfnorma.lo: zinfnorma.c \
+ ../../matrixOperations/includes/infiniteNorm.h \
+ ../../auxiliaryFunctions/includes/sign.h /usr/include/math.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h /usr/include/bits/huge_val.h \
+ /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
+ /usr/include/bits/mathinline.h ../../type/floatComplex.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h \
+ ../../type/doubleComplex.h /usr/include/stdlib.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ ../../auxiliaryFunctions/includes/pythag.h \
+ ../../elementaryFunctions/includes/sqrt.h
+
+../../matrixOperations/includes/infiniteNorm.h:
+
+../../auxiliaryFunctions/includes/sign.h:
+
+/usr/include/math.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/include/bits/huge_val.h:
+
+/usr/include/bits/mathdef.h:
+
+/usr/include/bits/mathcalls.h:
+
+/usr/include/bits/mathinline.h:
+
+../../type/floatComplex.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stdbool.h:
+
+../../type/doubleComplex.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/i486-linux-gnu/4.3.0/include/stddef.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+../../auxiliaryFunctions/includes/pythag.h:
+
+../../elementaryFunctions/includes/sqrt.h:
diff --git a/src/matrixOperations/infiniteNorm/.deps/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po b/src/matrixOperations/infiniteNorm/.deps/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po
new file mode 100644
index 00000000..9ce06a81
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/.deps/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/src/matrixOperations/infiniteNorm/Makefile.am b/src/matrixOperations/infiniteNorm/Makefile.am
new file mode 100644
index 00000000..809cd670
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/Makefile.am
@@ -0,0 +1,48 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2008-2008 - INRIA - Allan SIMON
+##
+## This file must be used under the terms of the CeCILL.
+## This source file is licensed as described in the file COPYING, which
+## you should have received as part of this distribution. The terms
+## are also available at
+## http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+##
+##
+
+libMatrixInfiniteNorm_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMatrixInfiniteNorm.la
+
+HEAD = ../includes/infiniteNorm.h
+
+libMatrixInfiniteNorm_la_SOURCES = $(HEAD) \
+ sinfnorma.c \
+ dinfnorma.c \
+ cinfnorma.c \
+ zinfnorma.c
+
+check_PROGRAMS = testMatrixInfiniteNorm
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libMatrixInfiniteNorm.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixInfiniteNorm_SOURCES = testMatrixInfiniteNorm.c
+testMatrixInfiniteNorm_LDADD = $(check_LDADD)
+testMatrixInfiniteNorm_CFLAGS = $(check_INCLUDES)
+
+TESTS = testMatrixInfiniteNorm
diff --git a/src/matrixOperations/infiniteNorm/Makefile.in b/src/matrixOperations/infiniteNorm/Makefile.in
new file mode 100644
index 00000000..7fbf3c7d
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/Makefile.in
@@ -0,0 +1,644 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testMatrixInfiniteNorm$(EXEEXT)
+TESTS = testMatrixInfiniteNorm$(EXEEXT)
+subdir = matrixOperations/infiniteNorm
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+pkglibLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMatrixInfiniteNorm_la_LIBADD =
+am__objects_1 =
+am_libMatrixInfiniteNorm_la_OBJECTS = $(am__objects_1) \
+ libMatrixInfiniteNorm_la-sinfnorma.lo \
+ libMatrixInfiniteNorm_la-dinfnorma.lo \
+ libMatrixInfiniteNorm_la-cinfnorma.lo \
+ libMatrixInfiniteNorm_la-zinfnorma.lo
+libMatrixInfiniteNorm_la_OBJECTS = \
+ $(am_libMatrixInfiniteNorm_la_OBJECTS)
+libMatrixInfiniteNorm_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_testMatrixInfiniteNorm_OBJECTS = \
+ testMatrixInfiniteNorm-testMatrixInfiniteNorm.$(OBJEXT)
+testMatrixInfiniteNorm_OBJECTS = $(am_testMatrixInfiniteNorm_OBJECTS)
+testMatrixInfiniteNorm_DEPENDENCIES = $(check_LDADD)
+testMatrixInfiniteNorm_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testMatrixInfiniteNorm_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libMatrixInfiniteNorm_la_SOURCES) \
+ $(testMatrixInfiniteNorm_SOURCES)
+DIST_SOURCES = $(libMatrixInfiniteNorm_la_SOURCES) \
+ $(testMatrixInfiniteNorm_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMatrixInfiniteNorm_la_CFLAGS = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMatrixInfiniteNorm.la
+HEAD = ../includes/infiniteNorm.h
+libMatrixInfiniteNorm_la_SOURCES = $(HEAD) \
+ sinfnorma.c \
+ dinfnorma.c \
+ cinfnorma.c \
+ zinfnorma.c
+
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+ $(top_builddir)/type/libFloatComplex.la \
+ libMatrixInfiniteNorm.la
+
+check_INCLUDES = -I $(top_builddir)/type \
+ -I $(top_builddir)/matrixOperations/includes \
+ -I $(top_builddir)/auxiliaryFunctions/includes \
+ -I $(top_builddir)/includes \
+ -I $(top_builddir)/elementaryFunctions/includes
+
+testMatrixInfiniteNorm_SOURCES = testMatrixInfiniteNorm.c
+testMatrixInfiniteNorm_LDADD = $(check_LDADD)
+testMatrixInfiniteNorm_CFLAGS = $(check_INCLUDES)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign matrixOperations/infiniteNorm/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign matrixOperations/infiniteNorm/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libMatrixInfiniteNorm.la: $(libMatrixInfiniteNorm_la_OBJECTS) $(libMatrixInfiniteNorm_la_DEPENDENCIES)
+ $(libMatrixInfiniteNorm_la_LINK) -rpath $(pkglibdir) $(libMatrixInfiniteNorm_la_OBJECTS) $(libMatrixInfiniteNorm_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+testMatrixInfiniteNorm$(EXEEXT): $(testMatrixInfiniteNorm_OBJECTS) $(testMatrixInfiniteNorm_DEPENDENCIES)
+ @rm -f testMatrixInfiniteNorm$(EXEEXT)
+ $(testMatrixInfiniteNorm_LINK) $(testMatrixInfiniteNorm_OBJECTS) $(testMatrixInfiniteNorm_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixInfiniteNorm_la-cinfnorma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixInfiniteNorm_la-dinfnorma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixInfiniteNorm_la-sinfnorma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMatrixInfiniteNorm_la-zinfnorma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libMatrixInfiniteNorm_la-sinfnorma.lo: sinfnorma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -MT libMatrixInfiniteNorm_la-sinfnorma.lo -MD -MP -MF $(DEPDIR)/libMatrixInfiniteNorm_la-sinfnorma.Tpo -c -o libMatrixInfiniteNorm_la-sinfnorma.lo `test -f 'sinfnorma.c' || echo '$(srcdir)/'`sinfnorma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixInfiniteNorm_la-sinfnorma.Tpo $(DEPDIR)/libMatrixInfiniteNorm_la-sinfnorma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sinfnorma.c' object='libMatrixInfiniteNorm_la-sinfnorma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -c -o libMatrixInfiniteNorm_la-sinfnorma.lo `test -f 'sinfnorma.c' || echo '$(srcdir)/'`sinfnorma.c
+
+libMatrixInfiniteNorm_la-dinfnorma.lo: dinfnorma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -MT libMatrixInfiniteNorm_la-dinfnorma.lo -MD -MP -MF $(DEPDIR)/libMatrixInfiniteNorm_la-dinfnorma.Tpo -c -o libMatrixInfiniteNorm_la-dinfnorma.lo `test -f 'dinfnorma.c' || echo '$(srcdir)/'`dinfnorma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixInfiniteNorm_la-dinfnorma.Tpo $(DEPDIR)/libMatrixInfiniteNorm_la-dinfnorma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dinfnorma.c' object='libMatrixInfiniteNorm_la-dinfnorma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -c -o libMatrixInfiniteNorm_la-dinfnorma.lo `test -f 'dinfnorma.c' || echo '$(srcdir)/'`dinfnorma.c
+
+libMatrixInfiniteNorm_la-cinfnorma.lo: cinfnorma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -MT libMatrixInfiniteNorm_la-cinfnorma.lo -MD -MP -MF $(DEPDIR)/libMatrixInfiniteNorm_la-cinfnorma.Tpo -c -o libMatrixInfiniteNorm_la-cinfnorma.lo `test -f 'cinfnorma.c' || echo '$(srcdir)/'`cinfnorma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixInfiniteNorm_la-cinfnorma.Tpo $(DEPDIR)/libMatrixInfiniteNorm_la-cinfnorma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cinfnorma.c' object='libMatrixInfiniteNorm_la-cinfnorma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -c -o libMatrixInfiniteNorm_la-cinfnorma.lo `test -f 'cinfnorma.c' || echo '$(srcdir)/'`cinfnorma.c
+
+libMatrixInfiniteNorm_la-zinfnorma.lo: zinfnorma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -MT libMatrixInfiniteNorm_la-zinfnorma.lo -MD -MP -MF $(DEPDIR)/libMatrixInfiniteNorm_la-zinfnorma.Tpo -c -o libMatrixInfiniteNorm_la-zinfnorma.lo `test -f 'zinfnorma.c' || echo '$(srcdir)/'`zinfnorma.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libMatrixInfiniteNorm_la-zinfnorma.Tpo $(DEPDIR)/libMatrixInfiniteNorm_la-zinfnorma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zinfnorma.c' object='libMatrixInfiniteNorm_la-zinfnorma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMatrixInfiniteNorm_la_CFLAGS) $(CFLAGS) -c -o libMatrixInfiniteNorm_la-zinfnorma.lo `test -f 'zinfnorma.c' || echo '$(srcdir)/'`zinfnorma.c
+
+testMatrixInfiniteNorm-testMatrixInfiniteNorm.o: testMatrixInfiniteNorm.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixInfiniteNorm_CFLAGS) $(CFLAGS) -MT testMatrixInfiniteNorm-testMatrixInfiniteNorm.o -MD -MP -MF $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Tpo -c -o testMatrixInfiniteNorm-testMatrixInfiniteNorm.o `test -f 'testMatrixInfiniteNorm.c' || echo '$(srcdir)/'`testMatrixInfiniteNorm.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Tpo $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixInfiniteNorm.c' object='testMatrixInfiniteNorm-testMatrixInfiniteNorm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixInfiniteNorm_CFLAGS) $(CFLAGS) -c -o testMatrixInfiniteNorm-testMatrixInfiniteNorm.o `test -f 'testMatrixInfiniteNorm.c' || echo '$(srcdir)/'`testMatrixInfiniteNorm.c
+
+testMatrixInfiniteNorm-testMatrixInfiniteNorm.obj: testMatrixInfiniteNorm.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixInfiniteNorm_CFLAGS) $(CFLAGS) -MT testMatrixInfiniteNorm-testMatrixInfiniteNorm.obj -MD -MP -MF $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Tpo -c -o testMatrixInfiniteNorm-testMatrixInfiniteNorm.obj `if test -f 'testMatrixInfiniteNorm.c'; then $(CYGPATH_W) 'testMatrixInfiniteNorm.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixInfiniteNorm.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Tpo $(DEPDIR)/testMatrixInfiniteNorm-testMatrixInfiniteNorm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testMatrixInfiniteNorm.c' object='testMatrixInfiniteNorm-testMatrixInfiniteNorm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testMatrixInfiniteNorm_CFLAGS) $(CFLAGS) -c -o testMatrixInfiniteNorm-testMatrixInfiniteNorm.obj `if test -f 'testMatrixInfiniteNorm.c'; then $(CYGPATH_W) 'testMatrixInfiniteNorm.c'; else $(CYGPATH_W) '$(srcdir)/testMatrixInfiniteNorm.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *$$ws$$tst$$ws*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/matrixOperations/infiniteNorm/cinfnorma.c b/src/matrixOperations/infiniteNorm/cinfnorma.c
new file mode 100644
index 00000000..e930d407
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/cinfnorma.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "infiniteNorm.h"
+
+float cinfnorma(floatComplex* in, int _iRows, int _iCols)
+{
+ int iIndex1 = 0, iIndex2 = 0;
+ float fltTemp = 0;
+ float fltRef = 0;
+
+ for(iIndex1 = 0 ; iIndex1 < _iRows ; iIndex1++)
+ {
+ fltTemp = 0;
+ for(iIndex2 = 0 ; iIndex2 < _iCols ; iIndex2++)
+ {
+ fltTemp += spythags( creals( in[iIndex1 + iIndex2 * _iRows]),
+ cimags( in[iIndex1 + iIndex2 * _iRows]));
+ }
+ if(fltTemp > fltRef)
+ fltRef = fltTemp;
+ }
+
+ return fltRef;
+}
diff --git a/src/matrixOperations/infiniteNorm/dinfnorma.c b/src/matrixOperations/infiniteNorm/dinfnorma.c
new file mode 100644
index 00000000..ba414bba
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/dinfnorma.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "infiniteNorm.h"
+
+double dinfnorma(double* in, int _iRows, int _iCols)
+{
+ int iIndex1 = 0, iIndex2 = 0;
+ double dblTemp = 0;
+ double dblRef = 0;
+
+
+ for(iIndex1 = 0 ; iIndex1 < _iRows ; iIndex1++)
+ {
+ dblTemp = 0;
+ for(iIndex2 = 0 ; iIndex2 < _iCols ; iIndex2++)
+ {
+ dblTemp += in[iIndex1 + iIndex2 * _iRows];
+ }
+ if(dblTemp > dblRef)
+ dblRef = dblTemp;
+ }
+
+ return dblRef;
+
+}
diff --git a/src/matrixOperations/infiniteNorm/sinfnorma.c b/src/matrixOperations/infiniteNorm/sinfnorma.c
new file mode 100644
index 00000000..3c614afd
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/sinfnorma.c
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "infiniteNorm.h"
+
+float sinfnorma(float* in, int _iRows, int _iCols)
+{
+ int iIndex1 = 0, iIndex2 = 0;
+ float fltTemp = 0;
+ float fltRef = 0;
+
+
+ for(iIndex1 = 0 ; iIndex1 < _iRows ; iIndex1++)
+ {
+ fltTemp = 0;
+ for(iIndex2 = 0 ; iIndex2 < _iCols ; iIndex2++)
+ {
+ fltTemp += in[iIndex1 + iIndex2 * _iRows];
+ }
+ if(fltTemp > fltRef)
+ fltRef = fltTemp;
+ }
+
+ return fltRef;
+
+
+}
+
diff --git a/src/matrixOperations/infiniteNorm/zinfnorma.c b/src/matrixOperations/infiniteNorm/zinfnorma.c
new file mode 100644
index 00000000..bc683903
--- /dev/null
+++ b/src/matrixOperations/infiniteNorm/zinfnorma.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "infiniteNorm.h"
+
+double zinfnorma(doubleComplex* in, int _iRows, int _iCols)
+{
+ int iIndex1 = 0, iIndex2 = 0;
+ double dblTemp = 0;
+ double dblRef = 0;
+
+ for(iIndex1 = 0 ; iIndex1 < _iRows ; iIndex1++)
+ {
+ dblTemp = 0;
+ for(iIndex2 = 0 ; iIndex2 < _iCols ; iIndex2++)
+ {
+ dblTemp += dpythags( zreals( in[iIndex1 + iIndex2 * _iRows]),
+ zimags( in[iIndex1 + iIndex2 * _iRows]));
+ }
+ if(dblTemp > dblRef)
+ dblRef = dblTemp;
+ }
+
+ return dblRef;
+}
diff --git a/src/matrixOperations/multiplication/zmulma.c b/src/matrixOperations/multiplication/zmulma.c
index 30147c75..d1552ca6 100644
--- a/src/matrixOperations/multiplication/zmulma.c
+++ b/src/matrixOperations/multiplication/zmulma.c
@@ -72,7 +72,7 @@ void zmulma(doubleComplex *in1, int lines1, int columns1,
{
out[i] = DoubleComplex(RealOut[i], ImagOut[i]);
}
- /* FREE allocated variables */
+ /* FREE allocated variguru_dim_structables */
free(in1Real);
free(in2Real);
free(in1Imag);
@@ -80,6 +80,7 @@ void zmulma(doubleComplex *in1, int lines1, int columns1,
free(RealOut);
free(ImagOut);
#else
+ */
/*
** DO NOT USE ANY BLAS FUNCTION.
*/