summaryrefslogtreecommitdiff
path: root/src/c/statisticsFunctions
diff options
context:
space:
mode:
authorAnkit Raj2017-06-21 10:26:59 +0530
committerAnkit Raj2017-06-21 10:26:59 +0530
commit958577cac90a99124cd673fde1926781d966d91f (patch)
tree134d9fe7f5b97a647cb055bb7b4c21820a749f49 /src/c/statisticsFunctions
downloadScilab2C_fossee_old-958577cac90a99124cd673fde1926781d966d91f.tar.gz
Scilab2C_fossee_old-958577cac90a99124cd673fde1926781d966d91f.tar.bz2
Scilab2C_fossee_old-958577cac90a99124cd673fde1926781d966d91f.zip
Updated Scilab2C
Diffstat (limited to 'src/c/statisticsFunctions')
-rw-r--r--src/c/statisticsFunctions/Makefile.am21
-rw-r--r--src/c/statisticsFunctions/Makefile.in569
-rw-r--r--src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h26
-rw-r--r--src/c/statisticsFunctions/includes/mean.h99
-rw-r--r--src/c/statisticsFunctions/includes/meanf.h106
-rw-r--r--src/c/statisticsFunctions/includes/prod.h100
-rw-r--r--src/c/statisticsFunctions/includes/statMax.h130
-rw-r--r--src/c/statisticsFunctions/includes/statMin.h130
-rw-r--r--src/c/statisticsFunctions/includes/stdevf.h129
-rw-r--r--src/c/statisticsFunctions/includes/sum.h102
-rw-r--r--src/c/statisticsFunctions/includes/variance.h117
-rw-r--r--src/c/statisticsFunctions/includes/variancef.h117
-rw-r--r--src/c/statisticsFunctions/interfaces/int_mean.h71
-rw-r--r--src/c/statisticsFunctions/interfaces/int_meanf.h183
-rw-r--r--src/c/statisticsFunctions/interfaces/int_prod.h71
-rw-r--r--src/c/statisticsFunctions/interfaces/int_statMax.h161
-rw-r--r--src/c/statisticsFunctions/interfaces/int_statMin.h162
-rw-r--r--src/c/statisticsFunctions/interfaces/int_stdevf.h188
-rw-r--r--src/c/statisticsFunctions/interfaces/int_sum.h70
-rw-r--r--src/c/statisticsFunctions/interfaces/int_variance.h71
-rw-r--r--src/c/statisticsFunctions/interfaces/int_variancef.h58
-rw-r--r--src/c/statisticsFunctions/max/Makefile.am51
-rw-r--r--src/c/statisticsFunctions/max/Makefile.in759
-rw-r--r--src/c/statisticsFunctions/max/dcolumnmaxa.c25
-rw-r--r--src/c/statisticsFunctions/max/dmaxa.c26
-rw-r--r--src/c/statisticsFunctions/max/drowmaxa.c24
-rw-r--r--src/c/statisticsFunctions/max/i16columnmaxa.c25
-rw-r--r--src/c/statisticsFunctions/max/i16maxa.c26
-rw-r--r--src/c/statisticsFunctions/max/i16rowmaxa.c24
-rw-r--r--src/c/statisticsFunctions/max/i8columnmaxa.c25
-rw-r--r--src/c/statisticsFunctions/max/i8maxa.c25
-rw-r--r--src/c/statisticsFunctions/max/i8rowmaxa.c24
-rw-r--r--src/c/statisticsFunctions/max/scolumnmaxa.c24
-rw-r--r--src/c/statisticsFunctions/max/smaxa.c25
-rw-r--r--src/c/statisticsFunctions/max/srowmaxa.c23
-rw-r--r--src/c/statisticsFunctions/max/testDoubleMax.c93
-rw-r--r--src/c/statisticsFunctions/max/testFloatMax.c93
-rw-r--r--src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj178
-rw-r--r--src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj178
-rw-r--r--src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/max/u16columnmaxa.c26
-rw-r--r--src/c/statisticsFunctions/max/u16maxa.c25
-rw-r--r--src/c/statisticsFunctions/max/u16rowmaxa.c27
-rw-r--r--src/c/statisticsFunctions/max/u8columnmaxa.c26
-rw-r--r--src/c/statisticsFunctions/max/u8maxa.c26
-rw-r--r--src/c/statisticsFunctions/max/u8rowmaxa.c28
-rw-r--r--src/c/statisticsFunctions/mean/Makefile.am69
-rw-r--r--src/c/statisticsFunctions/mean/Makefile.in839
-rw-r--r--src/c/statisticsFunctions/mean/ccolumnmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/cmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/crowmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/dcolumnmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/dmeana.c25
-rw-r--r--src/c/statisticsFunctions/mean/drowmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/scolumnmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/smeana.c25
-rw-r--r--src/c/statisticsFunctions/mean/srowmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/testDoubleMean.c498
-rw-r--r--src/c/statisticsFunctions/mean/testFloatMean.c481
-rw-r--r--src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj178
-rw-r--r--src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj178
-rw-r--r--src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/mean/zcolumnmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/zmeana.c24
-rw-r--r--src/c/statisticsFunctions/mean/zrowmeana.c24
-rw-r--r--src/c/statisticsFunctions/meanf/Makefile.am74
-rw-r--r--src/c/statisticsFunctions/meanf/Makefile.in879
-rw-r--r--src/c/statisticsFunctions/meanf/ccolumnmeanfa.c39
-rw-r--r--src/c/statisticsFunctions/meanf/cmeanfa.c30
-rw-r--r--src/c/statisticsFunctions/meanf/cmeanfcs.c23
-rw-r--r--src/c/statisticsFunctions/meanf/cmeanfsc.c23
-rw-r--r--src/c/statisticsFunctions/meanf/crowmeanfa.c36
-rw-r--r--src/c/statisticsFunctions/meanf/dcolumnmeanfa.c40
-rw-r--r--src/c/statisticsFunctions/meanf/dmeanfa.c28
-rw-r--r--src/c/statisticsFunctions/meanf/drowmeanfa.c36
-rw-r--r--src/c/statisticsFunctions/meanf/scolumnmeanfa.c40
-rw-r--r--src/c/statisticsFunctions/meanf/smeanfa.c27
-rw-r--r--src/c/statisticsFunctions/meanf/srowmeanfa.c37
-rw-r--r--src/c/statisticsFunctions/meanf/testDoubleMeanf.c409
-rw-r--r--src/c/statisticsFunctions/meanf/testFloatMeanf.c383
-rw-r--r--src/c/statisticsFunctions/meanf/zcolumnmeanfa.c39
-rw-r--r--src/c/statisticsFunctions/meanf/zmeanfa.c29
-rw-r--r--src/c/statisticsFunctions/meanf/zmeanfdz.c23
-rw-r--r--src/c/statisticsFunctions/meanf/zmeanfzd.c23
-rw-r--r--src/c/statisticsFunctions/meanf/zrowmeanfa.c36
-rw-r--r--src/c/statisticsFunctions/min/Makefile.am51
-rw-r--r--src/c/statisticsFunctions/min/Makefile.in759
-rw-r--r--src/c/statisticsFunctions/min/dcolumnmina.c24
-rw-r--r--src/c/statisticsFunctions/min/dmina.c25
-rw-r--r--src/c/statisticsFunctions/min/drowmina.c23
-rw-r--r--src/c/statisticsFunctions/min/i16columnmina.c25
-rw-r--r--src/c/statisticsFunctions/min/i16mina.c26
-rw-r--r--src/c/statisticsFunctions/min/i16rowmina.c24
-rw-r--r--src/c/statisticsFunctions/min/i8columnmina.c25
-rw-r--r--src/c/statisticsFunctions/min/i8mina.c26
-rw-r--r--src/c/statisticsFunctions/min/i8rowmina.c24
-rw-r--r--src/c/statisticsFunctions/min/scolumnmina.c24
-rw-r--r--src/c/statisticsFunctions/min/smina.c25
-rw-r--r--src/c/statisticsFunctions/min/srowmina.c23
-rw-r--r--src/c/statisticsFunctions/min/testDoubleMin.c93
-rw-r--r--src/c/statisticsFunctions/min/testFloatMin.c92
-rw-r--r--src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj178
-rw-r--r--src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj178
-rw-r--r--src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/min/u16columnmina.c25
-rw-r--r--src/c/statisticsFunctions/min/u16mina.c26
-rw-r--r--src/c/statisticsFunctions/min/u16rowmina.c25
-rw-r--r--src/c/statisticsFunctions/min/u8columnmina.c25
-rw-r--r--src/c/statisticsFunctions/min/u8mina.c26
-rw-r--r--src/c/statisticsFunctions/min/u8rowmina.c24
-rw-r--r--src/c/statisticsFunctions/prod/Makefile.am66
-rw-r--r--src/c/statisticsFunctions/prod/Makefile.in833
-rw-r--r--src/c/statisticsFunctions/prod/ccolumnproda.c36
-rw-r--r--src/c/statisticsFunctions/prod/cproda.c30
-rw-r--r--src/c/statisticsFunctions/prod/crowproda.c37
-rw-r--r--src/c/statisticsFunctions/prod/dcolumnproda.c35
-rw-r--r--src/c/statisticsFunctions/prod/dproda.c29
-rw-r--r--src/c/statisticsFunctions/prod/drowproda.c35
-rw-r--r--src/c/statisticsFunctions/prod/scolumnproda.c35
-rw-r--r--src/c/statisticsFunctions/prod/sproda.c29
-rw-r--r--src/c/statisticsFunctions/prod/srowproda.c35
-rw-r--r--src/c/statisticsFunctions/prod/testDoubleProd.c519
-rw-r--r--src/c/statisticsFunctions/prod/testFloatProd.c527
-rw-r--r--src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj178
-rw-r--r--src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj178
-rw-r--r--src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/prod/zcolumnproda.c36
-rw-r--r--src/c/statisticsFunctions/prod/zproda.c30
-rw-r--r--src/c/statisticsFunctions/prod/zrowproda.c37
-rw-r--r--src/c/statisticsFunctions/statisticsFunctions.vcxproj661
-rw-r--r--src/c/statisticsFunctions/statisticsFunctions.vcxproj.filters311
-rw-r--r--src/c/statisticsFunctions/stdevf/Makefile.am88
-rw-r--r--src/c/statisticsFunctions/stdevf/Makefile.in875
-rw-r--r--src/c/statisticsFunctions/stdevf/ccolumnstdevfa.c58
-rw-r--r--src/c/statisticsFunctions/stdevf/crowstdevfa.c59
-rw-r--r--src/c/statisticsFunctions/stdevf/cstdevfa.c43
-rw-r--r--src/c/statisticsFunctions/stdevf/cstdevfcs.c41
-rw-r--r--src/c/statisticsFunctions/stdevf/cstdevfsc.c23
-rw-r--r--src/c/statisticsFunctions/stdevf/dcolumnstdevfa.c69
-rw-r--r--src/c/statisticsFunctions/stdevf/drowstdevfa.c53
-rw-r--r--src/c/statisticsFunctions/stdevf/dstdevfa.c43
-rw-r--r--src/c/statisticsFunctions/stdevf/scolumnstdevfa.c69
-rw-r--r--src/c/statisticsFunctions/stdevf/srowstdevfa.c53
-rw-r--r--src/c/statisticsFunctions/stdevf/sstdevfa.c68
-rw-r--r--src/c/statisticsFunctions/stdevf/testDoubleStdevf.c509
-rw-r--r--src/c/statisticsFunctions/stdevf/testFloatStdevf.c389
-rw-r--r--src/c/statisticsFunctions/stdevf/zcolumnstdevfa.c59
-rw-r--r--src/c/statisticsFunctions/stdevf/zrowstdevfa.c63
-rw-r--r--src/c/statisticsFunctions/stdevf/zstdevfa.c46
-rw-r--r--src/c/statisticsFunctions/stdevf/zstdevfdz.c23
-rw-r--r--src/c/statisticsFunctions/stdevf/zstdevfzd.c41
-rw-r--r--src/c/statisticsFunctions/sum/Makefile.am65
-rw-r--r--src/c/statisticsFunctions/sum/Makefile.in831
-rw-r--r--src/c/statisticsFunctions/sum/ccolumnsuma.c33
-rw-r--r--src/c/statisticsFunctions/sum/crowsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/csuma.c24
-rw-r--r--src/c/statisticsFunctions/sum/dcolumnsuma.c33
-rw-r--r--src/c/statisticsFunctions/sum/drowsuma.c33
-rw-r--r--src/c/statisticsFunctions/sum/dsuma.c25
-rw-r--r--src/c/statisticsFunctions/sum/i16columnsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/i16rowsuma.c35
-rw-r--r--src/c/statisticsFunctions/sum/i16suma.c26
-rw-r--r--src/c/statisticsFunctions/sum/i8columnsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/i8rowsuma.c35
-rw-r--r--src/c/statisticsFunctions/sum/i8suma.c27
-rw-r--r--src/c/statisticsFunctions/sum/scolumnsuma.c33
-rw-r--r--src/c/statisticsFunctions/sum/srowsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/ssuma.c25
-rw-r--r--src/c/statisticsFunctions/sum/testDoubleSum.c493
-rw-r--r--src/c/statisticsFunctions/sum/testFloatSum.c481
-rw-r--r--src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj178
-rw-r--r--src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj178
-rw-r--r--src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/sum/u16columnsuma.c35
-rw-r--r--src/c/statisticsFunctions/sum/u16rowsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/u16suma.c25
-rw-r--r--src/c/statisticsFunctions/sum/u8columnsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/u8rowsuma.c35
-rw-r--r--src/c/statisticsFunctions/sum/u8suma.c26
-rw-r--r--src/c/statisticsFunctions/sum/zcolumnsuma.c33
-rw-r--r--src/c/statisticsFunctions/sum/zrowsuma.c34
-rw-r--r--src/c/statisticsFunctions/sum/zsuma.c24
-rw-r--r--src/c/statisticsFunctions/variance/Makefile.am89
-rw-r--r--src/c/statisticsFunctions/variance/Makefile.in884
-rw-r--r--src/c/statisticsFunctions/variance/ccolumnvariancea.c34
-rw-r--r--src/c/statisticsFunctions/variance/crowvariancea.c22
-rw-r--r--src/c/statisticsFunctions/variance/cvariancea.c36
-rw-r--r--src/c/statisticsFunctions/variance/dcolumnvariancea.c32
-rw-r--r--src/c/statisticsFunctions/variance/drowvariancea.c23
-rw-r--r--src/c/statisticsFunctions/variance/dvariancea.c35
-rw-r--r--src/c/statisticsFunctions/variance/scolumnvariancea.c34
-rw-r--r--src/c/statisticsFunctions/variance/srowvariancea.c21
-rw-r--r--src/c/statisticsFunctions/variance/svariancea.c34
-rw-r--r--src/c/statisticsFunctions/variance/svn-prop.tmp12
-rw-r--r--src/c/statisticsFunctions/variance/testDoubleVariance.c335
-rw-r--r--src/c/statisticsFunctions/variance/testDoubleVarianceNono.c363
-rw-r--r--src/c/statisticsFunctions/variance/testFloatVariance.c329
-rw-r--r--src/c/statisticsFunctions/variance/testFloatVarianceNono.c364
-rw-r--r--src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj178
-rw-r--r--src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj178
-rw-r--r--src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj178
-rw-r--r--src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj178
-rw-r--r--src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj.filters22
-rw-r--r--src/c/statisticsFunctions/variance/zcolumnvariancea.c34
-rw-r--r--src/c/statisticsFunctions/variance/zrowvariancea.c21
-rw-r--r--src/c/statisticsFunctions/variance/zvariancea.c35
-rw-r--r--src/c/statisticsFunctions/variancef/Makefile.am89
-rw-r--r--src/c/statisticsFunctions/variancef/Makefile.in886
-rw-r--r--src/c/statisticsFunctions/variancef/ccolumnvariancefa.c35
-rw-r--r--src/c/statisticsFunctions/variancef/crowvariancefa.c22
-rw-r--r--src/c/statisticsFunctions/variancef/cvariancefa.c35
-rw-r--r--src/c/statisticsFunctions/variancef/dcolumnvariancefa.c33
-rw-r--r--src/c/statisticsFunctions/variancef/drowvariancefa.c23
-rw-r--r--src/c/statisticsFunctions/variancef/dvariancefa.c35
-rw-r--r--src/c/statisticsFunctions/variancef/scolumnvariancefa.c47
-rw-r--r--src/c/statisticsFunctions/variancef/srowvariancefa.c21
-rw-r--r--src/c/statisticsFunctions/variancef/svariancefa.c46
-rw-r--r--src/c/statisticsFunctions/variancef/testDoubleVariance.c335
-rw-r--r--src/c/statisticsFunctions/variancef/testDoubleVariancef.c373
-rw-r--r--src/c/statisticsFunctions/variancef/testFloatVariance.c329
-rw-r--r--src/c/statisticsFunctions/variancef/testFloatVariancef.c381
-rw-r--r--src/c/statisticsFunctions/variancef/zcolumnvariancefa.c35
-rw-r--r--src/c/statisticsFunctions/variancef/zrowvariancefa.c21
-rw-r--r--src/c/statisticsFunctions/variancef/zvariancefa.c35
232 files changed, 26928 insertions, 0 deletions
diff --git a/src/c/statisticsFunctions/Makefile.am b/src/c/statisticsFunctions/Makefile.am
new file mode 100644
index 0000000..e87f386
--- /dev/null
+++ b/src/c/statisticsFunctions/Makefile.am
@@ -0,0 +1,21 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+SUBDIRS= mean \
+ sum\
+ variance\
+ prod\
+ min\
+ max\
+ meanf\
+ variancef\
+ stdevf
diff --git a/src/c/statisticsFunctions/Makefile.in b/src/c/statisticsFunctions/Makefile.in
new file mode 100644
index 0000000..6df9918
--- /dev/null
+++ b/src/c/statisticsFunctions/Makefile.in
@@ -0,0 +1,569 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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@
+subdir = src/c/statisticsFunctions
+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 =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = mean \
+ sum\
+ variance\
+ prod\
+ min\
+ max\
+ meanf\
+ variancef\
+ stdevf
+
+all: all-recursive
+
+.SUFFIXES:
+$(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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+# 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/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h b/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h
new file mode 100644
index 0000000..b6dab50
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h
@@ -0,0 +1,26 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* 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 __DYNLIB_STATISTICSFUNCTIONS_H__
+#define __DYNLIB_STATISTICSFUNCTIONS_H__
+
+#if defined(_MSC_VER) && defined(_USRDLL)
+ #if STATISTICSFUNCTIONS_EXPORTS
+ #define EXTERN_STATFUNC __declspec (dllexport)
+ #else
+ #define EXTERN_STATFUNC __declspec (dllimport)
+ #endif
+#else
+ #define EXTERN_STATFUNC
+#endif
+
+#endif /* __DYNLIB_STATISTICSFUNCTIONS_H__ */
diff --git a/src/c/statisticsFunctions/includes/mean.h b/src/c/statisticsFunctions/includes/mean.h
new file mode 100644
index 0000000..d87c4ca
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/mean.h
@@ -0,0 +1,99 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 __MEAN_H__
+#define __MEAN_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "division.h"
+#include "addition.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+** \brief Mean of a scalar element, just returns it
+*/
+#define smeans(in) in
+#define srowmeans(in) in
+#define scolumnmeans(in) in
+#define smatlabmeans(in) in
+
+/*
+** \brief Mean of a scalar element, just returns it
+*/
+#define dmeans(in) in
+#define drowmeans(in) in
+#define dcolumnmeans(in) in
+#define dmatlabmeans(in) in
+
+/*
+** \brief Mean of a scalar element, just returns it
+*/
+#define cmeans(in) in
+#define crowmeans(in) in
+#define ccolumnmeans(in) in
+#define cmatlabmeans(in) in
+
+/*
+** \brief Mean of a scalar element, just returns it
+*/
+#define zmeans(in) in
+#define zrowmeans(in) in
+#define zcolumnmeans(in) in
+#define zmatlabmeans(in) in
+
+/*
+** \brief Mean of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the mean.
+*/
+EXTERN_STATFUNC float smeana(float *in, int size);
+EXTERN_STATFUNC void srowmeana(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnmeana(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Mean of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the mean.
+*/
+EXTERN_STATFUNC double dmeana(double *in, int size);
+EXTERN_STATFUNC void drowmeana(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnmeana(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Mean of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the mean.
+*/
+EXTERN_STATFUNC floatComplex cmeana(floatComplex *in, int size);
+EXTERN_STATFUNC void crowmeana(floatComplex *in, int lines, int columns, floatComplex* out);
+EXTERN_STATFUNC void ccolumnmeana(floatComplex *in, int lines, int columns, floatComplex* out);
+
+/*
+** \brief Mean of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the mean.
+*/
+EXTERN_STATFUNC doubleComplex zmeana(doubleComplex *in, int size);
+EXTERN_STATFUNC void zrowmeana(doubleComplex *in, int lines, int columns, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnmeana(doubleComplex *in, int lines, int columns, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__MEAN_H__ */
diff --git a/src/c/statisticsFunctions/includes/meanf.h b/src/c/statisticsFunctions/includes/meanf.h
new file mode 100644
index 0000000..c0d687c
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/meanf.h
@@ -0,0 +1,106 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2009 - 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 __MEANF_H__
+#define __MEANF_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "division.h"
+#include "addition.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+** \brief Meanf of a scalar element, just returns it
+*/
+#define smeanfs(in1,in2) in1
+#define srowmeanfs(in1,in2) in1
+#define scolumnmeanfs(in1,in2) in1
+#define smatlabmeanfs(in1,in2) in1
+
+/*
+** \brief Meanf of a scalar element, just returns it
+*/
+#define dmeanfs(in1,in2) in1
+#define drowmeanfs(in1,in2) in1
+#define dcolumnmeanfs(in1,in2) in1
+#define dmatlabmeanfs(in1,in2) in1
+
+/*
+** \brief Meanf of a scalar element, just returns it
+*/
+#define cmeanfs(in1,in2) in1
+#define crowmeanfs(in1,in2) in1
+#define ccolumnmeanfs(in1,in2) in1
+#define cmatlabmeanfs(in1,in2) in1
+
+/*
+** \brief Meanf of a scalar element, just returns it
+*/
+#define zmeanfs(in1,in2) in1
+#define zrowmeanfs(in1,in2) in1
+#define zcolumnmeanfs(in1,in2) in1
+#define zmatlabmeanfs(in1,in2) in1
+
+/*
+** \brief Meanf of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the meanf.
+*/
+EXTERN_STATFUNC float smeanfa(float *in1, int size, float *in2);
+EXTERN_STATFUNC void srowmeanfa(float *in1, int lines, int columns, float *in2, float* out);
+EXTERN_STATFUNC void scolumnmeanfa(float *in1, int lines, int columns, float *in2, float* out);
+
+/*
+** \brief Meanf of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the meanf.
+*/
+EXTERN_STATFUNC double dmeanfa(double *in1, int size, double *in2);
+EXTERN_STATFUNC void drowmeanfa(double *in1, int lines, int columns, double *in2, double* out);
+EXTERN_STATFUNC void dcolumnmeanfa(double *in1, int lines, int columns, double *in2, double* out);
+
+/*
+** \brief Meanf of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the meanf.
+*/
+EXTERN_STATFUNC floatComplex cmeanfa(floatComplex *in1, int size, floatComplex *in2);
+EXTERN_STATFUNC void crowmeanfa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+EXTERN_STATFUNC void ccolumnmeanfa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+
+/*
+** \brief Meanf of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the meanf.
+*/
+EXTERN_STATFUNC doubleComplex zmeanfa(doubleComplex *in1, int size, doubleComplex *in2);
+EXTERN_STATFUNC void zrowmeanfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnmeanfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+
+/* for convenience with interface */
+doubleComplex zmeanfzd (doubleComplex* in1 ,int lines , int columns , double* in2);
+doubleComplex zmeanfdz (double* in1 ,int lines , int columns , doubleComplex* in2);
+
+floatComplex cmeanfcs (floatComplex* in1 ,int lines , int columns , float* in2);
+floatComplex cmeanfsc (float* in1 ,int lines , int columns , floatComplex* in2);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__MEAN_H__ */
diff --git a/src/c/statisticsFunctions/includes/prod.h b/src/c/statisticsFunctions/includes/prod.h
new file mode 100644
index 0000000..a5fde84
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/prod.h
@@ -0,0 +1,100 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 __PROD_H__
+#define __PROD_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define sprods(in) in
+#define srowprods(in) in
+#define scolumnprods(in) in
+#define smatlabprods(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define dprods(in) in
+#define drowprods(in) in
+#define dcolumnprods(in) in
+#define dmatlabprods(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define cprods(in) in
+#define crowprods(in) in
+#define ccolumnprods(in) in
+#define cmatlabprods(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define zprods(in) in
+#define zrowprods(in) in
+#define zcolumnprods(in) in
+#define zmatlabprods(in) in
+
+/*
+** \brief Sum of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the prod.
+*/
+EXTERN_STATFUNC float sproda(float *in, int size);
+EXTERN_STATFUNC void srowproda(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnproda(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Sum of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the prod.
+*/
+EXTERN_STATFUNC double dproda(double *in, int size);
+EXTERN_STATFUNC void drowproda(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnproda(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Sum of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the prod.
+*/
+EXTERN_STATFUNC floatComplex cproda(floatComplex *in, int size);
+EXTERN_STATFUNC void crowproda(floatComplex *in, int lines, int columns, floatComplex* out);
+EXTERN_STATFUNC void ccolumnproda(floatComplex *in, int lines, int columns, floatComplex* out);
+
+/*
+** \brief Sum of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the prod.
+*/
+EXTERN_STATFUNC doubleComplex zproda(doubleComplex *in, int size);
+EXTERN_STATFUNC void zrowproda(doubleComplex *in, int lines, int columns, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnproda(doubleComplex *in, int lines, int columns, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__PROD_H__ */
diff --git a/src/c/statisticsFunctions/includes/statMax.h b/src/c/statisticsFunctions/includes/statMax.h
new file mode 100644
index 0000000..8e5d12b
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/statMax.h
@@ -0,0 +1,130 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 __STAT_MAX_H__
+#define __STAT_MAX_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//#define max(a,b) (a>=b?a:b)
+
+#define maxa(a,size1,b,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=max(a[i],b[i]);\
+ }
+
+/*
+** \brief max of a scalar element, just returns it
+*/
+#define smaxs(in) in
+#define srowmaxs(in) in
+#define scolumnmaxs(in) in
+#define smatlabmaxs(in) in
+
+/*
+** \brief max of a scalar element, just returns it
+*/
+#define dmaxs(in) in
+#define drowmaxs(in) in
+#define dcolumnmaxs(in) in
+#define dmatlabmaxs(in) in
+
+/*
+** \brief max of a scalar element, just returns it
+*/
+#define u8maxs(in) (uint8)in
+#define u8rowmaxs(in) (uint8)in
+#define u8columnmaxs(in) (uint8)in
+#define u8matlabmaxs(in) (uint8)in
+#define u16maxs(in) (uint16)in
+#define u16rowmaxs(in) (uint16)in
+#define u16columnmaxs(in) (uint16)in
+#define u16matlabmaxs(in) (uint16)in
+#define i8maxs(in) (int8)in
+#define i8rowmaxs(in) (int8)in
+#define i8columnmaxs(in) (int8)in
+#define i8matlabmaxs(in) (int8)in
+#define i16maxs(in) (int16)in
+#define i16rowmaxs(in) (int16)in
+#define i16columnmaxs(in) (int16)in
+#define i16matlabmaxs(in) (int16)in
+
+
+
+/*
+** \brief Sum of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC float smaxa(float *in, int size);
+EXTERN_STATFUNC void srowmaxa(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnmaxa(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Sum of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC double dmaxa(double *in, int size);
+EXTERN_STATFUNC void drowmaxa(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnmaxa(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Sum of a uint8 array
+** \param in the uint8 array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC uint8 u8maxa(uint8 *in, int size);
+EXTERN_STATFUNC void u8rowmaxa(uint8 *in, int lines, int columns, uint8* out);
+EXTERN_STATFUNC void u8columnmaxa(uint8 *in, int lines, int columns, uint8* out);
+
+/*
+** \brief Sum of a uint16 array
+** \param in the uint16 array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC uint16 u16maxa(uint16 *in, int size);
+EXTERN_STATFUNC void u16rowmaxa(uint16 *in, int lines, int columns, uint16* out);
+EXTERN_STATFUNC void u16columnmaxa(uint16 *in, int lines, int columns, uint16* out);
+
+/*
+** \brief Sum of a int8 array
+** \param in the int8 array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC int8 i8maxa(int8 *in, int size);
+EXTERN_STATFUNC void i8rowmaxa(int8 *in, int lines, int columns, int8* out);
+EXTERN_STATFUNC void i8columnmaxa(int8 *in, int lines, int columns, int8* out);
+
+/*
+** \brief Sum of a int16 array
+** \param in the int16 array to process
+** \param size, the size of the array
+** \returns the max.
+*/
+EXTERN_STATFUNC int16 i16maxa(int16 *in, int size);
+EXTERN_STATFUNC void i16rowmaxa(int16 *in, int lines, int columns, int16* out);
+EXTERN_STATFUNC void i16columnmaxa(int16 *in, int lines, int columns, int16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+#endif /* !__STAT_MAX_H__ */
diff --git a/src/c/statisticsFunctions/includes/statMin.h b/src/c/statisticsFunctions/includes/statMin.h
new file mode 100644
index 0000000..f3b8268
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/statMin.h
@@ -0,0 +1,130 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 __STAT_MIN_H__
+#define __STAT_MIN_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//#define min(a,b) (a<=b?a:b)
+
+#define mina(a,size1,b,size2,out) {int i;\
+ for (i=0;i<size1[0]*size2[1];i++) out[i]=min(a[i],b[i]);\
+ }
+
+/*
+** \brief min of a scalar element, just returns it
+*/
+#define smins(in) in
+#define srowmins(in) in
+#define scolumnmins(in) in
+#define smatlabmins(in) in
+
+/*
+** \brief min of a scalar element, just returns it
+*/
+#define dmins(in) in
+#define drowmins(in) in
+#define dcolumnmins(in) in
+#define dmatlabmins(in) in
+
+/*
+** \brief min of a scalar element, just returns it
+*/
+#define u8mins(in) (uint8)in
+#define u8rowmins(in) (uint8)in
+#define u8columnmins(in) (uint8)in
+#define u8matlabmins(in) (uint8)in
+#define u16mins(in) (uint16)in
+#define u16rowmins(in) (uint16)in
+#define u16columnmins(in) (uint16)in
+#define u16matlabmins(in) (uint16)in
+#define i8mins(in) (int8)in
+#define i8rowmins(in) (int8)in
+#define i8columnmins(in) (int8)in
+#define i8matlabmins(in) (int8)in
+#define i16mins(in) (int16)in
+#define i16rowmins(in) (int16)in
+#define i16columnmins(in) (int16)in
+#define i16matlabmins(in) (int16)in
+
+
+
+/*
+** \brief Sum of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC float smina(float *in, int size);
+EXTERN_STATFUNC void srowmina(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnmina(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Sum of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC double dmina(double *in, int size);
+EXTERN_STATFUNC void drowmina(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnmina(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Sum of a uint8 array
+** \param in the uint8 array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC uint8 u8mina(uint8 *in, int size);
+EXTERN_STATFUNC void u8rowmina(uint8 *in, int lines, int columns, uint8* out);
+EXTERN_STATFUNC void u8columnmina(uint8 *in, int lines, int columns, uint8* out);
+
+/*
+** \brief Sum of a uint16 array
+** \param in the uint16 array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC uint16 u16mina(uint16 *in, int size);
+EXTERN_STATFUNC void u16rowmina(uint16 *in, int lines, int columns, uint16* out);
+EXTERN_STATFUNC void u16columnmina(uint16 *in, int lines, int columns, uint16* out);
+
+/*
+** \brief Sum of a int8 array
+** \param in the int8 array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC int8 i8mina(int8 *in, int size);
+EXTERN_STATFUNC void i8rowmina(int8 *in, int lines, int columns, int8* out);
+EXTERN_STATFUNC void i8columnmina(int8 *in, int lines, int columns, int8* out);
+
+/*
+** \brief Sum of a int16 array
+** \param in the int16 array to process
+** \param size, the size of the array
+** \returns the min.
+*/
+EXTERN_STATFUNC int16 i16mina(int16 *in, int size);
+EXTERN_STATFUNC void i16rowmina(int16 *in, int lines, int columns, int16* out);
+EXTERN_STATFUNC void i16columnmina(int16 *in, int lines, int columns, int16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+#endif /* !__STAT_MIN_H__ */
diff --git a/src/c/statisticsFunctions/includes/stdevf.h b/src/c/statisticsFunctions/includes/stdevf.h
new file mode 100644
index 0000000..c9e4859
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/stdevf.h
@@ -0,0 +1,129 @@
+/*
+ * 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 __STDEVF_H__
+#define __STDEVF_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+
+#include "dynlib_statisticsfunctions.h"
+#include "subtraction.h"
+#include "division.h"
+
+
+#include "pow.h"
+#include "sum.h"
+#include "size.h"
+#include "sqrt.h"
+#include "meanf.h"
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+
+
+/*
+** \brief Standard deviation of a scalar element, just returns it
+*/
+#define sstdevfs(in1,in2) 0.0f
+#define srowstdevfs(in1,in2) 0.0f
+#define scolumnstdevfs(in1,in2) 0.0f
+
+
+/*
+** \brief Standard deviation of a scalar element, just returns it
+*/
+#define dstdevfs(in1,in2) 0.0
+#define drowstdevfs(in1,in2) 0.0
+#define dcolumnstdevfs(in1,in2) 0.0
+
+
+/*
+** \brief Standard deviation of a scalar element, just returns it
+*/
+#define cstdevfs(in1,in2) FloatComplex(0.0f , 0.0f)
+#define crowstdevfs(in1,in2) FloatComplex(0.0f , 0.0f)
+#define ccolumnstdevfs(in1,in2) FloatComplex(0.0f , 0.0f)
+
+
+/*
+** \brief Standard deviation of a scalar element, just returns it
+*/
+#define zstdevfs(in1,in2) DoubleComplex(0.0 , 0.0)
+#define zrowstdevfs(in1,in2) DoubleComplex(0.0 , 0.0)
+#define zcolumnstdevfs(in1,in2) DoubleComplex(0.0 , 0.0)
+
+
+/*
+** \brief Standard deviation of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the stdevf.
+*/
+EXTERN_STATFUNC float sstdevfa(float *in1, int lines, int columns, float *in2);
+EXTERN_STATFUNC void srowstdevfa(float *in1, int lines, int columns, float *in2, float* out);
+EXTERN_STATFUNC void scolumnstdevfa(float *in1, int lines, int columns, float *in2, float* out);
+
+/*
+** \brief Standard deviation of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the stdevf.
+*/
+EXTERN_STATFUNC double dstdevfa(double *in1, int lines, int columns, double *in2);
+EXTERN_STATFUNC void drowstdevfa(double *in1, int lines, int columns, double *in2, double* out);
+EXTERN_STATFUNC void dcolumnstdevfa(double *in1, int lines, int columns, double *in2, double* out);
+
+/*
+** \brief Standard deviation of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the stdevf.
+*/
+EXTERN_STATFUNC floatComplex cstdevfa(floatComplex *in1, int lines, int columns, floatComplex *in2);
+EXTERN_STATFUNC void crowstdevfa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+EXTERN_STATFUNC void ccolumnstdevfa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+
+/*
+** \brief Standard deviation of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the stdevf.
+*/
+EXTERN_STATFUNC doubleComplex zstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2);
+EXTERN_STATFUNC void zrowstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+
+/*
+** convenience functions
+*/
+
+EXTERN_STATFUNC floatComplex cstdevfcs(floatComplex *in1, int lines, int columns, float *in2);
+EXTERN_STATFUNC floatComplex cstdevfsc(float *in1, int lines, int columns, floatComplex *in2);
+
+EXTERN_STATFUNC doubleComplex zstdevfzd(doubleComplex *in1, int lines, int columns, double *in2);
+EXTERN_STATFUNC doubleComplex zstdevfdz(double *in1, int lines, int columns, doubleComplex *in2);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__STDEVF_H__ */
diff --git a/src/c/statisticsFunctions/includes/sum.h b/src/c/statisticsFunctions/includes/sum.h
new file mode 100644
index 0000000..2910792
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/sum.h
@@ -0,0 +1,102 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 __SUM_H__
+#define __SUM_H__
+
+#include "dynlib_statisticsfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "addition.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define ssums(in) in
+#define srowsums(in) in
+#define scolumnsums(in) in
+#define smatlabsums(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define dsums(in) in
+#define drowsums(in) in
+#define dcolumnsums(in) in
+#define dmatlabsums(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define csums(in) in
+#define crowsums(in) in
+#define ccolumnsums(in) in
+#define cmatlabsums(in) in
+
+/*
+** \brief Sum of a scalar element, just returns it
+*/
+#define zsums(in) in
+#define zrowsums(in) in
+#define zcolumnsums(in) in
+#define zmatlabsums(in) in
+
+/*
+** \brief Sum of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the sum.
+*/
+EXTERN_STATFUNC float ssuma(float *in, int size);
+EXTERN_STATFUNC void srowsuma(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnsuma(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Sum of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the sum.
+*/
+EXTERN_STATFUNC double dsuma(double *in, int size);
+EXTERN_STATFUNC void drowsuma(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnsuma(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Sum of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the sum.
+*/
+EXTERN_STATFUNC floatComplex csuma(floatComplex *in, int size);
+EXTERN_STATFUNC void crowsuma(floatComplex *in, int lines, int columns, floatComplex* out);
+EXTERN_STATFUNC void ccolumnsuma(floatComplex *in, int lines, int columns, floatComplex* out);
+
+/*
+** \brief Sum of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the sum.
+*/
+EXTERN_STATFUNC doubleComplex zsuma(doubleComplex *in, int size);
+EXTERN_STATFUNC void zrowsuma(doubleComplex *in, int lines, int columns, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnsuma(doubleComplex *in, int lines, int columns, doubleComplex* out);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__SUM_H__ */
diff --git a/src/c/statisticsFunctions/includes/variance.h b/src/c/statisticsFunctions/includes/variance.h
new file mode 100644
index 0000000..a058bb7
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/variance.h
@@ -0,0 +1,117 @@
+/*
+ * 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 __VARIANCE_H__
+#define __VARIANCE_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+
+#include "dynlib_statisticsfunctions.h"
+#include "subtraction.h"
+#include "division.h"
+
+#include "pow.h"
+#include "sum.h"
+
+#include "mean.h"
+#include "matrixTranspose.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define svariances(in) in
+#define srowvariances(in) in
+#define scolumnvariances(in) in
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define dvariances(in) in
+#define drowvariances(in) in
+#define dcolumnvariances(in) in
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define cvariances(in) in
+#define crowvariances(in) in
+#define ccolumnvariances(in) in
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define zvariances(in) in
+#define zrowvariances(in) in
+#define zcolumnvariances(in) in
+
+
+/*
+** \brief Variance of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the variance.
+*/
+EXTERN_STATFUNC float svariancea(float *in, int size);
+EXTERN_STATFUNC void srowvariancea(float *in, int lines, int columns, float* out);
+EXTERN_STATFUNC void scolumnvariancea(float *in, int lines, int columns, float* out);
+
+/*
+** \brief Variance of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the variance.
+*/
+EXTERN_STATFUNC double dvariancea(double *in, int size);
+EXTERN_STATFUNC void drowvariancea(double *in, int lines, int columns, double* out);
+EXTERN_STATFUNC void dcolumnvariancea(double *in, int lines, int columns, double* out);
+
+/*
+** \brief Variance of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the variance.
+*/
+EXTERN_STATFUNC floatComplex cvariancea(floatComplex *in, int size);
+EXTERN_STATFUNC void crowvariancea(floatComplex *in, int lines, int columns, floatComplex* out);
+EXTERN_STATFUNC void ccolumnvariancea(floatComplex *in, int lines, int columns, floatComplex* out);
+
+/*
+** \brief Variance of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the variance.
+*/
+EXTERN_STATFUNC doubleComplex zvariancea(doubleComplex *in, int size);
+EXTERN_STATFUNC void zrowvariancea(doubleComplex *in, int lines, int columns, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnvariancea(doubleComplex *in, int lines, int columns, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__VARIANCE_H__ */
diff --git a/src/c/statisticsFunctions/includes/variancef.h b/src/c/statisticsFunctions/includes/variancef.h
new file mode 100644
index 0000000..e682a18
--- /dev/null
+++ b/src/c/statisticsFunctions/includes/variancef.h
@@ -0,0 +1,117 @@
+/*
+ * 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 __VARIANCEF_H__
+#define __VARIANCEF_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+
+#include "dynlib_statisticsfunctions.h"
+#include "subtraction.h"
+#include "division.h"
+
+
+#include "pow.h"
+#include "sum.h"
+
+#include "meanf.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define svariancefs(in1,in2) 0.0f
+#define srowvariancefs(in1,in2) 0.0f
+#define scolumnvariancefs(in1,in2) 0.0f
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define dvariancefs(in1,in2) 0.0
+#define drowvariancefs(in1,in2) 0.0
+#define dcolumnvariancefs(in1,in2) 0.0
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define cvariancefs(in1,in2) FloatComplex(0.0f , 0.0f)
+#define crowvariancefs(in1,in2) FloatComplex(0.0f , 0.0f)
+#define ccolumnvariancefs(in1,in2) FloatComplex(0.0f , 0.0f)
+
+
+/*
+** \brief Variance of a scalar element, just returns it
+*/
+#define zvariancefs(in1,in2) DoubleComplex(0.0 , 0.0)
+#define zrowvariancefs(in1,in2) DoubleComplex(0.0 , 0.0)
+#define zcolumnvariancefs(in1,in2) DoubleComplex(0.0 , 0.0)
+
+
+/*
+** \brief Variance of a float array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the variancef.
+*/
+EXTERN_STATFUNC float svariancefa(float *in1, int size, float *in2);
+EXTERN_STATFUNC void srowvariancefa(float *in1, int lines, int columns, float *in2, float* out);
+EXTERN_STATFUNC void scolumnvariancefa(float *in1, int lines, int columns, float *in2, float* out);
+
+/*
+** \brief Variance of a double array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the variancef.
+*/
+EXTERN_STATFUNC double dvariancefa(double *in1, int size, double *in2);
+EXTERN_STATFUNC void drowvariancefa(double *in1, int lines, int columns, double *in2, double* out);
+EXTERN_STATFUNC void dcolumnvariancefa(double *in1, int lines, int columns, double *in2, double* out);
+
+/*
+** \brief Variance of a float complex array
+** \param in the float array to process
+** \param size, the size of the array
+** \returns the variancef.
+*/
+EXTERN_STATFUNC floatComplex cvariancefa(floatComplex *in1, int size, floatComplex *in2);
+EXTERN_STATFUNC void crowvariancefa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+EXTERN_STATFUNC void ccolumnvariancefa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex* out);
+
+/*
+** \brief Variance of a double complex array
+** \param in the double array to process
+** \param size, the size of the array
+** \returns the variancef.
+*/
+EXTERN_STATFUNC doubleComplex zvariancefa(doubleComplex *in1, int size, doubleComplex *in2);
+EXTERN_STATFUNC void zrowvariancefa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+EXTERN_STATFUNC void zcolumnvariancefa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__VARIANCEF_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_mean.h b/src/c/statisticsFunctions/interfaces/int_mean.h
new file mode 100644
index 0000000..d1d301c
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_mean.h
@@ -0,0 +1,71 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_MEAN_H__
+#define __INT_MEAN_H__
+
+#define s0means0(in) smeans(in)
+
+#define d0meand0(in) dmeans(in)
+
+#define c0meanc0(in) cmeans(in)
+
+#define z0meanz0(in) zmeans(in)
+
+#define s2means0(in,size) smeana(in, size[0]*size[1])
+
+#define d2meand0(in,size) dmeana(in, size[0]*size[1])
+
+#define c2meanc0(in,size) cmeana(in, size[0]*size[1])
+
+#define z2meanz0(in,size) zmeana(in, size[0]*size[1])
+
+
+#define s0s0means0(in1,in2) (in2==1) ? srowmeans(in1) : scolumnmeans(in1)
+
+#define d0d0meand0(in1,in2) (in2==1) ? drowmeans(in1) : dcolumnmeans(in1)
+
+#define c0s0meanc0(in1,in2) (in2==1) ? crowmeans(in1) : ccolumnmeans(in1)
+
+#define z0d0meanz0(in1,in2) (in2==1) ? zrowmeans(in1) : zcolumnmeans(in1)
+
+#define s2s0means2(in1,size,in2,out) (in2==1) ? srowmeana(in1,size[0],size[1],out) : scolumnmeana(in1,size[0],size[1],out)
+
+#define d2d0meand2(in1,size,in2,out) (in2==1) ? drowmeana(in1,size[0],size[1],out) : dcolumnmeana(in1,size[0],size[1],out)
+
+#define c2s0meanc2(in1,size,in2,out) (in2==1) ? crowmeana(in1,size[0],size[1],out) : ccolumnmeana(in1,size[0],size[1],out)
+
+#define z2d0meanz2(in1,size,in2,out) (in2==1) ? zrowmeana(in1,size[0],size[1],out) : zcolumnmeana(in1,size[0],size[1],out)
+
+ /*'r' and 'c' case */
+#define s0g2means0(in1,in2,size2) (in2[0]=='r') ? srowmeans(in1) : scolumnmeans(in1)
+
+#define d0g2meand0(in1,in2,size2) (in2[0]=='r') ? drowmeans(in1) : dcolumnmeans(in1)
+
+#define c0g2meanc0(in1,in2,size2) (in2[0]=='r') ? crowmeans(in1) : ccolumnmeans(in1)
+
+#define z0g2meanz0(in1,in2,size2) (in2[0]=='r') ? zrowmeans(in1) : zcolumnmeans(in1)
+
+#define s2g2means2(in1,size,in2,size2,out) (in2[0]=='r') ? srowmeana(in1,size[0],size[1],out) : scolumnmeana(in1,size[0],size[1],out)
+
+#define d2g2meand2(in1,size,in2,size2,out) (in2[0]=='r') ? drowmeana(in1,size[0],size[1],out) : dcolumnmeana(in1,size[0],size[1],out)
+
+#define c2g2meanc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowmeana(in1,size[0],size[1],out) : ccolumnmeana(in1,size[0],size[1],out)
+
+#define z2g2meanz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowmeana(in1,size[0],size[1],out) : zcolumnmeana(in1,size[0],size[1],out)
+
+
+
+
+#endif /* !__INT_MEAN_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_meanf.h b/src/c/statisticsFunctions/interfaces/int_meanf.h
new file mode 100644
index 0000000..c7fb4da
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_meanf.h
@@ -0,0 +1,183 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_MEANF_H__
+#define __INT_MEANF_H__
+
+#define s0s0meanfs0(in1,in2) smeanfs(in1,in2)
+
+#define d0d0meanfd0(in1,in2) dmeanfs(in1,in2)
+
+#define c0s0meanfc0(in1,in2) cmeanfs(in1,FloatComplex(in2 , 0.0f))
+
+#define z0d0meanfz0(in1,in2) zmeanfs(in1,DoubleComplex(in2, 0.0))
+
+#define s2s2meanfs0(in1, size1, in2, size2) smeanfa(in1, size1[0]*size1[1], in2)
+
+#define d2d2meanfd0(in1, size1, in2, size2) dmeanfa(in1, size1[0]*size1[1], in2)
+
+#define c2s2meanfc0(in1, size1, in2, size2) cmeanfcs(in1, size1[0], size1[1], in2)
+
+#define z2d2meanfz0(in1, size1, in2, size2) zmeanfzd(in1, size1[0], size1[1], in2)
+
+
+/*by rows or columns */
+
+#define s0s0s0meanfs0(in1,in2,in3) (in3==1) ? srowmeanfs(in1,in2) : scolumnmeanfs(in1,in2)
+
+#define d0d0d0meanfd0(in1,in2,in3) (in3==1) ? drowmeanfs(in1,in2) : dcolumnmeanfs(in1,in2)
+
+#define c0s0s0meanfc0(in1,in2,in3) (in3==1) ? crowmeanfs(in1,FloatComplex(in2 , 0.0f)) : ccolumnmeanfs(in1,FloatComplex(in2 , 0.0f))
+
+#define z0d0d0meanfz0(in1,in2,in3) (in3==1) ? zrowmeanfs(in1,DoubleComplex(in2, 0.0)) : zcolumnmeanfs(in1,DoubleComplex(in2, 0.0))
+
+
+#define s2s2s0meanfs2(in1, size1, in2, size2,in3,out) (in3==1) ? srowmeanfa(in1,size1[0],size1[1],in2,out) : scolumnmeanfa(in1,size1[0],size1[1],in2,out)
+
+#define d2d2d0meanfd2(in1, size1, in2, size2,in3,out) (in3==1) ? drowmeanfa(in1,size1[0],size1[1],in2,out) : dcolumnmeanfa(in1,size1[0],size1[1],in2,out)
+
+
+
+
+
+#define c2s2s0meanfc2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowmeanfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnmeanfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }
+
+#define z2d2d0meanfz2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowmeanfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnmeanfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }
+
+
+/**/
+
+
+#define s0c0meanfs0(in1,in2) creals (cmeanfs(FloatComplex(in1 , 0.0f),in2))
+#define s0c0meanfc0(in1,in2) cmeanfs(FloatComplex(in1 , 0.0f),in2)
+
+#define d0z0meanfd0(in1,in2) zreals(zmeanfs(DoubleComplex(in1, 0.0 ),in2))
+#define d0z0meanfz0(in1,in2) zmeanfs(DoubleComplex(in1, 0.0 ),in2)
+
+#define c0c0meanfc0(in1,in2) cmeanfs(in1,in2)
+
+#define z0z0meanfz0(in1,in2) zmeanfs(in1,in2)
+
+
+#define s2c2meanfs0(in1, size1, in2, size2) creals (cmeanfsc(in1, size1[0],size1[1], in2))
+#define s2c2meanfc0(in1, size1, in2, size2) cmeanfsc(in1, size1[0],size1[1], in2)
+
+#define d2z2meanfd0(in1, size1, in2, size2) zreals(zmeanfdz(in1, size1[0],size1[1], in2))
+#define d2z2meanfz0(in1, size1, in2, size2) zmeanfdz(in1, size1[0],size1[1], in2)
+
+#define c2c2meanfc0(in1, size1, in2, size2) cmeanfa(in1, size1[0]* size1[1], in2)
+
+#define z2z2meanfz0(in1, size1, in2, size2) zmeanfa(in1, size1[0]* size1[1], in2)
+
+
+/*by rows or columns */
+
+#define s0c0s0meanfs0(in1,in2,in3) (in3==1) ? crowmeanfs(FloatComplex(in1, 0.0f),in2) : ccolumnmeanfs(FloatComplex(in1, 0.0f),in2)
+
+#define d0z0d0meanfd0(in1,in2,in3) (in3==1) ? zrowmeanfs(DoubleComplex(in1, 0.0),in2) : zcolumnmeanfs(DoubleComplex(in1, 0.0),in2)
+
+#define c0c0s0meanfc0(in1,in2,in3) (in3==1) ? crowmeanfs(in1,in2) : ccolumnmeanfs(in1,in2)
+
+#define z0z0d0meanfz0(in1,in2,in3) (in3==1) ? zrowmeanfs(in1,in2) : zcolumnmeanfs(in1,in2)
+
+
+#define s2c2s0meanfs2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+#define d2z2d0meanfd2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+/*complex output*/
+#define s2c2s0meanfc2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+#define d2z2d0meanfz2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+
+
+#define c2c2s0meanfc2(in1, size1, in2, size2,in3,out) (in3==1) ? crowmeanfa(in1,size1[0],size1[1],in2,out) : ccolumnmeanfa(in1,size1[0],size1[1],in2,out)
+
+#define z2z2d0meanfz2(in1, size1, in2, size2,in3,out) (in3==1) ? zrowmeanfa(in1,size1[0],size1[1],in2,out) : zcolumnmeanfa(in1,size1[0],size1[1],in2,out)
+
+
+#endif /* !__INT_MEANF_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_prod.h b/src/c/statisticsFunctions/interfaces/int_prod.h
new file mode 100644
index 0000000..dfec854
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_prod.h
@@ -0,0 +1,71 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_PROD_H__
+#define __INT_PROD_H__
+
+#define s0prods0(in) sprods(in)
+
+#define d0prodd0(in) dprods(in)
+
+#define c0prodc0(in) cprods(in)
+
+#define z0prodz0(in) zprods(in)
+
+#define s2prods0(in,size) sproda(in, size[0]*size[1])
+
+#define d2prodd0(in,size) dproda(in, size[0]*size[1])
+
+#define c2prodc0(in,size) cproda(in, size[0]*size[1])
+
+#define z2prodz0(in,size) zproda(in, size[0]*size[1])
+
+
+#define s0s0prods0(in1,in2) (in2==1) ? srowprods(in1) : scolumnprods(in1)
+
+#define d0d0prodd0(in1,in2) (in2==1) ? drowprods(in1) : dcolumnprods(in1)
+
+#define c0s0prodc0(in1,in2) (in2==1) ? crowprods(in1) : ccolumnprods(in1)
+
+#define z0d0prodz0(in1,in2) (in2==1) ? zrowprods(in1) : zcolumnprods(in1)
+
+#define s2s0prods2(in1,size,in2,out) (in2==1) ? srowproda(in1,size[0],size[1],out) : scolumnproda(in1,size[0],size[1],out)
+
+#define d2d0prodd2(in1,size,in2,out) (in2==1) ? drowproda(in1,size[0],size[1],out) : dcolumnproda(in1,size[0],size[1],out)
+
+#define c2s0prodc2(in1,size,in2,out) (in2==1) ? crowproda(in1,size[0],size[1],out) : ccolumnproda(in1,size[0],size[1],out)
+
+#define z2d0prodz2(in1,size,in2,out) (in2==1) ? zrowproda(in1,size[0],size[1],out) : zcolumnproda(in1,size[0],size[1],out)
+
+ /*'r' and 'c' case */
+#define s0g2prods0(in1,in2,size2) (in2[0]=='r') ? srowprods(in1) : scolumnprods(in1)
+
+#define d0g2prodd0(in1,in2,size2) (in2[0]=='r') ? drowprods(in1) : dcolumnprods(in1)
+
+#define c0g2prodc0(in1,in2,size2) (in2[0]=='r') ? crowprods(in1) : ccolumnprods(in1)
+
+#define z0g2prodz0(in1,in2,size2) (in2[0]=='r') ? zrowprods(in1) : zcolumnprods(in1)
+
+#define s2g2prods2(in1,size,in2,size2,out) (in2[0]=='r') ? srowproda(in1,size[0],size[1],out) : scolumnproda(in1,size[0],size[1],out)
+
+#define d2g2prodd2(in1,size,in2,size2,out) (in2[0]=='r') ? drowproda(in1,size[0],size[1],out) : dcolumnproda(in1,size[0],size[1],out)
+
+#define c2g2prodc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowproda(in1,size[0],size[1],out) : ccolumnproda(in1,size[0],size[1],out)
+
+#define z2g2prodz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowproda(in1,size[0],size[1],out) : zcolumnproda(in1,size[0],size[1],out)
+
+
+
+
+#endif /* !__INT_PROD_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_statMax.h b/src/c/statisticsFunctions/interfaces/int_statMax.h
new file mode 100644
index 0000000..6d28186
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_statMax.h
@@ -0,0 +1,161 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_STATMAX_H__
+#define __INT_STATMAX_H__
+//#ifndef __INT_MAX_H__
+//#define __INT_MAX_H__
+
+#define s0maxs0(in) in
+
+#define d0maxd0(in) in
+
+#define u80maxu80(in) (uint8)in
+
+#define u160maxu160(in) (uint16)in
+
+#define i80maxi80(in) (int8)in
+
+#define i160maxi160(in) (int16)in
+
+#define s2maxs0(in,size) smaxa(in, size[0]*size[1])
+
+#define d2maxd0(in,size) dmaxa(in, size[0]*size[1])
+
+#define c2maxc0(in,size) cmaxa(in, size[0]*size[1])
+
+#define z2maxz0(in,size) zmaxa(in, size[0]*size[1])
+
+#define u82maxu80(in,size) u8maxa(in, size[0]*size[1])
+
+#define u162maxu160(in,size) u16maxa(in, size[0]*size[1])
+
+#define i82maxi80(in,size) i8maxa(in, size[0]*size[1])
+
+#define i162maxi160(in,size) i16maxa(in, size[0]*size[1])
+
+
+
+#define s0s0maxs0(in1,in2) max(in1,in2)
+
+#define d0d0maxd0(in1,in2) max(in1,in2)
+
+#define u80u80maxu80(in1,in2) max(in1,in2)
+
+#define u160u160maxu160(in1,in2) max(in1,in2)
+
+#define i80i80maxi80(in1,in2) max(in1,in2)
+
+#define i160i160maxi160(in1,in2) max(in1,in2)
+
+#define s2s2maxs2(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+#define d2d2maxd2(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+#define u82u82maxu82(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+#define u162u162maxu162(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+#define i82i82maxi82(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+#define i162i162maxi162(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
+
+
+#define s2s0maxs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define d2d0maxd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define u82u80maxu82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define u162u160maxu162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define i82i80maxi82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define i162i160maxi162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define s0s2maxs2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define d0d2maxd2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define u80u82maxu82(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define u160u162maxu162(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define i80i82maxi82(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define i160i162maxi162(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+/*'r' and 'c' case */
+#define s0g2maxs0(in1,in2,size2) (in2[0]=='r') ? srowmaxs(in1) : scolumnmaxs(in1)
+
+#define d0g2maxd0(in1,in2,size2) (in2[0]=='r') ? drowmaxs(in1) : dcolumnmaxs(in1)
+
+#define c0g2maxc0(in1,in2,size2) (in2[0]=='r') ? crowmaxs(in1) : ccolumnmaxs(in1)
+
+#define z0g2maxz0(in1,in2,size2) (in2[0]=='r') ? zrowmaxs(in1) : zcolumnmaxs(in1)
+
+#define u80g2maxu80(in1,in2,size2) (in2[0]=='r') ? u8rowmaxs(in1) : u8columnmaxs(in1)
+
+#define u160g2maxu160(in1,in2,size2) (in2[0]=='r') ? u16rowmaxs(in1) : u16columnmaxs(in1)
+
+#define i80g2maxi80(in1,in2,size2) (in2[0]=='r') ? i8rowmaxs(in1) : i8columnmaxs(in1)
+
+#define i160g2maxi160(in1,in2,size2) (in2[0]=='r') ? i16rowmaxs(in1) : i16columnmaxs(in1)
+
+
+#define s2g2maxs2(in1,size1,in2,size2,out) (in2[0]=='r') ? srowmaxa(in1,size1[0],size1[1],out) : scolumnmaxa(in1,size1[0],size1[1],out)
+
+#define d2g2maxd2(in1,size1,in2,size2,out) (in2[0]=='r') ? drowmaxa(in1,size1[0],size1[1],out) : dcolumnmaxa(in1,size1[0],size1[1],out)
+
+#define c2g2maxc2(in1,size1,in2,size2,out) (in2[0]=='r') ? crowmaxa(in1,size1[0],size1[1],out) : ccolumnmaxa(in1,size1[0],size1[1],out)
+
+#define z2g2maxz2(in1,size1,in2,size2,out) (in2[0]=='r') ? zrowmaxa(in1,size1[0],size1[1],out) : zcolumnmaxa(in1,size1[0],size1[1],out)
+
+#define u82g2maxu82(in1,size1,in2,size2,out) (in2[0]=='r') ? u8rowmaxa(in1,size1[0],size1[1],out) : u8columnmaxa(in1,size1[0],size1[1],out)
+
+#define u162g2maxu162(in1,size1,in2,size2,out) (in2[0]=='r') ? u16rowmaxa(in1,size1[0],size1[1],out) : u16columnmaxa(in1,size1[0],size1[1],out)
+
+#define i82g2maxi82(in1,size1,in2,size2,out) (in2[0]=='r') ? i8rowmaxa(in1,size1[0],size1[1],out) : i8columnmaxa(in1,size1[0],size1[1],out)
+
+#define i162g2maxi162(in1,size1,in2,size2,out) (in2[0]=='r') ? i16rowmaxa(in1,size1[0],size1[1],out) : i16columnmaxa(in1,size1[0],size1[1],out)
+
+
+
+
+
+#endif /* !__INT_STATMAX_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_statMin.h b/src/c/statisticsFunctions/interfaces/int_statMin.h
new file mode 100644
index 0000000..39187ef
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_statMin.h
@@ -0,0 +1,162 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_STATMIN_H__
+#define __INT_STATMIN_H__
+//#ifndef __INT_MIN_H__
+//#define __INT_MIN_H__
+
+#define s0mins0(in) in
+
+#define d0mind0(in) in
+
+#define u80minu80(in) (uint8)in
+
+#define u160minu160(in) (uint16)in
+
+#define i80mini80(in) (int8)in
+
+#define i160mini160(in) (int16)in
+
+#define s2mins0(in,size) smina(in, size[0]*size[1])
+
+#define d2mind0(in,size) dmina(in, size[0]*size[1])
+
+#define c2minc0(in,size) cmina(in, size[0]*size[1])
+
+#define z2minz0(in,size) zmina(in, size[0]*size[1])
+
+#define u82minu80(in,size) u8mina(in, size[0]*size[1])
+
+#define u162minu160(in,size) u16mina(in, size[0]*size[1])
+
+#define i82mini80(in,size) i8mina(in, size[0]*size[1])
+
+#define i162mini160(in,size) i16mina(in, size[0]*size[1])
+
+
+
+#define s0s0mins0(in1,in2) min(in1,in2)
+
+#define d0d0mind0(in1,in2) min(in1,in2)
+
+#define u80u80minu80(in1,in2) min(in1,in2)
+
+#define u160u160minu160(in1,in2) min(in1,in2)
+
+#define i80i80mini80(in1,in2) min(in1,in2)
+
+#define i160i160mini160(in1,in2) min(in1,in2)
+
+#define s2s2mins2(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+#define d2d2mind2(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+#define u82u82minu82(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+#define u162u162minu162(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+#define i82i82mini82(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+#define i162i162mini162(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
+
+
+#define s2s0mins2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define d2d0mind2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define u82u80minu82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define u162u160minu162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define i82i80mini82(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define i162i160mini162(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define s0s2mins2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define d0d2mind2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define u80u82minu82(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define u160u162minu162(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define i80i82mini82(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define i160i162mini162(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+
+/*'r' and 'c' case */
+#define s0g2mins0(in1,in2,size2) (in2[0]=='r') ? srowmins(in1) : scolumnmins(in1)
+
+#define d0g2mind0(in1,in2,size2) (in2[0]=='r') ? drowmins(in1) : dcolumnmins(in1)
+
+#define c0g2minc0(in1,in2,size2) (in2[0]=='r') ? crowmins(in1) : ccolumnmins(in1)
+
+#define z0g2minz0(in1,in2,size2) (in2[0]=='r') ? zrowmins(in1) : zcolumnmins(in1)
+
+#define u80g2minu80(in1,in2,size2) (in2[0]=='r') ? u8rowmins(in1) : u8columnmins(in1)
+
+#define u160g2minu160(in1,in2,size2) (in2[0]=='r') ? u16rowmins(in1) : u16columnmins(in1)
+
+#define i80g2mini80(in1,in2,size2) (in2[0]=='r') ? i8rowmins(in1) : i8columnmins(in1)
+
+#define i160g2mini160(in1,in2,size2) (in2[0]=='r') ? i16rowmins(in1) : i16columnmins(in1)
+
+
+#define s2g2mins2(in1,size,in2,size2,out) (in2[0]=='r') ? srowmina(in1,size[0],size[1],out) : scolumnmina(in1,size[0],size[1],out)
+
+#define d2g2mind2(in1,size,in2,size2,out) (in2[0]=='r') ? drowmina(in1,size[0],size[1],out) : dcolumnmina(in1,size[0],size[1],out)
+
+#define c2g2minc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowmina(in1,size[0],size[1],out) : ccolumnmina(in1,size[0],size[1],out)
+
+#define z2g2minz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowmina(in1,size[0],size[1],out) : zcolumnmina(in1,size[0],size[1],out)
+
+#define u82g2minu82(in1,size,in2,size2,out) (in2[0]=='r') ? u8rowmina(in1,size[0],size[1],out) : u8columnmina(in1,size[0],size[1],out)
+
+#define u162g2minu162(in1,size,in2,size2,out) (in2[0]=='r') ? u16rowmina(in1,size[0],size[1],out) : u16columnmina(in1,size[0],size[1],out)
+
+#define i82g2mini82(in1,size,in2,size2,out) (in2[0]=='r') ? i8rowmina(in1,size[0],size[1],out) : i8columnmina(in1,size[0],size[1],out)
+
+#define i162g2mini162(in1,size,in2,size2,out) (in2[0]=='r') ? i16rowmina(in1,size[0],size[1],out) : i16columnmina(in1,size[0],size[1],out)
+
+
+
+
+
+#endif /* !__INT_STATMIN_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_stdevf.h b/src/c/statisticsFunctions/interfaces/int_stdevf.h
new file mode 100644
index 0000000..940b415
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_stdevf.h
@@ -0,0 +1,188 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_STDEVF_H__
+#define __INT_STDEVF_H__
+
+#define s0s0stdevfs0(in1,in2) sstdevfs(in1,in2)
+
+#define d0d0stdevfd0(in1,in2) dstdevfs(in1,in2)
+
+#define c0s0stdevfc0(in1,in2) cstdevfs(in1,FloatComplex(in2 , 0.0f))
+
+#define z0d0stdevfz0(in1,in2) zstdevfs(in1,DoubleComplex(in2, 0.0))
+
+#define s2s2stdevfs0(in1, size1, in2, size2) sstdevfa(in1, size1[0],size1[1], in2)
+
+#define d2d2stdevfd0(in1, size1, in2, size2) dstdevfa(in1, size1[0],size1[1], in2)
+
+#define c2s2stdevfc0(in1, size1, in2, size2) cstdevfcs(in1, size1[0], size1[1], in2)
+
+#define z2d2stdevfz0(in1, size1, in2, size2) zstdevfzd(in1, size1[0], size1[1], in2)
+
+
+/*by rows or columns */
+
+#define s0s0s0stdevfs0(in1,in2,in3) (in3==1) ? srowstdevfs(in1,in2) : scolumnstdevfs(in1,in2)
+
+#define d0d0d0stdevfd0(in1,in2,in3) (in3==1) ? drowstdevfs(in1,in2) : dcolumnstdevfs(in1,in2)
+
+#define c0s0s0stdevfc0(in1,in2,in3) (in3==1) ? crowstdevfs(in1,FloatComplex(in2 , 0.0f)) : ccolumnstdevfs(in1,FloatComplex(in2 , 0.0f))
+
+#define z0d0d0stdevfz0(in1,in2,in3) (in3==1) ? zrowstdevfs(in1,DoubleComplex(in2, 0.0)) : zcolumnstdevfs(in1,DoubleComplex(in2, 0.0))
+
+
+#define s2s2s0stdevfs2(in1, size1, in2, size2,in3,out) (in3==1) ? srowstdevfa(in1,size1[0],size1[1],in2,out) : scolumnstdevfa(in1,size1[0],size1[1],in2,out)
+
+#define d2d2d0stdevfd2(in1, size1, in2, size2,in3,out) (in3==1) ? drowstdevfa(in1,size1[0],size1[1],in2,out) : dcolumnstdevfa(in1,size1[0],size1[1],in2,out)
+
+
+
+
+
+#define c2s2s0stdevfc2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowstdevfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnstdevfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }
+
+#define z2d2d0stdevfz2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowstdevfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnstdevfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
+ free(temp);\
+ }
+
+
+/**/
+
+
+#define s0c0stdevfs0(in1,in2) creals (cstdevfs(FloatComplex(in1 , 0.0f),in2))
+#define s0c0stdevfc0(in1,in2) cstdevfs(FloatComplex(in1 , 0.0f),in2)
+
+#define d0z0stdevfd0(in1,in2) zreals(zstdevfs(DoubleComplex(in1, 0.0 ),in2)
+#define d0z0stdevfz0(in1,in2) zstdevfs(DoubleComplex(in1, 0.0 ),in2)
+
+
+#define c0c0stdevfc0(in1,in2) cstdevfs(in1,in2)
+
+#define z0z0stdevfz0(in1,in2) zstdevfs(in1,in2)
+
+
+#define s2c2stdevfs0(in1, size1, in2, size2) creals(cstdevfsc(in1, size1[0],size1[1], in2))
+#define s2c2stdevfc0(in1, size1, in2, size2) cstdevfsc(in1, size1[0],size1[1], in2)
+
+#define d2z2stdevfd0(in1, size1, in2, size2) zreals(zstdevfdz(in1, size1[0],size1[1], in2))
+#define d2z2stdevfz0(in1, size1, in2, size2) zstdevfdz(in1, size1[0],size1[1], in2)
+
+#define c2c2stdevfc0(in1, size1, in2, size2) cstdevfa(in1, size1[0], size1[1], in2)
+
+#define z2z2stdevfz0(in1, size1, in2, size2) zstdevfa(in1, size1[0], size1[1], in2)
+
+
+/*by rows or columns */
+
+#define s0c0s0stdevfs0(in1,in2,in3) (in3==1) ? creals(crowstdevfs(FloatComplex(in1, 0.0f),in2)) : creals(ccolumnstdevfs(FloatComplex(in1, 0.0f),in2))
+
+#define d0z0d0stdevfd0(in1,in2,in3) (in3==1) ? zreals(zrowstdevfs(DoubleComplex(in1, 0.0),in2)) : zreals(zcolumnstdevfs(DoubleComplex(in1, 0.0),in2))
+
+#define c0c0s0stdevfc0(in1,in2,in3) (in3==1) ? crowstdevfs(in1,in2) : ccolumnstdevfs(in1,in2)
+
+#define z0z0d0stdevfz0(in1,in2,in3) (in3==1) ? zrowstdevfs(in1,in2) : zcolumnstdevfs(in1,in2)
+
+
+#define s2c2s0stdevfs2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,FloatComplexMatrix(out,temp,size1[0]*size1[1]));\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,FloatComplexMatrix(out,temp,size1[0]*size1[1]));\
+ free(temp);\
+ }
+
+#define d2z2d0stdevfd2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,DoubleComplexMatrix(out,temp,size1[0]));\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,DoubleComplexMatrix(out,temp,size1[0]));\
+ free(temp);\
+ }
+
+
+/*complex output*/
+
+#define s2c2s0stdevfc2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ crowstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ ccolumnstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+#define d2z2d0stdevfz2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zrowstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }\
+ else\
+ {double* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ zcolumnstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
+ free(temp);\
+ }
+
+
+
+#define c2c2s0stdevfc2(in1, size1, in2, size2,in3,out) (in3==1) ? crowstdevfa(in1,size1[0],size1[1],in2,out) : ccolumnstdevfa(in1,size1[0],size1[1],in2,out)
+
+#define z2z2d0stdevfz2(in1, size1, in2, size2,in3,out) (in3==1) ? zrowstdevfa(in1,size1[0],size1[1],in2,out) : zcolumnstdevfa(in1,size1[0],size1[1],in2,out)
+
+
+/**/
+
+#endif /* !__INT_STDEVF_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_sum.h b/src/c/statisticsFunctions/interfaces/int_sum.h
new file mode 100644
index 0000000..08f01fe
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_sum.h
@@ -0,0 +1,70 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_SUM_H__
+#define __INT_SUM_H__
+
+#define s0sums0(in) ssums(in)
+
+#define d0sumd0(in) dsums(in)
+
+#define c0sumc0(in) csums(in)
+
+#define z0sumz0(in) zsums(in)
+
+#define s2sums0(in,size) ssuma(in, size[0]*size[1])
+
+#define d2sumd0(in,size) dsuma(in, size[0]*size[1])
+
+#define c2sumc0(in,size) csuma(in, size[0]*size[1])
+
+#define z2sumz0(in,size) zsuma(in, size[0]*size[1])
+
+
+#define s0s0sums0(in1,in2) (in2==1) ? srowsums(in1) : scolumnsums(in1)
+
+#define d0d0sumd0(in1,in2) (in2==1) ? drowsums(in1) : dcolumnsums(in1)
+
+#define c0s0sumc0(in1,in2) (in2==1) ? crowsums(in1) : ccolumnsums(in1)
+
+#define z0d0sumz0(in1,in2) (in2==1) ? zrowsums(in1) : zcolumnsums(in1)
+
+#define s2s0sums2(in1,size,in2,out) (in2==1) ? srowsuma(in1,size[0],size[1],out) : scolumnsuma(in1,size[0],size[1],out)
+
+#define d2d0sumd2(in1,size,in2,out) (in2==1) ? drowsuma(in1,size[0],size[1],out) : dcolumnsuma(in1,size[0],size[1],out)
+
+#define c2s0sumc2(in1,size,in2,out) (in2==1) ? crowsuma(in1,size[0],size[1],out) : ccolumnsuma(in1,size[0],size[1],out)
+
+#define z2d0sumz2(in1,size,in2,out) (in2==1) ? zrowsuma(in1,size[0],size[1],out) : zcolumnsuma(in1,size[0],size[1],out)
+
+
+/*'r' and 'c' case */
+#define s0g2sums0(in1,in2,size2) (in2[0]=='r') ? srowsums(in1) : scolumnsums(in1)
+
+#define d0g2sumd0(in1,in2,size2) (in2[0]=='r') ? drowsums(in1) : dcolumnsums(in1)
+
+#define c0g2sumc0(in1,in2,size2) (in2[0]=='r') ? crowsums(in1) : ccolumnsums(in1)
+
+#define z0g2sumz0(in1,in2,size2) (in2[0]=='r') ? zrowsums(in1) : zcolumnsums(in1)
+
+#define s2g2sums2(in1,size,in2,size2,out) (in2[0]=='r') ? srowsuma(in1,size[0],size[1],out) : scolumnsuma(in1,size[0],size[1],out)
+
+#define d2g2sumd2(in1,size,in2,size2,out) (in2[0]=='r') ? drowsuma(in1,size[0],size[1],out) : dcolumnsuma(in1,size[0],size[1],out)
+
+#define c2g2sumc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowsuma(in1,size[0],size[1],out) : ccolumnsuma(in1,size[0],size[1],out)
+
+#define z2g2sumz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowsuma(in1,size[0],size[1],out) : zcolumnsuma(in1,size[0],size[1],out)
+
+
+#endif /* !__INT_SUM_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_variance.h b/src/c/statisticsFunctions/interfaces/int_variance.h
new file mode 100644
index 0000000..dfc191c
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_variance.h
@@ -0,0 +1,71 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_VARIANCE_H__
+#define __INT_VARIANCE_H__
+
+#define s0variances0(in) svariances(in)
+
+#define d0varianced0(in) dvariances(in)
+
+#define c0variancec0(in) cvariances(in)
+
+#define z0variancez0(in) zvariances(in)
+
+#define s2variances0(in,size) svariancea(in, size[0]*size[1])
+
+#define d2varianced0(in,size) dvariancea(in, size[0]*size[1])
+
+#define c2variancec0(in,size) cvariancea(in, size[0]*size[1])
+
+#define z2variancez0(in,size) zvariancea(in, size[0]*size[1])
+
+
+#define s0s0variances0(in1,in2) (in2==1) ? srowvariances(in1) : scolumnvariances(in1)
+
+#define d0d0varianced0(in1,in2) (in2==1) ? drowvariances(in1) : dcolumnvariances(in1)
+
+#define c0s0variancec0(in1,in2) (in2==1) ? crowvariances(in1) : ccolumnvariances(in1)
+
+#define z0d0variancez0(in1,in2) (in2==1) ? zrowvariances(in1) : zcolumnvariances(in1)
+
+#define s2s0variances2(in1,size,in2,out) (in2==1) ? srowvariancea(in1,size[0],size[1],out) : scolumnvariancea(in1,size[0],size[1],out)
+
+#define d2d0varianced2(in1,size,in2,out) (in2==1) ? drowvariancea(in1,size[0],size[1],out) : dcolumnvariancea(in1,size[0],size[1],out)
+
+#define c2s0variancec2(in1,size,in2,out) (in2==1) ? crowvariancea(in1,size[0],size[1],out) : ccolumnvariancea(in1,size[0],size[1],out)
+
+#define z2d0variancez2(in1,size,in2,out) (in2==1) ? zrowvariancea(in1,size[0],size[1],out) : zcolumnvariancea(in1,size[0],size[1],out)
+
+
+ /*'r' and 'c' case */
+#define s0g2variances0(in1,in2,size2) (in2[0]=='r') ? srowvariances(in1) : scolumnvariances(in1)
+
+#define d0g2varianced0(in1,in2,size2) (in2[0]=='r') ? drowvariances(in1) : dcolumnvariances(in1)
+
+#define c0g2variancec0(in1,in2,size2) (in2[0]=='r') ? crowvariances(in1) : ccolumnvariances(in1)
+
+#define z0g2variancez0(in1,in2,size2) (in2[0]=='r') ? zrowvariances(in1) : zcolumnvariances(in1)
+
+#define s2g2variances2(in1,size,in2,size2,out) (in2[0]=='r') ? srowvariancea(in1,size[0],size[1],out) : scolumnvariancea(in1,size[0],size[1],out)
+
+#define d2g2varianced2(in1,size,in2,size2,out) (in2[0]=='r') ? drowvariancea(in1,size[0],size[1],out) : dcolumnvariancea(in1,size[0],size[1],out)
+
+#define c2g2variancec2(in1,size,in2,size2,out) (in2[0]=='r') ? crowvariancea(in1,size[0],size[1],out) : ccolumnvariancea(in1,size[0],size[1],out)
+
+#define z2g2variancez2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowvariancea(in1,size[0],size[1],out) : zcolumnvariancea(in1,size[0],size[1],out)
+
+
+
+#endif /* !__INT_VARIANCE_H__ */
diff --git a/src/c/statisticsFunctions/interfaces/int_variancef.h b/src/c/statisticsFunctions/interfaces/int_variancef.h
new file mode 100644
index 0000000..dfac1a3
--- /dev/null
+++ b/src/c/statisticsFunctions/interfaces/int_variancef.h
@@ -0,0 +1,58 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_VARIANCEF_H__
+#define __INT_VARIANCEF_H__
+
+#define s0s0variancefs0(in1,in2) svariancefs(in1,in2)
+
+#define d0d0variancefd0(in1,in2) dvariancefs(in1,in2)
+
+#define c0s0variancefc0(in1,in2) cvariancefs(in1,in2)
+
+#define z0d0variancefz0(in1,in2) zvariancefs(in1,in2)
+
+#define s2s2variancefs0(in1, size1, in2, size2) svariancefa(in1, size1[0]*size1[1], in2)
+
+#define d2d2variancefd0(in1, size1, in2, size2) dvariancefa(in1, size1[0]*size1[1], in2)
+
+#define c2s2variancefc0(in1, size1, in2, size2) cvariancefv(in1, size1[0], size1[1], in2)
+
+#define z2d2variancefz0(in1, size1, in2, size2) zvariancefv(in1, size1[0], size1[1], in2)
+
+
+/*by rows or columns */
+
+#define s0s0s0variancefs0(in1,in2,in3) (in3==1) ? srowvariancefs(in1,in2) : scolumnvariancefs(in1,in2)
+
+#define d0d0d0variancefd0(in1,in2,in3) (in3==1) ? drowvariancefs(in1,in2) : dcolumnvariancefs(in1,in2)
+
+#define c0s0s0variancefc0(in1,in2,in3) (in3==1) ? crowvariancefs(in1,in2) : ccolumnvariancefs(in1,in2)
+
+#define z0d0d0variancefz0(in1,in2,in3) (in3==1) ? zrowvariancefs(in1,in2) : zcolumnvariancefs(in1,in2)
+
+#define s2s2s0variancefs2(in1, size1, in2, size2,in3,out) (in3==1) ? srowvariancefa(in1,size1[0],size1[1],in2,out) : scolumnvariancefa(in1,size1[0],size1[1],in2,out)
+
+#define d2d2d0variancefd2(in1, size1, in2, size2,in3,out) (in3==1) ? drowvariancefa(in1,size1[0],size1[1],in2,out) : dcolumnvariancefa(in1,size1[0],size1[1],in2,out)
+
+#define c2s2s0variancefc2(in1, size1, in2, size2,in3,out) (in3==1) ? crowvariancefa(in1,size1[0],size1[1],in2,out) : ccolumnvariancefa(in1,size1[0],size1[1],in2,out)
+
+#define z2d2d0variancefz2(in1, size1, in2, size2,in3,out) (in3==1) ? zrowvariancefa(in1,size1[0],size1[1],in2,out) : zcolumnvariancefa(in1,size1[0],size1[1],in2,out)
+
+/*
+#define d2d2d0variancefd2(in1,size1,in2,size2 ,in3 ,out) (in3==1) ? drowvariancefa(in1,size1[0],size1[1],in2 ,out) : dcolumnvariancefa(in1,size1[0],size1[1], in2,out)
+*/
+
+
+#endif /* !__INT_VARIANCEF_H__ */
diff --git a/src/c/statisticsFunctions/max/Makefile.am b/src/c/statisticsFunctions/max/Makefile.am
new file mode 100644
index 0000000..8c12256
--- /dev/null
+++ b/src/c/statisticsFunctions/max/Makefile.am
@@ -0,0 +1,51 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libMax_la_CFLAGS = -I $(top_builddir)/src/c/statisticsFunctions/includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMax.la
+
+libMax_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = smaxa.c \
+ srowmaxa.c \
+ scolumnmaxa.c \
+ dmaxa.c \
+ drowmaxa.c \
+ dcolumnmaxa.c
+
+HEAD = ../includes/statMax.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes
+
+check_LDADD = $(top_builddir)/src/c/statisticsFunctions/max/libMax.la
+
+check_PROGRAMS = testFloatMax testDoubleMax
+
+TESTS = testFloatMax testDoubleMax
+
+#
+# -*- Max Tests -*-
+#
+testFloatMax_SOURCES = testFloatMax.c
+testFloatMax_CFLAGS = $(check_INCLUDES)
+testFloatMax_LDADD = $(check_LDADD)
+
+testDoubleMax_SOURCES =testDoubleMax.c
+testDoubleMax_CFLAGS = $(check_INCLUDES)
+testDoubleMax_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/max/Makefile.in b/src/c/statisticsFunctions/max/Makefile.in
new file mode 100644
index 0000000..5298c5a
--- /dev/null
+++ b/src/c/statisticsFunctions/max/Makefile.in
@@ -0,0 +1,759 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatMax$(EXEEXT) testDoubleMax$(EXEEXT)
+TESTS = testFloatMax$(EXEEXT) testDoubleMax$(EXEEXT)
+subdir = src/c/statisticsFunctions/max
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMax_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libMax_la-smaxa.lo libMax_la-srowmaxa.lo \
+ libMax_la-scolumnmaxa.lo libMax_la-dmaxa.lo \
+ libMax_la-drowmaxa.lo libMax_la-dcolumnmaxa.lo
+am_libMax_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libMax_la_OBJECTS = $(am_libMax_la_OBJECTS)
+libMax_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libMax_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleMax_OBJECTS = testDoubleMax-testDoubleMax.$(OBJEXT)
+testDoubleMax_OBJECTS = $(am_testDoubleMax_OBJECTS)
+testDoubleMax_DEPENDENCIES = $(check_LDADD)
+testDoubleMax_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleMax_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatMax_OBJECTS = testFloatMax-testFloatMax.$(OBJEXT)
+testFloatMax_OBJECTS = $(am_testFloatMax_OBJECTS)
+testFloatMax_DEPENDENCIES = $(check_LDADD)
+testFloatMax_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatMax_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
+am__mv = mv -f
+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 = $(libMax_la_SOURCES) $(testDoubleMax_SOURCES) \
+ $(testFloatMax_SOURCES)
+DIST_SOURCES = $(libMax_la_SOURCES) $(testDoubleMax_SOURCES) \
+ $(testFloatMax_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMax_la_CFLAGS = -I $(top_builddir)/src/c/statisticsFunctions/includes
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMax.la
+libMax_la_SOURCES = $(HEAD) $(SRC)
+SRC = smaxa.c \
+ srowmaxa.c \
+ scolumnmaxa.c \
+ dmaxa.c \
+ drowmaxa.c \
+ dcolumnmaxa.c
+
+HEAD = ../includes/statMax.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes
+check_LDADD = $(top_builddir)/src/c/statisticsFunctions/max/libMax.la
+
+#
+# -*- Max Tests -*-
+#
+testFloatMax_SOURCES = testFloatMax.c
+testFloatMax_CFLAGS = $(check_INCLUDES)
+testFloatMax_LDADD = $(check_LDADD)
+testDoubleMax_SOURCES = testDoubleMax.c
+testDoubleMax_CFLAGS = $(check_INCLUDES)
+testDoubleMax_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/max/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/max/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libMax.la: $(libMax_la_OBJECTS) $(libMax_la_DEPENDENCIES)
+ $(libMax_la_LINK) -rpath $(pkglibdir) $(libMax_la_OBJECTS) $(libMax_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleMax$(EXEEXT): $(testDoubleMax_OBJECTS) $(testDoubleMax_DEPENDENCIES)
+ @rm -f testDoubleMax$(EXEEXT)
+ $(testDoubleMax_LINK) $(testDoubleMax_OBJECTS) $(testDoubleMax_LDADD) $(LIBS)
+testFloatMax$(EXEEXT): $(testFloatMax_OBJECTS) $(testFloatMax_DEPENDENCIES)
+ @rm -f testFloatMax$(EXEEXT)
+ $(testFloatMax_LINK) $(testFloatMax_OBJECTS) $(testFloatMax_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-dcolumnmaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-dmaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-drowmaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-scolumnmaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-smaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMax_la-srowmaxa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleMax-testDoubleMax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatMax-testFloatMax.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libMax_la-smaxa.lo: smaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-smaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-smaxa.Tpo -c -o libMax_la-smaxa.lo `test -f 'smaxa.c' || echo '$(srcdir)/'`smaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-smaxa.Tpo $(DEPDIR)/libMax_la-smaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smaxa.c' object='libMax_la-smaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-smaxa.lo `test -f 'smaxa.c' || echo '$(srcdir)/'`smaxa.c
+
+libMax_la-srowmaxa.lo: srowmaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-srowmaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-srowmaxa.Tpo -c -o libMax_la-srowmaxa.lo `test -f 'srowmaxa.c' || echo '$(srcdir)/'`srowmaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-srowmaxa.Tpo $(DEPDIR)/libMax_la-srowmaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowmaxa.c' object='libMax_la-srowmaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-srowmaxa.lo `test -f 'srowmaxa.c' || echo '$(srcdir)/'`srowmaxa.c
+
+libMax_la-scolumnmaxa.lo: scolumnmaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-scolumnmaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-scolumnmaxa.Tpo -c -o libMax_la-scolumnmaxa.lo `test -f 'scolumnmaxa.c' || echo '$(srcdir)/'`scolumnmaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-scolumnmaxa.Tpo $(DEPDIR)/libMax_la-scolumnmaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnmaxa.c' object='libMax_la-scolumnmaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-scolumnmaxa.lo `test -f 'scolumnmaxa.c' || echo '$(srcdir)/'`scolumnmaxa.c
+
+libMax_la-dmaxa.lo: dmaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-dmaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-dmaxa.Tpo -c -o libMax_la-dmaxa.lo `test -f 'dmaxa.c' || echo '$(srcdir)/'`dmaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-dmaxa.Tpo $(DEPDIR)/libMax_la-dmaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmaxa.c' object='libMax_la-dmaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-dmaxa.lo `test -f 'dmaxa.c' || echo '$(srcdir)/'`dmaxa.c
+
+libMax_la-drowmaxa.lo: drowmaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-drowmaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-drowmaxa.Tpo -c -o libMax_la-drowmaxa.lo `test -f 'drowmaxa.c' || echo '$(srcdir)/'`drowmaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-drowmaxa.Tpo $(DEPDIR)/libMax_la-drowmaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowmaxa.c' object='libMax_la-drowmaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-drowmaxa.lo `test -f 'drowmaxa.c' || echo '$(srcdir)/'`drowmaxa.c
+
+libMax_la-dcolumnmaxa.lo: dcolumnmaxa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMax_la_CFLAGS) $(CFLAGS) -MT libMax_la-dcolumnmaxa.lo -MD -MP -MF $(DEPDIR)/libMax_la-dcolumnmaxa.Tpo -c -o libMax_la-dcolumnmaxa.lo `test -f 'dcolumnmaxa.c' || echo '$(srcdir)/'`dcolumnmaxa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMax_la-dcolumnmaxa.Tpo $(DEPDIR)/libMax_la-dcolumnmaxa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnmaxa.c' object='libMax_la-dcolumnmaxa.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) $(libMax_la_CFLAGS) $(CFLAGS) -c -o libMax_la-dcolumnmaxa.lo `test -f 'dcolumnmaxa.c' || echo '$(srcdir)/'`dcolumnmaxa.c
+
+testDoubleMax-testDoubleMax.o: testDoubleMax.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMax_CFLAGS) $(CFLAGS) -MT testDoubleMax-testDoubleMax.o -MD -MP -MF $(DEPDIR)/testDoubleMax-testDoubleMax.Tpo -c -o testDoubleMax-testDoubleMax.o `test -f 'testDoubleMax.c' || echo '$(srcdir)/'`testDoubleMax.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMax-testDoubleMax.Tpo $(DEPDIR)/testDoubleMax-testDoubleMax.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMax.c' object='testDoubleMax-testDoubleMax.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) $(testDoubleMax_CFLAGS) $(CFLAGS) -c -o testDoubleMax-testDoubleMax.o `test -f 'testDoubleMax.c' || echo '$(srcdir)/'`testDoubleMax.c
+
+testDoubleMax-testDoubleMax.obj: testDoubleMax.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMax_CFLAGS) $(CFLAGS) -MT testDoubleMax-testDoubleMax.obj -MD -MP -MF $(DEPDIR)/testDoubleMax-testDoubleMax.Tpo -c -o testDoubleMax-testDoubleMax.obj `if test -f 'testDoubleMax.c'; then $(CYGPATH_W) 'testDoubleMax.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMax.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMax-testDoubleMax.Tpo $(DEPDIR)/testDoubleMax-testDoubleMax.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMax.c' object='testDoubleMax-testDoubleMax.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) $(testDoubleMax_CFLAGS) $(CFLAGS) -c -o testDoubleMax-testDoubleMax.obj `if test -f 'testDoubleMax.c'; then $(CYGPATH_W) 'testDoubleMax.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMax.c'; fi`
+
+testFloatMax-testFloatMax.o: testFloatMax.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMax_CFLAGS) $(CFLAGS) -MT testFloatMax-testFloatMax.o -MD -MP -MF $(DEPDIR)/testFloatMax-testFloatMax.Tpo -c -o testFloatMax-testFloatMax.o `test -f 'testFloatMax.c' || echo '$(srcdir)/'`testFloatMax.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMax-testFloatMax.Tpo $(DEPDIR)/testFloatMax-testFloatMax.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMax.c' object='testFloatMax-testFloatMax.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) $(testFloatMax_CFLAGS) $(CFLAGS) -c -o testFloatMax-testFloatMax.o `test -f 'testFloatMax.c' || echo '$(srcdir)/'`testFloatMax.c
+
+testFloatMax-testFloatMax.obj: testFloatMax.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMax_CFLAGS) $(CFLAGS) -MT testFloatMax-testFloatMax.obj -MD -MP -MF $(DEPDIR)/testFloatMax-testFloatMax.Tpo -c -o testFloatMax-testFloatMax.obj `if test -f 'testFloatMax.c'; then $(CYGPATH_W) 'testFloatMax.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMax.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMax-testFloatMax.Tpo $(DEPDIR)/testFloatMax-testFloatMax.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMax.c' object='testFloatMax-testFloatMax.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) $(testFloatMax_CFLAGS) $(CFLAGS) -c -o testFloatMax-testFloatMax.obj `if test -f 'testFloatMax.c'; then $(CYGPATH_W) 'testFloatMax.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMax.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/max/dcolumnmaxa.c b/src/c/statisticsFunctions/max/dcolumnmaxa.c
new file mode 100644
index 0000000..ec71777
--- /dev/null
+++ b/src/c/statisticsFunctions/max/dcolumnmaxa.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+void dcolumnmaxa(double *in, int rows, int columns, double* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]>out[i])
+ out[i] = in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/dmaxa.c b/src/c/statisticsFunctions/max/dmaxa.c
new file mode 100644
index 0000000..7292f3c
--- /dev/null
+++ b/src/c/statisticsFunctions/max/dmaxa.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+double dmaxa(double *in, int size) {
+ double out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out)
+ out = in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/drowmaxa.c b/src/c/statisticsFunctions/max/drowmaxa.c
new file mode 100644
index 0000000..596c535
--- /dev/null
+++ b/src/c/statisticsFunctions/max/drowmaxa.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+void drowmaxa(double *in, int rows, int columns, double* out) {
+ int i = 0, j = 0;
+ for (i = 0; i < columns; i++)
+ {
+ out[i]=in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]>out[i])
+ out[i] = in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/max/i16columnmaxa.c b/src/c/statisticsFunctions/max/i16columnmaxa.c
new file mode 100644
index 0000000..87cc579
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i16columnmaxa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+void i16columnmaxa(int16 *in, int rows, int columns, int16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(int16)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]>out[i])
+ out[i] = (int16)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/i16maxa.c b/src/c/statisticsFunctions/max/i16maxa.c
new file mode 100644
index 0000000..b2eab34
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i16maxa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+int16 i16maxa(int16 *in, int size) {
+ int16 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out)
+ out = (int16)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/i16rowmaxa.c b/src/c/statisticsFunctions/max/i16rowmaxa.c
new file mode 100644
index 0000000..46c4ae2
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i16rowmaxa.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+void i16rowmaxa(int16 *in, int rows, int columns, int16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(int16)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]>out[i])
+ out[i] = (int16)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/max/i8columnmaxa.c b/src/c/statisticsFunctions/max/i8columnmaxa.c
new file mode 100644
index 0000000..6c7ea25
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i8columnmaxa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+void i8columnmaxa(int8 *in, int rows, int columns, int8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(int8)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]>out[i])
+ out[i] = (int8)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/i8maxa.c b/src/c/statisticsFunctions/max/i8maxa.c
new file mode 100644
index 0000000..d57b995
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i8maxa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "statMax.h"
+
+int8 i8maxa(int8 *in, int size) {
+ int8 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out)
+ out = (int8)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/i8rowmaxa.c b/src/c/statisticsFunctions/max/i8rowmaxa.c
new file mode 100644
index 0000000..677c61c
--- /dev/null
+++ b/src/c/statisticsFunctions/max/i8rowmaxa.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+void i8rowmaxa(int8 *in, int rows, int columns, int8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(int8)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]>out[i])
+ out[i] = (int8)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/max/scolumnmaxa.c b/src/c/statisticsFunctions/max/scolumnmaxa.c
new file mode 100644
index 0000000..185ab98
--- /dev/null
+++ b/src/c/statisticsFunctions/max/scolumnmaxa.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+void scolumnmaxa(float *in, int rows, int columns, float* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]>out[i]) out[i] = in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/smaxa.c b/src/c/statisticsFunctions/max/smaxa.c
new file mode 100644
index 0000000..3410fae
--- /dev/null
+++ b/src/c/statisticsFunctions/max/smaxa.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+
+float smaxa(float *in, int size) {
+ float out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out) out = in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/srowmaxa.c b/src/c/statisticsFunctions/max/srowmaxa.c
new file mode 100644
index 0000000..8f3b30e
--- /dev/null
+++ b/src/c/statisticsFunctions/max/srowmaxa.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMax.h"
+
+
+void srowmaxa(float *in, int rows, int columns, float* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]>out[i]) out[i] = in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/max/testDoubleMax.c b/src/c/statisticsFunctions/max/testDoubleMax.c
new file mode 100644
index 0000000..883b427
--- /dev/null
+++ b/src/c/statisticsFunctions/max/testDoubleMax.c
@@ -0,0 +1,93 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
+ *
+ * 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 "statMax.h"
+//#include "max.h"
+#include "assert.h"
+#include "stdio.h"
+
+
+static void dmaxaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double out;
+
+ out = dmaxa(in,12);
+ assert(out-7==0);
+
+}
+
+
+static void drowmaxaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double result2[2]={7,5};
+ double result3[3]={7,6,5};
+ double result4[4]={7,6,4,5};
+ double result6[6]={5,7,6,4,5,4};
+ double out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ int i;
+
+
+ drowmaxa(in,12,1,out1);
+ drowmaxa(in,6,2,out2);
+ drowmaxa(in,4,3,out3);
+ drowmaxa(in,3,4,out4);
+ drowmaxa(in,2,6,out6);
+ drowmaxa(in,1,12,out12);
+
+ assert(out1[0]-7==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+
+static void dcolumnmaxaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ double result2[2]={7,6};
+ double result3[3]={5,5,7};
+ double result4[4]={4,6,7,3};
+ double result6[6]={4,5,7,5,4,6};
+ int i;
+
+
+
+ dcolumnmaxa(in,12,1,out12);
+ dcolumnmaxa(in,6,2,out6);
+ dcolumnmaxa(in,4,3,out4);
+ dcolumnmaxa(in,3,4,out3);
+ dcolumnmaxa(in,2,6,out2);
+ dcolumnmaxa(in,1,12,out1);
+
+ assert(out1[0]-7==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+static int maxTest(void){
+ dmaxaTest();
+ drowmaxaTest();
+ dcolumnmaxaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert(maxTest()==0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/max/testFloatMax.c b/src/c/statisticsFunctions/max/testFloatMax.c
new file mode 100644
index 0000000..cb572f7
--- /dev/null
+++ b/src/c/statisticsFunctions/max/testFloatMax.c
@@ -0,0 +1,93 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
+ *
+ * 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 "statMax.h"
+//#include "max.h"
+#include "assert.h"
+#include "stdio.h"
+
+static void smaxaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out;
+
+ out = smaxa(in,12);
+ assert(out-7==0);
+
+}
+
+
+static void srowmaxaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ float result2[2]={7,5};
+ float result3[3]={7,6,5};
+ float result4[4]={7,6,4,5};
+ float result6[6]={5,7,6,4,5,4};
+ int i;
+
+
+ srowmaxa(in,12,1,out1);
+ srowmaxa(in,6,2,out2);
+ srowmaxa(in,4,3,out3);
+ srowmaxa(in,3,4,out4);
+ srowmaxa(in,2,6,out6);
+ srowmaxa(in,1,12,out12);
+
+ assert(out1[0]-7==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+
+static void scolumnmaxaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ float result2[2]={7,6};
+ float result3[3]={5,5,7};
+ float result4[4]={4,6,7,3};
+ float result6[6]={4,5,7,5,4,6};
+ int i;
+
+
+
+ scolumnmaxa(in,12,1,out12);
+ scolumnmaxa(in,6,2,out6);
+ scolumnmaxa(in,4,3,out4);
+ scolumnmaxa(in,3,4,out3);
+ scolumnmaxa(in,2,6,out2);
+ scolumnmaxa(in,1,12,out1);
+
+ assert(out1[0]-7==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+static int maxTest(void){
+ smaxaTest();
+ srowmaxaTest();
+ scolumnmaxaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert(maxTest()==0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj b/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj
new file mode 100644
index 0000000..e941486
--- /dev/null
+++ b/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{020991C0-9640-4097-B697-D514F08AA74C}</ProjectGuid>
+ <RootNamespace>testDoubleMax</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMax.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj.filters b/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj.filters
new file mode 100644
index 0000000..73fb0a8
--- /dev/null
+++ b/src/c/statisticsFunctions/max/test_DoubleMax/testDoubleMax.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMax.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj b/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj
new file mode 100644
index 0000000..da865fa
--- /dev/null
+++ b/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{0E4EC2A2-BADC-48C8-AF56-D1437094887A}</ProjectGuid>
+ <RootNamespace>testFloatMax</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMax.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj.filters b/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj.filters
new file mode 100644
index 0000000..c529a67
--- /dev/null
+++ b/src/c/statisticsFunctions/max/test_FloatMax/testFloatMax.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMax.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/max/u16columnmaxa.c b/src/c/statisticsFunctions/max/u16columnmaxa.c
new file mode 100644
index 0000000..5b4f423
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u16columnmaxa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+void u16columnmaxa(uint16 *in, int rows, int columns, uint16* out) {
+ int i = 0, j = 0;
+
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(uint16)in[i];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]>out[i])
+ out[i] = (uint16)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/u16maxa.c b/src/c/statisticsFunctions/max/u16maxa.c
new file mode 100644
index 0000000..7c9078d
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u16maxa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "statMax.h"
+
+uint16 u16maxa(uint16 *in, int size) {
+ uint16 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out)
+ out = (uint16)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/u16rowmaxa.c b/src/c/statisticsFunctions/max/u16rowmaxa.c
new file mode 100644
index 0000000..eacbe84
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u16rowmaxa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "statMax.h"
+
+void u16rowmaxa(uint16 *in, int rows, int columns, uint16* out) {
+ int i = 0, j = 0;
+ //out = malloc(columns*sizeof(uint16));
+ for (i = 0; i < columns; i++)
+ {
+ out[i]=(uint16)in[i];
+ for (j = 1 ; j < rows ; j++)
+ {
+ if (in[j*columns+i]>out[i])
+ out[i] = (uint16)in[j*columns+i];
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/u8columnmaxa.c b/src/c/statisticsFunctions/max/u8columnmaxa.c
new file mode 100644
index 0000000..ac9bc08
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u8columnmaxa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "statMax.h"
+
+
+void u8columnmaxa(uint8 *in, int rows, int columns, uint8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++)
+{
+ out[i]=(uint8)in[0];
+ for (j=0;j<columns;j++)
+ if (in[j]>out[i])
+ out[i] = (uint8)in[j];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/max/u8maxa.c b/src/c/statisticsFunctions/max/u8maxa.c
new file mode 100644
index 0000000..3f84af4
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u8maxa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMax.h"
+
+uint8 u8maxa(uint8 *in, int size) {
+ uint8 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]>out)
+ out = (uint8)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/max/u8rowmaxa.c b/src/c/statisticsFunctions/max/u8rowmaxa.c
new file mode 100644
index 0000000..0ddae26
--- /dev/null
+++ b/src/c/statisticsFunctions/max/u8rowmaxa.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "statMax.h"
+
+
+void u8rowmaxa(uint8 *in, int rows, int columns, uint8* out) {
+ int i = 0, j = 0;
+
+
+ for (i = 0; i < columns; i++)
+ {
+ out[i]=(uint8)in[0];
+ for (j = 0 ; j < rows ; j++)
+ {
+ if (in[j]>out[i])
+ out[i] = (uint8)in[j];
+ }
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/Makefile.am b/src/c/statisticsFunctions/mean/Makefile.am
new file mode 100644
index 0000000..2969a73
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/Makefile.am
@@ -0,0 +1,69 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libMean_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMean.la
+
+libMean_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = smeana.c \
+ srowmeana.c \
+ scolumnmeana.c \
+ dmeana.c \
+ drowmeana.c \
+ dcolumnmeana.c \
+ cmeana.c \
+ crowmeana.c \
+ ccolumnmeana.c \
+ zmeana.c \
+ zrowmeana.c \
+ zcolumnmeana.c
+
+HEAD = ../includes/mean.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatMean testDoubleMean
+
+TESTS = testFloatMean testDoubleMean
+
+#
+# -*- Mean Tests -*-
+#
+testFloatMean_SOURCES = testFloatMean.c
+testFloatMean_CFLAGS = $(check_INCLUDES)
+testFloatMean_LDADD = $(check_LDADD)
+
+testDoubleMean_SOURCES =testDoubleMean.c
+testDoubleMean_CFLAGS = $(check_INCLUDES)
+testDoubleMean_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/mean/Makefile.in b/src/c/statisticsFunctions/mean/Makefile.in
new file mode 100644
index 0000000..0a05745
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/Makefile.in
@@ -0,0 +1,839 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatMean$(EXEEXT) testDoubleMean$(EXEEXT)
+TESTS = testFloatMean$(EXEEXT) testDoubleMean$(EXEEXT)
+subdir = src/c/statisticsFunctions/mean
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMean_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libMean_la-smeana.lo libMean_la-srowmeana.lo \
+ libMean_la-scolumnmeana.lo libMean_la-dmeana.lo \
+ libMean_la-drowmeana.lo libMean_la-dcolumnmeana.lo \
+ libMean_la-cmeana.lo libMean_la-crowmeana.lo \
+ libMean_la-ccolumnmeana.lo libMean_la-zmeana.lo \
+ libMean_la-zrowmeana.lo libMean_la-zcolumnmeana.lo
+am_libMean_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libMean_la_OBJECTS = $(am_libMean_la_OBJECTS)
+libMean_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libMean_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleMean_OBJECTS = testDoubleMean-testDoubleMean.$(OBJEXT)
+testDoubleMean_OBJECTS = $(am_testDoubleMean_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la
+testDoubleMean_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleMean_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleMean_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatMean_OBJECTS = testFloatMean-testFloatMean.$(OBJEXT)
+testFloatMean_OBJECTS = $(am_testFloatMean_OBJECTS)
+testFloatMean_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatMean_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatMean_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
+am__mv = mv -f
+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 = $(libMean_la_SOURCES) $(testDoubleMean_SOURCES) \
+ $(testFloatMean_SOURCES)
+DIST_SOURCES = $(libMean_la_SOURCES) $(testDoubleMean_SOURCES) \
+ $(testFloatMean_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMean_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMean.la
+libMean_la_SOURCES = $(HEAD) $(SRC)
+SRC = smeana.c \
+ srowmeana.c \
+ scolumnmeana.c \
+ dmeana.c \
+ drowmeana.c \
+ dcolumnmeana.c \
+ cmeana.c \
+ crowmeana.c \
+ ccolumnmeana.c \
+ zmeana.c \
+ zrowmeana.c \
+ zcolumnmeana.c
+
+HEAD = ../includes/mean.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+
+#
+# -*- Mean Tests -*-
+#
+testFloatMean_SOURCES = testFloatMean.c
+testFloatMean_CFLAGS = $(check_INCLUDES)
+testFloatMean_LDADD = $(check_LDADD)
+testDoubleMean_SOURCES = testDoubleMean.c
+testDoubleMean_CFLAGS = $(check_INCLUDES)
+testDoubleMean_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/mean/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/mean/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libMean.la: $(libMean_la_OBJECTS) $(libMean_la_DEPENDENCIES)
+ $(libMean_la_LINK) -rpath $(pkglibdir) $(libMean_la_OBJECTS) $(libMean_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleMean$(EXEEXT): $(testDoubleMean_OBJECTS) $(testDoubleMean_DEPENDENCIES)
+ @rm -f testDoubleMean$(EXEEXT)
+ $(testDoubleMean_LINK) $(testDoubleMean_OBJECTS) $(testDoubleMean_LDADD) $(LIBS)
+testFloatMean$(EXEEXT): $(testFloatMean_OBJECTS) $(testFloatMean_DEPENDENCIES)
+ @rm -f testFloatMean$(EXEEXT)
+ $(testFloatMean_LINK) $(testFloatMean_OBJECTS) $(testFloatMean_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-ccolumnmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-cmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-crowmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-dcolumnmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-dmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-drowmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-scolumnmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-smeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-srowmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-zcolumnmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-zmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMean_la-zrowmeana.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleMean-testDoubleMean.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatMean-testFloatMean.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libMean_la-smeana.lo: smeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-smeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-smeana.Tpo -c -o libMean_la-smeana.lo `test -f 'smeana.c' || echo '$(srcdir)/'`smeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-smeana.Tpo $(DEPDIR)/libMean_la-smeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smeana.c' object='libMean_la-smeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-smeana.lo `test -f 'smeana.c' || echo '$(srcdir)/'`smeana.c
+
+libMean_la-srowmeana.lo: srowmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-srowmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-srowmeana.Tpo -c -o libMean_la-srowmeana.lo `test -f 'srowmeana.c' || echo '$(srcdir)/'`srowmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-srowmeana.Tpo $(DEPDIR)/libMean_la-srowmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowmeana.c' object='libMean_la-srowmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-srowmeana.lo `test -f 'srowmeana.c' || echo '$(srcdir)/'`srowmeana.c
+
+libMean_la-scolumnmeana.lo: scolumnmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-scolumnmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-scolumnmeana.Tpo -c -o libMean_la-scolumnmeana.lo `test -f 'scolumnmeana.c' || echo '$(srcdir)/'`scolumnmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-scolumnmeana.Tpo $(DEPDIR)/libMean_la-scolumnmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnmeana.c' object='libMean_la-scolumnmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-scolumnmeana.lo `test -f 'scolumnmeana.c' || echo '$(srcdir)/'`scolumnmeana.c
+
+libMean_la-dmeana.lo: dmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-dmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-dmeana.Tpo -c -o libMean_la-dmeana.lo `test -f 'dmeana.c' || echo '$(srcdir)/'`dmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-dmeana.Tpo $(DEPDIR)/libMean_la-dmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmeana.c' object='libMean_la-dmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-dmeana.lo `test -f 'dmeana.c' || echo '$(srcdir)/'`dmeana.c
+
+libMean_la-drowmeana.lo: drowmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-drowmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-drowmeana.Tpo -c -o libMean_la-drowmeana.lo `test -f 'drowmeana.c' || echo '$(srcdir)/'`drowmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-drowmeana.Tpo $(DEPDIR)/libMean_la-drowmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowmeana.c' object='libMean_la-drowmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-drowmeana.lo `test -f 'drowmeana.c' || echo '$(srcdir)/'`drowmeana.c
+
+libMean_la-dcolumnmeana.lo: dcolumnmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-dcolumnmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-dcolumnmeana.Tpo -c -o libMean_la-dcolumnmeana.lo `test -f 'dcolumnmeana.c' || echo '$(srcdir)/'`dcolumnmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-dcolumnmeana.Tpo $(DEPDIR)/libMean_la-dcolumnmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnmeana.c' object='libMean_la-dcolumnmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-dcolumnmeana.lo `test -f 'dcolumnmeana.c' || echo '$(srcdir)/'`dcolumnmeana.c
+
+libMean_la-cmeana.lo: cmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-cmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-cmeana.Tpo -c -o libMean_la-cmeana.lo `test -f 'cmeana.c' || echo '$(srcdir)/'`cmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-cmeana.Tpo $(DEPDIR)/libMean_la-cmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmeana.c' object='libMean_la-cmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-cmeana.lo `test -f 'cmeana.c' || echo '$(srcdir)/'`cmeana.c
+
+libMean_la-crowmeana.lo: crowmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-crowmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-crowmeana.Tpo -c -o libMean_la-crowmeana.lo `test -f 'crowmeana.c' || echo '$(srcdir)/'`crowmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-crowmeana.Tpo $(DEPDIR)/libMean_la-crowmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowmeana.c' object='libMean_la-crowmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-crowmeana.lo `test -f 'crowmeana.c' || echo '$(srcdir)/'`crowmeana.c
+
+libMean_la-ccolumnmeana.lo: ccolumnmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-ccolumnmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-ccolumnmeana.Tpo -c -o libMean_la-ccolumnmeana.lo `test -f 'ccolumnmeana.c' || echo '$(srcdir)/'`ccolumnmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-ccolumnmeana.Tpo $(DEPDIR)/libMean_la-ccolumnmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnmeana.c' object='libMean_la-ccolumnmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-ccolumnmeana.lo `test -f 'ccolumnmeana.c' || echo '$(srcdir)/'`ccolumnmeana.c
+
+libMean_la-zmeana.lo: zmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-zmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-zmeana.Tpo -c -o libMean_la-zmeana.lo `test -f 'zmeana.c' || echo '$(srcdir)/'`zmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-zmeana.Tpo $(DEPDIR)/libMean_la-zmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmeana.c' object='libMean_la-zmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-zmeana.lo `test -f 'zmeana.c' || echo '$(srcdir)/'`zmeana.c
+
+libMean_la-zrowmeana.lo: zrowmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-zrowmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-zrowmeana.Tpo -c -o libMean_la-zrowmeana.lo `test -f 'zrowmeana.c' || echo '$(srcdir)/'`zrowmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-zrowmeana.Tpo $(DEPDIR)/libMean_la-zrowmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowmeana.c' object='libMean_la-zrowmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-zrowmeana.lo `test -f 'zrowmeana.c' || echo '$(srcdir)/'`zrowmeana.c
+
+libMean_la-zcolumnmeana.lo: zcolumnmeana.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMean_la_CFLAGS) $(CFLAGS) -MT libMean_la-zcolumnmeana.lo -MD -MP -MF $(DEPDIR)/libMean_la-zcolumnmeana.Tpo -c -o libMean_la-zcolumnmeana.lo `test -f 'zcolumnmeana.c' || echo '$(srcdir)/'`zcolumnmeana.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMean_la-zcolumnmeana.Tpo $(DEPDIR)/libMean_la-zcolumnmeana.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnmeana.c' object='libMean_la-zcolumnmeana.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) $(libMean_la_CFLAGS) $(CFLAGS) -c -o libMean_la-zcolumnmeana.lo `test -f 'zcolumnmeana.c' || echo '$(srcdir)/'`zcolumnmeana.c
+
+testDoubleMean-testDoubleMean.o: testDoubleMean.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMean_CFLAGS) $(CFLAGS) -MT testDoubleMean-testDoubleMean.o -MD -MP -MF $(DEPDIR)/testDoubleMean-testDoubleMean.Tpo -c -o testDoubleMean-testDoubleMean.o `test -f 'testDoubleMean.c' || echo '$(srcdir)/'`testDoubleMean.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMean-testDoubleMean.Tpo $(DEPDIR)/testDoubleMean-testDoubleMean.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMean.c' object='testDoubleMean-testDoubleMean.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) $(testDoubleMean_CFLAGS) $(CFLAGS) -c -o testDoubleMean-testDoubleMean.o `test -f 'testDoubleMean.c' || echo '$(srcdir)/'`testDoubleMean.c
+
+testDoubleMean-testDoubleMean.obj: testDoubleMean.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMean_CFLAGS) $(CFLAGS) -MT testDoubleMean-testDoubleMean.obj -MD -MP -MF $(DEPDIR)/testDoubleMean-testDoubleMean.Tpo -c -o testDoubleMean-testDoubleMean.obj `if test -f 'testDoubleMean.c'; then $(CYGPATH_W) 'testDoubleMean.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMean.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMean-testDoubleMean.Tpo $(DEPDIR)/testDoubleMean-testDoubleMean.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMean.c' object='testDoubleMean-testDoubleMean.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) $(testDoubleMean_CFLAGS) $(CFLAGS) -c -o testDoubleMean-testDoubleMean.obj `if test -f 'testDoubleMean.c'; then $(CYGPATH_W) 'testDoubleMean.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMean.c'; fi`
+
+testFloatMean-testFloatMean.o: testFloatMean.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMean_CFLAGS) $(CFLAGS) -MT testFloatMean-testFloatMean.o -MD -MP -MF $(DEPDIR)/testFloatMean-testFloatMean.Tpo -c -o testFloatMean-testFloatMean.o `test -f 'testFloatMean.c' || echo '$(srcdir)/'`testFloatMean.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMean-testFloatMean.Tpo $(DEPDIR)/testFloatMean-testFloatMean.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMean.c' object='testFloatMean-testFloatMean.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) $(testFloatMean_CFLAGS) $(CFLAGS) -c -o testFloatMean-testFloatMean.o `test -f 'testFloatMean.c' || echo '$(srcdir)/'`testFloatMean.c
+
+testFloatMean-testFloatMean.obj: testFloatMean.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMean_CFLAGS) $(CFLAGS) -MT testFloatMean-testFloatMean.obj -MD -MP -MF $(DEPDIR)/testFloatMean-testFloatMean.Tpo -c -o testFloatMean-testFloatMean.obj `if test -f 'testFloatMean.c'; then $(CYGPATH_W) 'testFloatMean.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMean.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMean-testFloatMean.Tpo $(DEPDIR)/testFloatMean-testFloatMean.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMean.c' object='testFloatMean-testFloatMean.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) $(testFloatMean_CFLAGS) $(CFLAGS) -c -o testFloatMean-testFloatMean.obj `if test -f 'testFloatMean.c'; then $(CYGPATH_W) 'testFloatMean.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMean.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/mean/ccolumnmeana.c b/src/c/statisticsFunctions/mean/ccolumnmeana.c
new file mode 100644
index 0000000..c0254c4
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/ccolumnmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void ccolumnmeana(floatComplex *in, int lines, int columns, floatComplex *out) {
+ int i = 0;
+
+ ccolumnsuma(in, lines, columns, out);
+ for (i = 0; i < lines; ++i)
+ {
+ out[i] = crdivs(out[i] , FloatComplex((float) columns, 0.0f));
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/cmeana.c b/src/c/statisticsFunctions/mean/cmeana.c
new file mode 100644
index 0000000..ad2a66f
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/cmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+
+floatComplex cmeana(floatComplex *in, int size) {
+ floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = cadds(accumulate, in[i]);
+ }
+ return FloatComplex(creals(accumulate) / (float) size, cimags(accumulate) / (float) size);
+}
diff --git a/src/c/statisticsFunctions/mean/crowmeana.c b/src/c/statisticsFunctions/mean/crowmeana.c
new file mode 100644
index 0000000..0b073c4
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/crowmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void crowmeana(floatComplex *in, int lines, int columns, floatComplex *out) {
+ int i = 0;
+
+ crowsuma(in, lines, columns, out);
+ for (i = 0; i < columns; ++i)
+ {
+ out[i] = crdivs(out[i], FloatComplex((float)lines, 0.0f));
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/dcolumnmeana.c b/src/c/statisticsFunctions/mean/dcolumnmeana.c
new file mode 100644
index 0000000..90d7863
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/dcolumnmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void dcolumnmeana(double *in, int lines, int columns, double *out) {
+ int i = 0;
+
+ dcolumnsuma(in, lines, columns, out);
+ for (i = 0; i < lines; ++i)
+ {
+ out[i] /= (double) columns;
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/dmeana.c b/src/c/statisticsFunctions/mean/dmeana.c
new file mode 100644
index 0000000..db11766
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/dmeana.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+
+double dmeana(double *in, int size) {
+ double accumulate = 0.0;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += in[i];
+ }
+ return accumulate / (double) size;
+
+}
diff --git a/src/c/statisticsFunctions/mean/drowmeana.c b/src/c/statisticsFunctions/mean/drowmeana.c
new file mode 100644
index 0000000..aec1b31
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/drowmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void drowmeana(double *in, int lines, int columns, double *out) {
+ int i = 0;
+
+ drowsuma(in, lines, columns, out);
+ for (i = 0; i < columns; ++i)
+ {
+ out[i] /= (double) lines;
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/scolumnmeana.c b/src/c/statisticsFunctions/mean/scolumnmeana.c
new file mode 100644
index 0000000..59985d5
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/scolumnmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void scolumnmeana(float *in, int lines, int columns, float *out) {
+ int i = 0;
+
+ scolumnsuma(in, lines, columns, out);
+ for (i = 0; i < lines; ++i)
+ {
+ out[i] /= (float) columns;
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/smeana.c b/src/c/statisticsFunctions/mean/smeana.c
new file mode 100644
index 0000000..f4b1cd1
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/smeana.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+
+float smeana(float *in, int size) {
+ float accumulate = 0.0f;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += in[i];
+ }
+ return accumulate / (float) size;
+
+}
diff --git a/src/c/statisticsFunctions/mean/srowmeana.c b/src/c/statisticsFunctions/mean/srowmeana.c
new file mode 100644
index 0000000..3fb799f
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/srowmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void srowmeana(float *in, int lines, int columns, float *out) {
+ int i = 0;
+
+ srowsuma(in, lines, columns, out);
+ for (i = 0; i < columns; ++i)
+ {
+ out[i] /= (float) lines;
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/testDoubleMean.c b/src/c/statisticsFunctions/mean/testDoubleMean.c
new file mode 100644
index 0000000..b0eeffc
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/testDoubleMean.c
@@ -0,0 +1,498 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 <math.h>
+#include "mean.h"
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dmeansTest(void) {
+ double value1 = 3.0;
+ double value2 = 1.123456789;
+
+ printf("\n>>>> Mean Double Scalar Test\n");
+ assert( ( fabs(dmeans(value1) ) - ( 3.0 ) ) / fabs ( dmeans(value1) ) < 3e-16 );
+ assert( ( fabs(dmeans(value2) ) - ( 1.123456789 ) ) / fabs ( dmeans(value2) ) < 3e-16 );
+
+ return 0;
+}
+
+static int dmeanaTest(void) {
+ double table1[3] = {3.0, 3.0, 3.0};
+ double table2[5] = {9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563};
+
+ printf("\n>>>> Mean Double Array Test\n");
+ assert( ( fabs(dmeana(table1, 3) ) - ( 9.0 / 3.0 ) ) / fabs ( dmeana(table1, 3) ) < 3e-16 );
+ assert(( ( fabs(dmeana(table2, 5) ) - ( (9.186784563 + 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563) / 5.0) ) ) / fabs ( dmeana(table2, 5) ) < 3e-16 );
+ return 0;
+}
+
+static int dcolumnmeanaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double columnMeanmedTable1_3_3[3] = {0};
+ double columnMeanmedTable1_1_9[1] = {0};
+ double columnMeanmedTable1_9_1[9] = {0};
+ double columnMeanmedTable2_2_5[2] = {0};
+ double columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Mean Double Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 6 15 24 ]
+ [ 7 8 9 ]
+ */
+ dcolumnmeana(table1, 3, 3,columnMeanmedTable1_3_3);
+ assert( ( fabs(columnMeanmedTable1_3_3[0] ) - ( 6.0 / 3.0 ) ) / fabs ( columnMeanmedTable1_3_3[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable1_3_3[1] ) - ( 15.0 / 3.0 ) ) / fabs ( columnMeanmedTable1_3_3[1] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable1_3_3[2] ) - ( 24.0 / 3.0 ) ) / fabs ( columnMeanmedTable1_3_3[2] ) < 3e-16 );
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ dcolumnmeana(table1, 1, 9,columnMeanmedTable1_1_9);
+ assert( ( fabs(columnMeanmedTable1_1_9[0] ) - ( 45.0 / 9.0 ) ) / fabs ( columnMeanmedTable1_1_9[0] ) < 3e-16 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ dcolumnmeana(table1, 9, 1,columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 25 30 ]
+ */
+ dcolumnmeana(table2, 2, 5,columnMeanmedTable2_2_5);
+ assert( ( fabs(columnMeanmedTable2_2_5[0] ) - ( 25.0 / 5.0 ) ) / fabs ( columnMeanmedTable2_2_5[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_2_5[1] ) - ( 30.0 / 5.0 ) ) / fabs ( columnMeanmedTable2_2_5[1] ) < 3e-16 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 7 9 11 13 15 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ dcolumnmeana(table2, 5, 2,columnMeanmedTable2_5_2);
+ assert( ( fabs(columnMeanmedTable2_5_2[0] ) - ( 7.0 / 2.0 ) ) / fabs ( columnMeanmedTable2_5_2[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[1] ) - ( 9.0 / 2.0 ) ) / fabs ( columnMeanmedTable2_5_2[1] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[2] ) - ( 11.0 / 2.0 ) ) / fabs ( columnMeanmedTable2_5_2[2] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[3] ) - ( 13.0 / 2.0 ) ) / fabs ( columnMeanmedTable2_5_2[3] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[4] ) - ( 15.0 / 2.0 ) ) / fabs ( columnMeanmedTable2_5_2[4] ) < 3e-16 );
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int drowmeanaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double rowMeanmedTable1_3_3[3] = {0};
+ double rowMeanmedTable1_1_9[9] = {0};
+ double rowMeanmedTable1_9_1[1] = {0};
+ double rowMeanmedTable2_2_5[5] = {0};
+ double rowMeanmedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Mean Double Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 12 15 18 ]
+ [ 7 8 9 ]
+ */
+ drowmeana(table1, 3, 3,rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert( ( fabs(rowMeanmedTable1_3_3[0] ) - ( 12.0 / 3.0 ) ) / fabs ( rowMeanmedTable1_3_3[0] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable1_3_3[1] ) - ( 15.0 / 3.0 ) ) / fabs ( rowMeanmedTable1_3_3[1] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable1_3_3[2] ) - ( 18.0 / 3.0 ) ) / fabs ( rowMeanmedTable1_3_3[2] ) < 3e-16 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ drowmeana(table1, 1, 9,rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ drowmeana(table1, 9, 1,rowMeanmedTable1_9_1);
+ assert( ( fabs(rowMeanmedTable1_9_1[0] ) - ( 45.0 / 9.0 ) ) / fabs ( rowMeanmedTable1_9_1[0] ) < 3e-16 );
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 3 7 11 15 19 ]
+ */
+ drowmeana(table2, 2, 5,rowMeanmedTable2_2_5);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+ assert( ( fabs(rowMeanmedTable2_2_5[0] ) - ( 3.0 / 2.0 ) ) / fabs ( rowMeanmedTable2_2_5[0] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[1] ) - ( 7.0 / 2.0 ) ) / fabs ( rowMeanmedTable2_2_5[1] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[2] ) - ( 11.0 / 2.0 ) ) / fabs ( rowMeanmedTable2_2_5[2] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[3] ) - ( 15.0 / 2.0 ) ) / fabs ( rowMeanmedTable2_2_5[3] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[4] ) - ( 19.0 / 2.0 ) ) / fabs ( rowMeanmedTable2_2_5[4] ) < 3e-16 );
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 15 40 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ drowmeana(table2, 5, 2,rowMeanmedTable2_5_2);
+ assert( ( fabs(rowMeanmedTable2_5_2[0] ) - ( 15.0 / 5.0 ) ) / fabs ( rowMeanmedTable2_5_2[0] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_5_2[1] ) - ( 40.0 / 5.0 ) ) / fabs ( rowMeanmedTable2_5_2[1] ) < 3e-16 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowMeanmedTable2_5_2[%d] = %e\n", i, rowMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int zmeansTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex value2 = DoubleComplex(1.123456789, 1.123456789);
+
+ printf("\n>>>> Mean Double Complex Scalar Test\n");
+ assert( ( fabs(zreals(zmeans(value1)) ) - ( 3.0 ) ) / fabs ( zreals(zmeans(value1)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeans(value1)) ) - ( 3.0 ) ) / fabs ( zimags(zmeans(value1)) ) < 3e-16 );
+ assert( ( fabs(zreals(zmeans(value2)) ) - ( 1.123456789 ) ) / fabs ( zreals(zmeans(value2)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeans(value2)) ) - ( 1.123456789 ) ) / fabs ( zimags(zmeans(value2)) ) < 3e-16 );
+ return 0;
+}
+
+static int zmeanaTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex table1[3];
+ doubleComplex value2 = DoubleComplex(9.186784563,9.186784563);
+ doubleComplex table2[5];
+
+ printf("\n>>>> Mean Double Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", zimags(zmeana(table1, 3)));
+ printf("%e\n", zreals(zmeana(table2, 5)));
+ printf("%e\n", zimags(zmeana(table2, 5)));
+ printf("%e\n", zreals(zmeana(table2, 5)));
+ printf("%e\n", zimags(zmeana(table2, 5)));
+ printf("--------\n");
+#endif
+ assert( ( fabs(zreals(zmeana(table1, 3)) ) - ( 9.0 / 3.0 ) ) / fabs ( zreals(zmeana(table1, 3)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeana(table1, 3)) ) - ( 9.0 / 3.0 ) ) / fabs ( zimags(zmeana(table1, 3)) ) < 3e-16 );
+ assert( ( fabs(zreals(zmeana(table2, 5)) ) - ( (9.186784563 + 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563) / 5.0 ) ) / fabs ( zreals(zmeana(table2, 5)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeana(table2, 5)) ) - ( (9.186784563 + 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563) / 5.0 ) ) / fabs ( zimags(zmeana(table2, 5)) ) < 3e-16 );
+
+ return 0;
+}
+
+static int zrowmeanaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex rowMeanmedIn_4_3[3];
+ doubleComplex rowMeanmedIn_3_4[4];
+ doubleComplex rowMeanmedIn_6_2[2];
+ doubleComplex rowMeanmedIn_2_6[6];
+ doubleComplex rowMeanmedIn_1_12[12];
+ doubleComplex rowMeanmedIn_12_1[1];
+
+ printf("\n>>>> Row Mean Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6+3.8i 2.2+2.2i 3.8+0.6i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ zrowmeana(in, 4, 3, rowMeanmedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedIn_4_3[%d] = %e + %ei\n", i, zreals(rowMeanmedIn_4_3[i]), zimags(rowMeanmedIn_4_3[i]));
+ }
+ assert(fabs(zreals(rowMeanmedIn_4_3[0]) - 0.6 / 4.0) < 1e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_4_3[0]) ) - ( 3.8 / 4.0 ) ) / fabs ( zimags(rowMeanmedIn_4_3[0]) ) < 3e-16 );
+ assert( ( fabs(zreals(rowMeanmedIn_4_3[1]) ) - ( 2.2 / 4.0 ) ) / fabs ( zreals(rowMeanmedIn_4_3[1]) ) < 3e-16 );
+ assert(fabs(zimags(rowMeanmedIn_4_3[1]) - 2.2 / 4.0) < 3e-16);
+ assert(fabs(zreals(rowMeanmedIn_4_3[2]) - 3.8 / 4.0) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_4_3[2]) ) - ( 0.6 / 4.0 ) ) / fabs ( zimags(rowMeanmedIn_4_3[2]) ) < 3e-16 );
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 0.3+3.i 1.2+2.1i 2.1+1.2i 3.+0.3i]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ zrowmeana(in, 3, 4, rowMeanmedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowMeanmedIn_3_4[%d] = %e + %ei\n", i, zreals(rowMeanmedIn_3_4[i]), zimags(rowMeanmedIn_3_4[i]));
+ }
+ assert(fabs(zreals(rowMeanmedIn_3_4[0]) - 0.3 / 3.0) < 1e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_3_4[0]) ) - ( 3.0 / 3.0 ) ) / fabs ( zimags(rowMeanmedIn_3_4[0]) ) < 3e-16 );
+ assert(zreals(rowMeanmedIn_3_4[1]) == 1.2 / 3.0 && zimags(rowMeanmedIn_3_4[1]) == 2.1 / 3.0);
+ assert(fabs(zreals(rowMeanmedIn_3_4[2]) - 2.1 / 3.0) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_3_4[2]) ) - ( 1.2 / 3.0 ) ) / fabs ( zimags(rowMeanmedIn_3_4[2]) ) < 3e-16 );
+ assert( ( fabs(zreals(rowMeanmedIn_3_4[3]) ) - ( 3.0 / 3.0 ) ) / fabs ( zreals(rowMeanmedIn_3_4[3]) ) < 3e-16 );
+ assert(fabs(zimags(rowMeanmedIn_3_4[3]) - 0.3 / 3.0) < 1e-16);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 1.5+5.1i 5.1+1.5i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ zrowmeana(in, 6, 2, rowMeanmedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowMeanmedIn_6_2[%d] = %e + %ei\n", i, zreals(rowMeanmedIn_6_2[i]), zimags(rowMeanmedIn_6_2[i]));
+ }
+ assert(zreals(rowMeanmedIn_6_2[0]) == 1.5 / 6.0 && zimags(rowMeanmedIn_6_2[0]) == 5.1 / 6.0);
+ assert(zreals(rowMeanmedIn_6_2[1]) == 5.1 / 6.0 && zimags(rowMeanmedIn_6_2[1]) == 1.5 / 6.0);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 0.1+2.1i 0.5+1.7i 0.9+1.3i 1.3+0.9i 1.7+0.5i 2.1+0.1i ]
+ */
+ zrowmeana(in, 2, 6, rowMeanmedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowMeanmedIn_2_6[%d] = %e + %ei\n", i, zreals(rowMeanmedIn_2_6[i]), zimags(rowMeanmedIn_2_6[i]));
+ }
+ assert(zreals(rowMeanmedIn_2_6[0]) == 0.1 / 2.0 && zimags(rowMeanmedIn_2_6[0]) == 2.1 / 2.0);
+ assert( ( fabs(zreals(rowMeanmedIn_2_6[1]) ) - ( 0.5 / 2.0 ) ) / fabs(zreals(rowMeanmedIn_2_6[1])) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_2_6[1]) ) - ( 1.7 / 2.0 ) ) / fabs(zimags(rowMeanmedIn_2_6[1])) < 3e-16);
+ assert( ( fabs(zreals(rowMeanmedIn_2_6[2]) ) - ( 0.9 / 2.0 ) ) / fabs(zreals(rowMeanmedIn_2_6[2])) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_2_6[2]) ) - ( 1.3 / 2.0 ) ) / fabs(zimags(rowMeanmedIn_2_6[2])) < 3e-16);
+ assert( ( fabs(zreals(rowMeanmedIn_2_6[3]) ) - ( 1.3 / 2.0 ) ) / fabs(zreals(rowMeanmedIn_2_6[3])) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_2_6[3]) ) - ( 0.9 / 2.0 ) ) / fabs(zimags(rowMeanmedIn_2_6[3])) < 3e-16);
+ assert( ( fabs(zreals(rowMeanmedIn_2_6[4]) ) - ( 1.7 / 2.0 ) ) / fabs(zreals(rowMeanmedIn_2_6[4])) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_2_6[4]) ) - ( 0.5 / 2.0 ) ) / fabs(zimags(rowMeanmedIn_2_6[4])) < 3e-16);
+ assert( ( fabs(zreals(rowMeanmedIn_2_6[5]) ) - ( 2.1 / 2.0 ) ) / fabs(zreals(rowMeanmedIn_2_6[5])) < 3e-16);
+ assert( ( fabs(zimags(rowMeanmedIn_2_6[5]) ) - ( 0.1 / 2.0 ) ) / fabs(zimags(rowMeanmedIn_2_6[5])) < 3e-16);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ zrowmeana(in, 1, 12, rowMeanmedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowMeanmedIn_1_12[%d] = %e + %ei\n", i, zreals(rowMeanmedIn_1_12[i]), zimags(rowMeanmedIn_1_12[i]));
+ assert(zreals(rowMeanmedIn_1_12[i]) == zreals(in[i]) && zimags(rowMeanmedIn_1_12[i]) == zimags(in[i]));
+ }
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 6.6+6.6i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ zrowmeana(in, 12, 1, rowMeanmedIn_12_1);
+ printf("rowMeanmedIn_12_1[%d] = %e + %ei\n", 0, zreals(rowMeanmedIn_12_1[0]), zimags(rowMeanmedIn_12_1[0]));
+ assert(zreals(rowMeanmedIn_12_1[0]) == 6.6 / 12.0 && zimags(rowMeanmedIn_12_1[0]) == 6.6 / 12.0);
+
+ return 0;
+}
+
+static int zcolumnmeanaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex columnMeanmedIn_4_3[4];
+ doubleComplex columnMeanmedIn_3_4[3];
+ doubleComplex columnMeanmedIn_6_2[6];
+ doubleComplex columnMeanmedIn_2_6[2];
+ doubleComplex columnMeanmedIn_1_12[1];
+ doubleComplex columnMeanmedIn_12_1[12];
+
+ printf("\n>>>> ColumnMean Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 1.2+2.1i 1.5+1.8i 1.8+1.5i 2.1+1.2i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ zcolumnmeana(in, 4, 3, columnMeanmedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnMeanmedIn_4_3[%d] = %e + %ei\n", i, zreals(columnMeanmedIn_4_3[i]), zimags(columnMeanmedIn_4_3[i]));
+ }
+ assert(fabs(zreals(columnMeanmedIn_4_3[0]) - 1.2 / 3.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_4_3[0]) - 2.1 / 3.0) < 3e-16);
+ assert(fabs(zreals(columnMeanmedIn_4_3[1]) - 1.5 / 3.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_4_3[1]) - 1.8 / 3.0) < 3e-16);
+ assert(fabs(zreals(columnMeanmedIn_4_3[2]) - 1.8 / 3.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_4_3[2]) - 1.5 / 3.0) < 3e-16);
+ assert(fabs(zreals(columnMeanmedIn_4_3[3]) - 2.1 / 3.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_4_3[3]) - 1.2 / 3.0) < 3e-16);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 1.8+2.6i 2.2+2.2i 2.6+1.8i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ zcolumnmeana(in, 3, 4, columnMeanmedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnMeanmedIn_3_4[%d] = %e + %ei\n", i, zreals(columnMeanmedIn_3_4[i]), zimags(columnMeanmedIn_3_4[i]));
+ }
+ assert(fabs(zreals(columnMeanmedIn_3_4[0]) - 1.8 / 4.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_3_4[0]) - 2.6 / 4.0) < 3e-16);
+ assert(zreals(columnMeanmedIn_3_4[1]) == 2.2 / 4.0 && zimags(columnMeanmedIn_3_4[1]) == 2.2 / 4.0);
+ assert(zreals(columnMeanmedIn_3_4[2]) == 2.6 / 4.0 && zimags(columnMeanmedIn_3_4[2]) == 1.8 / 4.0);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.6+1.6i 0.8+1.4i 1+1.2i 1.2+i 1.4+0.8i 1.6+0.6i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ zcolumnmeana(in, 6, 2, columnMeanmedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnMeanmedIn_6_2[%d] = %e + %ei\n", i, zreals(columnMeanmedIn_6_2[i]), zimags(columnMeanmedIn_6_2[i]));
+ }
+ assert(zreals(columnMeanmedIn_6_2[0]) == 0.6 / 2.0 && zimags(columnMeanmedIn_6_2[0]) == 1.6 / 2.0);
+ assert(fabs(zreals(columnMeanmedIn_6_2[1]) - 0.8 / 2.0) < 3e-16);
+ assert(zimags(columnMeanmedIn_6_2[1]) == 1.4 / 2.0);
+ assert(zreals(columnMeanmedIn_6_2[2]) == 1.0 / 2.0 && zimags(columnMeanmedIn_6_2[2]) == 1.2 / 2.0);
+ assert(zreals(columnMeanmedIn_6_2[3]) == 1.2 / 2.0 && zimags(columnMeanmedIn_6_2[3]) == 1.0 / 2.0);
+ assert(zreals(columnMeanmedIn_6_2[4]) == 1.4 / 2.0);
+ assert(fabs(zimags(columnMeanmedIn_6_2[4]) - 0.8 / 2.0) < 3e-16);
+ assert(zreals(columnMeanmedIn_6_2[5]) == 1.6 / 2.0 && zimags(columnMeanmedIn_6_2[5]) == 0.6 / 2.0);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 3+3.6i 3.6+3i ]
+ */
+ zcolumnmeana(in, 2, 6, columnMeanmedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedIn_2_6[%d] = %e + %ei\n", i, zreals(columnMeanmedIn_2_6[i]), zimags(columnMeanmedIn_2_6[i]));
+ }
+ assert(fabs(zreals(columnMeanmedIn_2_6[0]) - 3.0 / 6.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_2_6[0]) - 3.6 / 6.0) < 3e-16);
+ assert(fabs(zreals(columnMeanmedIn_2_6[1]) - 3.6 / 6.0) < 3e-16);
+ assert(fabs(zimags(columnMeanmedIn_2_6[1]) - 3.0 / 6.0) < 3e-16);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 6.6+6.6i ]
+ */
+ zcolumnmeana(in, 1, 12, columnMeanmedIn_1_12);
+ printf("columnMeanmedIn_1_12[%d] = %e + %ei\n", 0, zreals(columnMeanmedIn_1_12[0]), zimags(columnMeanmedIn_1_12[0]));
+ assert(zreals(columnMeanmedIn_1_12[0]) == 6.6 / 12.0 && zimags(columnMeanmedIn_1_12[0]) == 6.6 / 12.0);
+
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ zcolumnmeana(in, 12, 1, columnMeanmedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnMeanmedIn_12_1[%d] = %e + %ei\n", i, zreals(columnMeanmedIn_12_1[i]), zimags(columnMeanmedIn_12_1[i]));
+ assert(zreals(columnMeanmedIn_12_1[i]) == zreals(in[i]) && zimags(columnMeanmedIn_12_1[i]) == zimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testMean(void) {
+
+ dmeansTest();
+ dmeanaTest();
+ drowmeanaTest();
+ dcolumnmeanaTest();
+ zmeansTest();
+ zmeanaTest();
+ zrowmeanaTest();
+ zcolumnmeanaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testMean() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/mean/testFloatMean.c b/src/c/statisticsFunctions/mean/testFloatMean.c
new file mode 100644
index 0000000..e5c6d9d
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/testFloatMean.c
@@ -0,0 +1,481 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 <math.h>
+#include "mean.h"
+
+/* #define LOCAL_DEBUG */
+
+static int smeansTest(void) {
+ float value1 = 3.0f;
+ float value2 = 1.123456789f;
+
+ printf("\n>>>> Mean Float Scalar Test\n");
+ assert(smeans(value1) == 3.0f);
+ assert(smeans(value2) == 1.123456789f);
+
+ return 0;
+}
+
+static int smeanaTest(void) {
+ float table1[3] = {3.0f, 3.0f, 3.0f};
+ float table2[5] = {9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f};
+
+ printf("\n>>>> Mean Float Array Test\n");
+ assert(smeana(table1, 3) == 9.0f / 3.0f);
+ assert((smeana(table2, 5) - (9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f) / 5.0f) / smeana(table2, 5) < 1e-6);
+ return 0;
+}
+
+static int scolumnmeanaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float columnMeanmedTable1_3_3[3] = {0};
+ float columnMeanmedTable1_1_9[1] = {0};
+ float columnMeanmedTable1_9_1[9] = {0};
+ float columnMeanmedTable2_2_5[2] = {0};
+ float columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Mean Float Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 6 15 24 ]
+ [ 7 8 9 ]
+ */
+ scolumnmeana(table1, 3, 3,columnMeanmedTable1_3_3);
+ assert(columnMeanmedTable1_3_3[0] == 6.0f / 3.0f);
+ assert(columnMeanmedTable1_3_3[1] == 15.0f / 3.0f);
+ assert(columnMeanmedTable1_3_3[2] == 24.0f / 3.0f);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ scolumnmeana(table1, 1, 9,columnMeanmedTable1_1_9);
+ assert(columnMeanmedTable1_1_9[0] == 45.0f / 9.0f);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ scolumnmeana(table1, 9, 1,columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 25 30 ]
+ */
+ scolumnmeana(table2, 2, 5,columnMeanmedTable2_2_5);
+ assert(columnMeanmedTable2_2_5[0] == 25.0f / 5.0f);
+ assert(columnMeanmedTable2_2_5[1] == 30.0f / 5.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 7 9 11 13 15 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ scolumnmeana(table2, 5, 2,columnMeanmedTable2_5_2);
+ assert(columnMeanmedTable2_5_2[0] == 7.0f / 2.0f);
+ assert(columnMeanmedTable2_5_2[1] == 9.0f / 2.0f);
+ assert(columnMeanmedTable2_5_2[2] == 11.0f / 2.0f);
+ assert(columnMeanmedTable2_5_2[3] == 13.0f / 2.0f);
+ assert(columnMeanmedTable2_5_2[4] == 15.0f / 2.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int srowmeanaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float rowMeanmedTable1_3_3[3] = {0};
+ float rowMeanmedTable1_1_9[9] = {0};
+ float rowMeanmedTable1_9_1[1] = {0};
+ float rowMeanmedTable2_2_5[5] = {0};
+ float rowMeanmedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Mean Float Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 12 15 18 ]
+ [ 7 8 9 ]
+ */
+ srowmeana(table1, 3, 3,rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert(rowMeanmedTable1_3_3[0] == 12.0f / 3.0f);
+ assert(rowMeanmedTable1_3_3[1] == 15.0f / 3.0f);
+ assert(rowMeanmedTable1_3_3[2] == 18.0f / 3.0f);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ srowmeana(table1, 1, 9,rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ srowmeana(table1, 9, 1,rowMeanmedTable1_9_1);
+ assert(rowMeanmedTable1_9_1[0] == 45.0f / 9.0f);
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 3 7 11 15 19 ]
+ */
+ srowmeana(table2, 2, 5,rowMeanmedTable2_2_5);
+ assert(rowMeanmedTable2_2_5[0] == 3.0f / 2.0f);
+ assert(rowMeanmedTable2_2_5[1] == 7.0f / 2.0f);
+ assert(rowMeanmedTable2_2_5[2] == 11.0f / 2.0f);
+ assert(rowMeanmedTable2_2_5[3] == 15.0f / 2.0f);
+ assert(rowMeanmedTable2_2_5[4] == 19.0f / 2.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 15 40 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ srowmeana(table2, 5, 2,rowMeanmedTable2_5_2);
+ assert(rowMeanmedTable2_5_2[0] == 15.0f / 5.0f);
+ assert(rowMeanmedTable2_5_2[1] == 40.0f / 5.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowMeanmedTable2_5_2[%d] = %e\n", i, rowMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int cmeansTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex value2 = FloatComplex(1.123456789f, 1.123456789f);
+
+ printf("\n>>>> Mean Float Complex Scalar Test\n");
+ assert(creals(cmeans(value1)) == 3.0f);
+ assert(cimags(cmeans(value1)) == 3.0f);
+ assert(creals(cmeans(value2)) == 1.123456789f);
+ assert(cimags(cmeans(value2)) == 1.123456789f);
+ return 0;
+}
+
+static int cmeanaTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex table1[3];
+ floatComplex value2 = FloatComplex(9.186784563f,9.186784563f);
+ floatComplex table2[5];
+
+ printf("\n>>>> Mean Float Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", cimags(cmeana(table1, 3)));
+ printf("%e\n", creals(cmeana(table2, 5)));
+ printf("%e\n", cimags(cmeana(table2, 5)));
+ printf("%e\n", creals(cmeana(table2, 5)));
+ printf("%e\n", cimags(cmeana(table2, 5)));
+ printf("--------\n");
+#endif
+ assert(creals(cmeana(table1, 3)) == 9.0f / 3.0f);
+ assert(cimags(cmeana(table1, 3)) == 9.0f / 3.0f);
+ assert(creals(cmeana(table2, 5)) == (9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f) / 5.0f);
+ assert(cimags(cmeana(table2, 5)) == (9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f) / 5.0f);
+
+ return 0;
+}
+
+static int crowmeanaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex rowMeanmedIn_4_3[3];
+ floatComplex rowMeanmedIn_3_4[4];
+ floatComplex rowMeanmedIn_6_2[2];
+ floatComplex rowMeanmedIn_2_6[6];
+ floatComplex rowMeanmedIn_1_12[12];
+ floatComplex rowMeanmedIn_12_1[1];
+
+ printf("\n>>>> Row Mean Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6+3.8i 2.2+2.2i 3.8+0.6i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ crowmeana(in, 4, 3, rowMeanmedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedIn_4_3[%d] = %e + %ei\n", i, creals(rowMeanmedIn_4_3[i]), cimags(rowMeanmedIn_4_3[i]));
+ }
+ assert(creals(rowMeanmedIn_4_3[0]) == 0.6f / 4.0f && cimags(rowMeanmedIn_4_3[0]) == 3.8f / 4.0f);
+ assert(creals(rowMeanmedIn_4_3[1]) == 2.2f / 4.0f && cimags(rowMeanmedIn_4_3[1]) == 2.2f / 4.0f);
+ assert(fabs(creals(rowMeanmedIn_4_3[2]) - 3.8f / 4.0f) < 1e-06);
+ assert(cimags(rowMeanmedIn_4_3[2]) == 0.6f / 4.0f);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 0.3+3.i 1.2+2.1i 2.1+1.2i 3.+0.3i]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ crowmeana(in, 3, 4, rowMeanmedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowMeanmedIn_3_4[%d] = %e + %ei\n", i, creals(rowMeanmedIn_3_4[i]), cimags(rowMeanmedIn_3_4[i]));
+ }
+ assert(creals(rowMeanmedIn_3_4[0]) == 0.3f / 3.0f && cimags(rowMeanmedIn_3_4[0]) == 3.0f / 3.0f);
+ assert(creals(rowMeanmedIn_3_4[1]) == 1.2f / 3.0f && cimags(rowMeanmedIn_3_4[1]) == 2.1f / 3.0f);
+ assert(creals(rowMeanmedIn_3_4[2]) == 2.1f / 3.0f && cimags(rowMeanmedIn_3_4[2]) == 1.2f / 3.0f);
+ assert(creals(rowMeanmedIn_3_4[3]) == 3.0f / 3.0f && cimags(rowMeanmedIn_3_4[3]) == 0.3f / 3.0f);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 1.5+5.1i 5.1+1.5i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ crowmeana(in, 6, 2, rowMeanmedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowMeanmedIn_6_2[%d] = %e + %ei\n", i, creals(rowMeanmedIn_6_2[i]), cimags(rowMeanmedIn_6_2[i]));
+ }
+ assert(creals(rowMeanmedIn_6_2[0]) == 1.5f / 6.0f && cimags(rowMeanmedIn_6_2[0]) == 5.1f / 6.0f);
+ assert(creals(rowMeanmedIn_6_2[1]) == 5.1f / 6.0f);
+ assert(fabs(cimags(rowMeanmedIn_6_2[1]) - 1.5f / 6.0f) < 1e-06);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 0.1+2.1i 0.5+1.7i 0.9+1.3i 1.3+0.9i 1.7+0.5i 2.1+0.1i ]
+ */
+ crowmeana(in, 2, 6, rowMeanmedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowMeanmedIn_2_6[%d] = %e + %ei\n", i, creals(rowMeanmedIn_2_6[i]), cimags(rowMeanmedIn_2_6[i]));
+ }
+ assert(creals(rowMeanmedIn_2_6[0]) == 0.1f / 2.0f && cimags(rowMeanmedIn_2_6[0]) == 2.1f / 2.0f);
+ assert(creals(rowMeanmedIn_2_6[1]) == 0.5f / 2.0f && cimags(rowMeanmedIn_2_6[1]) == 1.7f / 2.0f);
+ assert(creals(rowMeanmedIn_2_6[2]) == 0.9f / 2.0f && cimags(rowMeanmedIn_2_6[2]) == 1.3f / 2.0f);
+ assert(creals(rowMeanmedIn_2_6[3]) == 1.3f / 2.0f && cimags(rowMeanmedIn_2_6[3]) == 0.9f / 2.0f);
+ assert(creals(rowMeanmedIn_2_6[4]) == 1.7f / 2.0f && cimags(rowMeanmedIn_2_6[4]) == 0.5f / 2.0f);
+ assert(creals(rowMeanmedIn_2_6[5]) == 2.1f / 2.0f && cimags(rowMeanmedIn_2_6[5]) == 0.1f / 2.0f);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ crowmeana(in, 1, 12, rowMeanmedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowMeanmedIn_1_12[%d] = %e + %ei\n", i, creals(rowMeanmedIn_1_12[i]), cimags(rowMeanmedIn_1_12[i]));
+ assert(creals(rowMeanmedIn_1_12[i]) == creals(in[i]) && cimags(rowMeanmedIn_1_12[i]) == cimags(in[i]));
+ }
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 6.6+6.6i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ crowmeana(in, 12, 1, rowMeanmedIn_12_1);
+ printf("rowMeanmedIn_12_1[%d] = %e + %ei\n", 0, creals(rowMeanmedIn_12_1[0]), cimags(rowMeanmedIn_12_1[0]));
+ assert(creals(rowMeanmedIn_12_1[0]) == 6.6f / 12.0f && cimags(rowMeanmedIn_12_1[0]) == 6.6f / 12.0f);
+
+ return 0;
+}
+
+static int ccolumnmeanaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex columnMeanmedIn_4_3[4];
+ floatComplex columnMeanmedIn_3_4[3];
+ floatComplex columnMeanmedIn_6_2[6];
+ floatComplex columnMeanmedIn_2_6[2];
+ floatComplex columnMeanmedIn_1_12[1];
+ floatComplex columnMeanmedIn_12_1[12];
+
+ printf("\n>>>> ColumnMean Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 1.2+2.1i 1.5+1.8i 1.8+1.5i 2.1+1.2i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ ccolumnmeana(in, 4, 3, columnMeanmedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnMeanmedIn_4_3[%d] = %e + %ei\n", i, creals(columnMeanmedIn_4_3[i]), cimags(columnMeanmedIn_4_3[i]));
+ }
+ assert(creals(columnMeanmedIn_4_3[0]) == 1.2f / 3.0f && cimags(columnMeanmedIn_4_3[0]) == 2.1f / 3.0f);
+ assert(creals(columnMeanmedIn_4_3[1]) == 1.5f / 3.0f);
+ assert(fabs(cimags(columnMeanmedIn_4_3[1]) - 1.8f / 3.0f) < 1e-06);
+ assert(creals(columnMeanmedIn_4_3[2]) == 1.8f / 3.0f && cimags(columnMeanmedIn_4_3[2]) == 1.5f / 3.0f);
+ assert(creals(columnMeanmedIn_4_3[3]) == 2.1f / 3.0f && cimags(columnMeanmedIn_4_3[3]) == 1.2f / 3.0f);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 1.8+2.6i 2.2+2.2i 2.6+1.8i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ ccolumnmeana(in, 3, 4, columnMeanmedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnMeanmedIn_3_4[%d] = %e + %ei\n", i, creals(columnMeanmedIn_3_4[i]), cimags(columnMeanmedIn_3_4[i]));
+ }
+ assert(creals(columnMeanmedIn_3_4[0]) == 1.8f / 4.0f);
+ assert(fabs(cimags(columnMeanmedIn_3_4[0]) - 2.6f / 4.0f) < 1e-06);
+ assert(creals(columnMeanmedIn_3_4[1]) == 2.2f / 4.0f && cimags(columnMeanmedIn_3_4[1]) == 2.2f / 4.0f);
+ assert(creals(columnMeanmedIn_3_4[2]) == 2.6f / 4.0f && cimags(columnMeanmedIn_3_4[2]) == 1.8f / 4.0f);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.6+1.6i 0.8+1.4i 1+1.2i 1.2+i 1.4+0.8i 1.6+0.6i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ ccolumnmeana(in, 6, 2, columnMeanmedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnMeanmedIn_6_2[%d] = %e + %ei\n", i, creals(columnMeanmedIn_6_2[i]), cimags(columnMeanmedIn_6_2[i]));
+ }
+ assert(creals(columnMeanmedIn_6_2[0]) == 0.6f / 2.0f && cimags(columnMeanmedIn_6_2[0]) == 1.6f / 2.0f);
+ assert(creals(columnMeanmedIn_6_2[1]) == 0.8f / 2.0f && cimags(columnMeanmedIn_6_2[1]) == 1.4f / 2.0f);
+ assert(creals(columnMeanmedIn_6_2[2]) == 1.0f / 2.0f && cimags(columnMeanmedIn_6_2[2]) == 1.2f / 2.0f);
+ assert(creals(columnMeanmedIn_6_2[3]) == 1.2f / 2.0f && cimags(columnMeanmedIn_6_2[3]) == 1.0f / 2.0f);
+ assert(creals(columnMeanmedIn_6_2[4]) == 1.4f / 2.0f && cimags(columnMeanmedIn_6_2[4]) == 0.8f / 2.0f);
+ assert(creals(columnMeanmedIn_6_2[5]) == 1.6f / 2.0f && cimags(columnMeanmedIn_6_2[5]) == 0.6f / 2.0f);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 3+3.6i 3.6+3i ]
+ */
+ ccolumnmeana(in, 2, 6, columnMeanmedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedIn_2_6[%d] = %e + %ei\n", i, creals(columnMeanmedIn_2_6[i]), cimags(columnMeanmedIn_2_6[i]));
+ }
+ assert(creals(columnMeanmedIn_2_6[0]) == 3.0f / 6.0f && cimags(columnMeanmedIn_2_6[0]) == 3.6f / 6.0f);
+ assert(creals(columnMeanmedIn_2_6[1]) == 3.6f / 6.0f);
+ assert(fabs(cimags(columnMeanmedIn_2_6[1]) -3.0f / 6.0f) < 1e-06);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 6.6+6.6i ]
+ */
+ ccolumnmeana(in, 1, 12, columnMeanmedIn_1_12);
+ printf("columnMeanmedIn_1_12[%d] = %e + %ei\n", 0, creals(columnMeanmedIn_1_12[0]), cimags(columnMeanmedIn_1_12[0]));
+ assert(creals(columnMeanmedIn_1_12[0]) == 6.6f / 12.0f && cimags(columnMeanmedIn_1_12[0]) == 6.6f / 12.0f);
+
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ ccolumnmeana(in, 12, 1, columnMeanmedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnMeanmedIn_12_1[%d] = %e + %ei\n", i, creals(columnMeanmedIn_12_1[i]), cimags(columnMeanmedIn_12_1[i]));
+ assert(creals(columnMeanmedIn_12_1[i]) == creals(in[i]) && cimags(columnMeanmedIn_12_1[i]) == cimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testMean(void) {
+
+ smeansTest();
+ smeanaTest();
+ srowmeanaTest();
+ scolumnmeanaTest();
+ cmeansTest();
+ cmeanaTest();
+ crowmeanaTest();
+ ccolumnmeanaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testMean() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj b/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj
new file mode 100644
index 0000000..161eef2
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{3C4D1EB3-7D2A-4AAE-9B4C-3A0C18CBA156}</ProjectGuid>
+ <RootNamespace>testDoubleMean</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMean.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj.filters b/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj.filters
new file mode 100644
index 0000000..fba0c33
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/test_DoubleMean/testDoubleMean.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMean.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj b/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj
new file mode 100644
index 0000000..b4c331c
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{ACF6BDB6-C931-400D-A1ED-0B053A19F7EE}</ProjectGuid>
+ <RootNamespace>testFloatMean</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMean.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj.filters b/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj.filters
new file mode 100644
index 0000000..91061ad
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/test_FloatMean/testFloatMean.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMean.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/mean/zcolumnmeana.c b/src/c/statisticsFunctions/mean/zcolumnmeana.c
new file mode 100644
index 0000000..8cc38fc
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/zcolumnmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void zcolumnmeana(doubleComplex *in, int lines, int columns, doubleComplex *out) {
+ int i = 0;
+
+ zcolumnsuma(in, lines, columns, out);
+ for (i = 0; i < lines; ++i)
+ {
+ out[i] = zrdivs(out[i] , DoubleComplex((double) columns, 0.0f));
+ }
+}
diff --git a/src/c/statisticsFunctions/mean/zmeana.c b/src/c/statisticsFunctions/mean/zmeana.c
new file mode 100644
index 0000000..aae80ff
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/zmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+
+doubleComplex zmeana(doubleComplex *in, int size) {
+ doubleComplex accumulate = DoubleComplex(0.0f, 0.0f);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = zadds(accumulate, in[i]);
+ }
+ return DoubleComplex(zreals(accumulate) / (double) size, zimags(accumulate) / (double) size);
+}
diff --git a/src/c/statisticsFunctions/mean/zrowmeana.c b/src/c/statisticsFunctions/mean/zrowmeana.c
new file mode 100644
index 0000000..8e19bf9
--- /dev/null
+++ b/src/c/statisticsFunctions/mean/zrowmeana.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "mean.h"
+#include "sum.h"
+
+void zrowmeana(doubleComplex *in, int lines, int columns, doubleComplex *out) {
+ int i = 0;
+
+ zrowsuma(in, lines, columns, out);
+ for (i = 0; i < columns; ++i)
+ {
+ out[i] = zrdivs(out[i], DoubleComplex((double)lines, 0.0f));
+ }
+}
diff --git a/src/c/statisticsFunctions/meanf/Makefile.am b/src/c/statisticsFunctions/meanf/Makefile.am
new file mode 100644
index 0000000..789caac
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/Makefile.am
@@ -0,0 +1,74 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libMeanf_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMeanf.la
+
+libMeanf_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = smeanfa.c \
+ srowmeanfa.c \
+ scolumnmeanfa.c \
+ dmeanfa.c \
+ drowmeanfa.c \
+ dcolumnmeanfa.c \
+ cmeanfa.c \
+ crowmeanfa.c \
+ ccolumnmeanfa.c \
+ zmeanfa.c \
+ zrowmeanfa.c \
+ zcolumnmeanfa.c \
+ cmeanfcs.c \
+ cmeanfsc.c \
+ zmeanfdz.c \
+ zmeanfzd.c
+
+HEAD = ../includes/meanf.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatMeanf testDoubleMeanf
+
+TESTS = testFloatMeanf testDoubleMeanf
+
+#
+# -*- Meanf Tests -*-
+#
+testFloatMeanf_SOURCES = testFloatMeanf.c
+testFloatMeanf_CFLAGS = $(check_INCLUDES)
+testFloatMeanf_LDADD = $(check_LDADD)
+
+testDoubleMeanf_SOURCES =testDoubleMeanf.c
+testDoubleMeanf_CFLAGS = $(check_INCLUDES)
+testDoubleMeanf_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/meanf/Makefile.in b/src/c/statisticsFunctions/meanf/Makefile.in
new file mode 100644
index 0000000..97e65ef
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/Makefile.in
@@ -0,0 +1,879 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatMeanf$(EXEEXT) testDoubleMeanf$(EXEEXT)
+TESTS = testFloatMeanf$(EXEEXT) testDoubleMeanf$(EXEEXT)
+subdir = src/c/statisticsFunctions/meanf
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMeanf_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libMeanf_la-smeanfa.lo libMeanf_la-srowmeanfa.lo \
+ libMeanf_la-scolumnmeanfa.lo libMeanf_la-dmeanfa.lo \
+ libMeanf_la-drowmeanfa.lo libMeanf_la-dcolumnmeanfa.lo \
+ libMeanf_la-cmeanfa.lo libMeanf_la-crowmeanfa.lo \
+ libMeanf_la-ccolumnmeanfa.lo libMeanf_la-zmeanfa.lo \
+ libMeanf_la-zrowmeanfa.lo libMeanf_la-zcolumnmeanfa.lo \
+ libMeanf_la-cmeanfcs.lo libMeanf_la-cmeanfsc.lo \
+ libMeanf_la-zmeanfdz.lo libMeanf_la-zmeanfzd.lo
+am_libMeanf_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libMeanf_la_OBJECTS = $(am_libMeanf_la_OBJECTS)
+libMeanf_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libMeanf_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleMeanf_OBJECTS = \
+ testDoubleMeanf-testDoubleMeanf.$(OBJEXT)
+testDoubleMeanf_OBJECTS = $(am_testDoubleMeanf_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la
+testDoubleMeanf_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleMeanf_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleMeanf_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatMeanf_OBJECTS = testFloatMeanf-testFloatMeanf.$(OBJEXT)
+testFloatMeanf_OBJECTS = $(am_testFloatMeanf_OBJECTS)
+testFloatMeanf_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatMeanf_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatMeanf_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
+am__mv = mv -f
+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 = $(libMeanf_la_SOURCES) $(testDoubleMeanf_SOURCES) \
+ $(testFloatMeanf_SOURCES)
+DIST_SOURCES = $(libMeanf_la_SOURCES) $(testDoubleMeanf_SOURCES) \
+ $(testFloatMeanf_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMeanf_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMeanf.la
+libMeanf_la_SOURCES = $(HEAD) $(SRC)
+SRC = smeanfa.c \
+ srowmeanfa.c \
+ scolumnmeanfa.c \
+ dmeanfa.c \
+ drowmeanfa.c \
+ dcolumnmeanfa.c \
+ cmeanfa.c \
+ crowmeanfa.c \
+ ccolumnmeanfa.c \
+ zmeanfa.c \
+ zrowmeanfa.c \
+ zcolumnmeanfa.c \
+ cmeanfcs.c \
+ cmeanfsc.c \
+ zmeanfdz.c \
+ zmeanfzd.c
+
+HEAD = ../includes/meanf.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+
+#
+# -*- Meanf Tests -*-
+#
+testFloatMeanf_SOURCES = testFloatMeanf.c
+testFloatMeanf_CFLAGS = $(check_INCLUDES)
+testFloatMeanf_LDADD = $(check_LDADD)
+testDoubleMeanf_SOURCES = testDoubleMeanf.c
+testDoubleMeanf_CFLAGS = $(check_INCLUDES)
+testDoubleMeanf_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/meanf/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/meanf/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libMeanf.la: $(libMeanf_la_OBJECTS) $(libMeanf_la_DEPENDENCIES)
+ $(libMeanf_la_LINK) -rpath $(pkglibdir) $(libMeanf_la_OBJECTS) $(libMeanf_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleMeanf$(EXEEXT): $(testDoubleMeanf_OBJECTS) $(testDoubleMeanf_DEPENDENCIES)
+ @rm -f testDoubleMeanf$(EXEEXT)
+ $(testDoubleMeanf_LINK) $(testDoubleMeanf_OBJECTS) $(testDoubleMeanf_LDADD) $(LIBS)
+testFloatMeanf$(EXEEXT): $(testFloatMeanf_OBJECTS) $(testFloatMeanf_DEPENDENCIES)
+ @rm -f testFloatMeanf$(EXEEXT)
+ $(testFloatMeanf_LINK) $(testFloatMeanf_OBJECTS) $(testFloatMeanf_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-ccolumnmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-cmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-cmeanfcs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-cmeanfsc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-crowmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-dcolumnmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-dmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-drowmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-scolumnmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-smeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-srowmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-zcolumnmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-zmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-zmeanfdz.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-zmeanfzd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMeanf_la-zrowmeanfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatMeanf-testFloatMeanf.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libMeanf_la-smeanfa.lo: smeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-smeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-smeanfa.Tpo -c -o libMeanf_la-smeanfa.lo `test -f 'smeanfa.c' || echo '$(srcdir)/'`smeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-smeanfa.Tpo $(DEPDIR)/libMeanf_la-smeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smeanfa.c' object='libMeanf_la-smeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-smeanfa.lo `test -f 'smeanfa.c' || echo '$(srcdir)/'`smeanfa.c
+
+libMeanf_la-srowmeanfa.lo: srowmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-srowmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-srowmeanfa.Tpo -c -o libMeanf_la-srowmeanfa.lo `test -f 'srowmeanfa.c' || echo '$(srcdir)/'`srowmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-srowmeanfa.Tpo $(DEPDIR)/libMeanf_la-srowmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowmeanfa.c' object='libMeanf_la-srowmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-srowmeanfa.lo `test -f 'srowmeanfa.c' || echo '$(srcdir)/'`srowmeanfa.c
+
+libMeanf_la-scolumnmeanfa.lo: scolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-scolumnmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-scolumnmeanfa.Tpo -c -o libMeanf_la-scolumnmeanfa.lo `test -f 'scolumnmeanfa.c' || echo '$(srcdir)/'`scolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-scolumnmeanfa.Tpo $(DEPDIR)/libMeanf_la-scolumnmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnmeanfa.c' object='libMeanf_la-scolumnmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-scolumnmeanfa.lo `test -f 'scolumnmeanfa.c' || echo '$(srcdir)/'`scolumnmeanfa.c
+
+libMeanf_la-dmeanfa.lo: dmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-dmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-dmeanfa.Tpo -c -o libMeanf_la-dmeanfa.lo `test -f 'dmeanfa.c' || echo '$(srcdir)/'`dmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-dmeanfa.Tpo $(DEPDIR)/libMeanf_la-dmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmeanfa.c' object='libMeanf_la-dmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-dmeanfa.lo `test -f 'dmeanfa.c' || echo '$(srcdir)/'`dmeanfa.c
+
+libMeanf_la-drowmeanfa.lo: drowmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-drowmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-drowmeanfa.Tpo -c -o libMeanf_la-drowmeanfa.lo `test -f 'drowmeanfa.c' || echo '$(srcdir)/'`drowmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-drowmeanfa.Tpo $(DEPDIR)/libMeanf_la-drowmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowmeanfa.c' object='libMeanf_la-drowmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-drowmeanfa.lo `test -f 'drowmeanfa.c' || echo '$(srcdir)/'`drowmeanfa.c
+
+libMeanf_la-dcolumnmeanfa.lo: dcolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-dcolumnmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-dcolumnmeanfa.Tpo -c -o libMeanf_la-dcolumnmeanfa.lo `test -f 'dcolumnmeanfa.c' || echo '$(srcdir)/'`dcolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-dcolumnmeanfa.Tpo $(DEPDIR)/libMeanf_la-dcolumnmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnmeanfa.c' object='libMeanf_la-dcolumnmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-dcolumnmeanfa.lo `test -f 'dcolumnmeanfa.c' || echo '$(srcdir)/'`dcolumnmeanfa.c
+
+libMeanf_la-cmeanfa.lo: cmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-cmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-cmeanfa.Tpo -c -o libMeanf_la-cmeanfa.lo `test -f 'cmeanfa.c' || echo '$(srcdir)/'`cmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-cmeanfa.Tpo $(DEPDIR)/libMeanf_la-cmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmeanfa.c' object='libMeanf_la-cmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-cmeanfa.lo `test -f 'cmeanfa.c' || echo '$(srcdir)/'`cmeanfa.c
+
+libMeanf_la-crowmeanfa.lo: crowmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-crowmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-crowmeanfa.Tpo -c -o libMeanf_la-crowmeanfa.lo `test -f 'crowmeanfa.c' || echo '$(srcdir)/'`crowmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-crowmeanfa.Tpo $(DEPDIR)/libMeanf_la-crowmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowmeanfa.c' object='libMeanf_la-crowmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-crowmeanfa.lo `test -f 'crowmeanfa.c' || echo '$(srcdir)/'`crowmeanfa.c
+
+libMeanf_la-ccolumnmeanfa.lo: ccolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-ccolumnmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-ccolumnmeanfa.Tpo -c -o libMeanf_la-ccolumnmeanfa.lo `test -f 'ccolumnmeanfa.c' || echo '$(srcdir)/'`ccolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-ccolumnmeanfa.Tpo $(DEPDIR)/libMeanf_la-ccolumnmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnmeanfa.c' object='libMeanf_la-ccolumnmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-ccolumnmeanfa.lo `test -f 'ccolumnmeanfa.c' || echo '$(srcdir)/'`ccolumnmeanfa.c
+
+libMeanf_la-zmeanfa.lo: zmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-zmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-zmeanfa.Tpo -c -o libMeanf_la-zmeanfa.lo `test -f 'zmeanfa.c' || echo '$(srcdir)/'`zmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-zmeanfa.Tpo $(DEPDIR)/libMeanf_la-zmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmeanfa.c' object='libMeanf_la-zmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-zmeanfa.lo `test -f 'zmeanfa.c' || echo '$(srcdir)/'`zmeanfa.c
+
+libMeanf_la-zrowmeanfa.lo: zrowmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-zrowmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-zrowmeanfa.Tpo -c -o libMeanf_la-zrowmeanfa.lo `test -f 'zrowmeanfa.c' || echo '$(srcdir)/'`zrowmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-zrowmeanfa.Tpo $(DEPDIR)/libMeanf_la-zrowmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowmeanfa.c' object='libMeanf_la-zrowmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-zrowmeanfa.lo `test -f 'zrowmeanfa.c' || echo '$(srcdir)/'`zrowmeanfa.c
+
+libMeanf_la-zcolumnmeanfa.lo: zcolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-zcolumnmeanfa.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-zcolumnmeanfa.Tpo -c -o libMeanf_la-zcolumnmeanfa.lo `test -f 'zcolumnmeanfa.c' || echo '$(srcdir)/'`zcolumnmeanfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-zcolumnmeanfa.Tpo $(DEPDIR)/libMeanf_la-zcolumnmeanfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnmeanfa.c' object='libMeanf_la-zcolumnmeanfa.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-zcolumnmeanfa.lo `test -f 'zcolumnmeanfa.c' || echo '$(srcdir)/'`zcolumnmeanfa.c
+
+libMeanf_la-cmeanfcs.lo: cmeanfcs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-cmeanfcs.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-cmeanfcs.Tpo -c -o libMeanf_la-cmeanfcs.lo `test -f 'cmeanfcs.c' || echo '$(srcdir)/'`cmeanfcs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-cmeanfcs.Tpo $(DEPDIR)/libMeanf_la-cmeanfcs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmeanfcs.c' object='libMeanf_la-cmeanfcs.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-cmeanfcs.lo `test -f 'cmeanfcs.c' || echo '$(srcdir)/'`cmeanfcs.c
+
+libMeanf_la-cmeanfsc.lo: cmeanfsc.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-cmeanfsc.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-cmeanfsc.Tpo -c -o libMeanf_la-cmeanfsc.lo `test -f 'cmeanfsc.c' || echo '$(srcdir)/'`cmeanfsc.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-cmeanfsc.Tpo $(DEPDIR)/libMeanf_la-cmeanfsc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmeanfsc.c' object='libMeanf_la-cmeanfsc.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-cmeanfsc.lo `test -f 'cmeanfsc.c' || echo '$(srcdir)/'`cmeanfsc.c
+
+libMeanf_la-zmeanfdz.lo: zmeanfdz.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-zmeanfdz.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-zmeanfdz.Tpo -c -o libMeanf_la-zmeanfdz.lo `test -f 'zmeanfdz.c' || echo '$(srcdir)/'`zmeanfdz.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-zmeanfdz.Tpo $(DEPDIR)/libMeanf_la-zmeanfdz.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmeanfdz.c' object='libMeanf_la-zmeanfdz.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-zmeanfdz.lo `test -f 'zmeanfdz.c' || echo '$(srcdir)/'`zmeanfdz.c
+
+libMeanf_la-zmeanfzd.lo: zmeanfzd.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMeanf_la_CFLAGS) $(CFLAGS) -MT libMeanf_la-zmeanfzd.lo -MD -MP -MF $(DEPDIR)/libMeanf_la-zmeanfzd.Tpo -c -o libMeanf_la-zmeanfzd.lo `test -f 'zmeanfzd.c' || echo '$(srcdir)/'`zmeanfzd.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMeanf_la-zmeanfzd.Tpo $(DEPDIR)/libMeanf_la-zmeanfzd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zmeanfzd.c' object='libMeanf_la-zmeanfzd.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) $(libMeanf_la_CFLAGS) $(CFLAGS) -c -o libMeanf_la-zmeanfzd.lo `test -f 'zmeanfzd.c' || echo '$(srcdir)/'`zmeanfzd.c
+
+testDoubleMeanf-testDoubleMeanf.o: testDoubleMeanf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMeanf_CFLAGS) $(CFLAGS) -MT testDoubleMeanf-testDoubleMeanf.o -MD -MP -MF $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Tpo -c -o testDoubleMeanf-testDoubleMeanf.o `test -f 'testDoubleMeanf.c' || echo '$(srcdir)/'`testDoubleMeanf.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Tpo $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMeanf.c' object='testDoubleMeanf-testDoubleMeanf.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) $(testDoubleMeanf_CFLAGS) $(CFLAGS) -c -o testDoubleMeanf-testDoubleMeanf.o `test -f 'testDoubleMeanf.c' || echo '$(srcdir)/'`testDoubleMeanf.c
+
+testDoubleMeanf-testDoubleMeanf.obj: testDoubleMeanf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMeanf_CFLAGS) $(CFLAGS) -MT testDoubleMeanf-testDoubleMeanf.obj -MD -MP -MF $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Tpo -c -o testDoubleMeanf-testDoubleMeanf.obj `if test -f 'testDoubleMeanf.c'; then $(CYGPATH_W) 'testDoubleMeanf.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMeanf.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Tpo $(DEPDIR)/testDoubleMeanf-testDoubleMeanf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMeanf.c' object='testDoubleMeanf-testDoubleMeanf.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) $(testDoubleMeanf_CFLAGS) $(CFLAGS) -c -o testDoubleMeanf-testDoubleMeanf.obj `if test -f 'testDoubleMeanf.c'; then $(CYGPATH_W) 'testDoubleMeanf.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMeanf.c'; fi`
+
+testFloatMeanf-testFloatMeanf.o: testFloatMeanf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMeanf_CFLAGS) $(CFLAGS) -MT testFloatMeanf-testFloatMeanf.o -MD -MP -MF $(DEPDIR)/testFloatMeanf-testFloatMeanf.Tpo -c -o testFloatMeanf-testFloatMeanf.o `test -f 'testFloatMeanf.c' || echo '$(srcdir)/'`testFloatMeanf.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMeanf-testFloatMeanf.Tpo $(DEPDIR)/testFloatMeanf-testFloatMeanf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMeanf.c' object='testFloatMeanf-testFloatMeanf.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) $(testFloatMeanf_CFLAGS) $(CFLAGS) -c -o testFloatMeanf-testFloatMeanf.o `test -f 'testFloatMeanf.c' || echo '$(srcdir)/'`testFloatMeanf.c
+
+testFloatMeanf-testFloatMeanf.obj: testFloatMeanf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMeanf_CFLAGS) $(CFLAGS) -MT testFloatMeanf-testFloatMeanf.obj -MD -MP -MF $(DEPDIR)/testFloatMeanf-testFloatMeanf.Tpo -c -o testFloatMeanf-testFloatMeanf.obj `if test -f 'testFloatMeanf.c'; then $(CYGPATH_W) 'testFloatMeanf.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMeanf.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMeanf-testFloatMeanf.Tpo $(DEPDIR)/testFloatMeanf-testFloatMeanf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMeanf.c' object='testFloatMeanf-testFloatMeanf.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) $(testFloatMeanf_CFLAGS) $(CFLAGS) -c -o testFloatMeanf-testFloatMeanf.obj `if test -f 'testFloatMeanf.c'; then $(CYGPATH_W) 'testFloatMeanf.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMeanf.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/meanf/ccolumnmeanfa.c b/src/c/statisticsFunctions/meanf/ccolumnmeanfa.c
new file mode 100644
index 0000000..90dbb8b
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/ccolumnmeanfa.c
@@ -0,0 +1,39 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "meanf.h"
+#include "sum.h"
+#include "multiplication.h"
+
+void ccolumnmeanfa(floatComplex *in1, int lines, int columns,floatComplex *in2, floatComplex *out) {
+ int i = 0;
+ int j = 0;
+ floatComplex tempCoefSum = FloatComplex(0.0f,0.0f);
+ floatComplex tempMul = FloatComplex(0.0f,0.0f);
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines ; ++j)
+ {
+ tempCoefSum = FloatComplex(0.0f,0.0f);
+ out[j]= FloatComplex(0.0f,0.0f);
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ tempMul = cmuls ( in1[lines*i + j] , in2[lines*i + j]); /* we times by the coefficient*/
+ tempCoefSum = cadds ( in2[lines*i + j] ,tempCoefSum ) ;
+ out[j] = cadds (tempMul, out[j]) ;
+ }
+
+ out[j] = crdivs(out[j] ,tempCoefSum);
+ }
+}
+
+
diff --git a/src/c/statisticsFunctions/meanf/cmeanfa.c b/src/c/statisticsFunctions/meanf/cmeanfa.c
new file mode 100644
index 0000000..1aeef53
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/cmeanfa.c
@@ -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
+ *
+ */
+
+#include "meanf.h"
+#include "multiplication.h"
+#include "division.h"
+
+floatComplex cmeanfa(floatComplex *in1, int size, floatComplex *in2 ) {
+ floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ floatComplex freAccumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = cadds(accumulate, cmuls (in1[i] , in2[i]));
+ freAccumulate = cadds(in2[i],freAccumulate);
+ }
+ return crdivs(accumulate ,freAccumulate) ;
+}
+
+
diff --git a/src/c/statisticsFunctions/meanf/cmeanfcs.c b/src/c/statisticsFunctions/meanf/cmeanfcs.c
new file mode 100644
index 0000000..e0c769a
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/cmeanfcs.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 <stdlib.h>
+#include "meanf.h"
+#include "zeros.h"
+
+floatComplex cmeanfcs (floatComplex* in1 ,int lines , int columns , float* in2)
+ {
+ float* ZEROS = (float *) malloc((unsigned int)(lines*columns*sizeof(float)));
+ szerosa(ZEROS,lines,columns);
+
+ return cmeanfa(in1, lines*columns , FloatComplexMatrix(in2,ZEROS,lines*columns));
+ }
diff --git a/src/c/statisticsFunctions/meanf/cmeanfsc.c b/src/c/statisticsFunctions/meanf/cmeanfsc.c
new file mode 100644
index 0000000..03c7d42
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/cmeanfsc.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 <stdlib.h>
+#include "meanf.h"
+#include "zeros.h"
+
+floatComplex cmeanfsc (float* in1 ,int lines , int columns , floatComplex* in2)
+ {
+ float* ZEROS = (float*) malloc((unsigned int)(lines*columns*sizeof(float)));
+ szerosa(ZEROS,lines,columns);
+
+ return cmeanfa(FloatComplexMatrix(in1,ZEROS,lines*columns), lines*columns , in2);
+ }
diff --git a/src/c/statisticsFunctions/meanf/crowmeanfa.c b/src/c/statisticsFunctions/meanf/crowmeanfa.c
new file mode 100644
index 0000000..14dc327
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/crowmeanfa.c
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "meanf.h"
+#include "sum.h"
+#include "multiplication.h"
+void crowmeanfa(floatComplex *in1, int lines, int columns, floatComplex *in2, floatComplex *out) {
+ int i = 0;
+ int j = 0;
+ floatComplex tempCoefSum = FloatComplex(0.0f,0.0f);
+ floatComplex tempMul = FloatComplex(0.0f,0.0f);
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ tempCoefSum = FloatComplex(0.0f,0.0f);
+ out[j]= FloatComplex(0.0f,0.0f);
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ tempMul = cmuls ( in1[lines*j + i] , in2[lines*j + i]); /* we times by the coefficient*/
+ tempCoefSum = cadds ( in2[lines*j + i] ,tempCoefSum ) ;
+ out[j] = cadds (tempMul, out[j]) ;
+ }
+
+ out[j] = crdivs(out[j] ,tempCoefSum);
+ }
+}
diff --git a/src/c/statisticsFunctions/meanf/dcolumnmeanfa.c b/src/c/statisticsFunctions/meanf/dcolumnmeanfa.c
new file mode 100644
index 0000000..e8d25a3
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/dcolumnmeanfa.c
@@ -0,0 +1,40 @@
+/*
+ * 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 "meanf.h"
+
+void dcolumnmeanfa(double *in1, int lines , int columns, double *in2, double *out) {
+ int i = 0;
+ int j = 0;
+ double tempCoefSum = 0.0;
+ double tempMul = 0.0 ;
+
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+for (j = 0; j < lines; ++j)
+ {
+ tempCoefSum = 0.0;
+ out[j]= 0.0;
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ tempMul = in1[lines*i + j] * in2[lines*i + j]; /* we times by the coefficient*/
+ tempCoefSum +=in2[lines*i + j];
+ out[j] +=tempMul ;
+ }
+
+ out[j] /= tempCoefSum ;
+ }
+
+}
+
diff --git a/src/c/statisticsFunctions/meanf/dmeanfa.c b/src/c/statisticsFunctions/meanf/dmeanfa.c
new file mode 100644
index 0000000..be3bb37
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/dmeanfa.c
@@ -0,0 +1,28 @@
+/*
+ * 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 "meanf.h"
+
+double dmeanfa(double *in1, int size, double *in2) {
+ double accumulate = 0.0;
+ double freAccumulate = 0.0;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += (in1[i] * in2[i]) ;
+ freAccumulate += in2[i] ;
+ }
+ return accumulate / freAccumulate;
+
+}
+
diff --git a/src/c/statisticsFunctions/meanf/drowmeanfa.c b/src/c/statisticsFunctions/meanf/drowmeanfa.c
new file mode 100644
index 0000000..ce3523c
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/drowmeanfa.c
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "meanf.h"
+#include "sum.h"
+
+void drowmeanfa(double *in1, int lines, int columns, double *in2, double *out) {
+ int i = 0;
+ int j = 0;
+ double tempCoefSum = 0.0;
+ double tempMul = 0.0;
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ tempCoefSum = 0.0;
+ out[j]= 0.0;
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ tempMul = in1[lines*j + i] * in2[lines*j + i]; /* we times by the coefficient*/
+ tempCoefSum +=in2[lines*j + i];
+ out[j] +=tempMul ;
+ }
+
+ out[j] /= tempCoefSum ;
+ }
+}
diff --git a/src/c/statisticsFunctions/meanf/scolumnmeanfa.c b/src/c/statisticsFunctions/meanf/scolumnmeanfa.c
new file mode 100644
index 0000000..bb3ffca
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/scolumnmeanfa.c
@@ -0,0 +1,40 @@
+/*
+ * 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 "meanf.h"
+
+void scolumnmeanfa(float *in1, int lines, int columns, float *in2, float *out) {
+ int i = 0;
+ int j = 0;
+ float tempCoefSum = 0.0f;
+ float tempMul = 0.0f ;
+
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+for (j = 0; j < lines; ++j)
+ {
+ tempCoefSum = 0.0f;
+ out[j]= 0.0f;
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ tempMul = in1[lines*i + j] * in2[lines*i + j]; /* we times by the coefficient*/
+ tempCoefSum +=in2[lines*i + j];
+ out[j] +=tempMul ;
+ }
+
+ out[j] /= tempCoefSum ;
+ }
+
+}
+
diff --git a/src/c/statisticsFunctions/meanf/smeanfa.c b/src/c/statisticsFunctions/meanf/smeanfa.c
new file mode 100644
index 0000000..64985e7
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/smeanfa.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 "meanf.h"
+
+float smeanfa(float *in1, int size, float *in2) {
+ float accumulate = 0.0f;
+ float freAccumulate = 0.0f;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += (in1[i] * in2[i]) ;
+ freAccumulate += in2[i] ;
+ }
+ return accumulate / freAccumulate;
+
+}
diff --git a/src/c/statisticsFunctions/meanf/srowmeanfa.c b/src/c/statisticsFunctions/meanf/srowmeanfa.c
new file mode 100644
index 0000000..3cdacb8
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/srowmeanfa.c
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "meanf.h"
+#include "sum.h"
+
+
+void srowmeanfa(float *in1, int lines, int columns, float *in2, float *out) {
+ int i = 0;
+ int j = 0;
+ float tempCoefSum = 0.0f;
+ float tempMul = 0.0f;
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ tempCoefSum = 0.0f;
+ out[j]= 0.0f;
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ tempMul = in1[lines*j + i] * in2[lines*j + i]; /* we times by the coefficient*/
+ tempCoefSum +=in2[lines*j + i];
+ out[j] +=tempMul ;
+ }
+
+ out[j] /= tempCoefSum ;
+ }
+}
diff --git a/src/c/statisticsFunctions/meanf/testDoubleMeanf.c b/src/c/statisticsFunctions/meanf/testDoubleMeanf.c
new file mode 100644
index 0000000..f528f1d
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/testDoubleMeanf.c
@@ -0,0 +1,409 @@
+/*
+ * 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 <math.h>
+#include "meanf.h"
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dmeanfsTest(void) {
+ double value1 = 3.0;
+ double value2 = 1.123456789;
+ double coef1 = 56 ;
+ double coef2 = 2 ;
+
+ coef1 = 56 ;
+ coef2 = 2 ;
+
+ printf("\n>>>> Meanf Double Scalar Test\n");
+ assert( ( fabs(dmeanfs(value1,coef1) ) - ( 3.0 ) ) / fabs ( dmeanfs(value1,coef1) ) < 3e-16 );
+ assert( ( fabs(dmeanfs(value2,coef2) ) - ( 1.123456789 ) ) / fabs ( dmeanfs(value2,coef2) ) < 3e-16 );
+
+ return 0;
+}
+
+static int dmeanfaTest(void) {
+ double table1[3] = {3.0, 3.0, 3.0};
+ double coef1[3] = {10.0, 2.0, 6.0};
+
+ double table2[5] = {3.186784563,
+ 4.186784563,
+ 5.186784563,
+ 6.186784563,
+ 7.186784563};
+
+ double coef2[5] = {3.0,
+ 4.0,
+ 5.0,
+ 6.0,
+ 7.0};
+
+ printf("\n>>>> Meanf Float Array Test\n");
+ assert(dmeanfa(table1, 3, coef1) == 54.0 / 18.0);
+ assert((dmeanfa(table2, 5, coef2) - (3.186784563*3.0 + 4.186784563*4.0 + 5.186784563*5.0 + 6.186784563*6.0 + 7.186784563*7.0) / 25.0) / dmeanfa(table2, 5 ,coef2) < 3e-16);
+ return 0;
+}
+
+
+static int dcolumnmeanfaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double coef2[10] = {11.0, 12.0, 13.0, 14.0 , 15.0, 16.0, 17.0, 18.0, 19.0, 20.0};
+ double columnMeanmedTable1_3_3[3] = {0};
+ double columnMeanmedTable1_1_9[1] = {0};
+ double columnMeanmedTable1_9_1[9] = {0};
+ double columnMeanmedTable2_2_5[2] = {0};
+ double columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Mean Double Array Test\n");
+ /*
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 68 32 146 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+ */
+ dcolumnmeanfa(table1, 3, 3, coef1 ,columnMeanmedTable1_3_3);
+ assert( ( fabs(columnMeanmedTable1_3_3[0] ) - ( 68.0 / 33.0 ) ) / fabs ( columnMeanmedTable1_3_3[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable1_3_3[1] ) - ( 32.0 / 6.0 ) ) / fabs ( columnMeanmedTable1_3_3[1] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable1_3_3[2] ) - ( 146.0 / 18.0 ) ) / fabs ( columnMeanmedTable1_3_3[2] ) < 3e-16 );
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ dcolumnmeanfa(table1, 1, 9, coef1 ,columnMeanmedTable1_1_9);
+ assert( ( fabs(columnMeanmedTable1_1_9[0] ) - ( 246.0 / 57.0 ) ) / fabs ( columnMeanmedTable1_1_9[0] ) < 3e-16 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ dcolumnmeanfa(table1, 9, 1, coef1, columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ]=> [ 415 520 ]
+ */
+ dcolumnmeanfa(table2, 2, 5, coef2 , columnMeanmedTable2_2_5);
+ assert( ( fabs(columnMeanmedTable2_2_5[0] ) - ( 415.0 / 75.0 ) ) / fabs ( columnMeanmedTable2_2_5[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_2_5[1] ) - ( 520.0 / 80.0 ) ) / fabs ( columnMeanmedTable2_2_5[1] ) < 3e-16 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ] [ 11 16 ]
+ [ 2 7 ] [ 12 17 ] => [ 107 143 183 227 275 ]
+ [ 3 8 ].*[ 13 18 ]
+ [ 4 9 ] [ 14 19 ]
+ [ 5 10 ] [ 15 20 ]
+ */
+ dcolumnmeanfa(table2, 5, 2, coef2 ,columnMeanmedTable2_5_2);
+ assert( ( fabs(columnMeanmedTable2_5_2[0] ) - ( 107.0 / 27.0 ) ) / fabs ( columnMeanmedTable2_5_2[0] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[1] ) - ( 143.0 / 29.0 ) ) / fabs ( columnMeanmedTable2_5_2[1] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[2] ) - ( 183.0 / 31.0 ) ) / fabs ( columnMeanmedTable2_5_2[2] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[3] ) - ( 227.0 / 33.0 ) ) / fabs ( columnMeanmedTable2_5_2[3] ) < 3e-16 );
+ assert( ( fabs(columnMeanmedTable2_5_2[4] ) - ( 275.0 / 35.0 ) ) / fabs ( columnMeanmedTable2_5_2[4] ) < 3e-16 );
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+
+static int drowmeanfaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double coef2[10] = {11.0, 12.0, 13.0, 14.0 , 15.0, 16.0, 17.0, 18.0, 19.0, 20.0};
+ double rowMeanmedTable1_3_3[3] = {0};
+ double rowMeanmedTable1_1_9[9] = {0};
+ double rowMeanmedTable1_9_1[1] = {0};
+ double rowMeanmedTable2_2_5[5] = {0};
+
+
+ printf("\n>>>> Row Mean Double Array Test\n");
+ /*
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 49 80 117 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+ */
+ drowmeanfa(table1, 3, 3, coef1 , rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert( ( fabs(rowMeanmedTable1_3_3[0] ) - ( 49.0 / 16.0 ) ) / fabs ( rowMeanmedTable1_3_3[0] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable1_3_3[1] ) - ( 80.0 / 19.0 ) ) / fabs ( rowMeanmedTable1_3_3[1] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable1_3_3[2] ) - ( 117.0 / 22.0 ) ) / fabs ( rowMeanmedTable1_3_3[2] ) < 3e-16 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ drowmeanfa(table1, 1, 9, coef1, rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 246 ]
+ */
+ drowmeanfa(table1, 9, 1, coef1, rowMeanmedTable1_9_1);
+ assert( ( fabs(rowMeanmedTable1_9_1[0] ) - ( 246.0 / 57.0 ) ) / fabs ( rowMeanmedTable1_9_1[0] ) < 3e-16 );
+
+ /*
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ] => [ 3 7 11 15 19 ]
+ */
+ drowmeanfa(table2, 2, 5, coef2, rowMeanmedTable2_2_5);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+ assert( ( fabs(rowMeanmedTable2_2_5[0] ) - ( 35.0 / 23.0 ) ) / fabs ( rowMeanmedTable2_2_5[0] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[1] ) - ( 95.0 / 27.0 ) ) / fabs ( rowMeanmedTable2_2_5[1] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[2] ) - ( 171.0 / 31.0 ) ) / fabs ( rowMeanmedTable2_2_5[2] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[3] ) - ( 263.0 / 35.0 ) ) / fabs ( rowMeanmedTable2_2_5[3] ) < 3e-16 );
+ assert( ( fabs(rowMeanmedTable2_2_5[4] ) - ( 371.0 / 39.0 ) ) / fabs ( rowMeanmedTable2_2_5[4] ) < 3e-16 );
+
+
+ return 0;
+}
+
+static int zmeanfsTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex coef1 = DoubleComplex(3.0, 0.0);
+ doubleComplex value2 = DoubleComplex(1.123456789, 1.123456789);
+ doubleComplex coef2 = DoubleComplex(9.0, 0.0);
+
+ coef1 = DoubleComplex(3.0, 0.0);
+ coef2 = DoubleComplex(9.0, 0.0);
+
+ printf("\n>>>> Mean Double Complex Scalar Test\n");
+ assert( ( fabs(zreals(zmeanfs(value1,coef1)) ) - ( 3.0 ) ) / fabs ( zreals(zmeanfs(value1,coef1)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeanfs(value1,coef1)) ) - ( 3.0 ) ) / fabs ( zimags(zmeanfs(value1,coef1)) ) < 3e-16 );
+ assert( ( fabs(zreals(zmeanfs(value2,coef1)) ) - ( 1.123456789 ) ) / fabs ( zreals(zmeanfs(value2,coef1)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeanfs(value2,coef1)) ) - ( 1.123456789 ) ) / fabs ( zimags(zmeanfs(value2,coef1)) ) < 3e-16 );
+ return 0;
+}
+
+
+
+static int zmeanfaTest(void) {
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+
+ printf("\n>>>> Mean Double Complex Array Test\n");
+
+
+ assert( ( fabs(zreals(zmeanfa(table1, 3, coef1)) ) - ( 246.0 / 57.0 ) ) / fabs ( zreals(zmeanfa(table1, 3, coef1)) ) < 3e-16 );
+ assert( ( fabs(zimags(zmeanfa(table1, 3, coef1)) ) - ( 288.0 / 57.0 ) ) / fabs ( zimags(zmeanfa(table1, 3, coef1)) ) < 3e-16 );/*
+*/
+ return 0;
+}
+
+static int zrowmeanfaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0};
+ double coefR2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0};
+ double coefI2[10] ={10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 10);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 10);
+
+ doubleComplex rowMeanmedTable1_3_3[3];
+ doubleComplex rowMeanmedTable2_2_5[5];
+
+ rowMeanmedTable1_3_3[0] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable1_3_3[1] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable1_3_3[2] = DoubleComplex(0.0, 0.0);
+
+ rowMeanmedTable2_2_5[0] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable2_2_5[1] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable2_2_5[2] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable2_2_5[3] = DoubleComplex(0.0, 0.0);
+ rowMeanmedTable2_2_5[4] = DoubleComplex(0.0, 0.0);
+
+ /*
+ doubleComplex rowMeanmedTable1_1_9[9] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable1_9_1[1] = {DoubleComplex(0.0, 0.0)};
+
+ doubleComplex rowMeanmedTable2_5_2[2] = {DoubleComplex(0.0, 0.0)};
+*/
+
+ printf("\n>>>> Row Meanf Double Complex Array Test\n");
+
+ /**/
+
+ zrowmeanfa(table1 , 3 , 3 , coef1 , rowMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+
+ printf("rowMeanmedTable_3_3[%d] = %e + %ei\n", i, zreals(rowMeanmedTable1_3_3[i]), zimags(rowMeanmedTable1_3_3[i]));
+ }
+ assert( fabs(zimags(rowMeanmedTable1_3_3[0]) - ( 27.0 / 16.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[0]) ) < 3e-16 );
+ assert( fabs(zreals(rowMeanmedTable1_3_3[0]) - ( 49.0 / 16.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[0]) ) < 3e-16 );
+
+ assert( fabs(zimags(rowMeanmedTable1_3_3[1]) - ( 90.0 / 19.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[1]) ) < 3e-16 );
+ assert( fabs(zreals(rowMeanmedTable1_3_3[1]) - ( 80.0 / 19.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[1]) ) < 3e-16 );
+
+ assert( fabs(zimags(rowMeanmedTable1_3_3[2]) - (171.0 / 22.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[2]) ) < 3e-16 );
+ assert( fabs(zreals(rowMeanmedTable1_3_3[2]) - (117.0 / 22.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[2]) ) < 3e-16 );
+/**/
+
+ printf("\n\n");
+ zrowmeanfa(table2 , 2 , 5 , coef2 , rowMeanmedTable2_2_5);
+
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowMeanmedTable_2_5[%d] = %e + %ei\n", i, zreals(rowMeanmedTable2_2_5[i]), zimags(rowMeanmedTable2_2_5[i]));
+ }
+ assert( fabs(zreals(rowMeanmedTable2_2_5[0]) - 1.2727273 ) / fabs ( zreals(rowMeanmedTable2_2_5[0]) ) < 1e-6 );
+ assert( zimags(rowMeanmedTable2_2_5[0]) == 0);
+
+ assert( fabs(zreals(rowMeanmedTable2_2_5[1]) - 3.5625000 ) / fabs ( zreals(rowMeanmedTable2_2_5[1]) ) < 1e-6 );
+ assert( zimags(rowMeanmedTable2_2_5[1]) == 0);
+
+ assert( fabs(zreals(rowMeanmedTable2_2_5[2]) - 7.2500000 ) / fabs ( zreals(rowMeanmedTable2_2_5[2]) ) < 1e-6 );
+ assert( zimags(rowMeanmedTable2_2_5[2]) == 0);
+
+ assert( fabs(zreals(rowMeanmedTable2_2_5[3]) - 3.6000000 ) / fabs ( zreals(rowMeanmedTable2_2_5[3]) ) < 1e-6 );
+ assert( zimags(rowMeanmedTable2_2_5[3]) == 0);
+
+ assert( fabs(zreals(rowMeanmedTable2_2_5[4]) - 9.7307692 ) / fabs ( zreals(rowMeanmedTable2_2_5[4]) ) < 1e-6 );
+ assert( zimags(rowMeanmedTable2_2_5[4]) == 0);
+
+
+ return 0;
+}
+
+
+static int zcolumnmeanfaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+/*
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+*/
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+/*
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 9);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 9);
+*/
+ doubleComplex columnMeanmedTable1_3_3[3] ;
+ /*
+ doubleComplex rowMeanmedTable1_1_9[9] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable1_9_1[1] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_2_5[5] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_5_2[2] = {DoubleComplex(0.0, 0.0)};
+*/
+
+ columnMeanmedTable1_3_3[0] = DoubleComplex(0.0, 0.0);
+ columnMeanmedTable1_3_3[1] = DoubleComplex(0.0, 0.0);
+ columnMeanmedTable1_3_3[2] = DoubleComplex(0.0, 0.0);
+
+ printf("\n>>>> Column Meanf Double Complex Array Test\n");
+
+ /**/
+
+ zcolumnmeanfa(table1 , 3 , 3 , coef1 , columnMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnMeanmedTable_3_3[%d] = %e + %ei\n", i, zreals(columnMeanmedTable1_3_3[i]), zimags(columnMeanmedTable1_3_3[i]));
+ }
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[0]) ) - (138.0 / 33.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[0]) ) < 3e-16 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[0]) ) - ( 68.0 / 33.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[0]) ) < 3e-16 );
+
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[1]) ) - ( 36.0 / 6.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[1]) ) < 3e-16 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[1]) ) - ( 32.0 / 6.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[1]) ) < 3e-16 );
+
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[2]) ) - (114.0 / 18.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[2]) ) < 3e-16 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[2]) ) - (146.0 / 18.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[2]) ) < 3e-16 );
+
+
+
+
+ return 0;
+}
+
+
+
+static int testMeanf(void) {
+
+ dmeanfsTest();
+ dmeanfaTest();
+ dcolumnmeanfaTest();
+ drowmeanfaTest();
+ zmeanfsTest();
+ zmeanfaTest();
+ zrowmeanfaTest();
+ zcolumnmeanfaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testMeanf() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/meanf/testFloatMeanf.c b/src/c/statisticsFunctions/meanf/testFloatMeanf.c
new file mode 100644
index 0000000..ead8a86
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/testFloatMeanf.c
@@ -0,0 +1,383 @@
+/*
+ * 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 <math.h>
+#include "meanf.h"
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int smeanfsTest(void) {
+ float value1 ;
+ float value2 ;
+ float coef1 ;
+ float coef2 ;
+
+ value1 = 3.0f;
+ value2 = 1.123456789f;
+ coef1 = 56.0f ;
+ coef2 = 2.0f ;
+
+ printf("\n>>>> Meanf Float Scalar Test\n");
+ assert( ( fabs(smeanfs(value1,coef1) ) - ( 3.0f ) ) / fabs ( smeanfs(value1,coef1) ) < 1e-6 );
+ assert( ( fabs(smeanfs(value2,coef2) ) - ( 1.123456789f ) ) / fabs ( smeanfs(value2,coef2) ) < 1e-6 );
+
+ return 0;
+}
+
+static int smeanfaTest(void) {
+ float table1[3] = {3.0f, 3.0f, 3.0f};
+ float coef1[3] = {10.0f, 2.0f, 6.0f};
+
+ float table2[5] = {3.186784563f,
+ 4.186784563f,
+ 5.186784563f,
+ 6.186784563f,
+ 7.186784563f};
+
+ float coef2[5] = {3.0f,
+ 4.0f,
+ 5.0f,
+ 6.0f,
+ 7.0f};
+
+ printf("\n>>>> Meanf Float Array Test\n");
+ assert(smeanfa(table1, 3, coef1) == 54.0f / 18.0f);
+ assert((smeanfa(table2, 5, coef2) - (3.186784563f*3.0f + 4.186784563f*4.0f + 5.186784563f*5.0f + 6.186784563f*6.0f + 7.186784563f*7.0f) / 25.0f) / smeanfa(table2, 5 ,coef2) < 1e-6);
+ return 0;
+}
+
+
+static int scolumnmeanfaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float coef2[10] = {11.0f, 12.0f, 13.0f, 14.0f , 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f};
+ float columnMeanmedTable1_3_3[3] = {0};
+ float columnMeanmedTable1_1_9[1] = {0};
+ float columnMeanmedTable1_9_1[9] = {0};
+ float columnMeanmedTable2_2_5[2] = {0};
+ float columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Mean Float Array Test\n");
+ /*
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 68 32 146 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+ */
+ scolumnmeanfa(table1, 3, 3, coef1 ,columnMeanmedTable1_3_3);
+ assert( fabs(columnMeanmedTable1_3_3[0] - ( 68.0f / 33.0f ) ) / fabs ( columnMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable1_3_3[1] - ( 32.0f / 6.0f ) ) / fabs ( columnMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable1_3_3[2] - ( 146.0f / 18.0f ) ) / fabs ( columnMeanmedTable1_3_3[2] ) < 1e-6 );
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ scolumnmeanfa(table1, 1, 9, coef1 ,columnMeanmedTable1_1_9);
+ assert( ( fabs(columnMeanmedTable1_1_9[0] ) - ( 246.0f / 57.0f ) ) / fabs ( columnMeanmedTable1_1_9[0] ) < 1e-6 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ scolumnmeanfa(table1, 9, 1, coef1, columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ]=> [ 415 520 ]
+ */
+ scolumnmeanfa(table2, 2, 5, coef2 , columnMeanmedTable2_2_5);
+ assert( ( fabs(columnMeanmedTable2_2_5[0] ) - ( 415.0f / 75.0f ) ) / fabs ( columnMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_2_5[1] ) - ( 520.0f / 80.0f ) ) / fabs ( columnMeanmedTable2_2_5[1] ) < 1e-6 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ] [ 11 16 ]
+ [ 2 7 ] [ 12 17 ] => [ 107 143 183 227 275 ]
+ [ 3 8 ].*[ 13 18 ]
+ [ 4 9 ] [ 14 19 ]
+ [ 5 10 ] [ 15 20 ]
+ */
+ scolumnmeanfa(table2, 5, 2, coef2 ,columnMeanmedTable2_5_2);
+ assert( fabs(columnMeanmedTable2_5_2[0] - ( 107.0f / 27.0f ) ) / fabs ( columnMeanmedTable2_5_2[0] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable2_5_2[1] - ( 143.0f / 29.0f ) ) / fabs ( columnMeanmedTable2_5_2[1] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable2_5_2[2] - ( 183.0f / 31.0f ) ) / fabs ( columnMeanmedTable2_5_2[2] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable2_5_2[3] - ( 227.0f / 33.0f ) ) / fabs ( columnMeanmedTable2_5_2[3] ) < 1e-6 );
+ assert( fabs(columnMeanmedTable2_5_2[4] - ( 275.0f / 35.0f ) ) / fabs ( columnMeanmedTable2_5_2[4] ) < 1e-6 );
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+
+static int srowmeanfaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float coef2[10] = {11.0f, 12.0f, 13.0f, 14.0f , 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f};
+ float rowMeanmedTable1_3_3[3] = {0};
+ float rowMeanmedTable1_1_9[9] = {0};
+ float rowMeanmedTable1_9_1[1] = {0};
+ float rowMeanmedTable2_2_5[5] = {0};
+ /*float rowMeanmedTable2_5_2[2] = {0};*/
+
+ printf("\n>>>> Row Mean Float Array Test\n");
+ /*
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 49 80 117 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+ */
+ srowmeanfa(table1, 3, 3, coef1 , rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert( fabs(rowMeanmedTable1_3_3[0] - ( 49.0f / 16.0f ) ) / fabs ( rowMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable1_3_3[1] - ( 80.0f / 19.0f ) ) / fabs ( rowMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable1_3_3[2] - ( 117.0f / 22.0f ) ) / fabs ( rowMeanmedTable1_3_3[2] ) < 1e-6 );
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ srowmeanfa(table1, 1, 9, coef1, rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 246 ]
+ */
+ srowmeanfa(table1, 9, 1, coef1, rowMeanmedTable1_9_1);
+ assert( ( fabs(rowMeanmedTable1_9_1[0] ) - ( 246.0f / 57.0f ) ) / fabs ( rowMeanmedTable1_9_1[0] ) < 1e-6 );
+
+ /*
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ] => [ 3 7 11 15 19 ]
+ */
+ srowmeanfa(table2, 2, 5, coef2, rowMeanmedTable2_2_5);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+ assert( fabs(rowMeanmedTable2_2_5[0] - ( 35.0f / 23.0f ) ) / fabs ( rowMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable2_2_5[1] - ( 95.0f / 27.0f ) ) / fabs ( rowMeanmedTable2_2_5[1] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable2_2_5[2] - ( 171.0f / 31.0f ) ) / fabs ( rowMeanmedTable2_2_5[2] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable2_2_5[3] - ( 263.0f / 35.0f ) ) / fabs ( rowMeanmedTable2_2_5[3] ) < 1e-6 );
+ assert( fabs(rowMeanmedTable2_2_5[4] - ( 371.0f / 39.0f ) ) / fabs ( rowMeanmedTable2_2_5[4] ) < 1e-6 );
+
+
+ return 0;
+}
+
+static int cmeanfsTest(void) {
+ floatComplex value1 ;
+ floatComplex coef1 ;
+ floatComplex value2 ;
+ floatComplex coef2 ;
+
+ value1 = FloatComplex(3.0f, 3.0f);
+ coef1 = FloatComplex(3.0f, 0.0f);
+ value2 = FloatComplex(1.123456789f, 1.123456789f);
+ coef2 = FloatComplex(9.0f, 0.0f);
+
+ printf("\n>>>> Mean Float Complex Scalar Test\n");
+ assert( fabs(creals(cmeanfs(value1,coef1)) - ( 3.0f ) ) / fabs ( creals(cmeanfs(value1,coef1)) ) < 1e-6 );
+ assert( fabs(cimags(cmeanfs(value1,coef1)) - ( 3.0f ) ) / fabs ( cimags(cmeanfs(value1,coef1)) ) < 1e-6 );
+ assert( fabs(creals(cmeanfs(value2,coef1)) - ( 1.123456789f ) ) / fabs ( creals(cmeanfs(value2,coef1)) ) < 1e-6 );
+ assert( fabs(cimags(cmeanfs(value2,coef1)) - ( 1.123456789f ) ) / fabs ( cimags(cmeanfs(value2,coef1)) ) < 1e-6 );
+ return 0;
+}
+
+
+
+static int cmeanfaTest(void) {
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+
+ printf("\n>>>> Mean Float Complex Array Test\n");
+ printf("\tMeanmedTable_1_1[0] = %e + %ei\n", creals(cmeanfa(table1, 9, coef1)), cimags(cmeanfa(table1, 9, coef1)));
+
+ assert( fabs( creals(cmeanfa(table1, 9, coef1)) - ( 246.0f / 57.0f ) ) / fabs ( creals(cmeanfa(table1, 9, coef1)) ) < 1e-6 );
+ assert( fabs( cimags(cmeanfa(table1, 9, coef1)) - ( 288.0f / 57.0f ) ) / fabs ( cimags(cmeanfa(table1, 9, coef1)) ) < 1e-6 );/*
+*/
+ return 0;
+}
+
+static int crowmeanfaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+/*
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+*/
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+/*
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 9);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 9);
+*/
+ floatComplex rowMeanmedTable1_3_3[3] ;
+ rowMeanmedTable1_3_3[0] = FloatComplex(0.0f, 0.0f);
+ rowMeanmedTable1_3_3[1] = FloatComplex(0.0f, 0.0f);
+ rowMeanmedTable1_3_3[2] = FloatComplex(0.0f, 0.0f);
+ /*
+ floatComplex rowMeanmedTable1_1_9[9] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable1_9_1[1] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_2_5[5] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_5_2[2] = {FloatComplex(0.0f, 0.0f)};
+*/
+
+ printf("\n>>>> Row Meanf Float Complex Array Test\n");
+
+ /**/
+
+ crowmeanfa(table1 , 3 , 3 , coef1 , rowMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+
+ printf("rowMeanmedTable_3_3[%d] = %e + %ei\n", i, creals(rowMeanmedTable1_3_3[i]), cimags(rowMeanmedTable1_3_3[i]));
+ }
+ assert( fabs(cimags(rowMeanmedTable1_3_3[0]) - ( 27.0f / 16.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(creals(rowMeanmedTable1_3_3[0]) - ( 49.0f / 16.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(cimags(rowMeanmedTable1_3_3[1]) - ( 90.0f / 19.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(creals(rowMeanmedTable1_3_3[1]) - ( 80.0f / 19.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(cimags(rowMeanmedTable1_3_3[2]) - (171.0f / 22.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(creals(rowMeanmedTable1_3_3[2]) - (117.0f / 22.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+
+
+static int ccolumnmeanfaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+/*
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+*/
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+/*
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 9);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 9);
+*/
+ floatComplex columnMeanmedTable1_3_3[3] ;
+ columnMeanmedTable1_3_3[0] = FloatComplex(0.0f, 0.0f);
+ columnMeanmedTable1_3_3[1] = FloatComplex(0.0f, 0.0f);
+ columnMeanmedTable1_3_3[2] = FloatComplex(0.0f, 0.0f);
+ /*
+ floatComplex rowMeanmedTable1_1_9[9] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable1_9_1[1] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_2_5[5] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_5_2[2] = {FloatComplex(0.0f, 0.0f)};
+*/
+
+ printf("\n>>>> Column Meanf Float Complex Array Test\n");
+
+ /**/
+
+ ccolumnmeanfa(table1 , 3 , 3 , coef1 , columnMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnMeanmedTable_3_3[%d] = %e + %ei\n", i, creals(columnMeanmedTable1_3_3[i]), cimags(columnMeanmedTable1_3_3[i]));
+ }
+ assert( fabs(cimags(columnMeanmedTable1_3_3[0]) - (138.0f / 33.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(creals(columnMeanmedTable1_3_3[0]) - ( 68.0f / 33.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(cimags(columnMeanmedTable1_3_3[1]) - ( 36.0f / 6.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(creals(columnMeanmedTable1_3_3[1]) - ( 32.0f / 6.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(cimags(columnMeanmedTable1_3_3[2]) - (114.0f / 18.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(creals(columnMeanmedTable1_3_3[2]) - (146.0f / 18.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+
+
+
+static int testMeanf(void) {
+
+ smeanfsTest();
+ smeanfaTest();
+ scolumnmeanfaTest();
+ srowmeanfaTest();
+ cmeanfsTest();
+ cmeanfaTest();
+ crowmeanfaTest();
+ ccolumnmeanfaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testMeanf() == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/meanf/zcolumnmeanfa.c b/src/c/statisticsFunctions/meanf/zcolumnmeanfa.c
new file mode 100644
index 0000000..efbfa89
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/zcolumnmeanfa.c
@@ -0,0 +1,39 @@
+/*
+ * 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 "meanf.h"
+#include "sum.h"
+#include "multiplication.h"
+
+void zcolumnmeanfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex *out) {
+ int i = 0;
+ int j = 0;
+ doubleComplex tempCoefSum = DoubleComplex(0.0,0.0);
+ doubleComplex tempMul = DoubleComplex(0.0,0.0);
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines ; ++j)
+ {
+ tempCoefSum = DoubleComplex(0.0,0.0);
+ out[j]= DoubleComplex(0.0,0.0);
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ tempMul = zmuls ( in1[lines*i + j] , in2[lines*i + j]); /* we times by the coefficient*/
+ tempCoefSum = zadds ( in2[lines*i + j] ,tempCoefSum ) ;
+ out[j] = zadds (tempMul, out[j]) ;
+ }
+
+ out[j] = zrdivs(out[j] ,tempCoefSum) ;
+ }
+}
+
+
diff --git a/src/c/statisticsFunctions/meanf/zmeanfa.c b/src/c/statisticsFunctions/meanf/zmeanfa.c
new file mode 100644
index 0000000..f6691d9
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/zmeanfa.c
@@ -0,0 +1,29 @@
+/*
+ * 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 "meanf.h"
+#include "multiplication.h"
+#include "division.h"
+
+doubleComplex zmeanfa(doubleComplex *in1, int size, doubleComplex *in2 ) {
+ doubleComplex accumulate = DoubleComplex(0.0, 0.0);
+ doubleComplex freAccumulate = DoubleComplex(0.0, 0.0);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = zadds(accumulate , zmuls( in1[i] ,in2[i]));
+ freAccumulate = zadds(in2[i],freAccumulate);
+ }
+ return zrdivs(accumulate ,freAccumulate);
+}
+
diff --git a/src/c/statisticsFunctions/meanf/zmeanfdz.c b/src/c/statisticsFunctions/meanf/zmeanfdz.c
new file mode 100644
index 0000000..a53902b
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/zmeanfdz.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 <stdlib.h>
+#include "meanf.h"
+#include "zeros.h"
+
+doubleComplex zmeanfdz (double* in1 ,int lines , int columns , doubleComplex* in2)
+ {
+ double* ZEROS = (double *) malloc((unsigned int)(lines*columns*sizeof(double)));
+ dzerosa(ZEROS,lines,columns);
+
+ return zmeanfa(DoubleComplexMatrix(in1,ZEROS,lines*columns), lines*columns , in2);
+ }
diff --git a/src/c/statisticsFunctions/meanf/zmeanfzd.c b/src/c/statisticsFunctions/meanf/zmeanfzd.c
new file mode 100644
index 0000000..f31910b
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/zmeanfzd.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 <stdlib.h>
+#include "meanf.h"
+#include "zeros.h"
+
+doubleComplex zmeanfzd (doubleComplex* in1 ,int lines , int columns , double* in2)
+ {
+ double* ZEROS = (double *) malloc((unsigned int)(lines*columns*sizeof(double)));
+ dzerosa(ZEROS,lines,columns);
+
+ return zmeanfa(in1, lines*columns , DoubleComplexMatrix(in2,ZEROS,lines*columns));
+ }
diff --git a/src/c/statisticsFunctions/meanf/zrowmeanfa.c b/src/c/statisticsFunctions/meanf/zrowmeanfa.c
new file mode 100644
index 0000000..7911413
--- /dev/null
+++ b/src/c/statisticsFunctions/meanf/zrowmeanfa.c
@@ -0,0 +1,36 @@
+/*
+ * 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 "meanf.h"
+#include "sum.h"
+#include "multiplication.h"
+void zrowmeanfa(doubleComplex *in1, int lines, int columns, doubleComplex *in2, doubleComplex *out) {
+ int i = 0;
+ int j = 0;
+ doubleComplex tempCoefSum = DoubleComplex(0.0,0.0);
+ doubleComplex tempMul = DoubleComplex(0.0,0.0);
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ tempCoefSum = DoubleComplex(0.0,0.0);
+ out[j]= DoubleComplex(0.0,0.0);
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ tempMul = zmuls ( in1[lines*j + i] , in2[lines*j + i]); /* we times by the coefficient*/
+ tempCoefSum = zadds ( in2[lines*j + i] ,tempCoefSum ) ;
+ out[j] = zadds (tempMul, out[j]) ;
+ }
+
+ out[j] = zrdivs(out[j] ,tempCoefSum) ;
+ }
+}
diff --git a/src/c/statisticsFunctions/min/Makefile.am b/src/c/statisticsFunctions/min/Makefile.am
new file mode 100644
index 0000000..5b8a357
--- /dev/null
+++ b/src/c/statisticsFunctions/min/Makefile.am
@@ -0,0 +1,51 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libMin_la_CFLAGS = -I $(top_builddir)/src/c/statisticsFunctions/includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libMin.la
+
+libMin_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = smina.c \
+ srowmina.c \
+ scolumnmina.c \
+ dmina.c \
+ drowmina.c \
+ dcolumnmina.c
+
+HEAD = ../includes/statMin.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes
+
+check_LDADD = $(top_builddir)/src/c/statisticsFunctions/min/libMin.la
+
+check_PROGRAMS = testFloatMin testDoubleMin
+
+TESTS = testFloatMin testDoubleMin
+
+#
+# -*- Min Tests -*-
+#
+testFloatMin_SOURCES = testFloatMin.c
+testFloatMin_CFLAGS = $(check_INCLUDES)
+testFloatMin_LDADD = $(check_LDADD)
+
+testDoubleMin_SOURCES =testDoubleMin.c
+testDoubleMin_CFLAGS = $(check_INCLUDES)
+testDoubleMin_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/min/Makefile.in b/src/c/statisticsFunctions/min/Makefile.in
new file mode 100644
index 0000000..fe6ddb3
--- /dev/null
+++ b/src/c/statisticsFunctions/min/Makefile.in
@@ -0,0 +1,759 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatMin$(EXEEXT) testDoubleMin$(EXEEXT)
+TESTS = testFloatMin$(EXEEXT) testDoubleMin$(EXEEXT)
+subdir = src/c/statisticsFunctions/min
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libMin_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libMin_la-smina.lo libMin_la-srowmina.lo \
+ libMin_la-scolumnmina.lo libMin_la-dmina.lo \
+ libMin_la-drowmina.lo libMin_la-dcolumnmina.lo
+am_libMin_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libMin_la_OBJECTS = $(am_libMin_la_OBJECTS)
+libMin_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libMin_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleMin_OBJECTS = testDoubleMin-testDoubleMin.$(OBJEXT)
+testDoubleMin_OBJECTS = $(am_testDoubleMin_OBJECTS)
+testDoubleMin_DEPENDENCIES = $(check_LDADD)
+testDoubleMin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleMin_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatMin_OBJECTS = testFloatMin-testFloatMin.$(OBJEXT)
+testFloatMin_OBJECTS = $(am_testFloatMin_OBJECTS)
+testFloatMin_DEPENDENCIES = $(check_LDADD)
+testFloatMin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatMin_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
+am__mv = mv -f
+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 = $(libMin_la_SOURCES) $(testDoubleMin_SOURCES) \
+ $(testFloatMin_SOURCES)
+DIST_SOURCES = $(libMin_la_SOURCES) $(testDoubleMin_SOURCES) \
+ $(testFloatMin_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libMin_la_CFLAGS = -I $(top_builddir)/src/c/statisticsFunctions/includes
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libMin.la
+libMin_la_SOURCES = $(HEAD) $(SRC)
+SRC = smina.c \
+ srowmina.c \
+ scolumnmina.c \
+ dmina.c \
+ drowmina.c \
+ dcolumnmina.c
+
+HEAD = ../includes/statMin.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes
+check_LDADD = $(top_builddir)/src/c/statisticsFunctions/min/libMin.la
+
+#
+# -*- Min Tests -*-
+#
+testFloatMin_SOURCES = testFloatMin.c
+testFloatMin_CFLAGS = $(check_INCLUDES)
+testFloatMin_LDADD = $(check_LDADD)
+testDoubleMin_SOURCES = testDoubleMin.c
+testDoubleMin_CFLAGS = $(check_INCLUDES)
+testDoubleMin_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/min/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/min/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libMin.la: $(libMin_la_OBJECTS) $(libMin_la_DEPENDENCIES)
+ $(libMin_la_LINK) -rpath $(pkglibdir) $(libMin_la_OBJECTS) $(libMin_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleMin$(EXEEXT): $(testDoubleMin_OBJECTS) $(testDoubleMin_DEPENDENCIES)
+ @rm -f testDoubleMin$(EXEEXT)
+ $(testDoubleMin_LINK) $(testDoubleMin_OBJECTS) $(testDoubleMin_LDADD) $(LIBS)
+testFloatMin$(EXEEXT): $(testFloatMin_OBJECTS) $(testFloatMin_DEPENDENCIES)
+ @rm -f testFloatMin$(EXEEXT)
+ $(testFloatMin_LINK) $(testFloatMin_OBJECTS) $(testFloatMin_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-dcolumnmina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-dmina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-drowmina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-scolumnmina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-smina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libMin_la-srowmina.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleMin-testDoubleMin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatMin-testFloatMin.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libMin_la-smina.lo: smina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-smina.lo -MD -MP -MF $(DEPDIR)/libMin_la-smina.Tpo -c -o libMin_la-smina.lo `test -f 'smina.c' || echo '$(srcdir)/'`smina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-smina.Tpo $(DEPDIR)/libMin_la-smina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smina.c' object='libMin_la-smina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-smina.lo `test -f 'smina.c' || echo '$(srcdir)/'`smina.c
+
+libMin_la-srowmina.lo: srowmina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-srowmina.lo -MD -MP -MF $(DEPDIR)/libMin_la-srowmina.Tpo -c -o libMin_la-srowmina.lo `test -f 'srowmina.c' || echo '$(srcdir)/'`srowmina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-srowmina.Tpo $(DEPDIR)/libMin_la-srowmina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowmina.c' object='libMin_la-srowmina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-srowmina.lo `test -f 'srowmina.c' || echo '$(srcdir)/'`srowmina.c
+
+libMin_la-scolumnmina.lo: scolumnmina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-scolumnmina.lo -MD -MP -MF $(DEPDIR)/libMin_la-scolumnmina.Tpo -c -o libMin_la-scolumnmina.lo `test -f 'scolumnmina.c' || echo '$(srcdir)/'`scolumnmina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-scolumnmina.Tpo $(DEPDIR)/libMin_la-scolumnmina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnmina.c' object='libMin_la-scolumnmina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-scolumnmina.lo `test -f 'scolumnmina.c' || echo '$(srcdir)/'`scolumnmina.c
+
+libMin_la-dmina.lo: dmina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-dmina.lo -MD -MP -MF $(DEPDIR)/libMin_la-dmina.Tpo -c -o libMin_la-dmina.lo `test -f 'dmina.c' || echo '$(srcdir)/'`dmina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-dmina.Tpo $(DEPDIR)/libMin_la-dmina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dmina.c' object='libMin_la-dmina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-dmina.lo `test -f 'dmina.c' || echo '$(srcdir)/'`dmina.c
+
+libMin_la-drowmina.lo: drowmina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-drowmina.lo -MD -MP -MF $(DEPDIR)/libMin_la-drowmina.Tpo -c -o libMin_la-drowmina.lo `test -f 'drowmina.c' || echo '$(srcdir)/'`drowmina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-drowmina.Tpo $(DEPDIR)/libMin_la-drowmina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowmina.c' object='libMin_la-drowmina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-drowmina.lo `test -f 'drowmina.c' || echo '$(srcdir)/'`drowmina.c
+
+libMin_la-dcolumnmina.lo: dcolumnmina.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libMin_la_CFLAGS) $(CFLAGS) -MT libMin_la-dcolumnmina.lo -MD -MP -MF $(DEPDIR)/libMin_la-dcolumnmina.Tpo -c -o libMin_la-dcolumnmina.lo `test -f 'dcolumnmina.c' || echo '$(srcdir)/'`dcolumnmina.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libMin_la-dcolumnmina.Tpo $(DEPDIR)/libMin_la-dcolumnmina.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnmina.c' object='libMin_la-dcolumnmina.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) $(libMin_la_CFLAGS) $(CFLAGS) -c -o libMin_la-dcolumnmina.lo `test -f 'dcolumnmina.c' || echo '$(srcdir)/'`dcolumnmina.c
+
+testDoubleMin-testDoubleMin.o: testDoubleMin.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMin_CFLAGS) $(CFLAGS) -MT testDoubleMin-testDoubleMin.o -MD -MP -MF $(DEPDIR)/testDoubleMin-testDoubleMin.Tpo -c -o testDoubleMin-testDoubleMin.o `test -f 'testDoubleMin.c' || echo '$(srcdir)/'`testDoubleMin.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMin-testDoubleMin.Tpo $(DEPDIR)/testDoubleMin-testDoubleMin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMin.c' object='testDoubleMin-testDoubleMin.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) $(testDoubleMin_CFLAGS) $(CFLAGS) -c -o testDoubleMin-testDoubleMin.o `test -f 'testDoubleMin.c' || echo '$(srcdir)/'`testDoubleMin.c
+
+testDoubleMin-testDoubleMin.obj: testDoubleMin.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleMin_CFLAGS) $(CFLAGS) -MT testDoubleMin-testDoubleMin.obj -MD -MP -MF $(DEPDIR)/testDoubleMin-testDoubleMin.Tpo -c -o testDoubleMin-testDoubleMin.obj `if test -f 'testDoubleMin.c'; then $(CYGPATH_W) 'testDoubleMin.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMin.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleMin-testDoubleMin.Tpo $(DEPDIR)/testDoubleMin-testDoubleMin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleMin.c' object='testDoubleMin-testDoubleMin.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) $(testDoubleMin_CFLAGS) $(CFLAGS) -c -o testDoubleMin-testDoubleMin.obj `if test -f 'testDoubleMin.c'; then $(CYGPATH_W) 'testDoubleMin.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleMin.c'; fi`
+
+testFloatMin-testFloatMin.o: testFloatMin.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMin_CFLAGS) $(CFLAGS) -MT testFloatMin-testFloatMin.o -MD -MP -MF $(DEPDIR)/testFloatMin-testFloatMin.Tpo -c -o testFloatMin-testFloatMin.o `test -f 'testFloatMin.c' || echo '$(srcdir)/'`testFloatMin.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMin-testFloatMin.Tpo $(DEPDIR)/testFloatMin-testFloatMin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMin.c' object='testFloatMin-testFloatMin.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) $(testFloatMin_CFLAGS) $(CFLAGS) -c -o testFloatMin-testFloatMin.o `test -f 'testFloatMin.c' || echo '$(srcdir)/'`testFloatMin.c
+
+testFloatMin-testFloatMin.obj: testFloatMin.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatMin_CFLAGS) $(CFLAGS) -MT testFloatMin-testFloatMin.obj -MD -MP -MF $(DEPDIR)/testFloatMin-testFloatMin.Tpo -c -o testFloatMin-testFloatMin.obj `if test -f 'testFloatMin.c'; then $(CYGPATH_W) 'testFloatMin.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMin.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatMin-testFloatMin.Tpo $(DEPDIR)/testFloatMin-testFloatMin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatMin.c' object='testFloatMin-testFloatMin.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) $(testFloatMin_CFLAGS) $(CFLAGS) -c -o testFloatMin-testFloatMin.obj `if test -f 'testFloatMin.c'; then $(CYGPATH_W) 'testFloatMin.c'; else $(CYGPATH_W) '$(srcdir)/testFloatMin.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/min/dcolumnmina.c b/src/c/statisticsFunctions/min/dcolumnmina.c
new file mode 100644
index 0000000..6f0b3c1
--- /dev/null
+++ b/src/c/statisticsFunctions/min/dcolumnmina.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMin.h"
+
+void dcolumnmina(double *in, int rows, int columns, double* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i]) out[i] = in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/dmina.c b/src/c/statisticsFunctions/min/dmina.c
new file mode 100644
index 0000000..232232c
--- /dev/null
+++ b/src/c/statisticsFunctions/min/dmina.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMin.h"
+
+double dmina(double *in, int size) {
+ double out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out) out = in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/drowmina.c b/src/c/statisticsFunctions/min/drowmina.c
new file mode 100644
index 0000000..f74498a
--- /dev/null
+++ b/src/c/statisticsFunctions/min/drowmina.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMin.h"
+
+void drowmina(double *in, int rows, int columns, double* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i]) out[i] = in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/min/i16columnmina.c b/src/c/statisticsFunctions/min/i16columnmina.c
new file mode 100644
index 0000000..64ec334
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i16columnmina.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void i16columnmina(int16 *in, int rows, int columns, int16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(int16)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i])
+ out[i] = (int16)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/i16mina.c b/src/c/statisticsFunctions/min/i16mina.c
new file mode 100644
index 0000000..402b946
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i16mina.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+int16 i16mina(int16 *in, int size) {
+ int16 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out)
+ out = (int16)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/i16rowmina.c b/src/c/statisticsFunctions/min/i16rowmina.c
new file mode 100644
index 0000000..51f575a
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i16rowmina.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void i16rowmina(int16 *in, int rows, int columns, int16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(int16)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i])
+ out[i] = (int16)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/min/i8columnmina.c b/src/c/statisticsFunctions/min/i8columnmina.c
new file mode 100644
index 0000000..041bc9b
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i8columnmina.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void i8columnmina(int8 *in, int rows, int columns, int8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(int8)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i])
+ out[i] = (int8)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/i8mina.c b/src/c/statisticsFunctions/min/i8mina.c
new file mode 100644
index 0000000..f7acac7
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i8mina.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+int8 i8mina(int8 *in, int size) {
+ int8 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out)
+ out = (int8)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/i8rowmina.c b/src/c/statisticsFunctions/min/i8rowmina.c
new file mode 100644
index 0000000..1c57382
--- /dev/null
+++ b/src/c/statisticsFunctions/min/i8rowmina.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void i8rowmina(int8 *in, int rows, int columns, int8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(int8)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i])
+ out[i] = (int8)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/min/scolumnmina.c b/src/c/statisticsFunctions/min/scolumnmina.c
new file mode 100644
index 0000000..8e19b1d
--- /dev/null
+++ b/src/c/statisticsFunctions/min/scolumnmina.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMin.h"
+
+void scolumnmina(float *in, int rows, int columns, float* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i]) out[i] = in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/smina.c b/src/c/statisticsFunctions/min/smina.c
new file mode 100644
index 0000000..bdc929c
--- /dev/null
+++ b/src/c/statisticsFunctions/min/smina.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
+ *
+ * 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 "statMin.h"
+
+float smina(float *in, int size) {
+ float out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out) out = in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/srowmina.c b/src/c/statisticsFunctions/min/srowmina.c
new file mode 100644
index 0000000..bbdb4f0
--- /dev/null
+++ b/src/c/statisticsFunctions/min/srowmina.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "statMin.h"
+
+void srowmina(float *in, int rows, int columns, float* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i]) out[i] = in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/min/testDoubleMin.c b/src/c/statisticsFunctions/min/testDoubleMin.c
new file mode 100644
index 0000000..4152216
--- /dev/null
+++ b/src/c/statisticsFunctions/min/testDoubleMin.c
@@ -0,0 +1,93 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
+ *
+ * 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 "statMin.h"
+#include "assert.h"
+#include "stdio.h"
+
+
+static void dminaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double out;
+
+ out = dmina(in,12);
+ assert(out-1==0);
+
+}
+
+
+static void drowminaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double result2[2]={1,1};
+ double result3[3]={1,1,2};
+ double result4[4]={4,1,1,3};
+ double result6[6]={4,1,2,1,2,3};
+ double out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ int i;
+
+
+ drowmina(in,12,1,out1);
+ drowmina(in,6,2,out2);
+ drowmina(in,4,3,out3);
+ drowmina(in,3,4,out4);
+ drowmina(in,2,6,out6);
+ drowmina(in,1,12,out12);
+
+ assert(out1[0]-1==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+
+static void dcolumnminaTest(void){
+ double in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ double out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ double result2[2]={2,1};
+ double result3[3]={1,1,2};
+ double result4[4]={2,5,4,1};
+ double result6[6]={4,1,2,1,2,3};
+ int i;
+
+
+
+ dcolumnmina(in,12,1,out12);
+ dcolumnmina(in,6,2,out6);
+ dcolumnmina(in,4,3,out4);
+ dcolumnmina(in,3,4,out3);
+ dcolumnmina(in,2,6,out2);
+ dcolumnmina(in,1,12,out1);
+
+ assert(out1[0]-1==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+static int minTest(void){
+ dminaTest();
+ drowminaTest();
+ dcolumnminaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert(minTest()==0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/min/testFloatMin.c b/src/c/statisticsFunctions/min/testFloatMin.c
new file mode 100644
index 0000000..70022a6
--- /dev/null
+++ b/src/c/statisticsFunctions/min/testFloatMin.c
@@ -0,0 +1,92 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
+ *
+ * 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 "statMin.h"
+#include "assert.h"
+#include "stdio.h"
+
+static void sminaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out;
+
+ out = smina(in,12);
+ assert(out-1==0);
+
+}
+
+
+static void srowminaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ float result2[2]={1,1};
+ float result3[3]={1,1,2};
+ float result4[4]={4,1,1,3};
+ float result6[6]={4,1,2,1,2,3};
+ int i;
+
+
+ srowmina(in,12,1,out1);
+ srowmina(in,6,2,out2);
+ srowmina(in,4,3,out3);
+ srowmina(in,3,4,out4);
+ srowmina(in,2,6,out6);
+ srowmina(in,1,12,out12);
+
+ assert(out1[0]-1==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+
+static void scolumnminaTest(void){
+ float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
+ float out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
+ float result2[2]={2,1};
+ float result3[3]={1,1,2};
+ float result4[4]={2,5,4,1};
+ float result6[6]={4,1,2,1,2,3};
+ int i;
+
+
+
+ scolumnmina(in,12,1,out12);
+ scolumnmina(in,6,2,out6);
+ scolumnmina(in,4,3,out4);
+ scolumnmina(in,3,4,out3);
+ scolumnmina(in,2,6,out2);
+ scolumnmina(in,1,12,out1);
+
+ assert(out1[0]-1==0);
+ for (i=0;i<2;i++) assert(out2[i]-result2[i]==0);
+ for (i=0;i<3;i++) assert(out3[i]-result3[i]==0);
+ for (i=0;i<4;i++) assert(out4[i]-result4[i]==0);
+ for (i=0;i<6;i++) assert(out6[i]-result6[i]==0);
+ for (i=0;i<12;i++) assert(out12[i]-in[i]==0);
+}
+
+static int minTest(void){
+ sminaTest();
+ srowminaTest();
+ scolumnminaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert(minTest()==0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj b/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj
new file mode 100644
index 0000000..aa78adb
--- /dev/null
+++ b/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9678E693-3459-4D6F-9017-EA3E28A58AC7}</ProjectGuid>
+ <RootNamespace>testDoubleMin</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMin.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj.filters b/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj.filters
new file mode 100644
index 0000000..257addf
--- /dev/null
+++ b/src/c/statisticsFunctions/min/test_DoubleMin/testDoubleMin.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleMin.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj b/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj
new file mode 100644
index 0000000..409d4ad
--- /dev/null
+++ b/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{0A156C36-89D5-485E-BB8E-C7536A1DA566}</ProjectGuid>
+ <RootNamespace>testFloatMin</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMin.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj.filters b/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj.filters
new file mode 100644
index 0000000..ab525fa
--- /dev/null
+++ b/src/c/statisticsFunctions/min/test_FloatMin/testFloatMin.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatMin.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/min/u16columnmina.c b/src/c/statisticsFunctions/min/u16columnmina.c
new file mode 100644
index 0000000..1df155d
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u16columnmina.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void u16columnmina(uint16 *in, int rows, int columns, uint16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(uint16)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i])
+ out[i] = (uint16)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/u16mina.c b/src/c/statisticsFunctions/min/u16mina.c
new file mode 100644
index 0000000..e09f044
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u16mina.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+uint16 u16mina(uint16 *in, int size) {
+ uint16 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out)
+ out = (uint16)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/u16rowmina.c b/src/c/statisticsFunctions/min/u16rowmina.c
new file mode 100644
index 0000000..dc4ba08
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u16rowmina.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "statMin.h"
+
+void u16rowmina(uint16 *in, int rows, int columns, uint16* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(uint16)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i])
+ out[i] = (uint16)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/min/u8columnmina.c b/src/c/statisticsFunctions/min/u8columnmina.c
new file mode 100644
index 0000000..07269fa
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u8columnmina.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void u8columnmina(uint8 *in, int rows, int columns, uint8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < rows; i++) {
+ out[i]=(uint8)in[i*columns];
+ for (j=0;j<columns;j++)
+ if (in[i+j*rows]<out[i])
+ out[i] = (uint8)in[i+j*rows];
+ }
+
+}
diff --git a/src/c/statisticsFunctions/min/u8mina.c b/src/c/statisticsFunctions/min/u8mina.c
new file mode 100644
index 0000000..579d1b3
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u8mina.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+uint8 u8mina(uint8 *in, int size) {
+ uint8 out = in[0];
+ int i = 0;
+
+ for (i = 1; i < size; ++i)
+ {
+ if (in[i]<out)
+ out = (uint8)in[i];
+ }
+ return out;
+
+}
diff --git a/src/c/statisticsFunctions/min/u8rowmina.c b/src/c/statisticsFunctions/min/u8rowmina.c
new file mode 100644
index 0000000..2f1de4f
--- /dev/null
+++ b/src/c/statisticsFunctions/min/u8rowmina.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "statMin.h"
+
+void u8rowmina(uint8 *in, int rows, int columns, uint8* out) {
+ int i = 0, j = 0;
+
+ for (i = 0; i < columns; i++) {
+ out[i]=(uint8)in[i*rows];
+ for (j = 1 ; j < rows ; j++)
+ if (in[i*rows+j]<out[i])
+ out[i] = (uint8)in[i*rows+j];
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/Makefile.am b/src/c/statisticsFunctions/prod/Makefile.am
new file mode 100644
index 0000000..4c217f5
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/Makefile.am
@@ -0,0 +1,66 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libProd_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libProd.la
+
+libProd_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = sproda.c \
+ srowproda.c \
+ scolumnproda.c \
+ dproda.c \
+ drowproda.c \
+ dcolumnproda.c \
+ cproda.c \
+ crowproda.c \
+ ccolumnproda.c \
+ zproda.c \
+ zrowproda.c \
+ zcolumnproda.c
+
+HEAD = ../includes/prod.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/statisticsFunctions/prod/libProd.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatProd testDoubleProd
+
+TESTS = testFloatProd testDoubleProd
+
+#
+# -*- Prod Tests -*-
+#
+testFloatProd_SOURCES = testFloatProd.c
+testFloatProd_CFLAGS = $(check_INCLUDES)
+testFloatProd_LDADD = $(check_LDADD)
+
+testDoubleProd_SOURCES =testDoubleProd.c
+testDoubleProd_CFLAGS = $(check_INCLUDES)
+testDoubleProd_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/prod/Makefile.in b/src/c/statisticsFunctions/prod/Makefile.in
new file mode 100644
index 0000000..67fb623
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/Makefile.in
@@ -0,0 +1,833 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatProd$(EXEEXT) testDoubleProd$(EXEEXT)
+TESTS = testFloatProd$(EXEEXT) testDoubleProd$(EXEEXT)
+subdir = src/c/statisticsFunctions/prod
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libProd_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libProd_la-sproda.lo libProd_la-srowproda.lo \
+ libProd_la-scolumnproda.lo libProd_la-dproda.lo \
+ libProd_la-drowproda.lo libProd_la-dcolumnproda.lo \
+ libProd_la-cproda.lo libProd_la-crowproda.lo \
+ libProd_la-ccolumnproda.lo libProd_la-zproda.lo \
+ libProd_la-zrowproda.lo libProd_la-zcolumnproda.lo
+am_libProd_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libProd_la_OBJECTS = $(am_libProd_la_OBJECTS)
+libProd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libProd_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleProd_OBJECTS = testDoubleProd-testDoubleProd.$(OBJEXT)
+testDoubleProd_OBJECTS = $(am_testDoubleProd_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/statisticsFunctions/prod/libProd.la
+testDoubleProd_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleProd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleProd_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatProd_OBJECTS = testFloatProd-testFloatProd.$(OBJEXT)
+testFloatProd_OBJECTS = $(am_testFloatProd_OBJECTS)
+testFloatProd_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatProd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatProd_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
+am__mv = mv -f
+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 = $(libProd_la_SOURCES) $(testDoubleProd_SOURCES) \
+ $(testFloatProd_SOURCES)
+DIST_SOURCES = $(libProd_la_SOURCES) $(testDoubleProd_SOURCES) \
+ $(testFloatProd_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libProd_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libProd.la
+libProd_la_SOURCES = $(HEAD) $(SRC)
+SRC = sproda.c \
+ srowproda.c \
+ scolumnproda.c \
+ dproda.c \
+ drowproda.c \
+ dcolumnproda.c \
+ cproda.c \
+ crowproda.c \
+ ccolumnproda.c \
+ zproda.c \
+ zrowproda.c \
+ zcolumnproda.c
+
+HEAD = ../includes/prod.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/statisticsFunctions/prod/libProd.la \
+ @LIBMATH@
+
+
+#
+# -*- Prod Tests -*-
+#
+testFloatProd_SOURCES = testFloatProd.c
+testFloatProd_CFLAGS = $(check_INCLUDES)
+testFloatProd_LDADD = $(check_LDADD)
+testDoubleProd_SOURCES = testDoubleProd.c
+testDoubleProd_CFLAGS = $(check_INCLUDES)
+testDoubleProd_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/prod/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/prod/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libProd.la: $(libProd_la_OBJECTS) $(libProd_la_DEPENDENCIES)
+ $(libProd_la_LINK) -rpath $(pkglibdir) $(libProd_la_OBJECTS) $(libProd_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleProd$(EXEEXT): $(testDoubleProd_OBJECTS) $(testDoubleProd_DEPENDENCIES)
+ @rm -f testDoubleProd$(EXEEXT)
+ $(testDoubleProd_LINK) $(testDoubleProd_OBJECTS) $(testDoubleProd_LDADD) $(LIBS)
+testFloatProd$(EXEEXT): $(testFloatProd_OBJECTS) $(testFloatProd_DEPENDENCIES)
+ @rm -f testFloatProd$(EXEEXT)
+ $(testFloatProd_LINK) $(testFloatProd_OBJECTS) $(testFloatProd_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-ccolumnproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-cproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-crowproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-dcolumnproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-dproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-drowproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-scolumnproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-sproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-srowproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-zcolumnproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-zproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libProd_la-zrowproda.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleProd-testDoubleProd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatProd-testFloatProd.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libProd_la-sproda.lo: sproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-sproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-sproda.Tpo -c -o libProd_la-sproda.lo `test -f 'sproda.c' || echo '$(srcdir)/'`sproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-sproda.Tpo $(DEPDIR)/libProd_la-sproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sproda.c' object='libProd_la-sproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-sproda.lo `test -f 'sproda.c' || echo '$(srcdir)/'`sproda.c
+
+libProd_la-srowproda.lo: srowproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-srowproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-srowproda.Tpo -c -o libProd_la-srowproda.lo `test -f 'srowproda.c' || echo '$(srcdir)/'`srowproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-srowproda.Tpo $(DEPDIR)/libProd_la-srowproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowproda.c' object='libProd_la-srowproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-srowproda.lo `test -f 'srowproda.c' || echo '$(srcdir)/'`srowproda.c
+
+libProd_la-scolumnproda.lo: scolumnproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-scolumnproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-scolumnproda.Tpo -c -o libProd_la-scolumnproda.lo `test -f 'scolumnproda.c' || echo '$(srcdir)/'`scolumnproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-scolumnproda.Tpo $(DEPDIR)/libProd_la-scolumnproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnproda.c' object='libProd_la-scolumnproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-scolumnproda.lo `test -f 'scolumnproda.c' || echo '$(srcdir)/'`scolumnproda.c
+
+libProd_la-dproda.lo: dproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-dproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-dproda.Tpo -c -o libProd_la-dproda.lo `test -f 'dproda.c' || echo '$(srcdir)/'`dproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-dproda.Tpo $(DEPDIR)/libProd_la-dproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dproda.c' object='libProd_la-dproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-dproda.lo `test -f 'dproda.c' || echo '$(srcdir)/'`dproda.c
+
+libProd_la-drowproda.lo: drowproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-drowproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-drowproda.Tpo -c -o libProd_la-drowproda.lo `test -f 'drowproda.c' || echo '$(srcdir)/'`drowproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-drowproda.Tpo $(DEPDIR)/libProd_la-drowproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowproda.c' object='libProd_la-drowproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-drowproda.lo `test -f 'drowproda.c' || echo '$(srcdir)/'`drowproda.c
+
+libProd_la-dcolumnproda.lo: dcolumnproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-dcolumnproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-dcolumnproda.Tpo -c -o libProd_la-dcolumnproda.lo `test -f 'dcolumnproda.c' || echo '$(srcdir)/'`dcolumnproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-dcolumnproda.Tpo $(DEPDIR)/libProd_la-dcolumnproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnproda.c' object='libProd_la-dcolumnproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-dcolumnproda.lo `test -f 'dcolumnproda.c' || echo '$(srcdir)/'`dcolumnproda.c
+
+libProd_la-cproda.lo: cproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-cproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-cproda.Tpo -c -o libProd_la-cproda.lo `test -f 'cproda.c' || echo '$(srcdir)/'`cproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-cproda.Tpo $(DEPDIR)/libProd_la-cproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cproda.c' object='libProd_la-cproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-cproda.lo `test -f 'cproda.c' || echo '$(srcdir)/'`cproda.c
+
+libProd_la-crowproda.lo: crowproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-crowproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-crowproda.Tpo -c -o libProd_la-crowproda.lo `test -f 'crowproda.c' || echo '$(srcdir)/'`crowproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-crowproda.Tpo $(DEPDIR)/libProd_la-crowproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowproda.c' object='libProd_la-crowproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-crowproda.lo `test -f 'crowproda.c' || echo '$(srcdir)/'`crowproda.c
+
+libProd_la-ccolumnproda.lo: ccolumnproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-ccolumnproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-ccolumnproda.Tpo -c -o libProd_la-ccolumnproda.lo `test -f 'ccolumnproda.c' || echo '$(srcdir)/'`ccolumnproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-ccolumnproda.Tpo $(DEPDIR)/libProd_la-ccolumnproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnproda.c' object='libProd_la-ccolumnproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-ccolumnproda.lo `test -f 'ccolumnproda.c' || echo '$(srcdir)/'`ccolumnproda.c
+
+libProd_la-zproda.lo: zproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-zproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-zproda.Tpo -c -o libProd_la-zproda.lo `test -f 'zproda.c' || echo '$(srcdir)/'`zproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-zproda.Tpo $(DEPDIR)/libProd_la-zproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zproda.c' object='libProd_la-zproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-zproda.lo `test -f 'zproda.c' || echo '$(srcdir)/'`zproda.c
+
+libProd_la-zrowproda.lo: zrowproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-zrowproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-zrowproda.Tpo -c -o libProd_la-zrowproda.lo `test -f 'zrowproda.c' || echo '$(srcdir)/'`zrowproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-zrowproda.Tpo $(DEPDIR)/libProd_la-zrowproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowproda.c' object='libProd_la-zrowproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-zrowproda.lo `test -f 'zrowproda.c' || echo '$(srcdir)/'`zrowproda.c
+
+libProd_la-zcolumnproda.lo: zcolumnproda.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libProd_la_CFLAGS) $(CFLAGS) -MT libProd_la-zcolumnproda.lo -MD -MP -MF $(DEPDIR)/libProd_la-zcolumnproda.Tpo -c -o libProd_la-zcolumnproda.lo `test -f 'zcolumnproda.c' || echo '$(srcdir)/'`zcolumnproda.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libProd_la-zcolumnproda.Tpo $(DEPDIR)/libProd_la-zcolumnproda.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnproda.c' object='libProd_la-zcolumnproda.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) $(libProd_la_CFLAGS) $(CFLAGS) -c -o libProd_la-zcolumnproda.lo `test -f 'zcolumnproda.c' || echo '$(srcdir)/'`zcolumnproda.c
+
+testDoubleProd-testDoubleProd.o: testDoubleProd.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleProd_CFLAGS) $(CFLAGS) -MT testDoubleProd-testDoubleProd.o -MD -MP -MF $(DEPDIR)/testDoubleProd-testDoubleProd.Tpo -c -o testDoubleProd-testDoubleProd.o `test -f 'testDoubleProd.c' || echo '$(srcdir)/'`testDoubleProd.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleProd-testDoubleProd.Tpo $(DEPDIR)/testDoubleProd-testDoubleProd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleProd.c' object='testDoubleProd-testDoubleProd.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) $(testDoubleProd_CFLAGS) $(CFLAGS) -c -o testDoubleProd-testDoubleProd.o `test -f 'testDoubleProd.c' || echo '$(srcdir)/'`testDoubleProd.c
+
+testDoubleProd-testDoubleProd.obj: testDoubleProd.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleProd_CFLAGS) $(CFLAGS) -MT testDoubleProd-testDoubleProd.obj -MD -MP -MF $(DEPDIR)/testDoubleProd-testDoubleProd.Tpo -c -o testDoubleProd-testDoubleProd.obj `if test -f 'testDoubleProd.c'; then $(CYGPATH_W) 'testDoubleProd.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleProd.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleProd-testDoubleProd.Tpo $(DEPDIR)/testDoubleProd-testDoubleProd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleProd.c' object='testDoubleProd-testDoubleProd.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) $(testDoubleProd_CFLAGS) $(CFLAGS) -c -o testDoubleProd-testDoubleProd.obj `if test -f 'testDoubleProd.c'; then $(CYGPATH_W) 'testDoubleProd.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleProd.c'; fi`
+
+testFloatProd-testFloatProd.o: testFloatProd.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatProd_CFLAGS) $(CFLAGS) -MT testFloatProd-testFloatProd.o -MD -MP -MF $(DEPDIR)/testFloatProd-testFloatProd.Tpo -c -o testFloatProd-testFloatProd.o `test -f 'testFloatProd.c' || echo '$(srcdir)/'`testFloatProd.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatProd-testFloatProd.Tpo $(DEPDIR)/testFloatProd-testFloatProd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatProd.c' object='testFloatProd-testFloatProd.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) $(testFloatProd_CFLAGS) $(CFLAGS) -c -o testFloatProd-testFloatProd.o `test -f 'testFloatProd.c' || echo '$(srcdir)/'`testFloatProd.c
+
+testFloatProd-testFloatProd.obj: testFloatProd.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatProd_CFLAGS) $(CFLAGS) -MT testFloatProd-testFloatProd.obj -MD -MP -MF $(DEPDIR)/testFloatProd-testFloatProd.Tpo -c -o testFloatProd-testFloatProd.obj `if test -f 'testFloatProd.c'; then $(CYGPATH_W) 'testFloatProd.c'; else $(CYGPATH_W) '$(srcdir)/testFloatProd.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatProd-testFloatProd.Tpo $(DEPDIR)/testFloatProd-testFloatProd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatProd.c' object='testFloatProd-testFloatProd.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) $(testFloatProd_CFLAGS) $(CFLAGS) -c -o testFloatProd-testFloatProd.obj `if test -f 'testFloatProd.c'; then $(CYGPATH_W) 'testFloatProd.c'; else $(CYGPATH_W) '$(srcdir)/testFloatProd.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/prod/ccolumnproda.c b/src/c/statisticsFunctions/prod/ccolumnproda.c
new file mode 100644
index 0000000..8ea35e2
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/ccolumnproda.c
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+#include "multiplication.h"
+
+void ccolumnproda(floatComplex *in, int lines, int columns, floatComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = cmuls(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/cproda.c b/src/c/statisticsFunctions/prod/cproda.c
new file mode 100644
index 0000000..fe0c65d
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/cproda.c
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 "prod.h"
+#include "multiplication.h"
+
+
+floatComplex cproda(floatComplex *in, int size) {
+ floatComplex accumulate = in[0];
+ int i = 0;
+
+
+ for (i = 1; i < size; ++i)
+ {
+ accumulate = cmuls(accumulate,in[i]);
+ }
+ return accumulate;
+
+}
+
+
diff --git a/src/c/statisticsFunctions/prod/crowproda.c b/src/c/statisticsFunctions/prod/crowproda.c
new file mode 100644
index 0000000..463895d
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/crowproda.c
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+#include "multiplication.h"
+
+void crowproda(floatComplex *in, int lines, int columns, floatComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = cmuls( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/dcolumnproda.c b/src/c/statisticsFunctions/prod/dcolumnproda.c
new file mode 100644
index 0000000..6ecdcdc
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/dcolumnproda.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+
+void dcolumnproda(double *in, int lines, int columns, double * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] *= in[i];
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/dproda.c b/src/c/statisticsFunctions/prod/dproda.c
new file mode 100644
index 0000000..cc05890
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/dproda.c
@@ -0,0 +1,29 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 "prod.h"
+
+
+double dproda(double *in, int size) {
+ double accumulate = in[0];
+ int i = 0;
+
+
+ for (i = 1; i < size; ++i)
+ {
+ accumulate *= in[i];
+ }
+ return accumulate;
+
+}
+
+
diff --git a/src/c/statisticsFunctions/prod/drowproda.c b/src/c/statisticsFunctions/prod/drowproda.c
new file mode 100644
index 0000000..14f713c
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/drowproda.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+
+void drowproda(double *in, int lines, int columns, double * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] *= in[((i - 1) % columns) * lines + 1 + (i - 1) / columns];
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/scolumnproda.c b/src/c/statisticsFunctions/prod/scolumnproda.c
new file mode 100644
index 0000000..842d3d1
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/scolumnproda.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+
+void scolumnproda(float *in, int lines, int columns, float * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] *= in[i];
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/sproda.c b/src/c/statisticsFunctions/prod/sproda.c
new file mode 100644
index 0000000..9c5bfc2
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/sproda.c
@@ -0,0 +1,29 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 "prod.h"
+
+
+float sproda(float *in, int size) {
+ float accumulate = in[0];
+ int i = 0;
+
+
+ for (i = 1; i < size; ++i)
+ {
+ accumulate *= in[i];
+ }
+ return accumulate;
+
+}
+
+
diff --git a/src/c/statisticsFunctions/prod/srowproda.c b/src/c/statisticsFunctions/prod/srowproda.c
new file mode 100644
index 0000000..197072a
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/srowproda.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+
+void srowproda(float *in, int lines, int columns, float * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] *= in[((i - 1) % columns) * lines + 1 + (i - 1) / columns];
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/testDoubleProd.c b/src/c/statisticsFunctions/prod/testDoubleProd.c
new file mode 100644
index 0000000..6b5972a
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/testDoubleProd.c
@@ -0,0 +1,519 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 <math.h>
+#include "prod.h"
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dprodsTest(void) {
+ double value1 = 3.0;
+ double value2 = 1.123456789;
+
+ printf("\n>>>> prod Double Scalar Test\n");
+ assert(dprods(value1) == 3.0);
+ assert(dprods(value2) == 1.123456789);
+
+ return 0;
+}
+
+static int dprodaTest(void) {
+ double table1[3] = {3.0, 3.0, 3.0};
+ double table2[5] = {9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563};
+
+ printf("\n>>>> prod Double Array Test\n");
+ printf("%f\n", dproda(table1, 3));
+ assert(dproda(table1, 3) == 27.0);
+ assert((dproda(table2, 5) - (9.186784563 * 9.186784563 * 9.186784563 * 9.186784563 * 9.186784563)) / dproda(table2, 5) < 3e-15);
+ return 0;
+}
+
+static int dcolumnprodaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double columnProductedTable1_3_3[3] = {0};
+ double columnProductedTable1_1_9[1] = {0};
+ double columnProductedTable1_9_1[9] = {0};
+ double columnProductedTable2_2_5[2] = {0};
+ double columnProductedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column prod Double Array Test\n");
+ /*
+ [ 1 2 3 ] [ 1*2*3=6 ]
+ [ 4 5 6 ] => [ 4*5*6=120 ]
+ [ 7 8 9 ] [ 7*8*9=504 ]
+ */
+ dcolumnproda(table1, 3, 3,columnProductedTable1_3_3);
+ assert(columnProductedTable1_3_3[0] == 6.0);
+ assert(columnProductedTable1_3_3[1] == 120.0);
+ assert(columnProductedTable1_3_3[2] == 504.0);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 362880 ]
+ */
+ dcolumnproda(table1, 1, 9,columnProductedTable1_1_9);
+ assert(columnProductedTable1_1_9[0] == 362880.0);
+
+ /*
+ [ 1 ] [ 1 ]
+ [ 2 ] [ 2 ]
+ [ 3 ] [ 3 ]
+ [ 4 ] [ 4 ]
+ [ 5 ] => [ 5 ]
+ [ 6 ] [ 6 ]
+ [ 7 ] [ 7 ]
+ [ 8 ] [ 8 ]
+ [ 9 ] [ 9 ]
+ */
+ dcolumnproda(table1, 9, 1,columnProductedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnProductedTable1_9_1[%d] = %e\n", i, columnProductedTable1_9_1[i]);
+ assert(columnProductedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ] [ 945 ]
+ [ 2 4 6 8 10 ] => [ 3840 ]
+ */
+ dcolumnproda(table2, 2, 5,columnProductedTable2_2_5);
+ assert(columnProductedTable2_2_5[0] == 945.0);
+ assert(columnProductedTable2_2_5[1] == 3840.0);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnProductedTable2_2_5[%d] = %e\n", i, columnProductedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ] [ 6 ]
+ [ 2 7 ] => [ 14 ]
+ [ 3 8 ] [ 24 ]
+ [ 4 9 ] [ 36 ]
+ [ 5 10 ] [ 50 ]
+ */
+ dcolumnproda(table2, 5, 2,columnProductedTable2_5_2);
+ assert(columnProductedTable2_5_2[0] == 6.0);
+ assert(columnProductedTable2_5_2[1] == 14.0);
+ assert(columnProductedTable2_5_2[2] == 24.0);
+ assert(columnProductedTable2_5_2[3] == 36.0);
+ assert(columnProductedTable2_5_2[4] == 50.0);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnProductedTable2_5_2[%d] = %e\n", i, columnProductedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int drowprodaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double rowProductedTable1_3_3[3] = {0};
+ double rowProductedTable1_1_9[9] = {0};
+ double rowProductedTable1_9_1[1] = {0};
+ double rowProductedTable2_2_5[5] = {0};
+ double rowProductedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row prod Double Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 28 80 162 ]
+ [ 7 8 9 ]
+ */
+ drowproda(table1, 3, 3,rowProductedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowProductedTable1_3_3[%d] = %e\n", i, rowProductedTable1_3_3[i]);
+ }
+ assert(rowProductedTable1_3_3[0] == 28.0);
+ assert(rowProductedTable1_3_3[1] == 80.0);
+ assert(rowProductedTable1_3_3[2] == 162.0);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ */
+ drowproda(table1, 1, 9,rowProductedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowProductedTable1_1_9[%d] = %e\n", i, rowProductedTable1_1_9[i]);
+ assert(rowProductedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 362880 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ drowproda(table1, 9, 1,rowProductedTable1_9_1);
+ assert(rowProductedTable1_9_1[0] == 362880.0);
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 2 12 30 56 90 ]
+ */
+ drowproda(table2, 2, 5,rowProductedTable2_2_5);
+ assert(rowProductedTable2_2_5[0] == 2.0);
+ assert(rowProductedTable2_2_5[1] == 12.0);
+ assert(rowProductedTable2_2_5[2] == 30.0);
+ assert(rowProductedTable2_2_5[3] == 56.0);
+ assert(rowProductedTable2_2_5[4] == 90.0);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowProductedTable2_2_5[%d] = %e\n", i, rowProductedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 120 30240 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ drowproda(table2, 5, 2,rowProductedTable2_5_2);
+ assert(rowProductedTable2_5_2[0] == 120.0);
+ assert(rowProductedTable2_5_2[1] == 30240.0);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowProductedTable2_5_2[%d] = %e\n", i, rowProductedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int zprodsTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex value2 = DoubleComplex(1.123456789, 1.123456789);
+
+ printf("\n>>>> prod Double Complex Scalar Test\n");
+ assert(zreals(zprods(value1)) == 3.0);
+ assert(zimags(zprods(value1)) == 3.0);
+ assert(zreals(zprods(value2)) == 1.123456789);
+ assert(zimags(zprods(value2)) == 1.123456789);
+ return 0;
+}
+
+static int zprodaTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex table1[3];
+ doubleComplex value2 = DoubleComplex(9.186784563,9.186784563);
+ doubleComplex table2[5];
+
+ printf("\n>>>> prod Double Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", zreals(zproda(table1, 3)));
+ printf("%e\n", zimags(zproda(table1, 3)));
+ printf("%1.20f\n", zreals(zproda(table2, 5)));
+ printf("%1.20f\n", zimags(zproda(table2, 5)));
+ printf("%1.20f\n", zreals(zproda(table2, 5)) + 261744.55211053110542707);
+ printf("--------\n");
+#endif
+ assert(zreals(zproda(table1, 3)) == -54.0);
+ assert(zimags(zproda(table1, 3)) == 54.0);
+ assert(fabs(zreals(zproda(table2, 5)) + 261744.55211053110542707) < 3e-16);
+ assert(fabs(zimags(zproda(table2, 5)) + 261744.55211053110542707) < 3e-16);
+
+ return 0;
+}
+
+static int zrowprodaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex rowProductedIn_4_3[3];
+ doubleComplex rowProductedIn_3_4[4];
+ doubleComplex rowProductedIn_6_2[2];
+ doubleComplex rowProductedIn_2_6[6];
+ doubleComplex rowProductedIn_1_12[12];
+ doubleComplex rowProductedIn_12_1[1];
+
+ printf("\n>>>> Row prod Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6787000000000000810019 - 0.5456i
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ] - 0.3964999999999999635847,
+ [ 0.3+0.8i 0.7+0.4i 1.1 ] 0.678700000000000192024 + 0.5456i]
+ */
+ zrowproda(in, 4, 3, rowProductedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowProductedIn_4_3[%d] = %e + %ei\n", i, zreals(rowProductedIn_4_3[i]), zimags(rowProductedIn_4_3[i]));
+ }
+ assert(fabs(zreals(rowProductedIn_4_3[0]) - 0.6787000000000000810019) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[0]) + 0.5456) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_4_3[1]) + 0.3964999999999999635847) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[1]) - 0.0) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_4_3[2]) - 0.6787000000000000810019) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[2]) - 0.5456) < 3e-16);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ - 0.3190000000000000612843 - 0.9680000000000000826006i,
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ] - 0.5380000000000000337508 + 0.0010000000000000563993i,
+ - 0.0010000000000000008882 + 0.5379999999999999227285i,
+ 0.9680000000000000826006 + 0.3190000000000000612843i ]
+ */
+ zrowproda(in, 3, 4, rowProductedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowProductedIn_3_4[%d] = %e + %ei\n", i, zreals(rowProductedIn_3_4[i]), zimags(rowProductedIn_3_4[i]));
+ }
+ assert(fabs(zreals(rowProductedIn_3_4[0]) + 0.3190000000000000612843) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[0]) + 0.9680000000000000826006) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[1]) + 0.5380000000000000337508) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[1]) - 0.0010000000000000563993 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[2]) + 0.0010000000000000008882) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[2]) - 0.5379999999999999227285) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[3]) - 0.9680000000000000826006) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[3]) - 0.3190000000000000612843) < 3e-16);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.1725900000000000766853 + 0.5204650000000000664713i,
+ [ 0.3+0.8i 0.9+0.2i ] - 0.1725899999999999934186 + 0.5204649999999999554490i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ zrowproda(in, 6, 2, rowProductedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowProductedIn_6_2[%d] = %e + %ei\n", i, zreals(rowProductedIn_6_2[i]), zimags(rowProductedIn_6_2[i]));
+ }
+ assert(fabs(zreals(rowProductedIn_6_2[0]) - 0.1725900000000000766853) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_6_2[0]) - 0.5204650000000000664713) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_6_2[1]) + 0.1725899999999999934186) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_6_2[1]) - 0.5204649999999999554490 ) < 3e-16);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ - 1.1000000000000000888178 + 0.11i,
+ - 0.6600000000000001421086 + 0.4300000000000000488498i,
+ - 0.2199999999999999733547 + 0.5899999999999999689138i,
+ 0.2199999999999999733547 + 0.5899999999999999689138i,
+ 0.6600000000000001421086 + 0.4300000000000000488498i,
+ 1.1000000000000000888178 + 0.11i ]
+ */
+ zrowproda(in, 2, 6, rowProductedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowProductedIn_2_6[%d] = %e + %ei\n", i, zreals(rowProductedIn_2_6[i]), zimags(rowProductedIn_2_6[i]));
+ }
+ assert(fabs(zreals(rowProductedIn_2_6[0]) + 1.1000000000000000888178) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[0]) - 0.11) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[1]) + 0.6600000000000001421086) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[1]) - 0.4300000000000000488498 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[2]) + 0.2199999999999999733547) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[2]) - 0.5899999999999999689138) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[3]) - 0.2199999999999999733547) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[3]) - 0.5899999999999999689138 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[4]) - 0.6600000000000001421086) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[4]) - 0.4300000000000000488498) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[5]) - 1.1000000000000000888178) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[5]) - 0.11 ) < 3e-16);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ zrowproda(in, 1, 12, rowProductedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowProductedIn_1_12[%d] = %e + %ei\n", i, zreals(rowProductedIn_1_12[i]), zimags(rowProductedIn_1_12[i]));
+ assert(zreals(rowProductedIn_1_12[i]) == zreals(in[i]) && zimags(rowProductedIn_1_12[i]) == zimags(in[i]));
+ }
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [- 0.3006711243250001497351 + 0.0000000000000000038164i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+
+ */
+ zrowproda(in, 12, 1, rowProductedIn_12_1);
+ printf("rowProductedIn_12_1[%d] = %e + %ei\n", 0, zreals(rowProductedIn_12_1[0]), zimags(rowProductedIn_12_1[0]));
+ assert(fabs(zreals(rowProductedIn_12_1[0]) + 0.3006711243250001497351) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_12_1[0]) - 0.0000000000000000038164) < 3e-16);
+
+ return 0;
+}
+
+static int zcolumnprodaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex columnProductedIn_4_3[4];
+ doubleComplex columnProductedIn_3_4[3];
+ doubleComplex columnProductedIn_6_2[6];
+ doubleComplex columnProductedIn_2_6[2];
+ doubleComplex columnProductedIn_1_12[1];
+ doubleComplex columnProductedIn_12_1[12];
+
+ printf("\n>>>> Columnprod Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ] [ - 0.7480000000000001092460 + 0.1210000000000001074696i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ - 0.6069999999999999840128 + 0.3940000000000001278977i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ] [ - 0.3940000000000000168754 + 0.6069999999999999840128i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ] [ - 0.1210000000000000935918 + 0.7479999999999999982236i ]
+ */
+ zcolumnproda(in, 4, 3, columnProductedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnProductedIn_4_3[%d] = %e + %ei\n", i, zreals(columnProductedIn_4_3[i]), zimags(columnProductedIn_4_3[i]));
+ }
+ assert(fabs(zreals(columnProductedIn_4_3[0]) + 0.7480000000000001092460) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[0]) - 0.1210000000000001074696) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[1]) + 0.6069999999999999840128) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[1]) - 0.394000000000000127897) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[2]) + 0.3940000000000000168754) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[2]) - 0.606999999999999984012) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[3]) + 0.1210000000000000935918) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[3]) - 0.7479999999999999982236) < 3e-16);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ] [ - 0.5753000000000000335731 - 0.3564000000000000500933i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ - 0.6564999999999998614442 + 0.0000000000000000693889i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ] [ - 0.5753000000000001445955 + 0.3564000000000001056044i ]
+ */
+ zcolumnproda(in, 3, 4, columnProductedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnProductedIn_3_4[%d] = %e + %ei\n", i, zreals(columnProductedIn_3_4[i]), zimags(columnProductedIn_3_4[i]));
+ }
+ assert(fabs(zreals(columnProductedIn_3_4[0]) + 0.5753000000000000335731) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[0]) + 0.3564000000000000500933) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_3_4[1]) + 0.6564999999999998614442) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[1]) - 0.0000000000000000693889) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_3_4[2]) + 0.5753000000000001445955) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[2]) - 0.3564000000000001056044) < 3e-16);
+
+ /*
+ [ 1.1i 0.6+0.5i ] [ - 0.5500000000000000444089 + 0.6600000000000000310862i ]
+ [ 0.1+i 0.7+0.4i ] [ - 0.3300000000000000155431 + 0.7399999999999999911182i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ - 0.1099999999999999866773 + 0.7800000000000000266454i ]
+ [ 0.3+0.8i 0.9+0.2i ] [ 0.1099999999999999866773 + 0.7800000000000000266454i ]
+ [ 0.4+0.7i 1+0.1i ] [ 0.3300000000000000155431 + 0.7399999999999999911182i ]
+ [ 0.5+0.6i 1.1 ] [ 0.5500000000000000444089 + 0.6600000000000000310862i ]
+ */
+ zcolumnproda(in, 6, 2, columnProductedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnProductedIn_6_2[%d] = %e + %ei\n", i, zreals(columnProductedIn_6_2[i]), zimags(columnProductedIn_6_2[i]));
+ }
+ assert(fabs(zreals(columnProductedIn_6_2[0]) + 0.5500000000000000444089) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[0]) - 0.6600000000000000310862) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[1]) + 0.3300000000000000155431) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[1]) - 0.7399999999999999911182) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[2]) + 0.1099999999999999866773) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[2]) - 0.7800000000000000266454) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[3]) - 0.1099999999999999866773) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[3]) - 0.7800000000000000266454) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[4]) - 0.3300000000000000155431) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[4]) - 0.7399999999999999911182) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[5]) - 0.5500000000000000444089) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[5]) - 0.6600000000000000310862) < 3e-16);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ] [ 0.2212649999999999894662 - 0.5017100000000001003286i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ - 0.2212649999999999894662 - 0.5017100000000001003286i ]
+ */
+ zcolumnproda(in, 2, 6, columnProductedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnProductedIn_2_6[%d] = %e + %ei\n", i, zreals(columnProductedIn_2_6[i]), zimags(columnProductedIn_2_6[i]));
+ }
+ assert(fabs(zreals(columnProductedIn_2_6[0]) - 0.2212649999999999894662) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_2_6[0]) + 0.5017100000000001003286) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_2_6[1]) + 0.2212649999999999894662) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_2_6[1]) + 0.5017100000000001003286) < 3e-16);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ - 0.3006711243250001497351 + 0.0000000000000000038164i ]
+ */
+ zcolumnproda(in, 1, 12, columnProductedIn_1_12);
+ printf("columnProductedIn_1_12[%d] = %e + %ei\n", 0, zreals(columnProductedIn_1_12[0]), zimags(columnProductedIn_1_12[0]));
+ assert(fabs(zreals(columnProductedIn_1_12[0]) + 0.3006711243250001497351) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_1_12[0]) - 0.0000000000000000038164) < 3e-16);
+
+
+ /*
+ [ 1.1i ] => [ 1.1i ]
+ [ 0.1+i ] => [ 0.1+i ]
+ [ 0.2+0.9i ] => [ 0.2+0.9i ]
+ [ 0.3+0.8i ] => [ 0.3+0.8i ]
+ [ 0.4+0.7i ] => [ 0.4+0.7i ]
+ [ 0.5+0.6i ] => [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 0.6+0.5i ]
+ [ 0.7+0.4i ] => [ 0.7+0.4i ]
+ [ 0.8+0.3i ] => [ 0.8+0.3i ]
+ [ 0.9+0.2i ] => [ 0.9+0.2i ]
+ [ 1+0.1i ] => [ 1+0.1i ]
+ [ 1.1 ] => [ 1.1 ]
+ */
+ zcolumnproda(in, 12, 1, columnProductedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnProductedIn_12_1[%d] = %e + %ei\n", i, zreals(columnProductedIn_12_1[i]), zimags(columnProductedIn_12_1[i]));
+ assert(zreals(columnProductedIn_12_1[i]) == zreals(in[i]) && zimags(columnProductedIn_12_1[i]) == zimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testprod(void) {
+
+ dprodsTest();
+ dprodaTest();
+ drowprodaTest();
+ dcolumnprodaTest();
+ zprodsTest();
+ zprodaTest();
+ zrowprodaTest();
+ zcolumnprodaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testprod() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/prod/testFloatProd.c b/src/c/statisticsFunctions/prod/testFloatProd.c
new file mode 100644
index 0000000..b5fe20c
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/testFloatProd.c
@@ -0,0 +1,527 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 <math.h>
+#include "prod.h"
+
+ #define LOCAL_DEBUG
+
+static int sprodsTest(void) {
+ float value1 = 3.0f;
+ float value2 = 1.123456789f;
+
+ printf("\n>>>> Prod Float Scalar Test\n");
+ assert(sprods(value1) == 3.0f);
+ assert(sprods(value2) == 1.123456789f);
+
+ return 0;
+}
+
+static int sprodaTest(void) {
+ float table1[3] = {3.0f, 3.0f, 3.0f};
+ float table2[5] = {9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f};
+
+ printf("\n>>>> Prod Float Array Test\n");
+ printf("%f\n", sproda(table1, 3));
+ assert(sproda(table1, 3) == 27.0f);
+ assert((sproda(table2, 5) - (9.186784f * 9.186784f * 9.186784f * 9.186784f * 9.186784f)) / sproda(table2, 5) < 1e-6);
+ return 0;
+}
+
+static int scolumnprodaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float columnProductedTable1_3_3[3] = {0};
+ float columnProductedTable1_1_9[1] = {0};
+ float columnProductedTable1_9_1[9] = {0};
+ float columnProductedTable2_2_5[2] = {0};
+ float columnProductedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Prod Float Array Test\n");
+ /*
+ [ 1 2 3 ] [ 1*2*3=6 ]
+ [ 4 5 6 ] => [ 4*5*6=120 ]
+ [ 7 8 9 ] [ 7*8*9=504 ]
+ */
+ scolumnproda(table1, 3, 3,columnProductedTable1_3_3);
+ assert(columnProductedTable1_3_3[0] == 6.0f);
+ assert(columnProductedTable1_3_3[1] == 120.0f);
+ assert(columnProductedTable1_3_3[2] == 504.0f);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 362880 ]
+ */
+ scolumnproda(table1, 1, 9,columnProductedTable1_1_9);
+ assert(columnProductedTable1_1_9[0] == 362880.0f);
+
+ /*
+ [ 1 ] [ 1 ]
+ [ 2 ] [ 2 ]
+ [ 3 ] [ 3 ]
+ [ 4 ] [ 4 ]
+ [ 5 ] => [ 5 ]
+ [ 6 ] [ 6 ]
+ [ 7 ] [ 7 ]
+ [ 8 ] [ 8 ]
+ [ 9 ] [ 9 ]
+ */
+ scolumnproda(table1, 9, 1,columnProductedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnProductedTable1_9_1[%d] = %e\n", i, columnProductedTable1_9_1[i]);
+ assert(columnProductedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ] [ 945 ]
+ [ 2 4 6 8 10 ] => [ 3840 ]
+ */
+ scolumnproda(table2, 2, 5,columnProductedTable2_2_5);
+ assert(columnProductedTable2_2_5[0] == 945.0f);
+ assert(columnProductedTable2_2_5[1] == 3840.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnProductedTable2_2_5[%d] = %e\n", i, columnProductedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ] [ 6 ]
+ [ 2 7 ] => [ 14 ]
+ [ 3 8 ] [ 24 ]
+ [ 4 9 ] [ 36 ]
+ [ 5 10 ] [ 50 ]
+ */
+ scolumnproda(table2, 5, 2,columnProductedTable2_5_2);
+ assert(columnProductedTable2_5_2[0] == 6.0f);
+ assert(columnProductedTable2_5_2[1] == 14.0f);
+ assert(columnProductedTable2_5_2[2] == 24.0f);
+ assert(columnProductedTable2_5_2[3] == 36.0f);
+ assert(columnProductedTable2_5_2[4] == 50.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnProductedTable2_5_2[%d] = %e\n", i, columnProductedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int srowprodaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float rowProductedTable1_3_3[3] = {0};
+ float rowProductedTable1_1_9[9] = {0};
+ float rowProductedTable1_9_1[1] = {0};
+ float rowProductedTable2_2_5[5] = {0};
+ float rowProductedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Prod Float Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 28 80 162 ]
+ [ 7 8 9 ]
+ */
+ srowproda(table1, 3, 3,rowProductedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowProductedTable1_3_3[%d] = %e\n", i, rowProductedTable1_3_3[i]);
+ }
+ assert(rowProductedTable1_3_3[0] == 28.0f);
+ assert(rowProductedTable1_3_3[1] == 80.0f);
+ assert(rowProductedTable1_3_3[2] == 162.0f);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ */
+ srowproda(table1, 1, 9,rowProductedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowProductedTable1_1_9[%d] = %e\n", i, rowProductedTable1_1_9[i]);
+ assert(rowProductedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 362880 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ srowproda(table1, 9, 1,rowProductedTable1_9_1);
+ assert(rowProductedTable1_9_1[0] == 362880.0f);
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 2 12 30 56 90 ]
+ */
+ srowproda(table2, 2, 5,rowProductedTable2_2_5);
+ assert(rowProductedTable2_2_5[0] == 2.0f);
+ assert(rowProductedTable2_2_5[1] == 12.0f);
+ assert(rowProductedTable2_2_5[2] == 30.0f);
+ assert(rowProductedTable2_2_5[3] == 56.0f);
+ assert(rowProductedTable2_2_5[4] == 90.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowProductedTable2_2_5[%d] = %e\n", i, rowProductedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 120 30240 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ srowproda(table2, 5, 2,rowProductedTable2_5_2);
+ assert(rowProductedTable2_5_2[0] == 120.0f);
+ assert(rowProductedTable2_5_2[1] == 30240.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowProductedTable2_5_2[%d] = %e\n", i, rowProductedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int cprodsTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex value2 = FloatComplex(1.123456789f, 1.123456789f);
+
+ printf("\n>>>> Prod Float Complex Scalar Test\n");
+ assert(creals(cprods(value1)) == 3.0f);
+ assert(cimags(cprods(value1)) == 3.0f);
+ assert(creals(cprods(value2)) == 1.123456789f);
+ assert(cimags(cprods(value2)) == 1.123456789f);
+ return 0;
+}
+
+static int cprodaTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex table1[3];
+ floatComplex value2 = FloatComplex(9.186784563f,9.186784563f);
+ floatComplex table2[5];
+
+ printf("\n>>>> Prod Float Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", creals(cproda(table1, 3)));
+ printf("%e\n", cimags(cproda(table1, 3)));
+ printf("%1.20f\n", creals(cproda(table2, 5)));
+ printf("%1.20f\n", cimags(cproda(table2, 5)));
+ printf("%1.20f\n", creals(cproda(table2, 5)) + 261744.55211053110542707f);
+ printf("--------\n");
+#endif
+
+ assert(creals(cproda(table1, 3)) == -54.0f);
+ assert(cimags(cproda(table1, 3)) == 54.0f);
+ assert(fabs(creals(cproda(table2, 5)) + 261744.55211053110542707f)/creals(cproda(table2, 5)) < 1e-06);
+ assert(fabs(cimags(cproda(table2, 5)) + 261744.55211053110542707f)/cimags(cproda(table2, 5)) < 1e-06);
+
+ return 0;
+}
+
+static int crowprodaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex rowProductedIn_4_3[3];
+ floatComplex rowProductedIn_3_4[4];
+ floatComplex rowProductedIn_6_2[2];
+ floatComplex rowProductedIn_2_6[6];
+ floatComplex rowProductedIn_1_12[12];
+ floatComplex rowProductedIn_12_1[1];
+
+ printf("\n>>>> Row Prod Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6787000000000000810019 - 0.5456i
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ] - 0.3964999999999999635847,
+ [ 0.3+0.8i 0.7+0.4i 1.1 ] 0.678700000000000192024 + 0.5456i]
+ */
+ crowproda(in, 4, 3, rowProductedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowProductedIn_4_3[%d] = %e + %ei\n", i, creals(rowProductedIn_4_3[i]), cimags(rowProductedIn_4_3[i]));
+ }
+ assert(fabs(creals(rowProductedIn_4_3[0]) - 0.6787000000000000810019f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_4_3[0]) + 0.5456f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_4_3[1]) + 0.3964999999999999635847f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_4_3[1]) - 0.0f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_4_3[2]) - 0.6787000000000000810019f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_4_3[2]) - 0.5456f) < 1e-06);
+
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ - 0.3190000000000000612843 - 0.9680000000000000826006i,
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ] - 0.5380000000000000337508 + 0.0010000000000000563993i,
+ - 0.0010000000000000008882 + 0.5379999999999999227285i,
+ 0.9680000000000000826006 + 0.3190000000000000612843i ]
+ */
+ crowproda(in, 3, 4, rowProductedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowProductedIn_3_4[%d] = %e + %ei\n", i, creals(rowProductedIn_3_4[i]), cimags(rowProductedIn_3_4[i]));
+ }
+ assert(fabs(creals(rowProductedIn_3_4[0]) + 0.3190000000000000612843f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_3_4[0]) + 0.9680000000000000826006f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_3_4[1]) + 0.5380000000000000337508f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_3_4[1]) - 0.0010000000000000563993 ) < 1e-06);
+ assert(fabs(creals(rowProductedIn_3_4[2]) + 0.0010000000000000008882f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_3_4[2]) - 0.5379999999999999227285f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_3_4[3]) - 0.9680000000000000826006f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_3_4[3]) - 0.3190000000000000612843f) < 1e-06);
+
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.1725900000000000766853 + 0.5204650000000000664713i,
+ [ 0.3+0.8i 0.9+0.2i ] - 0.1725899999999999934186 + 0.5204649999999999554490i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ crowproda(in, 6, 2, rowProductedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowProductedIn_6_2[%d] = %e + %ei\n", i, creals(rowProductedIn_6_2[i]), cimags(rowProductedIn_6_2[i]));
+ }
+
+ assert(fabs(creals(rowProductedIn_6_2[0]) - 0.1725900000000000766853f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_6_2[0]) - 0.5204650000000000664713f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_6_2[1]) + 0.1725899999999999934186f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_6_2[1]) - 0.5204649999999999554490 ) < 1e-06);
+
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ - 1.1000000000000000888178 + 0.11i,
+ - 0.6600000000000001421086 + 0.4300000000000000488498i,
+ - 0.2199999999999999733547 + 0.5899999999999999689138i,
+ 0.2199999999999999733547 + 0.5899999999999999689138i,
+ 0.6600000000000001421086 + 0.4300000000000000488498i,
+ 1.1000000000000000888178 + 0.11i ]
+
+ */
+ crowproda(in, 2, 6, rowProductedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowProductedIn_2_6[%d] = %e + %ei\n", i, creals(rowProductedIn_2_6[i]), cimags(rowProductedIn_2_6[i]));
+ }
+
+ assert(fabs(creals(rowProductedIn_2_6[0]) + 1.1000000000000000888178f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[0]) - 0.11f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_2_6[1]) + 0.6600000000000001421086f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[1]) - 0.4300000000000000488498 ) < 1e-06);
+ assert(fabs(creals(rowProductedIn_2_6[2]) + 0.2199999999999999733547f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[2]) - 0.5899999999999999689138f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_2_6[3]) - 0.2199999999999999733547f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[3]) - 0.5899999999999999689138 ) < 1e-06);
+ assert(fabs(creals(rowProductedIn_2_6[4]) - 0.6600000000000001421086f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[4]) - 0.4300000000000000488498f) < 1e-06);
+ assert(fabs(creals(rowProductedIn_2_6[5]) - 1.1000000000000000888178f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_2_6[5]) - 0.11 ) < 1e-06);
+
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ => [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ crowproda(in, 1, 12, rowProductedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowProductedIn_1_12[%d] = %e + %ei\n", i, creals(rowProductedIn_1_12[i]), cimags(rowProductedIn_1_12[i]));
+ assert(creals(rowProductedIn_1_12[i]) == creals(in[i]) && cimags(rowProductedIn_1_12[i]) == cimags(in[i]));
+ }
+
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [- 0.3006711243250001497351 + 0.0000000000000000038164i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+
+
+ */
+ crowproda(in, 12, 1, rowProductedIn_12_1);
+ printf("rowProductedIn_12_1[%d] = %e + %ei\n", 0, creals(rowProductedIn_12_1[0]), cimags(rowProductedIn_12_1[0]));
+ assert(fabs(creals(rowProductedIn_12_1[0]) + 0.3006711243250001497351f) < 1e-06);
+ assert(fabs(cimags(rowProductedIn_12_1[0]) - 0.0000000000000000038164f) < 1e-06);
+
+ return 0;
+}
+
+static int ccolumnprodaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex columnProductedIn_4_3[4];
+ floatComplex columnProductedIn_3_4[3];
+ floatComplex columnProductedIn_6_2[6];
+ floatComplex columnProductedIn_2_6[2];
+ floatComplex columnProductedIn_1_12[1];
+ floatComplex columnProductedIn_12_1[12];
+
+ printf("\n>>>> ColumnProd Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ] [ - 0.7480000000000001092460 + 0.1210000000000001074696i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ - 0.6069999999999999840128 + 0.3940000000000001278977i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ] [ - 0.3940000000000000168754 + 0.6069999999999999840128i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ] [ - 0.1210000000000000935918 + 0.7479999999999999982236i ]
+ */
+ ccolumnproda(in, 4, 3, columnProductedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnProductedIn_4_3[%d] = %e + %ei\n", i, creals(columnProductedIn_4_3[i]), cimags(columnProductedIn_4_3[i]));
+ }
+ assert(fabs(creals(columnProductedIn_4_3[0]) + 0.7480000000000001092460f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_4_3[0]) - 0.1210000000000001074696f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_4_3[1]) + 0.6069999999999999840128f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_4_3[1]) - 0.394000000000000127897f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_4_3[2]) + 0.3940000000000000168754f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_4_3[2]) - 0.606999999999999984012f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_4_3[3]) + 0.1210000000000000935918f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_4_3[3]) - 0.7479999999999999982236f) < 1e-06);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ] [ - 0.5753000000000000335731 - 0.3564000000000000500933i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ - 0.6564999999999998614442 + 0.0000000000000000693889i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ] [ - 0.5753000000000001445955 + 0.3564000000000001056044i ]
+ */
+ ccolumnproda(in, 3, 4, columnProductedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnProductedIn_3_4[%d] = %e + %ei\n", i, creals(columnProductedIn_3_4[i]), cimags(columnProductedIn_3_4[i]));
+ }
+ assert(fabs(creals(columnProductedIn_3_4[0]) + 0.5753000000000000335731f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_3_4[0]) + 0.3564000000000000500933f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_3_4[1]) + 0.6564999999999998614442f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_3_4[1]) - 0.0000000000000000693889f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_3_4[2]) + 0.5753000000000001445955f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_3_4[2]) - 0.3564000000000001056044f) < 1e-06);
+
+ /*
+ [ 1.1i 0.6+0.5i ] [ - 0.5500000000000000444089 + 0.6600000000000000310862i ]
+ [ 0.1+i 0.7+0.4i ] [ - 0.3300000000000000155431 + 0.7399999999999999911182i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ - 0.1099999999999999866773 + 0.7800000000000000266454i ]
+ [ 0.3+0.8i 0.9+0.2i ] [ 0.1099999999999999866773 + 0.7800000000000000266454i ]
+ [ 0.4+0.7i 1+0.1i ] [ 0.3300000000000000155431 + 0.7399999999999999911182i ]
+ [ 0.5+0.6i 1.1 ] [ 0.5500000000000000444089 + 0.6600000000000000310862i ]
+ */
+ ccolumnproda(in, 6, 2, columnProductedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnProductedIn_6_2[%d] = %e + %ei\n", i, creals(columnProductedIn_6_2[i]), cimags(columnProductedIn_6_2[i]));
+ }
+ assert(fabs(creals(columnProductedIn_6_2[0]) + 0.5500000000000000444089f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[0]) - 0.6600000000000000310862f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_6_2[1]) + 0.3300000000000000155431f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[1]) - 0.7399999999999999911182f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_6_2[2]) + 0.1099999999999999866773f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[2]) - 0.7800000000000000266454f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_6_2[3]) - 0.1099999999999999866773f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[3]) - 0.7800000000000000266454f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_6_2[4]) - 0.3300000000000000155431f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[4]) - 0.7399999999999999911182f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_6_2[5]) - 0.5500000000000000444089f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_6_2[5]) - 0.6600000000000000310862f) < 1e-06);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ] [ 0.2212649999999999894662 - 0.5017100000000001003286i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ - 0.2212649999999999894662 - 0.5017100000000001003286i ]
+ */
+ ccolumnproda(in, 2, 6, columnProductedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnProductedIn_2_6[%d] = %e + %ei\n", i, creals(columnProductedIn_2_6[i]), cimags(columnProductedIn_2_6[i]));
+ }
+ assert(fabs(creals(columnProductedIn_2_6[0]) - 0.2212649999999999894662f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_2_6[0]) + 0.5017100000000001003286f) < 1e-06);
+ assert(fabs(creals(columnProductedIn_2_6[1]) + 0.2212649999999999894662f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_2_6[1]) + 0.5017100000000001003286f) < 1e-06);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ - 0.3006711243250001497351 + 0.0000000000000000038164i ]
+
+ */
+ ccolumnproda(in, 1, 12, columnProductedIn_1_12);
+ printf("columnProductedIn_1_12[%d] = %e + %ei\n", 0, creals(columnProductedIn_1_12[0]), cimags(columnProductedIn_1_12[0]));
+ assert(fabs(creals(columnProductedIn_1_12[0]) + 0.3006711243250001497351f) < 1e-06);
+ assert(fabs(cimags(columnProductedIn_1_12[0]) - 0.0000000000000000038164f) < 1e-06);
+
+
+ /*
+ [ 1.1i ] => [ 1.1i ]
+ [ 0.1+i ] => [ 0.1+i ]
+ [ 0.2+0.9i ] => [ 0.2+0.9i ]
+ [ 0.3+0.8i ] => [ 0.3+0.8i ]
+ [ 0.4+0.7i ] => [ 0.4+0.7i ]
+ [ 0.5+0.6i ] => [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 0.6+0.5i ]
+ [ 0.7+0.4i ] => [ 0.7+0.4i ]
+ [ 0.8+0.3i ] => [ 0.8+0.3i ]
+ [ 0.9+0.2i ] => [ 0.9+0.2i ]
+ [ 1+0.1i ] => [ 1+0.1i ]
+ [ 1.1 ] => [ 1.1 ]
+ */
+ ccolumnproda(in, 12, 1, columnProductedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnProductedIn_12_1[%d] = %e + %ei\n", i, creals(columnProductedIn_12_1[i]), cimags(columnProductedIn_12_1[i]));
+ assert(creals(columnProductedIn_12_1[i]) == creals(in[i]) && cimags(columnProductedIn_12_1[i]) == cimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testProd(void) {
+
+ sprodsTest();
+ sprodaTest();
+ srowprodaTest();
+ scolumnprodaTest();
+ cprodsTest();
+ cprodaTest();
+ crowprodaTest();
+ ccolumnprodaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testProd() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj b/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj
new file mode 100644
index 0000000..0c31766
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{322F871E-3349-4993-BC87-CAFAA6B6F72C}</ProjectGuid>
+ <RootNamespace>testDoubleProd</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleProd.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj.filters b/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj.filters
new file mode 100644
index 0000000..82f3501
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/test_DoubleProd/testDoubleProd.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleProd.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj b/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj
new file mode 100644
index 0000000..4faff60
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B80645FE-03D0-4BC8-8DAE-032A58CF4E57}</ProjectGuid>
+ <RootNamespace>testFloatProd</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatProd.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj.filters b/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj.filters
new file mode 100644
index 0000000..f42beb9
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/test_FloatProd/testFloatProd.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatProd.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/prod/zcolumnproda.c b/src/c/statisticsFunctions/prod/zcolumnproda.c
new file mode 100644
index 0000000..277afd5
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/zcolumnproda.c
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+#include "multiplication.h"
+
+void zcolumnproda(doubleComplex *in, int lines, int columns, doubleComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = zmuls(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/prod/zproda.c b/src/c/statisticsFunctions/prod/zproda.c
new file mode 100644
index 0000000..a017d97
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/zproda.c
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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 "prod.h"
+#include "multiplication.h"
+
+
+doubleComplex zproda(doubleComplex *in, int size) {
+ doubleComplex accumulate = in[0];
+ int i = 0;
+
+
+ for (i = 1; i < size; ++i)
+ {
+ accumulate = zmuls(accumulate,in[i]);
+ }
+ return accumulate;
+
+}
+
+
diff --git a/src/c/statisticsFunctions/prod/zrowproda.c b/src/c/statisticsFunctions/prod/zrowproda.c
new file mode 100644
index 0000000..84a1690
--- /dev/null
+++ b/src/c/statisticsFunctions/prod/zrowproda.c
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+/* This is a copy/paste with adaptation from sum */
+
+#include "prod.h"
+#include "multiplication.h"
+
+void zrowproda(doubleComplex *in, int lines, int columns, doubleComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = zmuls( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/statisticsFunctions.vcxproj b/src/c/statisticsFunctions/statisticsFunctions.vcxproj
new file mode 100644
index 0000000..48a8b0c
--- /dev/null
+++ b/src/c/statisticsFunctions/statisticsFunctions.vcxproj
@@ -0,0 +1,661 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E11ED064-3BF2-4F70-B66E-3223C737EC60}</ProjectGuid>
+ <RootNamespace>statisticsFunctions</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>includes;../type;../operations/includes;../elementaryFunctions/includes;../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STATISTICSFUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>includes;../type;../operations/includes;../elementaryFunctions/includes;../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STATISTICSFUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>includes;../type;../operations/includes;../elementaryFunctions/includes;../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STATISTICSFUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>includes;../type;../operations/includes;../elementaryFunctions/includes;../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STATISTICSFUNCTIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="max\dcolumnmaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="max\dmaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="max\drowmaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="max\scolumnmaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="max\smaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="max\srowmaxa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\ccolumnmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\cmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\crowmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\dcolumnmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\dmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\drowmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\scolumnmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\smeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\srowmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\zcolumnmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\zmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="mean\zrowmeana.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\dcolumnmina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\dmina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\drowmina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\scolumnmina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\smina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="min\srowmina.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\ccolumnproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\cproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\crowproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\dcolumnproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\dproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\drowproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\scolumnproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\sproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\srowproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\zcolumnproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\zproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="prod\zrowproda.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\ccolumnsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\crowsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\csuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\dcolumnsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\drowsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\dsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\scolumnsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\srowsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\ssuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\zcolumnsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\zrowsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="sum\zsuma.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\ccolumnvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\crowvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\cvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\dcolumnvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\drowvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\dvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\scolumnvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\srowvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\svariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\zcolumnvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\zrowvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="variance\zvariancea.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\ccolumnmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfcs.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfsc.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\crowmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\dcolumnmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\dmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\drowmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\scolumnmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\smeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\srowmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\zcolumnmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfdz.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfzd.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ <ClCompile Include="meanf\zrowmeanfa.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="max\Makefile.am" />
+ <None Include="mean\Makefile.am" />
+ <None Include="min\Makefile.am" />
+ <None Include="prod\Makefile.am" />
+ <None Include="sum\Makefile.am" />
+ <None Include="variance\Makefile.am" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="includes\dynlib_statisticsfunctions.h" />
+ <ClInclude Include="includes\mean.h" />
+ <ClInclude Include="includes\prod.h" />
+ <ClInclude Include="includes\statMax.h" />
+ <ClInclude Include="includes\statMin.h" />
+ <ClInclude Include="includes\sum.h" />
+ <ClInclude Include="includes\variance.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\auxiliaryFunctions\auxiliaryFunctions.vcxproj">
+ <Project>{af4a8af2-cc9f-4991-be6e-8aaf9cb5bfc9}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\elementaryFunctions\elementaryFunctions.vcxproj">
+ <Project>{72b46833-b150-432d-b231-3e0ecd91e190}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\matrixOperations\matrixOperations.vcxproj">
+ <Project>{fd335544-52bf-4736-a34e-77f591d158d5}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\operations\operations.vcxproj">
+ <Project>{9b622a66-546a-4b33-b947-0a189d259d37}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/statisticsFunctions.vcxproj.filters b/src/c/statisticsFunctions/statisticsFunctions.vcxproj.filters
new file mode 100644
index 0000000..fe6dc17
--- /dev/null
+++ b/src/c/statisticsFunctions/statisticsFunctions.vcxproj.filters
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Source Files\max">
+ <UniqueIdentifier>{97915945-ecc0-4347-9836-9b85df72c2bb}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\mean">
+ <UniqueIdentifier>{ea434b72-a4a9-430e-adc3-b8596209f07a}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\min">
+ <UniqueIdentifier>{5cf34c99-e4b3-4905-8380-36c5db366c34}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\prod">
+ <UniqueIdentifier>{2cb4b69b-5118-4f1c-b1a0-30efd61cac2f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\sum">
+ <UniqueIdentifier>{fedd49a4-6978-4994-94cd-2d6735b650f4}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\variance">
+ <UniqueIdentifier>{8748e141-260a-4ec0-9659-0cd159a4b76d}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Source Files\meanf">
+ <UniqueIdentifier>{a93cd659-6a20-4db5-ac4d-0e66fb3bfa8f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="max\dcolumnmaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="max\dmaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="max\drowmaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="max\scolumnmaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="max\smaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="max\srowmaxa.c">
+ <Filter>Source Files\max</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\ccolumnmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\cmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\crowmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\dcolumnmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\dmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\drowmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\scolumnmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\smeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\srowmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\zcolumnmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\zmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="mean\zrowmeana.c">
+ <Filter>Source Files\mean</Filter>
+ </ClCompile>
+ <ClCompile Include="min\dcolumnmina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="min\dmina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="min\drowmina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="min\scolumnmina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="min\smina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="min\srowmina.c">
+ <Filter>Source Files\min</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\ccolumnproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\cproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\crowproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\dcolumnproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\dproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\drowproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\scolumnproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\sproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\srowproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\zcolumnproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\zproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="prod\zrowproda.c">
+ <Filter>Source Files\prod</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\ccolumnsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\crowsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\csuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\dcolumnsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\drowsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\dsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\scolumnsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\srowsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\ssuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\zcolumnsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\zrowsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="sum\zsuma.c">
+ <Filter>Source Files\sum</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\ccolumnvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\crowvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\cvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\dcolumnvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\drowvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\dvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\scolumnvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\srowvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\svariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\zcolumnvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\zrowvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="variance\zvariancea.c">
+ <Filter>Source Files\variance</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\ccolumnmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfcs.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\cmeanfsc.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\crowmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\dcolumnmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\dmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\drowmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\scolumnmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\smeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\srowmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\zcolumnmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfdz.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\zmeanfzd.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ <ClCompile Include="meanf\zrowmeanfa.c">
+ <Filter>Source Files\meanf</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="max\Makefile.am">
+ <Filter>Source Files\max</Filter>
+ </None>
+ <None Include="mean\Makefile.am">
+ <Filter>Source Files\mean</Filter>
+ </None>
+ <None Include="min\Makefile.am">
+ <Filter>Source Files\min</Filter>
+ </None>
+ <None Include="prod\Makefile.am">
+ <Filter>Source Files\prod</Filter>
+ </None>
+ <None Include="sum\Makefile.am">
+ <Filter>Source Files\sum</Filter>
+ </None>
+ <None Include="variance\Makefile.am">
+ <Filter>Source Files\variance</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="includes\dynlib_statisticsfunctions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\mean.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\prod.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\statMax.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\statMin.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\sum.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="includes\variance.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/stdevf/Makefile.am b/src/c/statisticsFunctions/stdevf/Makefile.am
new file mode 100644
index 0000000..cebe3c9
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/Makefile.am
@@ -0,0 +1,88 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libStdevf_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libStdevf.la
+
+libStdevf_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = sstdevfa.c \
+ srowstdevfa.c \
+ scolumnstdevfa.c \
+ dstdevfa.c \
+ drowstdevfa.c \
+ dcolumnstdevfa.c \
+ cstdevfa.c \
+ crowstdevfa.c \
+ ccolumnstdevfa.c \
+ zstdevfa.c \
+ zrowstdevfa.c \
+ zcolumnstdevfa.c
+
+HEAD = ../includes/stdevf.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/c/statisticsFunctions/stdevf/libStdevf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatStdevf testDoubleStdevf
+
+TESTS = testFloatStdevf testDoubleStdevf
+
+#
+# -*- Stdevf Tests -*-
+#
+testFloatStdevf_SOURCES = testFloatStdevf.c
+testFloatStdevf_CFLAGS = $(check_INCLUDES)
+testFloatStdevf_LDADD = $(check_LDADD)
+
+testDoubleStdevf_SOURCES =testDoubleStdevf.c
+testDoubleStdevf_CFLAGS = $(check_INCLUDES)
+testDoubleStdevf_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/stdevf/Makefile.in b/src/c/statisticsFunctions/stdevf/Makefile.in
new file mode 100644
index 0000000..c71bfa7
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/Makefile.in
@@ -0,0 +1,875 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatStdevf$(EXEEXT) testDoubleStdevf$(EXEEXT)
+TESTS = testFloatStdevf$(EXEEXT) testDoubleStdevf$(EXEEXT)
+subdir = src/c/statisticsFunctions/stdevf
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libStdevf_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libStdevf_la-sstdevfa.lo libStdevf_la-srowstdevfa.lo \
+ libStdevf_la-scolumnstdevfa.lo libStdevf_la-dstdevfa.lo \
+ libStdevf_la-drowstdevfa.lo libStdevf_la-dcolumnstdevfa.lo \
+ libStdevf_la-cstdevfa.lo libStdevf_la-crowstdevfa.lo \
+ libStdevf_la-ccolumnstdevfa.lo libStdevf_la-zstdevfa.lo \
+ libStdevf_la-zrowstdevfa.lo libStdevf_la-zcolumnstdevfa.lo
+am_libStdevf_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libStdevf_la_OBJECTS = $(am_libStdevf_la_OBJECTS)
+libStdevf_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libStdevf_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleStdevf_OBJECTS = \
+ testDoubleStdevf-testDoubleStdevf.$(OBJEXT)
+testDoubleStdevf_OBJECTS = $(am_testDoubleStdevf_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/c/statisticsFunctions/stdevf/libStdevf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la
+testDoubleStdevf_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleStdevf_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleStdevf_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatStdevf_OBJECTS = \
+ testFloatStdevf-testFloatStdevf.$(OBJEXT)
+testFloatStdevf_OBJECTS = $(am_testFloatStdevf_OBJECTS)
+testFloatStdevf_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatStdevf_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatStdevf_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
+am__mv = mv -f
+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 = $(libStdevf_la_SOURCES) $(testDoubleStdevf_SOURCES) \
+ $(testFloatStdevf_SOURCES)
+DIST_SOURCES = $(libStdevf_la_SOURCES) $(testDoubleStdevf_SOURCES) \
+ $(testFloatStdevf_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libStdevf_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libStdevf.la
+libStdevf_la_SOURCES = $(HEAD) $(SRC)
+SRC = sstdevfa.c \
+ srowstdevfa.c \
+ scolumnstdevfa.c \
+ dstdevfa.c \
+ drowstdevfa.c \
+ dcolumnstdevfa.c \
+ cstdevfa.c \
+ crowstdevfa.c \
+ ccolumnstdevfa.c \
+ zstdevfa.c \
+ zrowstdevfa.c \
+ zcolumnstdevfa.c
+
+HEAD = ../includes/stdevf.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/c/statisticsFunctions/stdevf/libStdevf.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ @LIBMATH@
+
+
+#
+# -*- Stdevf Tests -*-
+#
+testFloatStdevf_SOURCES = testFloatStdevf.c
+testFloatStdevf_CFLAGS = $(check_INCLUDES)
+testFloatStdevf_LDADD = $(check_LDADD)
+testDoubleStdevf_SOURCES = testDoubleStdevf.c
+testDoubleStdevf_CFLAGS = $(check_INCLUDES)
+testDoubleStdevf_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/stdevf/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/stdevf/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libStdevf.la: $(libStdevf_la_OBJECTS) $(libStdevf_la_DEPENDENCIES)
+ $(libStdevf_la_LINK) -rpath $(pkglibdir) $(libStdevf_la_OBJECTS) $(libStdevf_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleStdevf$(EXEEXT): $(testDoubleStdevf_OBJECTS) $(testDoubleStdevf_DEPENDENCIES)
+ @rm -f testDoubleStdevf$(EXEEXT)
+ $(testDoubleStdevf_LINK) $(testDoubleStdevf_OBJECTS) $(testDoubleStdevf_LDADD) $(LIBS)
+testFloatStdevf$(EXEEXT): $(testFloatStdevf_OBJECTS) $(testFloatStdevf_DEPENDENCIES)
+ @rm -f testFloatStdevf$(EXEEXT)
+ $(testFloatStdevf_LINK) $(testFloatStdevf_OBJECTS) $(testFloatStdevf_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-ccolumnstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-crowstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-cstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-dcolumnstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-drowstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-dstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-scolumnstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-srowstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-sstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-zcolumnstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-zrowstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libStdevf_la-zstdevfa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatStdevf-testFloatStdevf.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libStdevf_la-sstdevfa.lo: sstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-sstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-sstdevfa.Tpo -c -o libStdevf_la-sstdevfa.lo `test -f 'sstdevfa.c' || echo '$(srcdir)/'`sstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-sstdevfa.Tpo $(DEPDIR)/libStdevf_la-sstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sstdevfa.c' object='libStdevf_la-sstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-sstdevfa.lo `test -f 'sstdevfa.c' || echo '$(srcdir)/'`sstdevfa.c
+
+libStdevf_la-srowstdevfa.lo: srowstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-srowstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-srowstdevfa.Tpo -c -o libStdevf_la-srowstdevfa.lo `test -f 'srowstdevfa.c' || echo '$(srcdir)/'`srowstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-srowstdevfa.Tpo $(DEPDIR)/libStdevf_la-srowstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowstdevfa.c' object='libStdevf_la-srowstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-srowstdevfa.lo `test -f 'srowstdevfa.c' || echo '$(srcdir)/'`srowstdevfa.c
+
+libStdevf_la-scolumnstdevfa.lo: scolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-scolumnstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-scolumnstdevfa.Tpo -c -o libStdevf_la-scolumnstdevfa.lo `test -f 'scolumnstdevfa.c' || echo '$(srcdir)/'`scolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-scolumnstdevfa.Tpo $(DEPDIR)/libStdevf_la-scolumnstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnstdevfa.c' object='libStdevf_la-scolumnstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-scolumnstdevfa.lo `test -f 'scolumnstdevfa.c' || echo '$(srcdir)/'`scolumnstdevfa.c
+
+libStdevf_la-dstdevfa.lo: dstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-dstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-dstdevfa.Tpo -c -o libStdevf_la-dstdevfa.lo `test -f 'dstdevfa.c' || echo '$(srcdir)/'`dstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-dstdevfa.Tpo $(DEPDIR)/libStdevf_la-dstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dstdevfa.c' object='libStdevf_la-dstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-dstdevfa.lo `test -f 'dstdevfa.c' || echo '$(srcdir)/'`dstdevfa.c
+
+libStdevf_la-drowstdevfa.lo: drowstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-drowstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-drowstdevfa.Tpo -c -o libStdevf_la-drowstdevfa.lo `test -f 'drowstdevfa.c' || echo '$(srcdir)/'`drowstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-drowstdevfa.Tpo $(DEPDIR)/libStdevf_la-drowstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowstdevfa.c' object='libStdevf_la-drowstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-drowstdevfa.lo `test -f 'drowstdevfa.c' || echo '$(srcdir)/'`drowstdevfa.c
+
+libStdevf_la-dcolumnstdevfa.lo: dcolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-dcolumnstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-dcolumnstdevfa.Tpo -c -o libStdevf_la-dcolumnstdevfa.lo `test -f 'dcolumnstdevfa.c' || echo '$(srcdir)/'`dcolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-dcolumnstdevfa.Tpo $(DEPDIR)/libStdevf_la-dcolumnstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnstdevfa.c' object='libStdevf_la-dcolumnstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-dcolumnstdevfa.lo `test -f 'dcolumnstdevfa.c' || echo '$(srcdir)/'`dcolumnstdevfa.c
+
+libStdevf_la-cstdevfa.lo: cstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-cstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-cstdevfa.Tpo -c -o libStdevf_la-cstdevfa.lo `test -f 'cstdevfa.c' || echo '$(srcdir)/'`cstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-cstdevfa.Tpo $(DEPDIR)/libStdevf_la-cstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cstdevfa.c' object='libStdevf_la-cstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-cstdevfa.lo `test -f 'cstdevfa.c' || echo '$(srcdir)/'`cstdevfa.c
+
+libStdevf_la-crowstdevfa.lo: crowstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-crowstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-crowstdevfa.Tpo -c -o libStdevf_la-crowstdevfa.lo `test -f 'crowstdevfa.c' || echo '$(srcdir)/'`crowstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-crowstdevfa.Tpo $(DEPDIR)/libStdevf_la-crowstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowstdevfa.c' object='libStdevf_la-crowstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-crowstdevfa.lo `test -f 'crowstdevfa.c' || echo '$(srcdir)/'`crowstdevfa.c
+
+libStdevf_la-ccolumnstdevfa.lo: ccolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-ccolumnstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-ccolumnstdevfa.Tpo -c -o libStdevf_la-ccolumnstdevfa.lo `test -f 'ccolumnstdevfa.c' || echo '$(srcdir)/'`ccolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-ccolumnstdevfa.Tpo $(DEPDIR)/libStdevf_la-ccolumnstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnstdevfa.c' object='libStdevf_la-ccolumnstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-ccolumnstdevfa.lo `test -f 'ccolumnstdevfa.c' || echo '$(srcdir)/'`ccolumnstdevfa.c
+
+libStdevf_la-zstdevfa.lo: zstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-zstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-zstdevfa.Tpo -c -o libStdevf_la-zstdevfa.lo `test -f 'zstdevfa.c' || echo '$(srcdir)/'`zstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-zstdevfa.Tpo $(DEPDIR)/libStdevf_la-zstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zstdevfa.c' object='libStdevf_la-zstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-zstdevfa.lo `test -f 'zstdevfa.c' || echo '$(srcdir)/'`zstdevfa.c
+
+libStdevf_la-zrowstdevfa.lo: zrowstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-zrowstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-zrowstdevfa.Tpo -c -o libStdevf_la-zrowstdevfa.lo `test -f 'zrowstdevfa.c' || echo '$(srcdir)/'`zrowstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-zrowstdevfa.Tpo $(DEPDIR)/libStdevf_la-zrowstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowstdevfa.c' object='libStdevf_la-zrowstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-zrowstdevfa.lo `test -f 'zrowstdevfa.c' || echo '$(srcdir)/'`zrowstdevfa.c
+
+libStdevf_la-zcolumnstdevfa.lo: zcolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libStdevf_la_CFLAGS) $(CFLAGS) -MT libStdevf_la-zcolumnstdevfa.lo -MD -MP -MF $(DEPDIR)/libStdevf_la-zcolumnstdevfa.Tpo -c -o libStdevf_la-zcolumnstdevfa.lo `test -f 'zcolumnstdevfa.c' || echo '$(srcdir)/'`zcolumnstdevfa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libStdevf_la-zcolumnstdevfa.Tpo $(DEPDIR)/libStdevf_la-zcolumnstdevfa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnstdevfa.c' object='libStdevf_la-zcolumnstdevfa.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) $(libStdevf_la_CFLAGS) $(CFLAGS) -c -o libStdevf_la-zcolumnstdevfa.lo `test -f 'zcolumnstdevfa.c' || echo '$(srcdir)/'`zcolumnstdevfa.c
+
+testDoubleStdevf-testDoubleStdevf.o: testDoubleStdevf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleStdevf_CFLAGS) $(CFLAGS) -MT testDoubleStdevf-testDoubleStdevf.o -MD -MP -MF $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Tpo -c -o testDoubleStdevf-testDoubleStdevf.o `test -f 'testDoubleStdevf.c' || echo '$(srcdir)/'`testDoubleStdevf.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Tpo $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleStdevf.c' object='testDoubleStdevf-testDoubleStdevf.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) $(testDoubleStdevf_CFLAGS) $(CFLAGS) -c -o testDoubleStdevf-testDoubleStdevf.o `test -f 'testDoubleStdevf.c' || echo '$(srcdir)/'`testDoubleStdevf.c
+
+testDoubleStdevf-testDoubleStdevf.obj: testDoubleStdevf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleStdevf_CFLAGS) $(CFLAGS) -MT testDoubleStdevf-testDoubleStdevf.obj -MD -MP -MF $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Tpo -c -o testDoubleStdevf-testDoubleStdevf.obj `if test -f 'testDoubleStdevf.c'; then $(CYGPATH_W) 'testDoubleStdevf.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleStdevf.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Tpo $(DEPDIR)/testDoubleStdevf-testDoubleStdevf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleStdevf.c' object='testDoubleStdevf-testDoubleStdevf.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) $(testDoubleStdevf_CFLAGS) $(CFLAGS) -c -o testDoubleStdevf-testDoubleStdevf.obj `if test -f 'testDoubleStdevf.c'; then $(CYGPATH_W) 'testDoubleStdevf.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleStdevf.c'; fi`
+
+testFloatStdevf-testFloatStdevf.o: testFloatStdevf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatStdevf_CFLAGS) $(CFLAGS) -MT testFloatStdevf-testFloatStdevf.o -MD -MP -MF $(DEPDIR)/testFloatStdevf-testFloatStdevf.Tpo -c -o testFloatStdevf-testFloatStdevf.o `test -f 'testFloatStdevf.c' || echo '$(srcdir)/'`testFloatStdevf.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatStdevf-testFloatStdevf.Tpo $(DEPDIR)/testFloatStdevf-testFloatStdevf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatStdevf.c' object='testFloatStdevf-testFloatStdevf.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) $(testFloatStdevf_CFLAGS) $(CFLAGS) -c -o testFloatStdevf-testFloatStdevf.o `test -f 'testFloatStdevf.c' || echo '$(srcdir)/'`testFloatStdevf.c
+
+testFloatStdevf-testFloatStdevf.obj: testFloatStdevf.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatStdevf_CFLAGS) $(CFLAGS) -MT testFloatStdevf-testFloatStdevf.obj -MD -MP -MF $(DEPDIR)/testFloatStdevf-testFloatStdevf.Tpo -c -o testFloatStdevf-testFloatStdevf.obj `if test -f 'testFloatStdevf.c'; then $(CYGPATH_W) 'testFloatStdevf.c'; else $(CYGPATH_W) '$(srcdir)/testFloatStdevf.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatStdevf-testFloatStdevf.Tpo $(DEPDIR)/testFloatStdevf-testFloatStdevf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatStdevf.c' object='testFloatStdevf-testFloatStdevf.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) $(testFloatStdevf_CFLAGS) $(CFLAGS) -c -o testFloatStdevf-testFloatStdevf.obj `if test -f 'testFloatStdevf.c'; then $(CYGPATH_W) 'testFloatStdevf.c'; else $(CYGPATH_W) '$(srcdir)/testFloatStdevf.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/stdevf/ccolumnstdevfa.c b/src/c/statisticsFunctions/stdevf/ccolumnstdevfa.c
new file mode 100644
index 0000000..14d3030
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/ccolumnstdevfa.c
@@ -0,0 +1,58 @@
+/*
+ * 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 "stdevf.h"
+#include "abs.h"
+
+void ccolumnstdevfa(floatComplex *in1, int lines, int columns, floatComplex*in2, floatComplex* out){
+ int i = 0;
+ int j = 0;
+ floatComplex temp = FloatComplex(0.0f,0.0f);
+ floatComplex accumulate = FloatComplex(0.0f,0.0f);
+ floatComplex accumulateFre = FloatComplex(0.0f,0.0f);
+
+ ccolumnmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines; ++j)
+ {
+ accumulate = FloatComplex(0.0f,0.0f);
+ accumulateFre = FloatComplex(0.0f,0.0f);
+ temp = FloatComplex(0.0f,0.0f);
+
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ temp = cpows ( cdiffs (in1[lines*i + j] ,out[j] ) ,FloatComplex (2.0f, 0.0f ) );
+ temp = cmuls( in2[lines*i + j] , temp);
+
+ accumulate = cadds( temp , accumulate);
+ accumulateFre = cadds (in2[lines*i + j] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = cmuls (FloatComplex(0.0f,0.0f) , accumulate ) ;
+ }
+ else
+ {
+ if( sabss (creals(accumulate)) <= 3e-6 ) accumulate = FloatComplex(sabss(creals(accumulate)) ,cimags(accumulate));
+ if( sabss (cimags(accumulate)) <= 3e-6 ) accumulate = FloatComplex(creals(accumulate) ,sabss(cimags(accumulate)));
+ accumulate = crdivs (accumulate , cdiffs (accumulateFre ,FloatComplex(1.0f,0.0f)) );
+ out[j] =csqrts(accumulate);
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/crowstdevfa.c b/src/c/statisticsFunctions/stdevf/crowstdevfa.c
new file mode 100644
index 0000000..38d8cb2
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/crowstdevfa.c
@@ -0,0 +1,59 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+#include "abs.h"
+
+
+void crowstdevfa(floatComplex *in1, int lines, int columns, floatComplex*in2, floatComplex* out){
+ int i = 0;
+ int j = 0;
+ floatComplex temp = FloatComplex(0.0f,0.0f);
+ floatComplex accumulate = FloatComplex(0.0f,0.0f);
+ floatComplex accumulateFre = FloatComplex(0.0f,0.0f);
+
+ crowmeanfa(in1, lines, columns, in2, out );
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ accumulate = FloatComplex(0.0f,0.0f);
+ accumulateFre =FloatComplex(0.0f,0.0f);
+ temp = FloatComplex(0.0f,0.0f);
+
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ temp = cpows ( cdiffs (in1[lines*j + i] ,out[j] ) ,FloatComplex (2.0f, 0.0f ) );
+ temp = cmuls( in2[lines*j + i] , temp);
+
+ accumulate = cadds( temp , accumulate);
+ accumulateFre = cadds (in2[lines*j + i] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = cmuls (FloatComplex(0.0f,0.0f) , accumulate ) ;
+ }
+ else
+ {
+ if( sabss (creals(accumulate)) <= 3e-6 ) accumulate = FloatComplex(sabss(creals(accumulate)) ,cimags(accumulate));
+ if( sabss (cimags(accumulate)) <= 3e-6 ) accumulate = FloatComplex(creals(accumulate) ,sabss(cimags(accumulate)));
+ accumulate = crdivs (accumulate , cdiffs (accumulateFre ,FloatComplex(1.0f,0.0f)) );
+ out[j] =csqrts(accumulate);
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/cstdevfa.c b/src/c/statisticsFunctions/stdevf/cstdevfa.c
new file mode 100644
index 0000000..5b1631f
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/cstdevfa.c
@@ -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
+ *
+ */
+
+#include "stdevf.h"
+
+floatComplex cstdevfa(floatComplex *in1, int lines, int columns, floatComplex* in2)
+{
+ int i = 0 ;
+
+ floatComplex temp = FloatComplex(0.0f,0.0f);
+ floatComplex accumulate = FloatComplex(0.0f,0.0f);
+ floatComplex accumulateFre = FloatComplex(0.0f,0.0f);
+ floatComplex meanf = cmeanfa (in1 , lines*columns , in2);
+/*equivalent to (in1 - meanf(x , in2 )).^2 .*in2 */
+ for(i = 0 ; i < lines*columns ; ++i)
+ {
+ temp = cpows ( cdiffs (in1[i] , meanf ) ,FloatComplex (2.0f, 0.0f ) );
+ temp = cmuls( in2[i] , temp);
+
+ accumulate = cadds( temp , accumulate);
+ accumulateFre = cadds (in2[i] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+ return cmuls (FloatComplex(0.0f,0.0f) , accumulate ) ;
+ }
+ else
+ {
+ accumulate = crdivs (accumulate , cdiffs (accumulateFre ,FloatComplex(1.0f,0.0f)) );
+ return csqrts(accumulate);
+ }
+}
diff --git a/src/c/statisticsFunctions/stdevf/cstdevfcs.c b/src/c/statisticsFunctions/stdevf/cstdevfcs.c
new file mode 100644
index 0000000..a3b7239
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/cstdevfcs.c
@@ -0,0 +1,41 @@
+/*
+ * 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 "stdevf.h"
+
+floatComplex cstdevfcs(floatComplex *in1, int lines, int columns, float* in2)
+{
+ int i = 0 ;
+ floatComplex temp = FloatComplex(0.0f,0.0f);
+ floatComplex accumulate = FloatComplex(0.0f,0.0f);
+ float accumulateFre = 0.0f ;
+ floatComplex meanf = cmeanfcs (in1 , lines ,columns , in2);
+/*equivalent to (in1 - meanf(x , in2 )).^2 .*in2 */
+ for(i = 0 ; i < lines*columns ; ++i)
+ {
+ temp = cpows ( cdiffs (in1[i] , meanf ) ,FloatComplex (2.0f, 0.0f ) );
+ temp = cmuls( FloatComplex (in2[i],0.0f) , temp);
+
+ accumulate = cadds( temp , accumulate);
+ accumulateFre += in2[i];
+ }
+
+ if (lines <= 1)
+ {
+ return cmuls (FloatComplex(0.0f,0.0f) , accumulate ) ;
+ }
+ else
+ {
+ accumulate = FloatComplex( creals(accumulate ) / (accumulateFre - 1) , cimags(accumulate) / (accumulateFre - 1));
+ return csqrts(accumulate);
+ }
+}
diff --git a/src/c/statisticsFunctions/stdevf/cstdevfsc.c b/src/c/statisticsFunctions/stdevf/cstdevfsc.c
new file mode 100644
index 0000000..01a6e07
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/cstdevfsc.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 <stdlib.h>
+#include "stdevf.h"
+#include "zeros.h"
+
+floatComplex cstdevfsc(float *in1, int lines, int columns, floatComplex* in2)
+{
+ float* ZEROS = (float *) malloc((unsigned int)(lines*columns*sizeof(float)));
+ szerosa(ZEROS,lines,columns);
+
+ return cstdevfa(FloatComplexMatrix(in1,ZEROS,lines*columns), lines , columns , in2);
+}
diff --git a/src/c/statisticsFunctions/stdevf/dcolumnstdevfa.c b/src/c/statisticsFunctions/stdevf/dcolumnstdevfa.c
new file mode 100644
index 0000000..a6220d5
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/dcolumnstdevfa.c
@@ -0,0 +1,69 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+
+
+void dcolumnstdevfa(double *in1, int lines, int columns, double *in2, double* out){
+ int i = 0;
+ int j = 0;
+ double temp = 0.0;
+ double accumulate = 0.0;
+ double accumulateFre = 0.0 ;
+
+ dcolumnmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines; ++j)
+ {
+ accumulate = 0.0;
+ accumulateFre= 0.0;
+ temp = 0.0;
+
+ for ( i = 0 ; i < columns; ++i )
+ {
+ temp = dpows ( (in1[lines*i + j] - out[j] ) ,2 );
+ temp *= in2[lines*i + j];
+
+ accumulate += temp ;
+ accumulateFre += in2[lines*i + j];
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = 0.0 * accumulate ;
+ }
+ else
+ {
+ out[j] = dsqrts(accumulate / (accumulateFre - 1));
+ }
+ }
+
+}
+/*
+
+ !
+! elseif o == 'c' | o == 2 then !
+! // here ones is used becaue we work on matrix , but in C we work on element so we only need iteratation !
+! y = x - meanf(x, fre, o) * ones(1, size(x, o)) !
+! !
+
+! if size(x, 1) == 1 then ! !
+! s = 0 * sum(y.^2 .* fre, o) !
+! else ! !
+! s = sqrt(sum(y.^2 .* fre, o) ./ (sum(fre, o) - 1)); !
+ !
+*/
+
diff --git a/src/c/statisticsFunctions/stdevf/drowstdevfa.c b/src/c/statisticsFunctions/stdevf/drowstdevfa.c
new file mode 100644
index 0000000..c861f06
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/drowstdevfa.c
@@ -0,0 +1,53 @@
+/*
+ * 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 "stdevf.h"
+
+
+void drowstdevfa(double *in1, int lines, int columns, double *in2, double* out){
+ int i = 0;
+ int j = 0;
+ double temp = 0.0f;
+ double accumulate = 0.0f;
+ double accumulateFre = 0.0f ;
+
+ drowmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ accumulate = 0.0f;
+ accumulateFre= 0.0f;
+ temp = 0.0f;
+
+ for ( i = 0 ; i < lines; ++i )
+ {
+ temp = dpows ( (in1[lines*j + i] - out[j] ) ,2 );
+ temp *= in2[lines*j + i];
+
+ accumulate += temp ;
+ accumulateFre += in2[lines*j + i];
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = 0.0 * accumulate ;
+ }
+ else
+ {
+ out[j] = dsqrts(accumulate / (accumulateFre - 1));
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/dstdevfa.c b/src/c/statisticsFunctions/stdevf/dstdevfa.c
new file mode 100644
index 0000000..4194435
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/dstdevfa.c
@@ -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
+ *
+ */
+
+#include "stdevf.h"
+
+double dstdevfa(double *in1, int lines, int columns, double* in2)
+{
+ int i = 0 ;
+ double meanf = dmeanfa (in1 , lines*columns , in2);
+ double temp = 0.0;
+ double accumulate = 0.0 ;
+ double accumulateFre = 0.0 ;
+ /*printf ("\nmeanf %lf \n" ,meanf);*/
+
+ /*equivalent to (in1 - meanf(x , in2 )).^2 .*in2 */
+ for(i = 0 ; i < lines*columns; ++i)
+ {
+
+ temp = dpows ( (in1[i] - meanf ) ,2 );
+ temp *= in2[i];
+
+ accumulate += temp ;
+ accumulateFre += in2[i];
+ }
+
+ if (lines <= 1)
+ {
+ return 0.0 * accumulate ;
+ }
+ else
+ {
+ return dsqrts(accumulate) / (accumulateFre - 1);
+ }
+}
diff --git a/src/c/statisticsFunctions/stdevf/scolumnstdevfa.c b/src/c/statisticsFunctions/stdevf/scolumnstdevfa.c
new file mode 100644
index 0000000..f3552ea
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/scolumnstdevfa.c
@@ -0,0 +1,69 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+
+
+void scolumnstdevfa(float *in1, int lines, int columns, float *in2, float* out){
+ int i = 0;
+ int j = 0;
+ float temp = 0.0f;
+ float accumulate = 0.0f;
+ float accumulateFre = 0.0f ;
+
+ scolumnmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines; ++j)
+ {
+ accumulate = 0.0f;
+ accumulateFre= 0.0f;
+ temp = 0.0f;
+
+ for ( i = 0 ; i < columns; ++i )
+ {
+ temp = spows ( (in1[lines*i + j] - out[j] ) ,2 );
+ temp *= in2[lines*i + j];
+
+ accumulate += temp ;
+ accumulateFre += in2[lines*i + j];
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = 0.0f * accumulate ;
+ }
+ else
+ {
+ out[j] = ssqrts(accumulate / (accumulateFre - 1));
+ }
+ }
+
+}
+/*
+
+ !
+! elseif o == 'c' | o == 2 then !
+! // here ones is used becaue we work on matrix , but in C we work on element so we only need iteratation !
+! y = x - meanf(x, fre, o) * ones(1, size(x, o)) !
+! !
+
+! if size(x, 1) == 1 then ! !
+! s = 0 * sum(y.^2 .* fre, o) !
+! else ! !
+! s = sqrt(sum(y.^2 .* fre, o) ./ (sum(fre, o) - 1)); !
+ !
+*/
+
diff --git a/src/c/statisticsFunctions/stdevf/srowstdevfa.c b/src/c/statisticsFunctions/stdevf/srowstdevfa.c
new file mode 100644
index 0000000..337b80e
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/srowstdevfa.c
@@ -0,0 +1,53 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+
+
+void srowstdevfa(float *in1, int lines, int columns, float *in2, float* out){
+ int i = 0;
+ int j = 0;
+ float temp = 0.0f;
+ float accumulate = 0.0f;
+ float accumulateFre = 0.0f ;
+
+ srowmeanfa(in1, lines, columns, in2, out );
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+ accumulate = 0.0f;
+ accumulateFre= 0.0f;
+ temp = 0.0f;
+
+ for ( i = 0 ; i < lines; ++i )
+ {
+ temp = spows ( (in1[lines*j + i] - out[j] ) ,2 );
+ temp *= in2[lines*j + i];
+
+ accumulate += temp ;
+ accumulateFre += in2[lines*j + i];
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = 0.0f * accumulate ;
+ }
+ else
+ {
+ out[j] = ssqrts(accumulate/ (accumulateFre - 1));
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/sstdevfa.c b/src/c/statisticsFunctions/stdevf/sstdevfa.c
new file mode 100644
index 0000000..5ccdab8
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/sstdevfa.c
@@ -0,0 +1,68 @@
+/*
+ * 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 "stdevf.h"
+
+float sstdevfa(float *in1, int lines, int columns, float* in2)
+{
+ int i = 0 ;
+ float meanf = smeanfa (in1 , lines*columns , in2);
+ float temp = 0.0f;
+ float accumulate = 0.0f ;
+ float accumulateFre = 0.0f ;
+
+
+ /*equivalent to (in1 - meanf(x , in2 )).^2 .*in2 */
+ for(i = 0 ; i < lines*columns; ++i)
+ {
+
+ temp = spows ( (in1[i] - meanf ) ,2 );
+ temp *= in2[i];
+
+ accumulate += temp ;
+ accumulateFre += in2[i];
+ }
+
+ if (lines <= 1)
+ {
+ return 0.0f * accumulate ;
+ }
+ else
+ {
+ return ssqrts( accumulate/(accumulateFre - 1) );
+ }
+}
+/*
+
+! o = '*' !
+
+! //remove the median !
+! !
+! if o == '*' then !
+! !
+! y = x - meanf(x, fre) !
+! !
+! elseif o == 'r' | o == 1 then !
+! !
+! y = x - ones(size(x, o), 1) * meanf(x, fre, o) !
+! !
+! elseif o == 'c' | o == 2 then !
+! !
+! y = x - meanf(x, fre, o) * ones(1, size(x, o)) !
+! !
+
+! if size(x, 1) == 1 then ! !
+! s = 0 * sum(y.^2 .* fre, o) !
+! else ! !
+! s = sqrt( sum(y.^2 .* fre, o) ./ (sum(fre, o) - 1) ); !
+ !
+*/
diff --git a/src/c/statisticsFunctions/stdevf/testDoubleStdevf.c b/src/c/statisticsFunctions/stdevf/testDoubleStdevf.c
new file mode 100644
index 0000000..3b0b61a
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/testDoubleStdevf.c
@@ -0,0 +1,509 @@
+/*
+ * 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 <math.h>
+#include "stdevf.h"
+
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dstdevfsTest(void) {
+ double value1 = 3.0;
+ double value2 = 1.123456789f;
+ double coef1 = 56.0 ;
+ double coef2 = 2.0 ;
+
+ printf("\n>>>> stdevf Double Scalar Test\n");
+ printf("result : %e " ,dstdevfs(value1,coef1)) ;
+ printf("result : %e " ,dstdevfs(value2,coef)) ;
+ assert( ( dstdevfs(value1,coef1) ) == 0.0 );
+ assert( ( dstdevfs(value2,coef2) ) == 0.0 );
+
+ value1 = 3.0;
+ value2 = 1.123456789f;
+ coef1 = 56.0 ;
+ coef2 = 2.0 ;
+
+
+ return 0;
+}
+
+static int dstdevfaTest(void) {
+ double table1[3] = {3.0, 6.0, 9.0};
+ double coef1[3] = {10.0, 2.0, 6.0};
+
+ double table2[5] = {3.186784563,
+ 4.186784563,
+ 5.186784563,
+ 6.186784563,
+ 7.186784563};
+
+ double coef2[5] = {3.0,
+ 4.0,
+ 5.0,
+ 6.0,
+ 7.0};
+
+ double table3[10] = {3.0, 6.0, 9.0,10.0, 5.0,
+ 6.0,18.0, 7.0,14.0, 2.0};
+ double coef3 [10] = {3.0, 8.0,14.0,13.0, 2.0,
+ 5.0, 8.0, 2.0, 6.0, 8.0};
+
+ double result_2_5 = dstdevfa(table3,2, 5, coef3);
+
+ printf("\n>>>> stdevf Double Array Test\n");
+ printf("\nresult : %e " ,dstdevfa(table1,1, 3, coef1)) ;
+ printf("\nresult : %e " ,dstdevfa(table2,1, 5, coef2)) ;
+ printf("\nresult : %e " ,result_2_5) ;
+
+ assert(dstdevfa(table1,1, 3, coef1) == 0.0);
+ assert(dstdevfa(table1,1, 3, coef1) == 0.0);
+ assert( ( fabs(result_2_5 ) - ( 4.6440201 ) ) / fabs ( result_2_5 ) < 1e-6 );
+ return 0;
+}
+
+
+static int dcolumnstdevfaTest(void) {
+
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+
+ double columnStdevfedTable1_3_3[3] = {0};
+ double columnStdevfedTable1_1_9[1] = {0};
+
+
+ printf("\n>>>> Column stdevf Double Array Test\n");
+
+/**/
+
+ dcolumnstdevfa(table1, 3, 3, coef1 ,columnStdevfedTable1_3_3);
+
+ printf("\nresult1 : %e " ,columnStdevfedTable1_3_3[0]) ;
+ printf("\nresult2 : %e " ,columnStdevfedTable1_3_3[1]) ;
+ printf("\nresult3 : %e " ,columnStdevfedTable1_3_3[2]) ;
+
+ assert( fabs(columnStdevfedTable1_3_3[0] - 0.8268689) / fabs ( columnStdevfedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(columnStdevfedTable1_3_3[1] - 0.8164966) / fabs ( columnStdevfedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(columnStdevfedTable1_3_3[2] - 0.8323524 ) / fabs ( columnStdevfedTable1_3_3[2] ) < 1e-6 );
+
+
+
+ dcolumnstdevfa(table1, 1, 9, coef1 ,columnStdevfedTable1_1_9);
+ printf("\nresult_1_9: %e\n " ,columnStdevfedTable1_1_9[0]) ;
+ assert( columnStdevfedTable1_1_9[0] == 0.0);
+
+
+ return 0;
+}
+
+
+static int drowstdevfaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+
+ double table2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double coef2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+
+
+
+ double rowStdevfedTable1_3_3[3] = {0};
+ double rowStdevfedTable1_1_9[9] = {0};
+ double rowStdevfedTable2_2_5[5] = {0};
+ printf("\n>>>> Row Mean Double Array Test\n");
+
+
+ drowstdevfa(table1, 3, 3, coef1 , rowStdevfedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowStdevfedTable1_3_3[%d] = %e\n", i, rowStdevfedTable1_3_3[i]);
+ }
+ assert( fabs(rowStdevfedTable1_3_3[0] - 2.8394542 ) / fabs ( rowStdevfedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable1_3_3[1] - 2.8003759) / fabs ( rowStdevfedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable1_3_3[2] - 2.7669196) / fabs ( rowStdevfedTable1_3_3[2] ) < 1e-6 );
+
+/**/
+ drowstdevfa(table1, 1, 9, coef1, rowStdevfedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowStdevfedTable1_1_9[%d] = %e\n", i, rowStdevfedTable1_1_9[i]);
+ assert(rowStdevfedTable1_1_9[i] == 0.0);
+ }
+
+
+/**/
+ /**/
+ drowstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable_2_5[%d] = %e \n", i, rowStdevfedTable2_2_5[i]);
+ }
+ assert( fabs(rowStdevfedTable2_2_5[0] - 0.9045340 ) / fabs ( rowStdevfedTable2_2_5[0] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[1] - 2.3935678 ) / fabs ( rowStdevfedTable2_2_5[1] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[2] - 1.3887301 ) / fabs ( rowStdevfedTable2_2_5[2] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[3] - 1.2421180 ) / fabs ( rowStdevfedTable2_2_5[3] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[4] - 0.4523443 ) / fabs ( rowStdevfedTable2_2_5[4] ) < 1e-6 );
+ return 0;
+}
+
+
+static int zstdevfsTest(void) {
+ doubleComplex value1;
+ doubleComplex coef1 ;
+ doubleComplex value2;
+ doubleComplex coef2 ;
+
+ value1 = DoubleComplex(3.0, 3.0);
+ coef1 = DoubleComplex(3.0, 0.0);
+ value2 = DoubleComplex(1.123456789f, 1.123456789f);
+ coef2 = DoubleComplex(9.0, 0.0);
+
+ printf("\n>>>> Mean Double Complex Scalar Test\n");
+ assert( zreals(zstdevfs(value1,coef1)) == 0.0 );
+ assert( zimags(zstdevfs(value1,coef1)) == 0.0 );
+ assert( zreals(zstdevfs(value2,coef2)) == 0.0 );
+ assert( zimags(zstdevfs(value2,coef2)) == 0.0 );
+
+ return 0;
+}
+
+
+
+static int zstdevfaTest(void) {
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+
+ double tableR2[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI2[9] = {0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+ double coefR2[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+ double coefI2[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+
+
+ double tableR3[10] = {3.0, 6.0, 9.0,10.0, 5.0,
+ 6.0,18.0, 7.0,14.0, 2.0};
+ double tableI3[10] = {3.0,12.0,25.0, 1.0, 2.0,
+ 5.0,18.0, 7.0, 4.0, 1.0};
+
+
+ double coefR3 [10] = {3.0, 8.0,14.0,13.0, 2.0,
+ 5.0, 8.0, 2.0, 6.0, 8.0};
+ double coefI3 [10] = {0.0, 0.0, 0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0, 0.0, 0.0};
+
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 9);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 9);
+
+ doubleComplex* table3 = DoubleComplexMatrix (tableR3, tableI3, 10);
+ doubleComplex* coef3 = DoubleComplexMatrix (coefR3, coefI3, 10);
+
+ doubleComplex result =DoubleComplex(0.0 , 0.0);
+
+ printf("\n>>>> Mean Double Complex Array Test\n");
+ result = zstdevfa(table1,1, 9, coef1);
+ printf("\nresult_1_9 : %e \t+ %e i " ,zreals(result) ,zimags(result)) ;
+ assert( zreals(result) == 0.0 );
+ assert( zimags(result) == 0.0 );
+
+ result = zstdevfa(table2,1, 9, coef2);
+ printf("\nresult2_1_9 : %e \t+ %e i " ,zreals(result) ,zimags(result)) ;
+ assert( zreals(result) == 0.0 );
+ assert( zimags(result) == 0.0 );
+
+
+ result = zstdevfa(table3,2, 5, coef3);
+ printf("\nresult_2_5 : %e \t+ %e i " ,zreals(result) ,zimags(result)) ;
+ assert( fabs(zreals(result) - 1.7749350 ) / fabs ( zimags(result) ) < 1e-6 );
+ assert( fabs(zimags(result) - 8.3811287) / fabs ( zreals(result) ) < 1e-6 );
+
+ return 0;
+}
+
+
+static int zrowstdevfaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 10);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 10);
+
+ doubleComplex rowStdevfedTable1_3_3[3];
+ doubleComplex rowStdevfedTable2_2_5[5];
+ /*test when the matrix is only imaginary*/
+ double tableR3[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+ double tableI3[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR3[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI3[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+
+
+ doubleComplex* table3 = DoubleComplexMatrix (tableR3, tableI3, 10);
+ doubleComplex* coef3 = DoubleComplexMatrix (coefR3, coefI3, 10);
+
+ doubleComplex rowStdevfedTable3_2_5[5];
+ /**/
+ /*test when the matrix is only real and the coef matrix is only imaginary*/
+ double tableR4[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI4[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0};
+ double coefR4[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0};
+ double coefI4[10] ={10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+
+
+
+
+ doubleComplex* table4 = DoubleComplexMatrix (tableR4, tableI4, 10);
+ doubleComplex* coef4 = DoubleComplexMatrix (coefR4, coefI4, 10);
+
+ doubleComplex rowStdevfedTable4_2_5[5];
+ /**/
+
+
+ printf("\n>>>> Row stdevf Double Complex Array Test\n");
+
+ rowStdevfedTable1_3_3[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable1_3_3[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable1_3_3[2] = DoubleComplex(0.0, 0.0);
+
+ rowStdevfedTable2_2_5[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable2_2_5[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable2_2_5[2] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable2_2_5[3] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable2_2_5[4] = DoubleComplex(0.0, 0.0);
+
+ rowStdevfedTable3_2_5[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_2_5[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_2_5[2] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_2_5[3] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_2_5[4] = DoubleComplex(0.0, 0.0);
+
+
+ rowStdevfedTable4_2_5[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable4_2_5[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable4_2_5[2] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable4_2_5[3] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable4_2_5[4] = DoubleComplex(0.0, 0.0);
+
+
+ zrowstdevfa(table1 , 3 , 3 , coef1 , rowStdevfedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("rowStdevfedTable_3_3[%d] = %e + %ei\n", i, zreals(rowStdevfedTable1_3_3[i]), zimags(rowStdevfedTable1_3_3[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable1_3_3[0]) - 2.8394542 ) / fabs ( zreals(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[0]) - 0.9464847) / fabs ( zimags(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable1_3_3[1]) - 2.8003759) / fabs ( zreals(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[1]) - 0.9334586) / fabs ( zimags(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable1_3_3[2]) - 2.7669196) / fabs ( zreals(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[2]) - 0.9223065) / fabs ( zimags(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+/**/
+ zrowstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable_2_5[%d] = %e + %ei\n", i, zreals(rowStdevfedTable2_2_5[i]), zimags(rowStdevfedTable2_2_5[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable2_2_5[0]) - 0.9045340 ) / fabs ( zreals(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[0]) - 0.3015113 ) / fabs ( zimags(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable2_2_5[1]) - 2.3935678 ) / fabs ( zreals(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[1]) + 0.4787136) / fabs ( zimags(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable2_2_5[2]) - 1.3887301 ) / fabs ( zreals(rowStdevfedTable2_2_5[2]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[2]) - 0.4629100 ) / fabs ( zimags(rowStdevfedTable2_2_5[2]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable2_2_5[3]) - 1.2421180 ) / fabs ( zreals(rowStdevfedTable2_2_5[3]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[3]) - 0.4140393 ) / fabs ( zimags(rowStdevfedTable2_2_5[3]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable2_2_5[4]) - 0.4523443 ) / fabs ( zreals(rowStdevfedTable2_2_5[4]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[4]) - 2.7140659) / fabs ( zimags(rowStdevfedTable2_2_5[4]) ) < 1e-6 );
+/**/
+ zrowstdevfa(table3, 2 , 5 , coef3 , rowStdevfedTable3_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable3_2_5[%d] = %e + %ei\n", i, zreals(rowStdevfedTable3_2_5[i]), zimags(rowStdevfedTable3_2_5[i]));
+ }
+
+ assert( fabs(zimags(rowStdevfedTable3_2_5[0]) - 0.3015113 ) / fabs (zimags(rowStdevfedTable3_2_5[0]) ) < 1e-6 );
+
+
+ assert( fabs(zimags(rowStdevfedTable3_2_5[1]) - 0.4787136) / fabs ( zimags(rowStdevfedTable3_2_5[1]) ) < 1e-6 );
+
+
+ assert( fabs(zimags(rowStdevfedTable3_2_5[2]) - 0.4629100 ) / fabs (zimags(rowStdevfedTable3_2_5[2]) ) < 1e-6 );
+
+
+ assert( fabs(zimags(rowStdevfedTable3_2_5[3]) - 0.4140393 ) / fabs ( zimags(rowStdevfedTable3_2_5[3]) ) < 1e-6 );
+
+
+ assert( fabs(zimags(rowStdevfedTable3_2_5[4]) - 2.7140659) / fabs ( zimags(rowStdevfedTable3_2_5[4]) ) < 1e-6 );
+
+/**/
+ zrowstdevfa(table4 , 2 , 5 , coef4 , rowStdevfedTable4_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable4_2_5[%d] = %e + %ei\n", i, zreals(rowStdevfedTable4_2_5[i]), zimags(rowStdevfedTable4_2_5[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable4_2_5[0]) - 0.8597825 ) / fabs ( zreals(rowStdevfedTable4_2_5[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable4_2_5[0]) + 0.0390006 ) / fabs ( zimags(rowStdevfedTable4_2_5[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable4_2_5[1]) - 2.3141768 ) / fabs ( zreals(rowStdevfedTable4_2_5[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable4_2_5[1]) + 0.0722475) / fabs ( zimags(rowStdevfedTable4_2_5[1]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable4_2_5[2]) - 1.2915122 ) / fabs ( zreals(rowStdevfedTable4_2_5[2]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable4_2_5[2]) + 0.0804066 ) / fabs ( zimags(rowStdevfedTable4_2_5[2]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable4_2_5[3]) - 1.1980065 ) / fabs ( zreals(rowStdevfedTable4_2_5[3]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable4_2_5[3]) + 0.0398893 ) / fabs ( zimags(rowStdevfedTable4_2_5[3]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable4_2_5[4]) - 0.4433143 ) / fabs ( zreals(rowStdevfedTable4_2_5[4]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable4_2_5[4]) + 0.00852212) / fabs ( zimags(rowStdevfedTable4_2_5[4]) ) < 1e-6 );
+
+ return 0;
+}
+
+
+
+
+static int zcolumnstdevfaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR3[6] = {4.0, 5.0, 6.0, 7.0, 8.0, 9.0 };
+ double tableI3[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
+
+ double coefR3[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+ double coefI3[6] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 10);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 10);
+
+ doubleComplex* table3 = DoubleComplexMatrix (tableR3, tableI3, 10);
+ doubleComplex* coef3 = DoubleComplexMatrix (coefR3, coefI3, 10);
+
+ doubleComplex rowStdevfedTable1_3_3[3];
+ doubleComplex rowStdevfedTable2_2_5[2];
+ doubleComplex rowStdevfedTable3_3_2[3];
+
+ rowStdevfedTable1_3_3[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable1_3_3[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable1_3_3[2] = DoubleComplex(0.0, 0.0);
+
+ rowStdevfedTable2_2_5[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable2_2_5[1] = DoubleComplex(0.0, 0.0);
+
+ rowStdevfedTable3_3_2[0] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_3_2[1] = DoubleComplex(0.0, 0.0);
+ rowStdevfedTable3_3_2[2] = DoubleComplex(0.0, 0.0);
+
+
+ printf("\n>>>> Column stdevf Double Complex Array Test\n");
+
+
+
+ zcolumnstdevfa(table1 , 3 , 3 , coef1 , rowStdevfedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnStdevfedTable_3_3[%d] = %e + %ei\n", i, zreals(rowStdevfedTable1_3_3[i]), zimags(rowStdevfedTable1_3_3[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable1_3_3[0]) - 0.8268689) / fabs ( zimags(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[0]) - 2.4806066) / fabs ( zreals(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable1_3_3[1]) - 0.8164966) / fabs ( zimags(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[1]) - 2.4494897) / fabs ( zreals(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable1_3_3[2]) - 0.8323524 ) / fabs ( zimags(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable1_3_3[2]) - 2.4970571 ) / fabs ( zreals(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+/**/
+ zcolumnstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 2 ; ++i )
+ {
+ printf("columnStdevfedTable_2_5[%d] = %e + %ei\n", i, zreals(rowStdevfedTable2_2_5[i]), zimags(rowStdevfedTable2_2_5[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable2_2_5[0]) - 2.3683811 ) / fabs ( zimags(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[0]) - 2.4784193 ) / fabs ( zreals(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable2_2_5[1]) - 3.1890422 ) / fabs ( zimags(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable2_2_5[1]) - 4.9966774 ) / fabs ( zreals(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+
+ zcolumnstdevfa(table3 , 3 , 2 , coef3 , rowStdevfedTable3_3_2);
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnStdevfedTable3_3_2[%d] = %e + %ei\n", i, zreals(rowStdevfedTable3_3_2[i]), zimags(rowStdevfedTable3_3_2[i]));
+ }
+ assert( fabs(zreals(rowStdevfedTable3_3_2[0]) - 1.1825083) / fabs ( zimags(rowStdevfedTable3_3_2[0]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable3_3_2[0]) + 0.1170914) / fabs ( zreals(rowStdevfedTable3_3_2[0]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable3_3_2[1]) - 1.3450417) / fabs ( zimags(rowStdevfedTable3_3_2[1]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable3_3_2[1]) + 0.0955892) / fabs ( zreals(rowStdevfedTable3_3_2[1]) ) < 1e-6 );
+
+ assert( fabs(zreals(rowStdevfedTable3_3_2[2]) - 1.4077246 ) / fabs ( zimags(rowStdevfedTable3_3_2[2]) ) < 1e-6 );
+ assert( fabs(zimags(rowStdevfedTable3_3_2[2]) + 0.0779670 ) / fabs ( zreals(rowStdevfedTable3_3_2[2]) ) < 1e-6 );
+ return 0;
+}
+
+
+static int teststdevf(void) {
+
+ dstdevfsTest();
+ dstdevfaTest();
+ dcolumnstdevfaTest();
+ drowstdevfaTest();
+ zstdevfsTest();
+ zstdevfaTest();
+ zrowstdevfaTest();
+ zcolumnstdevfaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(teststdevf() == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/stdevf/testFloatStdevf.c b/src/c/statisticsFunctions/stdevf/testFloatStdevf.c
new file mode 100644
index 0000000..bdf61a6
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/testFloatStdevf.c
@@ -0,0 +1,389 @@
+/*
+ * 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 <math.h>
+#include "stdevf.h"
+
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int sstdevfsTest(void) {
+ float value1 = 3.0f;
+ float value2 = 1.123456789f;
+ float coef1 = 56.0f ;
+ float coef2 = 2.0f ;
+
+ printf("\n>>>> stdevf Float Scalar Test\n");
+ printf("result : %f " ,sstdevfs(value1,coef1)) ;
+ printf("result : %f " ,sstdevfs(value2,coef)) ;
+ assert( ( sstdevfs(value1,coef1) ) == 0.0f );
+ assert( ( sstdevfs(value2,coef2) ) == 0.0f );
+
+ value1 = 3.0f;
+ value2 = 1.123456789f;
+ coef1 = 56.0f ;
+ coef2 = 2.0f ;
+
+
+ return 0;
+}
+
+static int sstdevfaTest(void) {
+ float table1[3] = {3.0f, 6.0f, 9.0f};
+ float coef1[3] = {10.0f, 2.0f, 6.0f};
+
+ float table2[5] = {3.186784563f,
+ 4.186784563f,
+ 5.186784563f,
+ 6.186784563f,
+ 7.186784563f};
+
+ float coef2[5] = {3.0f,
+ 4.0f,
+ 5.0f,
+ 6.0f,
+ 7.0f};
+
+ float table3[10] = {3.0f, 6.0f, 9.0f,10.0f, 5.0f,
+ 6.0f,18.0f, 7.0f,14.0f, 2.0f};
+ float coef3 [10] = {3.0f, 8.0f,14.0f,13.0f, 2.0f,
+ 5.0f, 8.0f, 2.0f, 6.0f, 8.0f};
+
+ float result_2_5 = sstdevfa(table3,2, 5, coef3);
+
+ printf("\n>>>> stdevf Float Array Test\n");
+ printf("\nresult : %f " ,sstdevfa(table1,1, 3, coef1)) ;
+ printf("\nresult : %f " ,sstdevfa(table2,1, 5, coef2)) ;
+ printf("\nresult : %f " ,result_2_5) ;
+
+ assert(sstdevfa(table1,1, 3, coef1) == 0.0f);
+ assert(sstdevfa(table1,1, 3, coef1) == 0.0f);
+ assert( ( fabs(result_2_5 ) - ( 4.6440201f ) ) / fabs ( result_2_5 ) < 1e-6 );
+ return 0;
+}
+
+
+static int scolumnstdevfaTest(void) {
+
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+
+ float columnStdevfedTable1_3_3[3] = {0};
+ float columnStdevfedTable1_1_9[1] = {0};
+
+
+ printf("\n>>>> Column stdevf Float Array Test\n");
+
+/**/
+
+ scolumnstdevfa(table1, 3, 3, coef1 ,columnStdevfedTable1_3_3);
+
+ printf("\nresult1 : %f " ,columnStdevfedTable1_3_3[0]) ;
+ printf("\nresult2 : %f " ,columnStdevfedTable1_3_3[1]) ;
+ printf("\nresult3 : %f " ,columnStdevfedTable1_3_3[2]) ;
+
+ assert( fabs(columnStdevfedTable1_3_3[0] - 0.8268689f ) / fabs ( columnStdevfedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(columnStdevfedTable1_3_3[1] - 0.8164966f ) / fabs ( columnStdevfedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(columnStdevfedTable1_3_3[2] - 0.8323524f ) / fabs ( columnStdevfedTable1_3_3[2] ) < 1e-6 );
+
+
+
+ scolumnstdevfa(table1, 1, 9, coef1 ,columnStdevfedTable1_1_9);
+ printf("\nresult_1_9: %f\n " ,columnStdevfedTable1_1_9[0]) ;
+ assert( columnStdevfedTable1_1_9[0] == 0.0f);
+
+
+ return 0;
+}
+
+
+static int srowstdevfaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+
+ float table2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float coef2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+
+
+
+ float rowStdevfedTable1_3_3[3] = {0};
+ float rowStdevfedTable1_1_9[9] = {0};
+ float rowStdevfedTable2_2_5[5] = {0};
+ printf("\n>>>> Row Mean Float Array Test\n");
+
+
+ srowstdevfa(table1, 3, 3, coef1 , rowStdevfedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowStdevfedTable1_3_3[%d] = %e\n", i, rowStdevfedTable1_3_3[i]);
+ }
+ assert( fabs(rowStdevfedTable1_3_3[0] - 2.8394542f ) / fabs ( rowStdevfedTable1_3_3[0] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable1_3_3[1] - 2.8003759f ) / fabs ( rowStdevfedTable1_3_3[1] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable1_3_3[2] - 2.7669196f ) / fabs ( rowStdevfedTable1_3_3[2] ) < 1e-6 );
+
+/**/
+ srowstdevfa(table1, 1, 9, coef1, rowStdevfedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowStdevfedTable1_1_9[%d] = %e\n", i, rowStdevfedTable1_1_9[i]);
+ assert(rowStdevfedTable1_1_9[i] == 0.0f);
+ }
+
+
+/**/
+ /**/
+ srowstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable_2_5[%d] = %e \n", i, rowStdevfedTable2_2_5[i]);
+ }
+ assert( fabs(rowStdevfedTable2_2_5[0] - 0.9045340f ) / fabs ( rowStdevfedTable2_2_5[0] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[1] - 2.3935678f ) / fabs ( rowStdevfedTable2_2_5[1] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[2] - 1.3887301f ) / fabs ( rowStdevfedTable2_2_5[2] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[3] - 1.2421180f ) / fabs ( rowStdevfedTable2_2_5[3] ) < 1e-6 );
+ assert( fabs(rowStdevfedTable2_2_5[4] - 0.4523443f ) / fabs ( rowStdevfedTable2_2_5[4] ) < 1e-6 );
+ return 0;
+}
+
+
+static int cstdevfsTest(void) {
+ floatComplex value1;
+ floatComplex coef1 ;
+ floatComplex value2;
+ floatComplex coef2 ;
+
+ value1 = FloatComplex(3.0f, 3.0f);
+ coef1 = FloatComplex(3.0f, 0.0f);
+ value2 = FloatComplex(1.123456789f, 1.123456789f);
+ coef2 = FloatComplex(9.0f, 0.0f);
+
+ printf("\n>>>> Mean Float Complex Scalar Test\n");
+ assert( creals(cstdevfs(value1,coef1)) == 0.0f );
+ assert( cimags(cstdevfs(value1,coef1)) == 0.0f );
+ assert( creals(cstdevfs(value2,coef2)) == 0.0f );
+ assert( cimags(cstdevfs(value2,coef2)) == 0.0f );
+
+ return 0;
+}
+
+
+
+static int cstdevfaTest(void) {
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+
+ float tableR3[10] = {3.0f, 6.0f, 9.0f,10.0f, 5.0f,
+ 6.0f,18.0f, 7.0f,14.0f, 2.0f};
+ float tableI3[10] = {3.0f,12.0f,25.0f, 1.0f, 2.0f,
+ 5.0f,18.0f, 7.0f, 4.0f, 1.0f};
+
+
+ float coefR3 [10] = {3.0f, 8.0f,14.0f,13.0f, 2.0f,
+ 5.0f, 8.0f, 2.0f, 6.0f, 8.0f};
+ float coefI3 [10] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+ floatComplex* table3 = FloatComplexMatrix (tableR3, tableI3, 10);
+ floatComplex* coef3 = FloatComplexMatrix (coefR3, coefI3, 10);
+
+ floatComplex result =FloatComplex(0.0f , 0.0f);
+
+ printf("\n>>>> Mean Float Complex Array Test\n");
+ result = cstdevfa(table1,1, 9, coef1);
+ printf("\nresult_1_9 : %f \t+ %f i " ,creals(result) ,cimags(result)) ;
+ assert( creals(result) == 0.0f );
+ assert( cimags(result) == 0.0f );
+
+
+ result = cstdevfa(table3,2, 5, coef3);
+ printf("\nresult_2_5 : %f \t+ %f i " ,creals(result) ,cimags(result)) ;
+ assert( fabs(creals(result) - 1.7749350f ) / fabs ( cimags(result) ) < 1e-6 );
+ assert( fabs(cimags(result) - 8.3811287f ) / fabs ( creals(result) ) < 1e-6 );
+
+ return 0;
+}
+
+
+static int crowstdevfaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 10);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 10);
+
+ floatComplex rowStdevfedTable1_3_3[3];
+ floatComplex rowStdevfedTable2_2_5[5];
+
+ printf("\n>>>> Row stdevf Float Complex Array Test\n");
+
+ rowStdevfedTable1_3_3[0] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable1_3_3[1] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable1_3_3[2] = FloatComplex(0.0f, 0.0f);
+
+ rowStdevfedTable2_2_5[0] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable2_2_5[1] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable2_2_5[2] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable2_2_5[3] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable2_2_5[4] = FloatComplex(0.0f, 0.0f);
+
+
+ crowstdevfa(table1 , 3 , 3 , coef1 , rowStdevfedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("rowStdevfedTable_3_3[%d] = %e + %ei\n", i, creals(rowStdevfedTable1_3_3[i]), cimags(rowStdevfedTable1_3_3[i]));
+ }
+ assert( fabs(creals(rowStdevfedTable1_3_3[0]) - 2.8394542f ) / fabs ( cimags(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[0]) - 0.9464847f ) / fabs ( creals(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable1_3_3[1]) - 2.8003759f ) / fabs ( cimags(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[1]) - 0.9334586f ) / fabs ( creals(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable1_3_3[2]) - 2.7669196f ) / fabs ( cimags(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[2]) - 0.9223065f ) / fabs ( creals(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+/**/
+ crowstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 5 ; ++i )
+ {
+ printf("rowStdevfedTable_2_5[%d] = %e + %ei\n", i, creals(rowStdevfedTable2_2_5[i]), cimags(rowStdevfedTable2_2_5[i]));
+ }
+ assert( fabs(creals(rowStdevfedTable2_2_5[0]) - 0.9045340f ) / fabs ( cimags(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[0]) - 0.3015113f ) / fabs ( creals(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable2_2_5[1]) - 2.3935678f ) / fabs ( cimags(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[1]) + 0.4787136f ) / fabs ( creals(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable2_2_5[2]) - 1.3887301f ) / fabs ( cimags(rowStdevfedTable2_2_5[2]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[2]) - 0.4629100f ) / fabs ( creals(rowStdevfedTable2_2_5[2]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable2_2_5[3]) - 1.2421180f ) / fabs ( cimags(rowStdevfedTable2_2_5[3]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[3]) - 0.4140393f ) / fabs ( creals(rowStdevfedTable2_2_5[3]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable2_2_5[4]) - 0.4523443f ) / fabs ( cimags(rowStdevfedTable2_2_5[4]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[4]) - 2.7140659f ) / fabs ( creals(rowStdevfedTable2_2_5[4]) ) < 1e-6 );
+
+ return 0;
+}
+
+
+
+
+static int ccolumnstdevfaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 10);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 10);
+
+ floatComplex rowStdevfedTable1_3_3[3];
+ floatComplex rowStdevfedTable2_2_5[2];
+
+ rowStdevfedTable1_3_3[0] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable1_3_3[1] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable1_3_3[2] = FloatComplex(0.0f, 0.0f);
+
+ rowStdevfedTable2_2_5[0] = FloatComplex(0.0f, 0.0f);
+ rowStdevfedTable2_2_5[1] = FloatComplex(0.0f, 0.0f);
+
+
+
+ printf("\n>>>> Column stdevf Float Complex Array Test\n");
+
+
+
+ ccolumnstdevfa(table1 , 3 , 3 , coef1 , rowStdevfedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnStdevfedTable_3_3[%d] = %e + %ei\n", i, creals(rowStdevfedTable1_3_3[i]), cimags(rowStdevfedTable1_3_3[i]));
+ }
+ assert( fabs(creals(rowStdevfedTable1_3_3[0]) - 0.8268689f ) / fabs ( cimags(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[0]) - 2.4806066f ) / fabs ( creals(rowStdevfedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable1_3_3[1]) - 0.8164966f ) / fabs ( cimags(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[1]) - 2.4494897f ) / fabs ( creals(rowStdevfedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable1_3_3[2]) - 0.8323524f ) / fabs ( cimags(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable1_3_3[2]) - 2.4970571f ) / fabs ( creals(rowStdevfedTable1_3_3[2]) ) < 1e-6 );
+/**/
+ ccolumnstdevfa(table2 , 2 , 5 , coef2 , rowStdevfedTable2_2_5);
+ for (i = 0 ; i < 2 ; ++i )
+ {
+ printf("columnStdevfedTable_2_5[%d] = %e + %ei\n", i, creals(rowStdevfedTable2_2_5[i]), cimags(rowStdevfedTable2_2_5[i]));
+ }
+ assert( fabs(creals(rowStdevfedTable2_2_5[0]) - 2.3683811f ) / fabs ( cimags(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[0]) - 2.4784193f ) / fabs ( creals(rowStdevfedTable2_2_5[0]) ) < 1e-6 );
+
+ assert( fabs(creals(rowStdevfedTable2_2_5[1]) - 3.1890422f ) / fabs ( cimags(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+ assert( fabs(cimags(rowStdevfedTable2_2_5[1]) - 4.9966774f ) / fabs ( creals(rowStdevfedTable2_2_5[1]) ) < 1e-6 );
+
+
+ return 0;
+}
+
+
+static int teststdevf(void) {
+
+ sstdevfsTest();
+ sstdevfaTest();
+ scolumnstdevfaTest();
+ srowstdevfaTest();
+ cstdevfsTest();
+ cstdevfaTest();
+ crowstdevfaTest();
+ ccolumnstdevfaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(teststdevf() == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/stdevf/zcolumnstdevfa.c b/src/c/statisticsFunctions/stdevf/zcolumnstdevfa.c
new file mode 100644
index 0000000..7dadda7
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/zcolumnstdevfa.c
@@ -0,0 +1,59 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+#include "abs.h"
+
+void zcolumnstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex*in2, doubleComplex* out){
+ int i = 0;
+ int j = 0;
+ doubleComplex temp = DoubleComplex(0.0,0.0);
+ doubleComplex accumulate = DoubleComplex(0.0,0.0);
+ doubleComplex accumulateFre = DoubleComplex(0.0,0.0);
+
+ zcolumnmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each zell of the input matrix by its zoefficient*/
+ for (j = 0; j < lines; ++j)
+ {
+ accumulate = DoubleComplex(0.0,0.0);
+ accumulateFre = DoubleComplex(0.0,0.0);
+ temp = DoubleComplex(0.0,0.0);
+
+ for ( i = 0 ; i < columns; ++i )
+ {
+
+ temp = zpows ( zdiffs (in1[lines*i + j] ,out[j] ) ,DoubleComplex (2.0, 0.0 ) );
+ temp = zmuls( in2[lines*i + j] , temp);
+
+ accumulate = zadds( temp , accumulate);
+ accumulateFre = zadds(in2[lines*i + j] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = zmuls (DoubleComplex(0.0,0.0) , accumulate ) ;
+ }
+ else
+ {
+ if( dabss (zreals(accumulate)) <= 3e-14 ) accumulate = DoubleComplex(dabss(zreals(accumulate)) ,zimags(accumulate));
+ if( dabss (zimags(accumulate)) <= 3e-14 ) accumulate = DoubleComplex(zreals(accumulate) ,dabss(zimags(accumulate)));
+ accumulate = zrdivs(accumulate, zdiffs(accumulateFre ,DoubleComplex(1.0,0.0)));
+ out[j] = zsqrts(accumulate);
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/zrowstdevfa.c b/src/c/statisticsFunctions/stdevf/zrowstdevfa.c
new file mode 100644
index 0000000..bfa77aa
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/zrowstdevfa.c
@@ -0,0 +1,63 @@
+/*
+ * 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 "stdevf.h"
+#include "meanf.h"
+#include "abs.h"
+
+
+
+void zrowstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex*in2, doubleComplex* out){
+ int i = 0;
+ int j = 0;
+ doubleComplex temp = DoubleComplex(0.0,0.0);
+ doubleComplex accumulate = DoubleComplex(0.0,0.0);
+ doubleComplex accumulateFre = DoubleComplex(0.0,0.0);
+
+ zrowmeanfa(in1, lines, columns, in2, out );
+
+ /*we first multiply each zell of the input matrix by its coefficient*/
+ for (j = 0; j < columns; ++j)
+ {
+
+ accumulate = DoubleComplex(0.0,0.0);
+ accumulateFre =DoubleComplex(0.0,0.0);
+ temp = DoubleComplex(0.0,0.0);
+
+ for ( i = 0 ; i < lines; ++i )
+ {
+
+ temp = zpows ( zdiffs (in1[lines*j + i] ,out[j] ) ,DoubleComplex (2.0, 0.0 ) );
+ temp = zmuls( in2[lines*j + i] , temp);
+
+ accumulate = zadds( temp , accumulate);
+ accumulateFre = zadds(in2[lines*j + i] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+ out[j] = zmuls (DoubleComplex(0.0,0.0) , accumulate ) ;
+ }
+ else
+ {
+ if( dabss (zreals(accumulate)) <= 3e-14 ) accumulate = DoubleComplex(dabss(zreals(accumulate)) ,zimags(accumulate));
+ if( dabss (zimags(accumulate)) <= 3e-14 ) accumulate = DoubleComplex(zreals(accumulate) ,dabss(zimags(accumulate)));
+
+
+ accumulate = zrdivs(accumulate, zdiffs(accumulateFre ,DoubleComplex(1.0,0.0)));
+ out[j] = zsqrts(accumulate);
+
+ }
+ }
+
+}
diff --git a/src/c/statisticsFunctions/stdevf/zstdevfa.c b/src/c/statisticsFunctions/stdevf/zstdevfa.c
new file mode 100644
index 0000000..2a4f52b
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/zstdevfa.c
@@ -0,0 +1,46 @@
+/*
+ * 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 "stdevf.h"
+
+
+doubleComplex zstdevfa(doubleComplex *in1, int lines, int columns, doubleComplex* in2)
+{
+ int i = 0 ;
+
+ doubleComplex temp = DoubleComplex(0.0,0.0);
+ doubleComplex accumulate = DoubleComplex(0.0,0.0);
+ doubleComplex accumulateFre = DoubleComplex(0.0,0.0);
+ doubleComplex meanf = zmeanfa (in1 , lines*columns , in2);
+
+ for(i = 0 ; i < lines*columns ; ++i)
+ {
+ temp = zpows ( zdiffs (in1[i] , meanf ) ,DoubleComplex (2.0, 0.0 ) );
+ temp = zmuls( in2[i] , temp);
+
+ accumulate = zadds( temp , accumulate);
+ accumulateFre = zadds(in2[i ] ,accumulateFre );
+
+ }
+
+ if (lines <= 1)
+ {
+
+ return zmuls (DoubleComplex(0.0,0.0) , accumulate ) ;
+ }
+ else
+ {
+
+ accumulate = zrdivs(accumulate, zdiffs(accumulateFre ,DoubleComplex(1.0,0.0) ));
+ return zsqrts(accumulate);
+ }
+}
diff --git a/src/c/statisticsFunctions/stdevf/zstdevfdz.c b/src/c/statisticsFunctions/stdevf/zstdevfdz.c
new file mode 100644
index 0000000..90feb21
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/zstdevfdz.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 <stdlib.h>
+#include "stdevf.h"
+#include "zeros.h"
+
+doubleComplex zstdevfdz(double *in1, int lines, int columns, doubleComplex* in2)
+{
+ double* ZEROS = (double *) malloc((unsigned int)(lines*columns*sizeof(double)));
+ dzerosa(ZEROS,lines,columns);
+
+ return zstdevfa(DoubleComplexMatrix(in1,ZEROS,lines*columns), lines,columns , in2);
+}
diff --git a/src/c/statisticsFunctions/stdevf/zstdevfzd.c b/src/c/statisticsFunctions/stdevf/zstdevfzd.c
new file mode 100644
index 0000000..f7a28e3
--- /dev/null
+++ b/src/c/statisticsFunctions/stdevf/zstdevfzd.c
@@ -0,0 +1,41 @@
+/*
+ * 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 "stdevf.h"
+
+doubleComplex zstdevfzd(doubleComplex *in1, int lines, int columns, double* in2)
+{
+ int i = 0 ;
+ doubleComplex temp = DoubleComplex(0.0,0.0);
+ doubleComplex accumulate = DoubleComplex(0.0,0.0);
+ double accumulateFre = 0.0 ;
+ doubleComplex meanf = zmeanfzd (in1 , lines , columns , in2);
+/*equivalent to (in1 - meanf(x , in2 )).^2 .*in2 */
+ for(i = 0 ; i < lines*columns ; ++i)
+ {
+ temp = zpows ( zdiffs (in1[i] , meanf ) ,DoubleComplex (2.0, 0.0 ) );
+ temp = zmuls( DoubleComplex(in2[i],0.0f) , temp);
+
+ accumulate = zadds( temp , accumulate);
+ accumulateFre += in2[i];
+ }
+
+ if (lines <= 1)
+ {
+ return zmuls (DoubleComplex(0.0,0.0) , accumulate ) ;
+ }
+ else
+ {
+ accumulate = DoubleComplex( zreals(accumulate ) / (accumulateFre - 1) , zimags(accumulate) / (accumulateFre - 1));
+ return zsqrts(accumulate);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/Makefile.am b/src/c/statisticsFunctions/sum/Makefile.am
new file mode 100644
index 0000000..0fd7965
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/Makefile.am
@@ -0,0 +1,65 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+##
+## 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
+##
+##
+
+libSum_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libSum.la
+
+libSum_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = ssuma.c \
+ srowsuma.c \
+ scolumnsuma.c \
+ dsuma.c \
+ drowsuma.c \
+ dcolumnsuma.c \
+ csuma.c \
+ crowsuma.c \
+ ccolumnsuma.c \
+ zsuma.c \
+ zrowsuma.c \
+ zcolumnsuma.c
+
+HEAD = ../includes/sum.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatSum testDoubleSum
+
+TESTS = testFloatSum testDoubleSum
+
+#
+# -*- Sum Tests -*-
+#
+testFloatSum_SOURCES = testFloatSum.c
+testFloatSum_CFLAGS = $(check_INCLUDES)
+testFloatSum_LDADD = $(check_LDADD)
+
+testDoubleSum_SOURCES =testDoubleSum.c
+testDoubleSum_CFLAGS = $(check_INCLUDES)
+testDoubleSum_LDADD = $(check_LDADD) \ No newline at end of file
diff --git a/src/c/statisticsFunctions/sum/Makefile.in b/src/c/statisticsFunctions/sum/Makefile.in
new file mode 100644
index 0000000..f3d5a85
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/Makefile.in
@@ -0,0 +1,831 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatSum$(EXEEXT) testDoubleSum$(EXEEXT)
+TESTS = testFloatSum$(EXEEXT) testDoubleSum$(EXEEXT)
+subdir = src/c/statisticsFunctions/sum
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libSum_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libSum_la-ssuma.lo libSum_la-srowsuma.lo \
+ libSum_la-scolumnsuma.lo libSum_la-dsuma.lo \
+ libSum_la-drowsuma.lo libSum_la-dcolumnsuma.lo \
+ libSum_la-csuma.lo libSum_la-crowsuma.lo \
+ libSum_la-ccolumnsuma.lo libSum_la-zsuma.lo \
+ libSum_la-zrowsuma.lo libSum_la-zcolumnsuma.lo
+am_libSum_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libSum_la_OBJECTS = $(am_libSum_la_OBJECTS)
+libSum_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libSum_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleSum_OBJECTS = testDoubleSum-testDoubleSum.$(OBJEXT)
+testDoubleSum_OBJECTS = $(am_testDoubleSum_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la
+testDoubleSum_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleSum_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleSum_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatSum_OBJECTS = testFloatSum-testFloatSum.$(OBJEXT)
+testFloatSum_OBJECTS = $(am_testFloatSum_OBJECTS)
+testFloatSum_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatSum_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatSum_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
+am__mv = mv -f
+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 = $(libSum_la_SOURCES) $(testDoubleSum_SOURCES) \
+ $(testFloatSum_SOURCES)
+DIST_SOURCES = $(libSum_la_SOURCES) $(testDoubleSum_SOURCES) \
+ $(testFloatSum_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libSum_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libSum.la
+libSum_la_SOURCES = $(HEAD) $(SRC)
+SRC = ssuma.c \
+ srowsuma.c \
+ scolumnsuma.c \
+ dsuma.c \
+ drowsuma.c \
+ dcolumnsuma.c \
+ csuma.c \
+ crowsuma.c \
+ ccolumnsuma.c \
+ zsuma.c \
+ zrowsuma.c \
+ zcolumnsuma.c
+
+HEAD = ../includes/sum.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ @LIBMATH@
+
+
+#
+# -*- Sum Tests -*-
+#
+testFloatSum_SOURCES = testFloatSum.c
+testFloatSum_CFLAGS = $(check_INCLUDES)
+testFloatSum_LDADD = $(check_LDADD)
+testDoubleSum_SOURCES = testDoubleSum.c
+testDoubleSum_CFLAGS = $(check_INCLUDES)
+testDoubleSum_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/sum/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/sum/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libSum.la: $(libSum_la_OBJECTS) $(libSum_la_DEPENDENCIES)
+ $(libSum_la_LINK) -rpath $(pkglibdir) $(libSum_la_OBJECTS) $(libSum_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleSum$(EXEEXT): $(testDoubleSum_OBJECTS) $(testDoubleSum_DEPENDENCIES)
+ @rm -f testDoubleSum$(EXEEXT)
+ $(testDoubleSum_LINK) $(testDoubleSum_OBJECTS) $(testDoubleSum_LDADD) $(LIBS)
+testFloatSum$(EXEEXT): $(testFloatSum_OBJECTS) $(testFloatSum_DEPENDENCIES)
+ @rm -f testFloatSum$(EXEEXT)
+ $(testFloatSum_LINK) $(testFloatSum_OBJECTS) $(testFloatSum_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-ccolumnsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-crowsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-csuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-dcolumnsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-drowsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-dsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-scolumnsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-srowsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-ssuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-zcolumnsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-zrowsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSum_la-zsuma.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleSum-testDoubleSum.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatSum-testFloatSum.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libSum_la-ssuma.lo: ssuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-ssuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-ssuma.Tpo -c -o libSum_la-ssuma.lo `test -f 'ssuma.c' || echo '$(srcdir)/'`ssuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-ssuma.Tpo $(DEPDIR)/libSum_la-ssuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ssuma.c' object='libSum_la-ssuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-ssuma.lo `test -f 'ssuma.c' || echo '$(srcdir)/'`ssuma.c
+
+libSum_la-srowsuma.lo: srowsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-srowsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-srowsuma.Tpo -c -o libSum_la-srowsuma.lo `test -f 'srowsuma.c' || echo '$(srcdir)/'`srowsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-srowsuma.Tpo $(DEPDIR)/libSum_la-srowsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowsuma.c' object='libSum_la-srowsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-srowsuma.lo `test -f 'srowsuma.c' || echo '$(srcdir)/'`srowsuma.c
+
+libSum_la-scolumnsuma.lo: scolumnsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-scolumnsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-scolumnsuma.Tpo -c -o libSum_la-scolumnsuma.lo `test -f 'scolumnsuma.c' || echo '$(srcdir)/'`scolumnsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-scolumnsuma.Tpo $(DEPDIR)/libSum_la-scolumnsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnsuma.c' object='libSum_la-scolumnsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-scolumnsuma.lo `test -f 'scolumnsuma.c' || echo '$(srcdir)/'`scolumnsuma.c
+
+libSum_la-dsuma.lo: dsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-dsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-dsuma.Tpo -c -o libSum_la-dsuma.lo `test -f 'dsuma.c' || echo '$(srcdir)/'`dsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-dsuma.Tpo $(DEPDIR)/libSum_la-dsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsuma.c' object='libSum_la-dsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-dsuma.lo `test -f 'dsuma.c' || echo '$(srcdir)/'`dsuma.c
+
+libSum_la-drowsuma.lo: drowsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-drowsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-drowsuma.Tpo -c -o libSum_la-drowsuma.lo `test -f 'drowsuma.c' || echo '$(srcdir)/'`drowsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-drowsuma.Tpo $(DEPDIR)/libSum_la-drowsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowsuma.c' object='libSum_la-drowsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-drowsuma.lo `test -f 'drowsuma.c' || echo '$(srcdir)/'`drowsuma.c
+
+libSum_la-dcolumnsuma.lo: dcolumnsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-dcolumnsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-dcolumnsuma.Tpo -c -o libSum_la-dcolumnsuma.lo `test -f 'dcolumnsuma.c' || echo '$(srcdir)/'`dcolumnsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-dcolumnsuma.Tpo $(DEPDIR)/libSum_la-dcolumnsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnsuma.c' object='libSum_la-dcolumnsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-dcolumnsuma.lo `test -f 'dcolumnsuma.c' || echo '$(srcdir)/'`dcolumnsuma.c
+
+libSum_la-csuma.lo: csuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-csuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-csuma.Tpo -c -o libSum_la-csuma.lo `test -f 'csuma.c' || echo '$(srcdir)/'`csuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-csuma.Tpo $(DEPDIR)/libSum_la-csuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='csuma.c' object='libSum_la-csuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-csuma.lo `test -f 'csuma.c' || echo '$(srcdir)/'`csuma.c
+
+libSum_la-crowsuma.lo: crowsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-crowsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-crowsuma.Tpo -c -o libSum_la-crowsuma.lo `test -f 'crowsuma.c' || echo '$(srcdir)/'`crowsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-crowsuma.Tpo $(DEPDIR)/libSum_la-crowsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowsuma.c' object='libSum_la-crowsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-crowsuma.lo `test -f 'crowsuma.c' || echo '$(srcdir)/'`crowsuma.c
+
+libSum_la-ccolumnsuma.lo: ccolumnsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-ccolumnsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-ccolumnsuma.Tpo -c -o libSum_la-ccolumnsuma.lo `test -f 'ccolumnsuma.c' || echo '$(srcdir)/'`ccolumnsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-ccolumnsuma.Tpo $(DEPDIR)/libSum_la-ccolumnsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnsuma.c' object='libSum_la-ccolumnsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-ccolumnsuma.lo `test -f 'ccolumnsuma.c' || echo '$(srcdir)/'`ccolumnsuma.c
+
+libSum_la-zsuma.lo: zsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-zsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-zsuma.Tpo -c -o libSum_la-zsuma.lo `test -f 'zsuma.c' || echo '$(srcdir)/'`zsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-zsuma.Tpo $(DEPDIR)/libSum_la-zsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zsuma.c' object='libSum_la-zsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-zsuma.lo `test -f 'zsuma.c' || echo '$(srcdir)/'`zsuma.c
+
+libSum_la-zrowsuma.lo: zrowsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-zrowsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-zrowsuma.Tpo -c -o libSum_la-zrowsuma.lo `test -f 'zrowsuma.c' || echo '$(srcdir)/'`zrowsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-zrowsuma.Tpo $(DEPDIR)/libSum_la-zrowsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowsuma.c' object='libSum_la-zrowsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-zrowsuma.lo `test -f 'zrowsuma.c' || echo '$(srcdir)/'`zrowsuma.c
+
+libSum_la-zcolumnsuma.lo: zcolumnsuma.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSum_la_CFLAGS) $(CFLAGS) -MT libSum_la-zcolumnsuma.lo -MD -MP -MF $(DEPDIR)/libSum_la-zcolumnsuma.Tpo -c -o libSum_la-zcolumnsuma.lo `test -f 'zcolumnsuma.c' || echo '$(srcdir)/'`zcolumnsuma.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSum_la-zcolumnsuma.Tpo $(DEPDIR)/libSum_la-zcolumnsuma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnsuma.c' object='libSum_la-zcolumnsuma.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) $(libSum_la_CFLAGS) $(CFLAGS) -c -o libSum_la-zcolumnsuma.lo `test -f 'zcolumnsuma.c' || echo '$(srcdir)/'`zcolumnsuma.c
+
+testDoubleSum-testDoubleSum.o: testDoubleSum.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSum_CFLAGS) $(CFLAGS) -MT testDoubleSum-testDoubleSum.o -MD -MP -MF $(DEPDIR)/testDoubleSum-testDoubleSum.Tpo -c -o testDoubleSum-testDoubleSum.o `test -f 'testDoubleSum.c' || echo '$(srcdir)/'`testDoubleSum.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSum-testDoubleSum.Tpo $(DEPDIR)/testDoubleSum-testDoubleSum.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSum.c' object='testDoubleSum-testDoubleSum.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) $(testDoubleSum_CFLAGS) $(CFLAGS) -c -o testDoubleSum-testDoubleSum.o `test -f 'testDoubleSum.c' || echo '$(srcdir)/'`testDoubleSum.c
+
+testDoubleSum-testDoubleSum.obj: testDoubleSum.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSum_CFLAGS) $(CFLAGS) -MT testDoubleSum-testDoubleSum.obj -MD -MP -MF $(DEPDIR)/testDoubleSum-testDoubleSum.Tpo -c -o testDoubleSum-testDoubleSum.obj `if test -f 'testDoubleSum.c'; then $(CYGPATH_W) 'testDoubleSum.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSum.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSum-testDoubleSum.Tpo $(DEPDIR)/testDoubleSum-testDoubleSum.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSum.c' object='testDoubleSum-testDoubleSum.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) $(testDoubleSum_CFLAGS) $(CFLAGS) -c -o testDoubleSum-testDoubleSum.obj `if test -f 'testDoubleSum.c'; then $(CYGPATH_W) 'testDoubleSum.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSum.c'; fi`
+
+testFloatSum-testFloatSum.o: testFloatSum.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSum_CFLAGS) $(CFLAGS) -MT testFloatSum-testFloatSum.o -MD -MP -MF $(DEPDIR)/testFloatSum-testFloatSum.Tpo -c -o testFloatSum-testFloatSum.o `test -f 'testFloatSum.c' || echo '$(srcdir)/'`testFloatSum.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSum-testFloatSum.Tpo $(DEPDIR)/testFloatSum-testFloatSum.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSum.c' object='testFloatSum-testFloatSum.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) $(testFloatSum_CFLAGS) $(CFLAGS) -c -o testFloatSum-testFloatSum.o `test -f 'testFloatSum.c' || echo '$(srcdir)/'`testFloatSum.c
+
+testFloatSum-testFloatSum.obj: testFloatSum.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSum_CFLAGS) $(CFLAGS) -MT testFloatSum-testFloatSum.obj -MD -MP -MF $(DEPDIR)/testFloatSum-testFloatSum.Tpo -c -o testFloatSum-testFloatSum.obj `if test -f 'testFloatSum.c'; then $(CYGPATH_W) 'testFloatSum.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSum.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSum-testFloatSum.Tpo $(DEPDIR)/testFloatSum-testFloatSum.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSum.c' object='testFloatSum-testFloatSum.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) $(testFloatSum_CFLAGS) $(CFLAGS) -c -o testFloatSum-testFloatSum.obj `if test -f 'testFloatSum.c'; then $(CYGPATH_W) 'testFloatSum.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSum.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/sum/ccolumnsuma.c b/src/c/statisticsFunctions/sum/ccolumnsuma.c
new file mode 100644
index 0000000..64018cd
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/ccolumnsuma.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void ccolumnsuma(floatComplex *in, int lines, int columns, floatComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = cadds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/crowsuma.c b/src/c/statisticsFunctions/sum/crowsuma.c
new file mode 100644
index 0000000..aaf3c59
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/crowsuma.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void crowsuma(floatComplex *in, int lines, int columns, floatComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = cadds( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/csuma.c b/src/c/statisticsFunctions/sum/csuma.c
new file mode 100644
index 0000000..68ebb29
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/csuma.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+floatComplex csuma(floatComplex *in, int size) {
+ floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = cadds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/sum/dcolumnsuma.c b/src/c/statisticsFunctions/sum/dcolumnsuma.c
new file mode 100644
index 0000000..1f9b479
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/dcolumnsuma.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void dcolumnsuma(double *in, int lines, int columns, double * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] += in[i];
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/drowsuma.c b/src/c/statisticsFunctions/sum/drowsuma.c
new file mode 100644
index 0000000..f5e2ed3
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/drowsuma.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void drowsuma(double *in, int lines, int columns, double *out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] += in[((i - 1) % columns) * lines + 1 + (i - 1) / columns];
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/dsuma.c b/src/c/statisticsFunctions/sum/dsuma.c
new file mode 100644
index 0000000..eddceb6
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/dsuma.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+double dsuma(double *in, int size) {
+ double accumulate = 0.0;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += in[i];
+ }
+ return accumulate;
+
+}
diff --git a/src/c/statisticsFunctions/sum/i16columnsuma.c b/src/c/statisticsFunctions/sum/i16columnsuma.c
new file mode 100644
index 0000000..a34cea1
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i16columnsuma.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void i16columnsuma(int16 *in, int lines, int columns, int16 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = (int16)in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = (int16)i16adds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/i16rowsuma.c b/src/c/statisticsFunctions/sum/i16rowsuma.c
new file mode 100644
index 0000000..03d8ff2
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i16rowsuma.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void i16rowsuma(int16 *in, int lines, int columns, int16 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = (int16)in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = (int16)i16adds( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/i16suma.c b/src/c/statisticsFunctions/sum/i16suma.c
new file mode 100644
index 0000000..f5d0809
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i16suma.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+int16 i16suma(int16 *in, int size) {
+ //floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+ int16 accumulate = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = i16adds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/sum/i8columnsuma.c b/src/c/statisticsFunctions/sum/i8columnsuma.c
new file mode 100644
index 0000000..bb79897
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i8columnsuma.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void i8columnsuma(int8 *in, int lines, int columns, int8 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = (int8)in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = (int8)i8adds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/i8rowsuma.c b/src/c/statisticsFunctions/sum/i8rowsuma.c
new file mode 100644
index 0000000..2008f32
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i8rowsuma.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void i8rowsuma(int8 *in, int lines, int columns, int8 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = (int8)in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = (int8)i8adds( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/i8suma.c b/src/c/statisticsFunctions/sum/i8suma.c
new file mode 100644
index 0000000..468a98b
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/i8suma.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+int8 i8suma(int8 *in, int size) {
+ //floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int8 accumulate = 0;
+
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = i8adds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/sum/scolumnsuma.c b/src/c/statisticsFunctions/sum/scolumnsuma.c
new file mode 100644
index 0000000..4d2415f
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/scolumnsuma.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void scolumnsuma(float *in, int lines, int columns, float * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] += in[i];
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/srowsuma.c b/src/c/statisticsFunctions/sum/srowsuma.c
new file mode 100644
index 0000000..3f20661
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/srowsuma.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void srowsuma(float *in, int lines, int columns, float * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] += in[((i - 1) % columns) * lines + 1 + (i - 1) / columns];
+ }
+}
+
diff --git a/src/c/statisticsFunctions/sum/ssuma.c b/src/c/statisticsFunctions/sum/ssuma.c
new file mode 100644
index 0000000..aabc7fe
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/ssuma.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+float ssuma(float *in, int size) {
+ float accumulate = 0.0f;
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += in[i];
+ }
+ return accumulate;
+
+}
diff --git a/src/c/statisticsFunctions/sum/testDoubleSum.c b/src/c/statisticsFunctions/sum/testDoubleSum.c
new file mode 100644
index 0000000..b411a7d
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/testDoubleSum.c
@@ -0,0 +1,493 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 <math.h>
+#include "sum.h"
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dsumsTest(void) {
+ double value1 = 3.0;
+ double value2 = 1.123456789;
+
+ printf("\n>>>> Sum Double Scalar Test\n");
+ assert(dsums(value1) == 3.0);
+ assert(dsums(value2) == 1.123456789);
+
+ return 0;
+}
+
+static int dsumaTest(void) {
+ double table1[3] = {3.0, 3.0, 3.0};
+ double table2[5] = {9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563,
+ 9.186784563};
+
+ printf("\n>>>> Sum Double Array Test\n");
+ assert(dsuma(table1, 3) == 9.0);
+ assert((dsuma(table2, 5) - (9.186784653 + 9.186785634 + 9.186784563 + 9.186784563 + 9.186784563)) < 3e-16);
+ return 0;
+}
+
+static int dcolumnsumaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double columnSummedTable1_3_3[3] = {0};
+ double columnSummedTable1_1_9[1] = {0};
+ double columnSummedTable1_9_1[9] = {0};
+ double columnSummedTable2_2_5[2] = {0};
+ double columnSummedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Sum Double Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 6 15 24 ]
+ [ 7 8 9 ]
+ */
+ dcolumnsuma(table1, 3, 3,columnSummedTable1_3_3);
+ assert(columnSummedTable1_3_3[0] == 6.0);
+ assert(columnSummedTable1_3_3[1] == 15.0);
+ assert(columnSummedTable1_3_3[2] == 24.0);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ dcolumnsuma(table1, 1, 9,columnSummedTable1_1_9);
+ assert(columnSummedTable1_1_9[0] == 45.0);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ dcolumnsuma(table1, 9, 1,columnSummedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnSummedTable1_9_1[%d] = %e\n", i, columnSummedTable1_9_1[i]);
+ assert(columnSummedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 25 30 ]
+ */
+ dcolumnsuma(table2, 2, 5,columnSummedTable2_2_5);
+ assert(columnSummedTable2_2_5[0] == 25.0);
+ assert(columnSummedTable2_2_5[1] == 30.0);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnSummedTable2_2_5[%d] = %e\n", i, columnSummedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 7 9 11 13 15 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ dcolumnsuma(table2, 5, 2,columnSummedTable2_5_2);
+ assert(columnSummedTable2_5_2[0] == 7.0);
+ assert(columnSummedTable2_5_2[1] == 9.0);
+ assert(columnSummedTable2_5_2[2] == 11.0);
+ assert(columnSummedTable2_5_2[3] == 13.0);
+ assert(columnSummedTable2_5_2[4] == 15.0);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnSummedTable2_5_2[%d] = %e\n", i, columnSummedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int drowsumaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double rowSummedTable1_3_3[3] = {0};
+ double rowSummedTable1_1_9[9] = {0};
+ double rowSummedTable1_9_1[1] = {0};
+ double rowSummedTable2_2_5[5] = {0};
+ double rowSummedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Sum Double Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 12 15 18 ]
+ [ 7 8 9 ]
+ */
+ drowsuma(table1, 3, 3,rowSummedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowSummedTable1_3_3[%d] = %e\n", i, rowSummedTable1_3_3[i]);
+ }
+ assert(rowSummedTable1_3_3[0] == 12.0);
+ assert(rowSummedTable1_3_3[1] == 15.0);
+ assert(rowSummedTable1_3_3[2] == 18.0);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ drowsuma(table1, 1, 9,rowSummedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowSummedTable1_1_9[%d] = %e\n", i, rowSummedTable1_1_9[i]);
+ assert(rowSummedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ drowsuma(table1, 9, 1,rowSummedTable1_9_1);
+ assert(rowSummedTable1_9_1[0] == 45.0);
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 3 7 11 15 19 ]
+ */
+ drowsuma(table2, 2, 5,rowSummedTable2_2_5);
+ assert(rowSummedTable2_2_5[0] == 3.0);
+ assert(rowSummedTable2_2_5[1] == 7.0);
+ assert(rowSummedTable2_2_5[2] == 11.0);
+ assert(rowSummedTable2_2_5[3] == 15.0);
+ assert(rowSummedTable2_2_5[4] == 19.0);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowSummedTable2_2_5[%d] = %e\n", i, rowSummedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 15 40 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ drowsuma(table2, 5, 2,rowSummedTable2_5_2);
+ assert(rowSummedTable2_5_2[0] == 15.0);
+ assert(rowSummedTable2_5_2[1] == 40.0);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowSummedTable2_5_2[%d] = %e\n", i, rowSummedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int zsumsTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex value2 = DoubleComplex(1.123456789, 1.123456789);
+
+ printf("\n>>>> Sum Double Complex Scalar Test\n");
+ assert(zreals(zsums(value1)) == 3.0);
+ assert(zimags(zsums(value1)) == 3.0);
+ assert(zreals(zsums(value2)) == 1.123456789);
+ assert(zimags(zsums(value2)) == 1.123456789);
+ return 0;
+}
+
+static int zsumaTest(void) {
+ doubleComplex value1 = DoubleComplex(3.0, 3.0);
+ doubleComplex table1[3];
+ doubleComplex value2 = DoubleComplex(9.186784563,9.186784563);
+ doubleComplex table2[5];
+
+ printf("\n>>>> Sum Double Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", zimags(zsuma(table1, 3)));
+ printf("%e\n", zreals(zsuma(table2, 5)));
+ printf("%e\n", zimags(zsuma(table2, 5)));
+ printf("%e\n", zreals(zsuma(table2, 5)));
+ printf("%e\n", zimags(zsuma(table2, 5)));
+ printf("--------\n");
+#endif
+ assert(zreals(zsuma(table1, 3)) == 9.0);
+ assert(zimags(zsuma(table1, 3)) == 9.0);
+ assert(zreals(zsuma(table2, 5)) == 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563);
+ assert(zimags(zsuma(table2, 5)) == 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563 + 9.186784563);
+
+ return 0;
+}
+
+static int zrowsumaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex rowSummedIn_4_3[3];
+ doubleComplex rowSummedIn_3_4[4];
+ doubleComplex rowSummedIn_6_2[2];
+ doubleComplex rowSummedIn_2_6[6];
+ doubleComplex rowSummedIn_1_12[12];
+ doubleComplex rowSummedIn_12_1[1];
+
+ printf("\n>>>> Row Sum Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6+3.8i 2.2+2.2i 3.8+0.6i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ zrowsuma(in, 4, 3, rowSummedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowSummedIn_4_3[%d] = %e + %ei\n", i, zreals(rowSummedIn_4_3[i]), zimags(rowSummedIn_4_3[i]));
+ }
+ assert(fabs(zreals(rowSummedIn_4_3[0]) -0.6) < 2e-16);
+ assert(zimags(rowSummedIn_4_3[0]) == 3.8);
+ assert(zreals(rowSummedIn_4_3[1]) == 2.2);
+ assert(fabs(zimags(rowSummedIn_4_3[1]) - 2.2) < 1e-15);
+ assert(fabs(zreals(rowSummedIn_4_3[2]) - 3.8) < 1e-15);
+ assert(zimags(rowSummedIn_4_3[2]) == 0.6);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 0.3+3.i 1.2+2.1i 2.1+1.2i 3.+0.3i]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ zrowsuma(in, 3, 4, rowSummedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowSummedIn_3_4[%d] = %e + %ei\n", i, zreals(rowSummedIn_3_4[i]), zimags(rowSummedIn_3_4[i]));
+ }
+ assert(fabs(zreals(rowSummedIn_3_4[0]) - 0.3) < 1e-16);
+ assert(zimags(rowSummedIn_3_4[0]) == 3.0);
+ assert(zreals(rowSummedIn_3_4[1]) == 1.2 && zimags(rowSummedIn_3_4[1]) == 2.1);
+ assert(fabs(zreals(rowSummedIn_3_4[2]) - 2.1) < 1e-15);
+ assert(zimags(rowSummedIn_3_4[2]) == 1.2);
+ assert(zreals(rowSummedIn_3_4[3]) == 3.0);
+ assert(fabs(zimags(rowSummedIn_3_4[3]) - 0.3) < 1e-16);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 1.5+5.1i 5.1+1.5i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ zrowsuma(in, 6, 2, rowSummedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowSummedIn_6_2[%d] = %e + %ei\n", i, zreals(rowSummedIn_6_2[i]), zimags(rowSummedIn_6_2[i]));
+ }
+ assert(zreals(rowSummedIn_6_2[0]) == 1.5 && zimags(rowSummedIn_6_2[0]) == 5.1);
+ assert(zreals(rowSummedIn_6_2[1]) == 5.1 && zimags(rowSummedIn_6_2[1]) == 1.5);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 0.1+2.1i 0.5+1.7i 0.9+1.3i 1.3+0.9i 1.7+0.5i 2.1+0.1i ]
+ */
+ zrowsuma(in, 2, 6, rowSummedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowSummedIn_2_6[%d] = %e + %ei\n", i, zreals(rowSummedIn_2_6[i]), zimags(rowSummedIn_2_6[i]));
+ }
+ assert(zreals(rowSummedIn_2_6[0]) == 0.1 && zimags(rowSummedIn_2_6[0]) == 2.1);
+ assert(zreals(rowSummedIn_2_6[1]) == 0.5);
+ assert(fabs(zimags(rowSummedIn_2_6[1]) - 1.7) < 3e-16);
+ assert(zreals(rowSummedIn_2_6[2]) == 0.9);
+ assert(fabs(zimags(rowSummedIn_2_6[2]) - 1.3) < 3e-16);
+ assert(fabs(zreals(rowSummedIn_2_6[3]) - 1.3) < 3e-16);
+ assert(zimags(rowSummedIn_2_6[3]) == 0.9);
+ assert(fabs(zreals(rowSummedIn_2_6[4]) - 1.7) < 3e-16);
+ assert(zimags(rowSummedIn_2_6[4]) == 0.5);
+ assert(zreals(rowSummedIn_2_6[5]) == 2.1 && zimags(rowSummedIn_2_6[5]) == 0.1);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ zrowsuma(in, 1, 12, rowSummedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowSummedIn_1_12[%d] = %e + %ei\n", i, zreals(rowSummedIn_1_12[i]), zimags(rowSummedIn_1_12[i]));
+ assert(zreals(rowSummedIn_1_12[i]) == zreals(in[i]) && zimags(rowSummedIn_1_12[i]) == zimags(in[i]));
+ }
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 6.6+6.6i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ zrowsuma(in, 12, 1, rowSummedIn_12_1);
+ printf("rowSummedIn_12_1[%d] = %e + %ei\n", 0, zreals(rowSummedIn_12_1[0]), zimags(rowSummedIn_12_1[0]));
+ assert(zreals(rowSummedIn_12_1[0]) == 6.6 && zimags(rowSummedIn_12_1[0]) == 6.6);
+
+ return 0;
+}
+
+static int zcolumnsumaTest(void) {
+ int i = 0;
+ doubleComplex in[12];
+ doubleComplex columnSummedIn_4_3[4];
+ doubleComplex columnSummedIn_3_4[3];
+ doubleComplex columnSummedIn_6_2[6];
+ doubleComplex columnSummedIn_2_6[2];
+ doubleComplex columnSummedIn_1_12[1];
+ doubleComplex columnSummedIn_12_1[12];
+
+ printf("\n>>>> ColumnSum Double Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = DoubleComplex((double) i / 10.0, (11.0 - (double) i) / 10.0);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 1.2+2.1i 1.5+1.8i 1.8+1.5i 2.1+1.2i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ zcolumnsuma(in, 4, 3, columnSummedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnSummedIn_4_3[%d] = %e + %ei\n", i, zreals(columnSummedIn_4_3[i]), zimags(columnSummedIn_4_3[i]));
+ }
+ assert(fabs(zreals(columnSummedIn_4_3[0]) - 1.2) < 1e-15);
+ assert(zimags(columnSummedIn_4_3[0]) == 2.1);
+ assert(zreals(columnSummedIn_4_3[1]) == 1.5 && zimags(columnSummedIn_4_3[1]) == 1.8);
+ assert(zreals(columnSummedIn_4_3[2]) == 1.8 && zimags(columnSummedIn_4_3[2]) == 1.5);
+ assert(zreals(columnSummedIn_4_3[3]) == 2.1);
+ assert(fabs(zimags(columnSummedIn_4_3[3]) - 1.2) < 1e-15);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 1.8+2.6i 2.2+2.2i 2.6+1.8i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ zcolumnsuma(in, 3, 4, columnSummedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnSummedIn_3_4[%d] = %e + %ei\n", i, zreals(columnSummedIn_3_4[i]), zimags(columnSummedIn_3_4[i]));
+ }
+ assert(fabs(zreals(columnSummedIn_3_4[0]) - 1.8) < 1e-15);
+ assert(fabs(zimags(columnSummedIn_3_4[0]) - 2.6) < 1e-15);
+ assert(zreals(columnSummedIn_3_4[1]) == 2.2 && zimags(columnSummedIn_3_4[1]) == 2.2);
+ assert(zreals(columnSummedIn_3_4[2]) == 2.6 && zimags(columnSummedIn_3_4[2]) == 1.8);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.6+1.6i 0.8+1.4i 1+1.2i 1.2+i 1.4+0.8i 1.6+0.6i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ zcolumnsuma(in, 6, 2, columnSummedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnSummedIn_6_2[%d] = %e + %ei\n", i, zreals(columnSummedIn_6_2[i]), zimags(columnSummedIn_6_2[i]));
+ }
+ assert(zreals(columnSummedIn_6_2[0]) == 0.6 && zimags(columnSummedIn_6_2[0]) == 1.6);
+ assert(fabs(zreals(columnSummedIn_6_2[1]) - 0.8) < 1e-15);
+ assert(zimags(columnSummedIn_6_2[1]) == 1.4);
+ assert(zreals(columnSummedIn_6_2[2]) == 1.0 && zimags(columnSummedIn_6_2[2]) == 1.2);
+ assert(zreals(columnSummedIn_6_2[3]) == 1.2 && zimags(columnSummedIn_6_2[3]) == 1.0);
+ assert(zreals(columnSummedIn_6_2[4]) == 1.4);
+ assert(fabs(zimags(columnSummedIn_6_2[4]) - 0.8) < 1e-15);
+ assert(zreals(columnSummedIn_6_2[5]) == 1.6 && zimags(columnSummedIn_6_2[5]) == 0.6);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 3+3.6i 3.6+3i ]
+ */
+ zcolumnsuma(in, 2, 6, columnSummedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnSummedIn_2_6[%d] = %e + %ei\n", i, zreals(columnSummedIn_2_6[i]), zimags(columnSummedIn_2_6[i]));
+ }
+ assert(zreals(columnSummedIn_2_6[0]) == 3.0 && zimags(columnSummedIn_2_6[0]) == 3.6);
+ assert(zreals(columnSummedIn_2_6[1]) == 3.6 && zimags(columnSummedIn_2_6[1]) == 3.0);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 6.6+6.6i ]
+ */
+ zcolumnsuma(in, 1, 12, columnSummedIn_1_12);
+ printf("columnSummedIn_1_12[%d] = %e + %ei\n", 0, zreals(columnSummedIn_1_12[0]), zimags(columnSummedIn_1_12[0]));
+ assert(zreals(columnSummedIn_1_12[0]) == 6.6 && zimags(columnSummedIn_1_12[0]) == 6.6);
+
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ zcolumnsuma(in, 12, 1, columnSummedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnSummedIn_12_1[%d] = %e + %ei\n", i, zreals(columnSummedIn_12_1[i]), zimags(columnSummedIn_12_1[i]));
+ assert(zreals(columnSummedIn_12_1[i]) == zreals(in[i]) && zimags(columnSummedIn_12_1[i]) == zimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testSum(void) {
+
+ dsumsTest();
+ dsumaTest();
+ drowsumaTest();
+ dcolumnsumaTest();
+ zsumsTest();
+ zsumaTest();
+ zrowsumaTest();
+ zcolumnsumaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testSum() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/sum/testFloatSum.c b/src/c/statisticsFunctions/sum/testFloatSum.c
new file mode 100644
index 0000000..090075c
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/testFloatSum.c
@@ -0,0 +1,481 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 <math.h>
+#include "sum.h"
+
+/* #define LOCAL_DEBUG */
+
+static int ssumsTest(void) {
+ float value1 = 3.0f;
+ float value2 = 1.123456789f;
+
+ printf("\n>>>> Sum Float Scalar Test\n");
+ assert(ssums(value1) == 3.0f);
+ assert(ssums(value2) == 1.123456789f);
+
+ return 0;
+}
+
+static int ssumaTest(void) {
+ float table1[3] = {3.0f, 3.0f, 3.0f};
+ float table2[5] = {9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f,
+ 9.186784563f};
+
+ printf("\n>>>> Sum Float Array Test\n");
+ assert(ssuma(table1, 3) == 9.0f);
+ assert((ssuma(table2, 5) - (9.186784f + 9.186784f + 9.186784f + 9.186784f + 9.186784f)) / ssuma(table2, 5) < 1e-6);
+ return 0;
+}
+
+static int scolumnsumaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float columnSummedTable1_3_3[3] = {0};
+ float columnSummedTable1_1_9[1] = {0};
+ float columnSummedTable1_9_1[9] = {0};
+ float columnSummedTable2_2_5[2] = {0};
+ float columnSummedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Sum Float Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 6 15 24 ]
+ [ 7 8 9 ]
+ */
+ scolumnsuma(table1, 3, 3,columnSummedTable1_3_3);
+ assert(columnSummedTable1_3_3[0] == 6.0f);
+ assert(columnSummedTable1_3_3[1] == 15.0f);
+ assert(columnSummedTable1_3_3[2] == 24.0f);
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ scolumnsuma(table1, 1, 9,columnSummedTable1_1_9);
+ assert(columnSummedTable1_1_9[0] == 45.0f);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ scolumnsuma(table1, 9, 1,columnSummedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnSummedTable1_9_1[%d] = %e\n", i, columnSummedTable1_9_1[i]);
+ assert(columnSummedTable1_9_1[i] == table1[i]);
+ }
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 25 30 ]
+ */
+ scolumnsuma(table2, 2, 5,columnSummedTable2_2_5);
+ assert(columnSummedTable2_2_5[0] == 25.0f);
+ assert(columnSummedTable2_2_5[1] == 30.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnSummedTable2_2_5[%d] = %e\n", i, columnSummedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 7 9 11 13 15 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ scolumnsuma(table2, 5, 2,columnSummedTable2_5_2);
+ assert(columnSummedTable2_5_2[0] == 7.0f);
+ assert(columnSummedTable2_5_2[1] == 9.0f);
+ assert(columnSummedTable2_5_2[2] == 11.0f);
+ assert(columnSummedTable2_5_2[3] == 13.0f);
+ assert(columnSummedTable2_5_2[4] == 15.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnSummedTable2_5_2[%d] = %e\n", i, columnSummedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int srowsumaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float rowSummedTable1_3_3[3] = {0};
+ float rowSummedTable1_1_9[9] = {0};
+ float rowSummedTable1_9_1[1] = {0};
+ float rowSummedTable2_2_5[5] = {0};
+ float rowSummedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Sum Float Array Test\n");
+ /*
+ [ 1 2 3 ]
+ [ 4 5 6 ] => [ 12 15 18 ]
+ [ 7 8 9 ]
+ */
+ srowsuma(table1, 3, 3,rowSummedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowSummedTable1_3_3[%d] = %e\n", i, rowSummedTable1_3_3[i]);
+ }
+ assert(rowSummedTable1_3_3[0] == 12.0f);
+ assert(rowSummedTable1_3_3[1] == 15.0f);
+ assert(rowSummedTable1_3_3[2] == 18.0f);
+
+ /*
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+ */
+ srowsuma(table1, 1, 9,rowSummedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowSummedTable1_1_9[%d] = %e\n", i, rowSummedTable1_1_9[i]);
+ assert(rowSummedTable1_1_9[i] == table1[i]);
+ }
+
+ /*
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+ */
+ srowsuma(table1, 9, 1,rowSummedTable1_9_1);
+ assert(rowSummedTable1_9_1[0] == 45.0f);
+
+ /*
+ [ 1 3 5 7 9 ]
+ [ 2 4 6 8 10 ] => [ 3 7 11 15 19 ]
+ */
+ srowsuma(table2, 2, 5,rowSummedTable2_2_5);
+ assert(rowSummedTable2_2_5[0] == 3.0f);
+ assert(rowSummedTable2_2_5[1] == 7.0f);
+ assert(rowSummedTable2_2_5[2] == 11.0f);
+ assert(rowSummedTable2_2_5[3] == 15.0f);
+ assert(rowSummedTable2_2_5[4] == 19.0f);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowSummedTable2_2_5[%d] = %e\n", i, rowSummedTable2_2_5[i]);
+ }
+
+ /*
+ [ 1 6 ]
+ [ 2 7 ] => [ 15 40 ]
+ [ 3 8 ]
+ [ 4 9 ]
+ [ 5 10 ]
+ */
+ srowsuma(table2, 5, 2,rowSummedTable2_5_2);
+ assert(rowSummedTable2_5_2[0] == 15.0f);
+ assert(rowSummedTable2_5_2[1] == 40.0f);
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("rowSummedTable2_5_2[%d] = %e\n", i, rowSummedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+
+static int csumsTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex value2 = FloatComplex(1.123456789f, 1.123456789f);
+
+ printf("\n>>>> Sum Float Complex Scalar Test\n");
+ assert(creals(csums(value1)) == 3.0f);
+ assert(cimags(csums(value1)) == 3.0f);
+ assert(creals(csums(value2)) == 1.123456789f);
+ assert(cimags(csums(value2)) == 1.123456789f);
+ return 0;
+}
+
+static int csumaTest(void) {
+ floatComplex value1 = FloatComplex(3.0f, 3.0f);
+ floatComplex table1[3];
+ floatComplex value2 = FloatComplex(9.186784563f,9.186784563f);
+ floatComplex table2[5];
+
+ printf("\n>>>> Sum Float Complex Array Test\n");
+ table1[0] = value1;
+ table1[1] = value1;
+ table1[2] = value1;
+
+ table2[0] = value2;
+ table2[1] = value2;
+ table2[2] = value2;
+ table2[3] = value2;
+ table2[4] = value2;
+
+#ifdef LOCAL_DEBUG
+ printf("--------\n");
+ printf("%e\n", cimags(csuma(table1, 3)));
+ printf("%e\n", creals(csuma(table2, 5)));
+ printf("%e\n", cimags(csuma(table2, 5)));
+ printf("%e\n", creals(csuma(table2, 5)));
+ printf("%e\n", cimags(csuma(table2, 5)));
+ printf("--------\n");
+#endif
+ assert(creals(csuma(table1, 3)) == 9.0f);
+ assert(cimags(csuma(table1, 3)) == 9.0f);
+ assert(creals(csuma(table2, 5)) == 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f);
+ assert(cimags(csuma(table2, 5)) == 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f + 9.186784563f);
+
+ return 0;
+}
+
+static int crowsumaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex rowSummedIn_4_3[3];
+ floatComplex rowSummedIn_3_4[4];
+ floatComplex rowSummedIn_6_2[2];
+ floatComplex rowSummedIn_2_6[6];
+ floatComplex rowSummedIn_1_12[12];
+ floatComplex rowSummedIn_12_1[1];
+
+ printf("\n>>>> Row Sum Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 0.6+3.8i 2.2+2.2i 3.8+0.6i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ crowsuma(in, 4, 3, rowSummedIn_4_3);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("rowSummedIn_4_3[%d] = %e + %ei\n", i, creals(rowSummedIn_4_3[i]), cimags(rowSummedIn_4_3[i]));
+ }
+ assert(creals(rowSummedIn_4_3[0]) == 0.6f && cimags(rowSummedIn_4_3[0]) == 3.8f);
+ assert(creals(rowSummedIn_4_3[1]) == 2.2f && cimags(rowSummedIn_4_3[1]) == 2.2f);
+ assert(fabs(creals(rowSummedIn_4_3[2]) - 3.8f) < 1e-06);
+ assert(cimags(rowSummedIn_4_3[2]) == 0.6f);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 0.3+3.i 1.2+2.1i 2.1+1.2i 3.+0.3i]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ crowsuma(in, 3, 4, rowSummedIn_3_4);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("rowSummedIn_3_4[%d] = %e + %ei\n", i, creals(rowSummedIn_3_4[i]), cimags(rowSummedIn_3_4[i]));
+ }
+ assert(creals(rowSummedIn_3_4[0]) == 0.3f && cimags(rowSummedIn_3_4[0]) == 3.0f);
+ assert(creals(rowSummedIn_3_4[1]) == 1.2f && cimags(rowSummedIn_3_4[1]) == 2.1f);
+ assert(creals(rowSummedIn_3_4[2]) == 2.1f && cimags(rowSummedIn_3_4[2]) == 1.2f);
+ assert(creals(rowSummedIn_3_4[3]) == 3.0f && cimags(rowSummedIn_3_4[3]) == 0.3f);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 1.5+5.1i 5.1+1.5i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ crowsuma(in, 6, 2, rowSummedIn_6_2);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("rowSummedIn_6_2[%d] = %e + %ei\n", i, creals(rowSummedIn_6_2[i]), cimags(rowSummedIn_6_2[i]));
+ }
+ assert(creals(rowSummedIn_6_2[0]) == 1.5f && cimags(rowSummedIn_6_2[0]) == 5.1f);
+ assert(creals(rowSummedIn_6_2[1]) == 5.1f);
+ assert(fabs(cimags(rowSummedIn_6_2[1]) - 1.5f) < 1e-06);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 0.1+2.1i 0.5+1.7i 0.9+1.3i 1.3+0.9i 1.7+0.5i 2.1+0.1i ]
+ */
+ crowsuma(in, 2, 6, rowSummedIn_2_6);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("rowSummedIn_2_6[%d] = %e + %ei\n", i, creals(rowSummedIn_2_6[i]), cimags(rowSummedIn_2_6[i]));
+ }
+ assert(creals(rowSummedIn_2_6[0]) == 0.1f && cimags(rowSummedIn_2_6[0]) == 2.1f);
+ assert(creals(rowSummedIn_2_6[1]) == 0.5f && cimags(rowSummedIn_2_6[1]) == 1.7f);
+ assert(creals(rowSummedIn_2_6[2]) == 0.9f && cimags(rowSummedIn_2_6[2]) == 1.3f);
+ assert(creals(rowSummedIn_2_6[3]) == 1.3f && cimags(rowSummedIn_2_6[3]) == 0.9f);
+ assert(creals(rowSummedIn_2_6[4]) == 1.7f && cimags(rowSummedIn_2_6[4]) == 0.5f);
+ assert(creals(rowSummedIn_2_6[5]) == 2.1f && cimags(rowSummedIn_2_6[5]) == 0.1f);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ */
+ crowsuma(in, 1, 12, rowSummedIn_1_12);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("rowSummedIn_1_12[%d] = %e + %ei\n", i, creals(rowSummedIn_1_12[i]), cimags(rowSummedIn_1_12[i]));
+ assert(creals(rowSummedIn_1_12[i]) == creals(in[i]) && cimags(rowSummedIn_1_12[i]) == cimags(in[i]));
+ }
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 6.6+6.6i ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ crowsuma(in, 12, 1, rowSummedIn_12_1);
+ printf("rowSummedIn_12_1[%d] = %e + %ei\n", 0, creals(rowSummedIn_12_1[0]), cimags(rowSummedIn_12_1[0]));
+ assert(creals(rowSummedIn_12_1[0]) == 6.6f && cimags(rowSummedIn_12_1[0]) == 6.6f);
+
+ return 0;
+}
+
+static int ccolumnsumaTest(void) {
+ int i = 0;
+ floatComplex in[12];
+ floatComplex columnSummedIn_4_3[4];
+ floatComplex columnSummedIn_3_4[3];
+ floatComplex columnSummedIn_6_2[6];
+ floatComplex columnSummedIn_2_6[2];
+ floatComplex columnSummedIn_1_12[1];
+ floatComplex columnSummedIn_12_1[12];
+
+ printf("\n>>>> ColumnSum Float Complex Array Test\n");
+ /* Init input var */
+ for (i = 0 ; i < 12 ; ++i)
+ {
+ in[i] = FloatComplex((float) i / 10.0f, (11.0f - (float) i) / 10.0f);
+ }
+
+ /*
+ [ 1.1i 0.4+0.7i 0.8+0.3i ]
+ [ 0.1+i 0.5+0.6i 0.9+0.2i ] => [ 1.2+2.1i 1.5+1.8i 1.8+1.5i 2.1+1.2i ]
+ [ 0.2+0.9i 0.6+0.5i 1+0.1i ]
+ [ 0.3+0.8i 0.7+0.4i 1.1 ]
+ */
+ ccolumnsuma(in, 4, 3, columnSummedIn_4_3);
+ for (i = 0 ; i < 4 ; ++i) {
+ printf("columnSummedIn_4_3[%d] = %e + %ei\n", i, creals(columnSummedIn_4_3[i]), cimags(columnSummedIn_4_3[i]));
+ }
+ assert(creals(columnSummedIn_4_3[0]) == 1.2f && cimags(columnSummedIn_4_3[0]) == 2.1f);
+ assert(creals(columnSummedIn_4_3[1]) == 1.5f);
+ assert(fabs(cimags(columnSummedIn_4_3[1]) - 1.8f) < 1e-06);
+ assert(creals(columnSummedIn_4_3[2]) == 1.8f && cimags(columnSummedIn_4_3[2]) == 1.5f);
+ assert(creals(columnSummedIn_4_3[3]) == 2.1f && cimags(columnSummedIn_4_3[3]) == 1.2f);
+
+ /*
+ [ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
+ [ 0.1+i 0.4+0.7i 0.7+0.4i 1+0.1i ] => [ 1.8+2.6i 2.2+2.2i 2.6+1.8i ]
+ [ 0.2+0.9i 0.5+0.6i 0.8+0.3i 1.1 ]
+ */
+ ccolumnsuma(in, 3, 4, columnSummedIn_3_4);
+ for (i = 0 ; i < 3 ; ++i) {
+ printf("columnSummedIn_3_4[%d] = %e + %ei\n", i, creals(columnSummedIn_3_4[i]), cimags(columnSummedIn_3_4[i]));
+ }
+ assert(creals(columnSummedIn_3_4[0]) == 1.8f);
+ assert(fabs(cimags(columnSummedIn_3_4[0]) - 2.6f) < 1e-06);
+ assert(creals(columnSummedIn_3_4[1]) == 2.2f && cimags(columnSummedIn_3_4[1]) == 2.2f);
+ assert(creals(columnSummedIn_3_4[2]) == 2.6f && cimags(columnSummedIn_3_4[2]) == 1.8f);
+
+ /*
+ [ 1.1i 0.6+0.5i ]
+ [ 0.1+i 0.7+0.4i ]
+ [ 0.2+0.9i 0.8+0.3i ] => [ 0.6+1.6i 0.8+1.4i 1+1.2i 1.2+i 1.4+0.8i 1.6+0.6i ]
+ [ 0.3+0.8i 0.9+0.2i ]
+ [ 0.4+0.7i 1+0.1i ]
+ [ 0.5+0.6i 1.1 ]
+ */
+ ccolumnsuma(in, 6, 2, columnSummedIn_6_2);
+ for (i = 0 ; i < 6 ; ++i) {
+ printf("columnSummedIn_6_2[%d] = %e + %ei\n", i, creals(columnSummedIn_6_2[i]), cimags(columnSummedIn_6_2[i]));
+ }
+ assert(creals(columnSummedIn_6_2[0]) == 0.6f && cimags(columnSummedIn_6_2[0]) == 1.6f);
+ assert(creals(columnSummedIn_6_2[1]) == 0.8f && cimags(columnSummedIn_6_2[1]) == 1.4f);
+ assert(creals(columnSummedIn_6_2[2]) == 1.0f && cimags(columnSummedIn_6_2[2]) == 1.2f);
+ assert(creals(columnSummedIn_6_2[3]) == 1.2f && cimags(columnSummedIn_6_2[3]) == 1.0f);
+ assert(creals(columnSummedIn_6_2[4]) == 1.4f && cimags(columnSummedIn_6_2[4]) == 0.8f);
+ assert(creals(columnSummedIn_6_2[5]) == 1.6f && cimags(columnSummedIn_6_2[5]) == 0.6f);
+
+ /*
+ [ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
+ [ 0.1+i 0.3+0.8i 0.5+0.6i 0.7+0.4i 0.9+0.2i 1.1 ] => [ 3+3.6i 3.6+3i ]
+ */
+ ccolumnsuma(in, 2, 6, columnSummedIn_2_6);
+ for (i = 0 ; i < 2 ; ++i) {
+ printf("columnSummedIn_2_6[%d] = %e + %ei\n", i, creals(columnSummedIn_2_6[i]), cimags(columnSummedIn_2_6[i]));
+ }
+ assert(creals(columnSummedIn_2_6[0]) == 3.0f && cimags(columnSummedIn_2_6[0]) == 3.6f);
+ assert(creals(columnSummedIn_2_6[1]) == 3.6f);
+ assert(fabs(cimags(columnSummedIn_2_6[1]) -3.0f) < 1e-06);
+
+ /*
+ [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ =>
+ [ 6.6+6.6i ]
+ */
+ ccolumnsuma(in, 1, 12, columnSummedIn_1_12);
+ printf("columnSummedIn_1_12[%d] = %e + %ei\n", 0, creals(columnSummedIn_1_12[0]), cimags(columnSummedIn_1_12[0]));
+ assert(creals(columnSummedIn_1_12[0]) == 6.6f && cimags(columnSummedIn_1_12[0]) == 6.6f);
+
+
+ /*
+ [ 1.1i ]
+ [ 0.1+i ]
+ [ 0.2+0.9i ]
+ [ 0.3+0.8i ]
+ [ 0.4+0.7i ]
+ [ 0.5+0.6i ]
+ [ 0.6+0.5i ] => [ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
+ [ 0.7+0.4i ]
+ [ 0.8+0.3i ]
+ [ 0.9+0.2i ]
+ [ 1+0.1i ]
+ [ 1.1 ]
+ */
+ ccolumnsuma(in, 12, 1, columnSummedIn_12_1);
+ for (i = 0 ; i < 12 ; ++i) {
+ printf("columnSummedIn_12_1[%d] = %e + %ei\n", i, creals(columnSummedIn_12_1[i]), cimags(columnSummedIn_12_1[i]));
+ assert(creals(columnSummedIn_12_1[i]) == creals(in[i]) && cimags(columnSummedIn_12_1[i]) == cimags(in[i]));
+ }
+
+ return 0;
+}
+
+static int testSum(void) {
+
+ ssumsTest();
+ ssumaTest();
+ srowsumaTest();
+ scolumnsumaTest();
+ csumsTest();
+ csumaTest();
+ crowsumaTest();
+ ccolumnsumaTest();
+
+ return 0;
+}
+
+int main(void) {
+ assert(testSum() == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj b/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj
new file mode 100644
index 0000000..d82ed7c
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F2A81CDC-2581-481F-B63D-3D2079B264C2}</ProjectGuid>
+ <RootNamespace>testDoubleSum</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSum.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj.filters b/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj.filters
new file mode 100644
index 0000000..0bb90bb
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/test_DoubleSum/testDoubleSum.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSum.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj b/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj
new file mode 100644
index 0000000..a8acdf0
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{450C8334-BA46-43DB-81BA-7BEDBB346126}</ProjectGuid>
+ <RootNamespace>testFloatSum</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSum.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj.filters b/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj.filters
new file mode 100644
index 0000000..56ce3b3
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/test_FloatSum/testFloatSum.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSum.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/sum/u16columnsuma.c b/src/c/statisticsFunctions/sum/u16columnsuma.c
new file mode 100644
index 0000000..82b0775
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u16columnsuma.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#include "sum.h"
+
+void u16columnsuma(uint16 *in, int lines, int columns, uint16 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = (uint16)in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = (uint16)u16adds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/u16rowsuma.c b/src/c/statisticsFunctions/sum/u16rowsuma.c
new file mode 100644
index 0000000..535e302
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u16rowsuma.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sum.h"
+
+void u16rowsuma(uint16 *in, int lines, int columns, uint16 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = (uint16)in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = (uint16)u16adds( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/u16suma.c b/src/c/statisticsFunctions/sum/u16suma.c
new file mode 100644
index 0000000..5e5620c
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u16suma.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sum.h"
+
+uint16 u16suma(uint16 *in, int size) {
+ //floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+ uint16 accumulate = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = u16adds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/sum/u8columnsuma.c b/src/c/statisticsFunctions/sum/u8columnsuma.c
new file mode 100644
index 0000000..f3e3041
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u8columnsuma.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void u8columnsuma(uint8 *in, int lines, int columns, uint8 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = (uint8)in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = (uint8)u8adds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/u8rowsuma.c b/src/c/statisticsFunctions/sum/u8rowsuma.c
new file mode 100644
index 0000000..53a4944
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u8rowsuma.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+void u8rowsuma(uint8 *in, int lines, int columns, uint8 * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = (uint8)in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = (uint8)u8adds( out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/u8suma.c b/src/c/statisticsFunctions/sum/u8suma.c
new file mode 100644
index 0000000..e5febef
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/u8suma.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sum.h"
+
+uint8 u8suma(uint8 *in, int size) {
+ //floatComplex accumulate = FloatComplex(0.0f, 0.0f);
+ int i = 0;
+ uint8 accumulate = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = u8adds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/sum/zcolumnsuma.c b/src/c/statisticsFunctions/sum/zcolumnsuma.c
new file mode 100644
index 0000000..93e9753
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/zcolumnsuma.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void zcolumnsuma(doubleComplex *in, int lines, int columns, doubleComplex * out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < lines; ++i)
+ {
+ out[i] = in[i];
+ }
+ /*
+ ** Then accumulate in each row.
+ */
+ for (i = lines ; i < lines * columns ; ++i)
+ {
+ out[i % lines] = zadds(out[i % lines] , in[i]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/zrowsuma.c b/src/c/statisticsFunctions/sum/zrowsuma.c
new file mode 100644
index 0000000..abb62b5
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/zrowsuma.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+void zrowsuma(doubleComplex *in, int lines, int columns, doubleComplex* out) {
+ int i = 0;
+
+ /*
+ ** First assign first row, just in case
+ ** out contains non-zero's elements.
+ */
+ for (i = 0 ; i < columns; ++i)
+ {
+ out[i] = in[i * lines];
+ }
+ /*
+ ** Then accumulate in each column.
+ */
+ for (i = 1 ; i <= (lines - 1) * columns ; ++i)
+ {
+ out[(i - 1) % columns] = zadds(out[(i - 1) % columns] ,
+ in[((i - 1) % columns) * lines + 1 + (i - 1) / columns]);
+ }
+}
diff --git a/src/c/statisticsFunctions/sum/zsuma.c b/src/c/statisticsFunctions/sum/zsuma.c
new file mode 100644
index 0000000..e566c95
--- /dev/null
+++ b/src/c/statisticsFunctions/sum/zsuma.c
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "sum.h"
+
+doubleComplex zsuma(doubleComplex *in, int size) {
+ doubleComplex accumulate = DoubleComplex(0.0f, 0.0f);
+ int i = 0;
+
+ for (i = 0; i < size; ++i)
+ {
+ accumulate = zadds(accumulate, in[i]);
+ }
+ return accumulate;
+}
diff --git a/src/c/statisticsFunctions/variance/Makefile.am b/src/c/statisticsFunctions/variance/Makefile.am
new file mode 100644
index 0000000..d6fa70e
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/Makefile.am
@@ -0,0 +1,89 @@
+##
+## 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
+##
+##
+
+libVariance_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libVariance.la
+
+libVariance_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = svariancea.c \
+ scolumnvariancea.c \
+ dvariancea.c \
+ srowvariancea.c \
+ drowvariancea.c \
+ dcolumnvariancea.c \
+ cvariancea.c \
+ crowvariancea.c \
+ ccolumnvariancea.c \
+ zvariancea.c \
+ zrowvariancea.c \
+ zcolumnvariancea.c
+
+HEAD = ../includes/variance.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variance/libVariance.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatVarianceNono testDoubleVarianceNono
+
+TESTS = testFloatVarianceNono testDoubleVarianceNono
+
+#
+# -*- Variance Tests -*-
+#
+testFloatVarianceNono_SOURCES = testFloatVarianceNono.c
+testFloatVarianceNono_CFLAGS = $(check_INCLUDES)
+testFloatVarianceNono_LDADD = $(check_LDADD)
+
+testDoubleVarianceNono_SOURCES =testDoubleVarianceNono.c
+testDoubleVarianceNono_CFLAGS = $(check_INCLUDES)
+testDoubleVarianceNono_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/variance/Makefile.in b/src/c/statisticsFunctions/variance/Makefile.in
new file mode 100644
index 0000000..9320286
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/Makefile.in
@@ -0,0 +1,884 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatVarianceNono$(EXEEXT) \
+ testDoubleVarianceNono$(EXEEXT)
+TESTS = testFloatVarianceNono$(EXEEXT) testDoubleVarianceNono$(EXEEXT)
+subdir = src/c/statisticsFunctions/variance
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libVariance_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libVariance_la-svariancea.lo \
+ libVariance_la-scolumnvariancea.lo \
+ libVariance_la-dvariancea.lo libVariance_la-srowvariancea.lo \
+ libVariance_la-drowvariancea.lo \
+ libVariance_la-dcolumnvariancea.lo \
+ libVariance_la-cvariancea.lo libVariance_la-crowvariancea.lo \
+ libVariance_la-ccolumnvariancea.lo \
+ libVariance_la-zvariancea.lo libVariance_la-zrowvariancea.lo \
+ libVariance_la-zcolumnvariancea.lo
+am_libVariance_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libVariance_la_OBJECTS = $(am_libVariance_la_OBJECTS)
+libVariance_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libVariance_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleVarianceNono_OBJECTS = \
+ testDoubleVarianceNono-testDoubleVarianceNono.$(OBJEXT)
+testDoubleVarianceNono_OBJECTS = $(am_testDoubleVarianceNono_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variance/libVariance.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la
+testDoubleVarianceNono_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleVarianceNono_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_testFloatVarianceNono_OBJECTS = \
+ testFloatVarianceNono-testFloatVarianceNono.$(OBJEXT)
+testFloatVarianceNono_OBJECTS = $(am_testFloatVarianceNono_OBJECTS)
+testFloatVarianceNono_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatVarianceNono_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testFloatVarianceNono_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
+am__mv = mv -f
+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 = $(libVariance_la_SOURCES) $(testDoubleVarianceNono_SOURCES) \
+ $(testFloatVarianceNono_SOURCES)
+DIST_SOURCES = $(libVariance_la_SOURCES) \
+ $(testDoubleVarianceNono_SOURCES) \
+ $(testFloatVarianceNono_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libVariance_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libVariance.la
+libVariance_la_SOURCES = $(HEAD) $(SRC)
+SRC = svariancea.c \
+ scolumnvariancea.c \
+ dvariancea.c \
+ srowvariancea.c \
+ drowvariancea.c \
+ dcolumnvariancea.c \
+ cvariancea.c \
+ crowvariancea.c \
+ ccolumnvariancea.c \
+ zvariancea.c \
+ zrowvariancea.c \
+ zcolumnvariancea.c
+
+HEAD = ../includes/variance.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variance/libVariance.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/mean/libMean.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+
+#
+# -*- Variance Tests -*-
+#
+testFloatVarianceNono_SOURCES = testFloatVarianceNono.c
+testFloatVarianceNono_CFLAGS = $(check_INCLUDES)
+testFloatVarianceNono_LDADD = $(check_LDADD)
+testDoubleVarianceNono_SOURCES = testDoubleVarianceNono.c
+testDoubleVarianceNono_CFLAGS = $(check_INCLUDES)
+testDoubleVarianceNono_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/variance/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/variance/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libVariance.la: $(libVariance_la_OBJECTS) $(libVariance_la_DEPENDENCIES)
+ $(libVariance_la_LINK) -rpath $(pkglibdir) $(libVariance_la_OBJECTS) $(libVariance_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleVarianceNono$(EXEEXT): $(testDoubleVarianceNono_OBJECTS) $(testDoubleVarianceNono_DEPENDENCIES)
+ @rm -f testDoubleVarianceNono$(EXEEXT)
+ $(testDoubleVarianceNono_LINK) $(testDoubleVarianceNono_OBJECTS) $(testDoubleVarianceNono_LDADD) $(LIBS)
+testFloatVarianceNono$(EXEEXT): $(testFloatVarianceNono_OBJECTS) $(testFloatVarianceNono_DEPENDENCIES)
+ @rm -f testFloatVarianceNono$(EXEEXT)
+ $(testFloatVarianceNono_LINK) $(testFloatVarianceNono_OBJECTS) $(testFloatVarianceNono_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-ccolumnvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-crowvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-cvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-dcolumnvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-drowvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-dvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-scolumnvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-srowvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-svariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-zcolumnvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-zrowvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVariance_la-zvariancea.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libVariance_la-svariancea.lo: svariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-svariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-svariancea.Tpo -c -o libVariance_la-svariancea.lo `test -f 'svariancea.c' || echo '$(srcdir)/'`svariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-svariancea.Tpo $(DEPDIR)/libVariance_la-svariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='svariancea.c' object='libVariance_la-svariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-svariancea.lo `test -f 'svariancea.c' || echo '$(srcdir)/'`svariancea.c
+
+libVariance_la-scolumnvariancea.lo: scolumnvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-scolumnvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-scolumnvariancea.Tpo -c -o libVariance_la-scolumnvariancea.lo `test -f 'scolumnvariancea.c' || echo '$(srcdir)/'`scolumnvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-scolumnvariancea.Tpo $(DEPDIR)/libVariance_la-scolumnvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnvariancea.c' object='libVariance_la-scolumnvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-scolumnvariancea.lo `test -f 'scolumnvariancea.c' || echo '$(srcdir)/'`scolumnvariancea.c
+
+libVariance_la-dvariancea.lo: dvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-dvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-dvariancea.Tpo -c -o libVariance_la-dvariancea.lo `test -f 'dvariancea.c' || echo '$(srcdir)/'`dvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-dvariancea.Tpo $(DEPDIR)/libVariance_la-dvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dvariancea.c' object='libVariance_la-dvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-dvariancea.lo `test -f 'dvariancea.c' || echo '$(srcdir)/'`dvariancea.c
+
+libVariance_la-srowvariancea.lo: srowvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-srowvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-srowvariancea.Tpo -c -o libVariance_la-srowvariancea.lo `test -f 'srowvariancea.c' || echo '$(srcdir)/'`srowvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-srowvariancea.Tpo $(DEPDIR)/libVariance_la-srowvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowvariancea.c' object='libVariance_la-srowvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-srowvariancea.lo `test -f 'srowvariancea.c' || echo '$(srcdir)/'`srowvariancea.c
+
+libVariance_la-drowvariancea.lo: drowvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-drowvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-drowvariancea.Tpo -c -o libVariance_la-drowvariancea.lo `test -f 'drowvariancea.c' || echo '$(srcdir)/'`drowvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-drowvariancea.Tpo $(DEPDIR)/libVariance_la-drowvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowvariancea.c' object='libVariance_la-drowvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-drowvariancea.lo `test -f 'drowvariancea.c' || echo '$(srcdir)/'`drowvariancea.c
+
+libVariance_la-dcolumnvariancea.lo: dcolumnvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-dcolumnvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-dcolumnvariancea.Tpo -c -o libVariance_la-dcolumnvariancea.lo `test -f 'dcolumnvariancea.c' || echo '$(srcdir)/'`dcolumnvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-dcolumnvariancea.Tpo $(DEPDIR)/libVariance_la-dcolumnvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnvariancea.c' object='libVariance_la-dcolumnvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-dcolumnvariancea.lo `test -f 'dcolumnvariancea.c' || echo '$(srcdir)/'`dcolumnvariancea.c
+
+libVariance_la-cvariancea.lo: cvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-cvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-cvariancea.Tpo -c -o libVariance_la-cvariancea.lo `test -f 'cvariancea.c' || echo '$(srcdir)/'`cvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-cvariancea.Tpo $(DEPDIR)/libVariance_la-cvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cvariancea.c' object='libVariance_la-cvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-cvariancea.lo `test -f 'cvariancea.c' || echo '$(srcdir)/'`cvariancea.c
+
+libVariance_la-crowvariancea.lo: crowvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-crowvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-crowvariancea.Tpo -c -o libVariance_la-crowvariancea.lo `test -f 'crowvariancea.c' || echo '$(srcdir)/'`crowvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-crowvariancea.Tpo $(DEPDIR)/libVariance_la-crowvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowvariancea.c' object='libVariance_la-crowvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-crowvariancea.lo `test -f 'crowvariancea.c' || echo '$(srcdir)/'`crowvariancea.c
+
+libVariance_la-ccolumnvariancea.lo: ccolumnvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-ccolumnvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-ccolumnvariancea.Tpo -c -o libVariance_la-ccolumnvariancea.lo `test -f 'ccolumnvariancea.c' || echo '$(srcdir)/'`ccolumnvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-ccolumnvariancea.Tpo $(DEPDIR)/libVariance_la-ccolumnvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnvariancea.c' object='libVariance_la-ccolumnvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-ccolumnvariancea.lo `test -f 'ccolumnvariancea.c' || echo '$(srcdir)/'`ccolumnvariancea.c
+
+libVariance_la-zvariancea.lo: zvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-zvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-zvariancea.Tpo -c -o libVariance_la-zvariancea.lo `test -f 'zvariancea.c' || echo '$(srcdir)/'`zvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-zvariancea.Tpo $(DEPDIR)/libVariance_la-zvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zvariancea.c' object='libVariance_la-zvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-zvariancea.lo `test -f 'zvariancea.c' || echo '$(srcdir)/'`zvariancea.c
+
+libVariance_la-zrowvariancea.lo: zrowvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-zrowvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-zrowvariancea.Tpo -c -o libVariance_la-zrowvariancea.lo `test -f 'zrowvariancea.c' || echo '$(srcdir)/'`zrowvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-zrowvariancea.Tpo $(DEPDIR)/libVariance_la-zrowvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowvariancea.c' object='libVariance_la-zrowvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-zrowvariancea.lo `test -f 'zrowvariancea.c' || echo '$(srcdir)/'`zrowvariancea.c
+
+libVariance_la-zcolumnvariancea.lo: zcolumnvariancea.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libVariance_la_CFLAGS) $(CFLAGS) -MT libVariance_la-zcolumnvariancea.lo -MD -MP -MF $(DEPDIR)/libVariance_la-zcolumnvariancea.Tpo -c -o libVariance_la-zcolumnvariancea.lo `test -f 'zcolumnvariancea.c' || echo '$(srcdir)/'`zcolumnvariancea.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libVariance_la-zcolumnvariancea.Tpo $(DEPDIR)/libVariance_la-zcolumnvariancea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnvariancea.c' object='libVariance_la-zcolumnvariancea.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) $(libVariance_la_CFLAGS) $(CFLAGS) -c -o libVariance_la-zcolumnvariancea.lo `test -f 'zcolumnvariancea.c' || echo '$(srcdir)/'`zcolumnvariancea.c
+
+testDoubleVarianceNono-testDoubleVarianceNono.o: testDoubleVarianceNono.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) -MT testDoubleVarianceNono-testDoubleVarianceNono.o -MD -MP -MF $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Tpo -c -o testDoubleVarianceNono-testDoubleVarianceNono.o `test -f 'testDoubleVarianceNono.c' || echo '$(srcdir)/'`testDoubleVarianceNono.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Tpo $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleVarianceNono.c' object='testDoubleVarianceNono-testDoubleVarianceNono.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) $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) -c -o testDoubleVarianceNono-testDoubleVarianceNono.o `test -f 'testDoubleVarianceNono.c' || echo '$(srcdir)/'`testDoubleVarianceNono.c
+
+testDoubleVarianceNono-testDoubleVarianceNono.obj: testDoubleVarianceNono.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) -MT testDoubleVarianceNono-testDoubleVarianceNono.obj -MD -MP -MF $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Tpo -c -o testDoubleVarianceNono-testDoubleVarianceNono.obj `if test -f 'testDoubleVarianceNono.c'; then $(CYGPATH_W) 'testDoubleVarianceNono.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleVarianceNono.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Tpo $(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleVarianceNono.c' object='testDoubleVarianceNono-testDoubleVarianceNono.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) $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) -c -o testDoubleVarianceNono-testDoubleVarianceNono.obj `if test -f 'testDoubleVarianceNono.c'; then $(CYGPATH_W) 'testDoubleVarianceNono.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleVarianceNono.c'; fi`
+
+testFloatVarianceNono-testFloatVarianceNono.o: testFloatVarianceNono.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatVarianceNono_CFLAGS) $(CFLAGS) -MT testFloatVarianceNono-testFloatVarianceNono.o -MD -MP -MF $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Tpo -c -o testFloatVarianceNono-testFloatVarianceNono.o `test -f 'testFloatVarianceNono.c' || echo '$(srcdir)/'`testFloatVarianceNono.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Tpo $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatVarianceNono.c' object='testFloatVarianceNono-testFloatVarianceNono.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) $(testFloatVarianceNono_CFLAGS) $(CFLAGS) -c -o testFloatVarianceNono-testFloatVarianceNono.o `test -f 'testFloatVarianceNono.c' || echo '$(srcdir)/'`testFloatVarianceNono.c
+
+testFloatVarianceNono-testFloatVarianceNono.obj: testFloatVarianceNono.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatVarianceNono_CFLAGS) $(CFLAGS) -MT testFloatVarianceNono-testFloatVarianceNono.obj -MD -MP -MF $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Tpo -c -o testFloatVarianceNono-testFloatVarianceNono.obj `if test -f 'testFloatVarianceNono.c'; then $(CYGPATH_W) 'testFloatVarianceNono.c'; else $(CYGPATH_W) '$(srcdir)/testFloatVarianceNono.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Tpo $(DEPDIR)/testFloatVarianceNono-testFloatVarianceNono.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatVarianceNono.c' object='testFloatVarianceNono-testFloatVarianceNono.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) $(testFloatVarianceNono_CFLAGS) $(CFLAGS) -c -o testFloatVarianceNono-testFloatVarianceNono.obj `if test -f 'testFloatVarianceNono.c'; then $(CYGPATH_W) 'testFloatVarianceNono.c'; else $(CYGPATH_W) '$(srcdir)/testFloatVarianceNono.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/variance/ccolumnvariancea.c b/src/c/statisticsFunctions/variance/ccolumnvariancea.c
new file mode 100644
index 0000000..8bf5526
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/ccolumnvariancea.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 "variance.h"
+
+void ccolumnvariancea(floatComplex *in, int lines, int columns, floatComplex* out){
+
+ int i = 0 ;
+
+ floatComplex* transp = (floatComplex*) malloc ( sizeof (double) *(unsigned int) (lines*columns));
+
+
+
+ ctransposea ( in , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = cvariancea ( transp + i*columns , columns ) ;
+
+
+ free (transp);
+
+
+}
diff --git a/src/c/statisticsFunctions/variance/crowvariancea.c b/src/c/statisticsFunctions/variance/crowvariancea.c
new file mode 100644
index 0000000..586b942
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/crowvariancea.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 "variance.h"
+
+void crowvariancea(floatComplex *in, int lines, int columns, floatComplex* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = cvariancea ( in + i*lines , lines) ;
+}
+
diff --git a/src/c/statisticsFunctions/variance/cvariancea.c b/src/c/statisticsFunctions/variance/cvariancea.c
new file mode 100644
index 0000000..9d43928
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/cvariancea.c
@@ -0,0 +1,36 @@
+/*
+ * 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 "variance.h"
+
+floatComplex cvariancea(floatComplex *in, int size)
+{
+ int i = 0 ;
+
+ floatComplex sum = FloatComplex ( 0 , 0 ) ;
+ floatComplex temp = FloatComplex ( 0 , 0 ) ;
+ floatComplex variance = FloatComplex ( 0 , 0 );
+ floatComplex mean = cmeana ( in , size ) ;
+
+ for ( i = 0 ; i < size ; i++)
+ {
+ temp = cdiffs( in[i] , mean ) ;
+ sum = cadds ( sum , cpows ( temp , FloatComplex ( 2, 0) ) );
+ }
+
+ variance = crdivs (sum , FloatComplex ( (float)(size - 1),0 ));
+
+ return variance ;
+
+
+}
+
diff --git a/src/c/statisticsFunctions/variance/dcolumnvariancea.c b/src/c/statisticsFunctions/variance/dcolumnvariancea.c
new file mode 100644
index 0000000..2a8e89b
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/dcolumnvariancea.c
@@ -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
+ *
+ */
+
+#include "variance.h"
+
+void dcolumnvariancea(double *in, int lines, int columns, double* out){
+
+ int i = 0 ;
+
+ double* transp = (double*) malloc ( sizeof (double) *(unsigned int) (lines*columns));
+
+
+
+ dtransposea ( in , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = dvariancea ( transp + i*columns , columns ) ;
+
+
+ free (transp);
+}
+
diff --git a/src/c/statisticsFunctions/variance/drowvariancea.c b/src/c/statisticsFunctions/variance/drowvariancea.c
new file mode 100644
index 0000000..1512336
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/drowvariancea.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 "variance.h"
+
+void drowvariancea(double *in, int lines, int columns, double* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = dvariancea ( in + i*lines , lines ) ;
+
+}
diff --git a/src/c/statisticsFunctions/variance/dvariancea.c b/src/c/statisticsFunctions/variance/dvariancea.c
new file mode 100644
index 0000000..05ed4ff
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/dvariancea.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 "variance.h"
+
+double dvariancea(double *in, int size)
+{
+ int i = 0 ;
+
+ double temp = 0 ;
+ double variance = 0;
+
+ double mean = dmeana ( in, size );
+
+ for ( i = 0 ; i < size ; i++)
+ {
+ temp += dpows ( (in[i] - mean ) ,2 ) ;
+ }
+
+
+ variance = ( temp )/ ( size -1);
+
+
+ return variance ;
+}
+
diff --git a/src/c/statisticsFunctions/variance/scolumnvariancea.c b/src/c/statisticsFunctions/variance/scolumnvariancea.c
new file mode 100644
index 0000000..2c0ec08
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/scolumnvariancea.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 "variance.h"
+
+
+void scolumnvariancea(float *in, int lines, int columns, float* out){
+ int i = 0 ;
+
+ float* transp = (float*) malloc ( sizeof (floatComplex) *(unsigned int) (lines*columns));
+
+
+
+ stransposea ( in , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = svariancea ( transp + i*columns , columns ) ;
+
+
+ free (transp);
+
+}
+
diff --git a/src/c/statisticsFunctions/variance/srowvariancea.c b/src/c/statisticsFunctions/variance/srowvariancea.c
new file mode 100644
index 0000000..5f6ae30
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/srowvariancea.c
@@ -0,0 +1,21 @@
+/*
+ * 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 "variance.h"
+
+void srowvariancea(float *in, int lines, int columns, float* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = svariancea ( in + i*lines , lines ) ;
+}
diff --git a/src/c/statisticsFunctions/variance/svariancea.c b/src/c/statisticsFunctions/variance/svariancea.c
new file mode 100644
index 0000000..426fc45
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/svariancea.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 "variance.h"
+
+float svariancea(float *in, int size)
+{
+ int i = 0 ;
+
+ float temp = 0 ;
+ float variance = 0;
+
+ float mean = smeana ( in , size );
+
+ for ( i = 0 ; i < size ; i++)
+ {
+ temp += spows ( (in[i] - mean ) ,2 ) ;
+ }
+
+
+ variance = ( temp )/ (float)( size -1);
+
+
+ return variance ;
+}
diff --git a/src/c/statisticsFunctions/variance/svn-prop.tmp b/src/c/statisticsFunctions/variance/svn-prop.tmp
new file mode 100644
index 0000000..4c36708
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/svn-prop.tmp
@@ -0,0 +1,12 @@
+
+.libs
+.deps
+Makefile
+testMatrixAddition
+testMatrixSubtraction
+testMatrixMultiplication
+testMatrixDivision
+*.o
+*.lo
+*.la
+
diff --git a/src/c/statisticsFunctions/variance/testDoubleVariance.c b/src/c/statisticsFunctions/variance/testDoubleVariance.c
new file mode 100644
index 0000000..dd3481b
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/testDoubleVariance.c
@@ -0,0 +1,335 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+
+#define SINGLE 1.323312455
+#define LINES 7
+#define COLUMNS 10
+#define MATRIX {0.102326436434,0.939044147730,0.638607255649,0.059883427806,0.311199211050,\
+ 0.377510951832,0.909709410276,0.928138985299,0.855155082885,0.308869514614,\
+0.729239261709,0.127006734256,0.242402311414,0.807912770193,0.621117659844,\
+ 0.081452373881,0.088844371960,0.587072817143,0.068080495112,0.995457543526,\
+0.835322400089,0.656235548668,0.767905956600,0.706818781793,0.187699332368,\
+ 0.568810169585,0.401039466728,0.397196868435,0.483212330844,0.161224133335,\
+0.932864250615,0.719208867755,0.262409000657,0.931377100293,0.596724558622,\
+ 0.310327019077,0.350161732174,0.104841318447,0.830732351169,0.804621329065,\
+0.050784428138,0.551920620725,0.125952405389,0.083156193607,0.420623748098,\
+ 0.168616071343,0.707545555662,0.104633864947,0.465604968835,0.489758284763,\
+0.167727907188,0.760689914692,0.454900974408,0.063926273491,0.87152507063,0.978668818716,\
+ 0.135898929089,0.484713065904,0.785042577423,0.049412418623,\
+0.947593610268,0.884073690511,0.212796610314,0.654832502827,0.007690255996,\
+ 0.031808692031,0.706323316786,0.008731670678,0.270014822017,0.153652121313}
+
+
+#define MATRIXROW {0.1688249423502767021521 , 0.0729081225272336097554 , 0.0579879770921138057438 , 0.1499989757031960635469 , 0.0850863194040760717485 , 0.1085086384507867873772 , 0.0969379859569881041637 , 0.1072816602642319844252 , 0.0913638718167188862429 , 0.1285778184208021535095 }
+#define MATRIXCOL { 0.1233078274276283442523, \
+ 0.1232135941992091865416 , \
+ 0.0540377259589001762707 , \
+ 0.0925512303008872161403 , \
+ 0.0555055644879708723338 , \
+ 0.1276299219577190779962 , \
+ 0.1385167433745558840386 }
+
+
+#define IMATRIX {0.05826747464016080,0.99946373142302036,0.85600351681932807,0.62329693790525198,\
+ 0.49792320514097810,0.44210509583353996,0.55833499459549785,0.09633230511099100,\
+ 0.80100952507928014,0.34466254524886608,\
+0.48831309471279383,0.95087061496451497,0.01332767866551876,0.76261807000264525,\
+ 0.74346329551190138,0.65157829830422997,0.57006288319826126,0.70580983115360141,\
+ 0.51323400903493166,0.64977857517078519,\
+0.80352442665025592,0.69910932797938585,0.69258948462083936,0.91169391758739948,\
+ 0.92454590043053031,0.27637310232967138,0.31692579621449113,0.86305770650506020,\
+ 0.20109100220724940,0.01225362811237574,\
+0.38199013099074364,0.96006405679509044,0.16440964583307505,0.59608811559155583,\
+ 0.72101737372577190,0.58661046391353011,0.99326277803629637,0.00761850038543344,\
+ 0.78608208894729614,0.89965870184823871,\
+0.43115562805905938,0.81857266277074814,0.83410377753898501,0.55516970623284578,\
+ 0.51345925079658628,0.04770902730524540,0.80747798969969153,0.80489510949701071,\
+ 0.78650354826822877,0.30791273340582848,\
+0.75731822755187750,0.53423820668831468,0.42618893459439278,0.85448804078623652,\
+ 0.92601215932518244,0.94169309409335256,0.85547966323792934,0.59637623047456145,\
+ 0.69515300076454878,0.18359116325154901,\
+0.01200280850753188,0.2255702270194888,0.34853330114856362,0.55313225090503693,\
+ 0.63695094687864184,0.96132039744406939,0.50314606027677655,0.11768362112343311,\
+ 0.42481321236118674,0.52963322307914495}
+
+#define RMATRIX {0.53868199465796351,0.65326874051243067,0.37497402401641011,0.60422550700604916,\
+ 0.33622304117307067,0.03531436901539564,0.33213760564103723,0.39493087679147720,\
+ 0.04170337272807956,0.87363853026181459,\
+0.65950810909271240,0.31221040291711688,0.15333442110568285,0.66478573577478528,\
+ 0.44319023378193378,0.40884594758972526,0.94536898937076330,0.67733758920803666,\
+ 0.18673646822571754,0.92331133363768458,\
+0.55921846115961671,0.75012728199362755,0.23257926432415843,0.57102064136415720,\
+ 0.60969385923817754,0.67336730472743511,0.07624059682711959,0.10437540244311094,\
+ 0.95672677317634225,0.19771346449851990,\
+0.05278092902153730,0.75808868417516351,0.17633479088544846,0.01146994484588504,\
+ 0.36732212174683809,0.19948644982650876,0.52714426256716251,0.21445603063330054,\
+ 0.94751045759767294,0.04272260749712586,\
+0.03257346292957664,0.53217577841132879,0.87635089689865708,0.15471007302403450,\
+ 0.25448470888659358,0.91815057490020990,0.72509902389720082,0.87545845471322536,\
+ 0.05635281419381499,0.01432112138718367,\
+0.57406943850219250,0.80984140699729323,0.01664119493216276,0.93888836959376931,\
+ 0.11264799535274506,0.66036546928808093,0.76042845565825701,0.25908330874517560,\
+ 0.88014078326523304,0.70332178613170981,\
+0.94614937948063016,0.78529163636267185,0.20241560926660895,0.10981105919927359,\
+ 0.75415370846167207,0.15320260450243950,0.59521253732964396,0.71318271104246378,\
+ 0.51107599260285497,0.52125945501029491}
+
+
+
+
+
+
+#define IMATRIXROW {-0.0419293790250184,-0.05416405376783551,+0.11775191182077104,+0.08015791690354153,+0.00011032748454003,\
+-0.10124210045965254,0.06720614014223115,+0.02470873836336094,-0.07082037296251543,-0.00621987869853545}
+
+#define RMATRIXROW {0.01439621349781126,-0.04697393442028135,-0.03018604392150223,0.09765990436118642,0.01606884471097247,\
+-0.00604250542333471,0.02870576510687836,-0.04985742926427023,0.12356001472881707,0.05909180726174274}
+
+#define IMATRIXCOL {-0.01904810719805961,+0.04121453132770223,+0.00378553967089328,\
++0.10307670507342410,+0.03497427750676810,+0.01761849804019567,-0.10182321471060848}
+
+#define RMATRIXCOL {-0.02739893277693160,0.01792852626358409,-0.02205084134302381,\
+-0.01012610864032573,0.07317682977907164,0.04762062457313784,0.00849011627117621}
+
+
+static void dvariancesTest (void ) {
+
+ double toTest = dvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+
+static void drowvariancesTest (void ) {
+
+ double toTest = drowvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+static void dcolumnvariancesTest (void) {
+
+ double toTest = dcolumnvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+
+static void zvariancesTest (void ) {
+
+ doubleComplex toTest = zvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+static void zrowvariancesTest (void ) {
+
+ doubleComplex toTest = zrowvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+static void zcolumnvariancesTest (void ) {
+
+ doubleComplex toTest = zrowvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+
+
+
+
+
+static void dvarianceaTest ( void){
+
+ double mtoTest[] = MATRIX ;
+ double result = 0.1007532974338590653352;
+ double out = dvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+
+
+ printf ( "out : %1.20f\t result : %1.20f\t\n" , out , result ) ;
+
+
+
+ assert ( fabs ( out - result ) / fabs( out ) < 3e-15 ) ;
+
+}
+
+
+static void drowvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ double mtoTest[] = MATRIX ;
+ double result[LINES] = MATRIXCOL ;
+ double out[LINES] ;
+
+ drowvariancea ( mtoTest , COLUMNS , LINES , out ) ;
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "ROWout : %1.20f\t result : %1.20f\t\n" , out[i] , result [i] ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 3e-16 ) ;
+ }
+
+}
+
+static void dcolumnvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ double mtoTest[] = MATRIX ;
+ double result[COLUMNS] = MATRIXROW ;
+ double out[ COLUMNS] ;
+
+
+
+ dcolumnvariancea ( mtoTest , COLUMNS, LINES , out ) ;
+
+ for ( i = 0 ; i < COLUMNS; i++)
+ {
+ printf ( "%dCOLout : %1.20f\t result : %1.20f\t\n" ,i, out[i] , result [i] ) ; }
+ for ( i = 0 ; i < COLUMNS; i++)
+ {
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 3e-16 ) ;
+ }
+
+}
+
+
+
+
+static void zvarianceaTest ( void){
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ doubleComplex Result = DoubleComplex ( 0.01225832057910708 , 0.01071188208687752 );
+
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex out = zvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+ assert ( fabs( zreals(out) - zreals (Result) ) / fabs (zreals (out)) < 3e-16 );
+ assert( fabs( zimags(out) - zimags (Result )) / fabs (zimags (out)) < 3e-15 );
+
+
+}
+
+static void zrowvarianceaTest (void ) {
+
+ int i = 0 ;
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ double rResult [] = RMATRIXROW;
+ double iResult [] = IMATRIXROW ;
+
+ doubleComplex out[COLUMNS];
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex* Result = DoubleComplexMatrix ( rResult , iResult , COLUMNS );
+
+ zrowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ /*FIXME test failed under 1-e04 precision */
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , zreals(out[i]) , zimags(out[i]), zreals(Result[i]) ,zimags( Result[i]));
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 3e-8 );
+ assert( fabs( zimags(out[i]) - zimags (Result[i])) / fabs (zimags (out[i])) < 3e-15);
+
+ }
+}
+
+
+
+static void zcolumnvarianceaTest ( void) {
+ int i = 0 ;
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ double rResult [] = RMATRIXCOL;
+ double iResult [] = IMATRIXCOL ;
+
+ doubleComplex out[LINES];
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex* Result = DoubleComplexMatrix ( rResult , iResult , LINES );
+
+ zcolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , zreals(out[i]) , zimags(out[i]), zreals(Result[i]) ,zimags( Result[i]));
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 3e-16 );
+ assert( fabs( zimags(out[i]) - zimags (Result[i])) / fabs (zimags (out[i])) < 3e-16);
+
+ }
+
+
+
+}
+
+
+
+
+
+static int testDoubleVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Double Tests ****\n");
+ printf("*********************\n");
+
+ printf("\n\t>>>>singleton real Tests\n");
+ dcolumnvariancesTest () ;
+ dvariancesTest () ;
+ drowvariancesTest () ;
+
+
+ printf("\n\t>>>>singleton complex Tests\n");
+
+ zrowvariancesTest () ;
+ zcolumnvariancesTest () ;
+ zvariancesTest () ;
+
+
+
+ printf("\n\t>>>>array real Tests\n");
+
+ dvarianceaTest () ;
+
+ dcolumnvarianceaTest () ;
+ drowvarianceaTest ( );
+
+
+ printf("\n\t>>>>array complex Tests\n");
+
+ zvarianceaTest () ;
+ zrowvarianceaTest ( );
+ zcolumnvarianceaTest () ;
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testDoubleVariance () == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variance/testDoubleVarianceNono.c b/src/c/statisticsFunctions/variance/testDoubleVarianceNono.c
new file mode 100644
index 0000000..39302d7
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/testDoubleVarianceNono.c
@@ -0,0 +1,363 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+#include "assert.h"
+
+static int doubleVariance(void){
+
+ int i;
+
+
+ /*test 1 */
+ {
+ double matrice[20]={1,5,9,4,8,2,6,1,5,9,3,7,2,6,1,4,8,3,7,2};
+ double out, *outColumns, *outRows;
+ double result= 7.5026315789473692063893;
+ double resultColumns[5]= {1.6666666666666667406815 ,1.6666666666666667406815 ,12.916666666666666074548 ,1.6666666666666667406815 ,16.666666666666667850905};
+ double resultRows[4]={10.300000000000000710543 , 10.300000000000000710543 , 6.7000000000000001776357 , 6.7000000000000001776357};
+
+
+
+ outColumns= (double*)malloc((unsigned int)5*sizeof(double));
+ outRows= (double*)malloc((unsigned int)4*sizeof(double));
+
+ out = dvariancea(matrice,20);
+ drowvariancea(matrice,5,4,outRows);
+ dcolumnvariancea(matrice,5,4,outColumns);
+
+
+ printf("Variance \n");
+ printf("%f\n",out);
+ printf("Row Variance \n");
+ for (i=0;i<4;i++) printf("%f\n",outRows[i]);
+ printf("Column Variance \n");
+ for (i=0;i<5;i++) printf("%f\n",outColumns[i]);
+
+
+ assert(fabs(out-result)/fabs(out) <1e-16);
+ for (i=0;i<4;i++)assert(fabs(outRows[i]-resultRows[i])/fabs(outRows[i]) <1e-16);
+
+ for (i=0;i<5;i++)assert(fabs(outColumns[i]-resultColumns[i])/fabs(outColumns[i]) <1e-16);
+
+ free(outColumns);
+ free(outRows);
+
+ }
+
+
+ /* test 2 */
+
+ {
+ double mtovar[70]={0.2113248654641211032867,0.7560438541695475578308,0.0002211346291005611420,
+ 0.3303270917385816574097,0.6653811042197048664093,0.6283917883411049842835,
+ 0.8497452358715236186981,
+ 0.6857310198247432708740,0.8782164813019335269928,0.0683740368112921714783,
+ 0.5608486062847077846527,0.6623569373041391372681,0.7263506767340004444122,
+ 0.1985143842175602912903,
+ 0.5442573162727057933807,0.2320747897028923034668,0.2312237196601927280426,
+ 0.2164632631465792655945,0.8833887814544141292572,0.6525134947150945663452,
+ 0.3076090742833912372589,
+ 0.9329616213217377662659,0.2146007861010730266571,0.3126419968903064727783,
+ 0.3616361008025705814362,0.2922266637906432151794,0.5664248815737664699554,
+ 0.4826471973210573196411,
+ 0.3321718913502991199493,0.5935094701126217842102,0.5015341597609221935272,
+ 0.4368587583303451538086,0.2693124809302389621735,0.6325744865462183952332,
+ 0.4051954015158116817474,
+ 0.9184707831591367721558,0.0437334333546459674835,0.4818508932366967201233,
+ 0.2639556000940501689911,0.4148103706538677215576,0.2806498021818697452545,
+ 0.1280058464035391807556,
+ 0.7783128595910966396332,0.2119030449539422988892,0.1121354666538536548615,
+ 0.6856895955279469490051,0.1531216683797538280487,0.6970850601792335510254,
+ 0.8415518426336348056793,
+ 0.4062024755403399467468,0.4094825475476682186127,0.8784125801175832748413,
+ 0.1138359685428440570831,0.1998337740078568458557,0.5618660743348300457001,
+ 0.5896177329123020172119,
+ 0.6853979662992060184479,0.8906224733218550682068,0.5042212805710732936859,
+ 0.3493615407496690750122,0.3873778772540390491486,0.9222898678854107856751,
+ 0.9488184261135756969452,
+ 0.3435337245464324951172,0.3760118731297552585602,0.7340940563008189201355,
+ 0.2615761472843587398529,0.4993493836373090744019,0.2638578419573605060577,
+ 0.5253563085570931434631};
+ double out2, *outColumns2, *outRows2;
+ double result2= 0.0651863337585355667736 ;
+ double resultColumns2[7]= {0.0650391675869589902526 ,
+ 0.0913789208052724344356 ,
+ 0.0837863718398224738282 ,
+ 0.0281545517812518443501 ,
+ 0.0549594706400152802073 ,
+ 0.0389978730537587012228 ,
+ 0.0796657637071630925218 ,
+ };
+ double resultRows2[10]={0.0988544518240001696130 , 0.0874673050908554156058 , 0.0678199050579095519264, 0.0591380787668954188696 , 0.0175386373980947855855 ,0.0831815708684833926556 , 0.1035239817400336881370 , 0.0657802543744439444096 , 0.0667446022405332184402 , 0.0287884625084994134891};
+
+
+ outColumns2= (double*)malloc((unsigned int)7*sizeof(double));
+ outRows2= (double*)malloc((unsigned int)10*sizeof(double));
+
+
+
+ out2 = dvariancea(mtovar,70);
+ drowvariancea(mtovar,7,10,outRows2);
+ dcolumnvariancea(mtovar,7,10,outColumns2);
+
+
+ printf("Variance 2 \n");
+ printf("%f\n",out2);
+ printf("Row Variance 2 \n");
+ for (i=0;i<10;i++) printf("%f\n",outRows2[i]);
+ printf("Column Variance 2 \n");
+ for (i=0;i<7;i++) printf("%f\n",outColumns2[i]);
+
+ assert(fabs(out2-result2)/fabs(out2) <1e-16);
+ for (i=0;i<10;i++)assert(fabs(outRows2[i]-resultRows2[i])/fabs(outRows2[i]) <1e-16);
+
+ for (i=0;i<7;i++)assert(fabs(outColumns2[i]-resultColumns2[i])/fabs(outColumns2[i]) <1e-16);
+
+ free(outColumns2);
+ free(outRows2);
+ }
+
+
+ return 0;
+}
+
+
+static int doubleComplexVariance(void){
+ int i;
+
+ /* test 1 */
+ {
+ double inR[6]={0.9677053210325539112091,0.5068534435704350471497,0.523297640960663557053,0.5596947595477104187012,
+ 0.5617307000793516635895,0.468176002614200115204};
+ double inI[6]={0.7794546722434461116791,0.7901071812957525253296,0.9808542062528431415558,0.8187066102400422096252,
+ 0.4256872381083667278290,0.2461560554802417755127};
+ double varianceR=- 0.0428404140538702279950;
+ double varianceI=0.0257955584577409802183;
+ double rowVarianceR[3]={0.106135488505625180666,- 0.0124835463256454722719,- 0.01173948205902856229};
+ double rowVarianceI[3]={- 0.0049092287964376275095,- 0.0059017052806824826100,0.0167959854763351026929};
+ double colVarianceR[2]={- 0.0183554755457089394111,- 0.1019751767306446843531};
+ double colVarianceI[2]={0.0109267784648201249365,0.0249829946888768111846};
+ doubleComplex *in, *rowVariance, *colVariance;
+ doubleComplex out, *outRow, *outCol;
+
+ in= (doubleComplex*)malloc ((unsigned int)6*sizeof(doubleComplex));
+ outRow= (doubleComplex*)malloc ((unsigned int)3*sizeof(doubleComplex));
+ outCol= (doubleComplex*)malloc ((unsigned int)2*sizeof(doubleComplex));
+
+ in=DoubleComplexMatrix(inR,inI,6);
+ rowVariance=DoubleComplexMatrix(rowVarianceR,rowVarianceI,3);
+ colVariance=DoubleComplexMatrix(colVarianceR,colVarianceI,2);
+
+
+ out=zvariancea(in,6);
+ printf("Variance \n");
+ printf("%f + %f *i\texpecting result : %f + %f *i\n",zreals(out),zimags(out) , varianceR , varianceI);
+
+ assert(fabs(zreals(out)-varianceR)/fabs(zreals(out)) <3e-16);
+ assert(fabs(zimags(out)-varianceI)/fabs(zimags(out)) <3e-15);
+
+
+
+
+
+ zrowvariancea(in,2,3,outRow);
+ printf("Row Variance \n");
+ for (i=0;i<3;i++) printf("%1.20f + %1.20f *i\n",zreals(outRow[i]),zimags(outRow[i]));
+
+
+ for (i=0;i<3;i++){
+ assert(fabs(zreals(outRow[i])-rowVarianceR[i])/fabs(zreals(outRow[i])) <3e-15);
+ assert(fabs(zimags(outRow[i])-rowVarianceI[i])/fabs(zimags(outRow[i])) <3e-14);
+ }
+
+
+
+ zcolumnvariancea(in,2,3,outCol);
+ printf("Column Variance \n");
+ for (i=0;i<2;i++) printf("%f + %f *i\n",zreals(outCol[i]),zimags(outCol[i]));
+
+
+ for (i=0;i<2;i++){
+ assert(fabs(zreals(outCol[i])-colVarianceR[i])/fabs(zreals(outCol[i])) <3e-15);
+ assert(fabs(zimags(outCol[i])-colVarianceI[i])/fabs(zimags(outCol[i])) <3e-15);
+ }
+
+ free(in);
+ free(outCol);
+ free(outRow);
+
+ }
+
+
+ printf("\n");
+ printf("\n");
+ printf("\n");
+ printf("\n");
+
+
+ /* test 2 */
+ {
+ double inR[70]={0.0453502028249204158783,0.2029444333165884017944,0.7844273825176060199738,
+ 0.2637536162510514259338,0.4383276398293673992157,0.866485897451639175415,
+ 0.3792142109014093875885,0.7668716078624129295349,0.6006621322594583034515,
+ 0.7856735605746507644653,
+0.7387115550227463245392,0.5544260339811444282532,0.9929149555973708629608,
+ 0.9757428467273712158203,0.3709622272290289402008,0.3032238213345408439636,
+ 0.9519520117901265621185,0.7127858083695173263550,0.119237006176263093948,
+ 0.5009163180366158485413,
+0.3290053526870906352997,0.4808946810662746429443,0.3303695977665483951569,
+ 0.6304475357756018638611,0.2117190784774720668793,0.4486023131757974624634,
+ 0.5914509710855782032013,0.6806742670014500617981,0.0739296111278235912323,
+ 0.9433694705367088317871,
+0.1286330693401396274567,0.2019080771133303642273,0.1969303428195416927338,
+ 0.8928690161556005477905,0.4617918957956135272980,0.6251291716471314430237,
+ 0.7059706593863666057587,0.7018169648945331573486,0.4087999747134745121002,
+ 0.0636221384629607200623,
+0.0657393387518823146820,0.5331004131585359573364,0.0331581872887909412384,
+ 0.3157835649326443672180,0.3785823243670165538788,0.4619523435831069946289,
+ 0.6287369825877249240875,0.2878515301272273063660,0.3292048736475408077240,
+ 0.4719233047217130661011,
+0.3353769634850323200226,0.5553069720044732093811,0.1196080814115703105927,
+ 0.7613999657332897186279,0.4790988476015627384186,0.2816969295963644981384,
+ 0.2380097783170640468597,0.3294205460697412490845,0.2306728032417595386505,
+ 0.2136296601966023445129,
+0.4054998042993247509003,0.3095371201634407043457,0.6762971603311598300934,
+ 0.970691631548106670380,0.5441796570084989070892,0.0204747971147298812866,
+ 0.8941364963538944721222,0.3490363890305161476135,0.1105365152470767498016,
+ 0.2023377753794193267822};
+ double inI[70]={1.0377217042259871959686,1.9830380710773169994354,-0.6786614381708204746246,
+ -1.7368789152242243289948,0.6849579229019582271576,-1.9756898251362144947052, 0.9018773441202938556671,0.4113956945948302745819,0.0771432374604046344757,
+ -2.6145569621585309505463,
+-0.8694803346879780292511,1.1954508102498948574066,1.0175080369226634502411,
+ -1.86952689336612820625,1.6495719677768647670746,-1.1282413271255791187286,
+ 1.7159116868861019611359,1.3512618443928658962250,1.6467350018210709095001,
+ -4.3247690196149051189423,
+-1.1214177873916923999786,0.3549467395059764385223,1.5090364827774465084076,
+ 0.0271988785825669765472,-0.3927204073406755924225,-2.2866433826275169849396,
+ 2.4531399612314999103546,1.2140426929108798503876,0.1123848785646259784699,
+ -1.2278760573826730251312,
+0.5748759503476321697235,0.1001535071991384029388,0.7154782521538436412811,
+ -0.3598340046592056751251,0.1114491275511682033539,-1.0214430955238640308380,
+ 1.8411546354182064533234,1.3313704966567456722260,0.107393887359648942947,
+ -2.1405860441736876964569,
+-0.1921784919686615467072,-0.0941377175040543079376,-0.3007089742459356784821,
+ -1.6332105011679232120514,-0.9827875629998743534088,-4.0793808070011436939240,
+ 1.6021160488016903400421,0.5996482106857001781464,-1.0103867049328982830048,
+ -1.9795853956602513790131,
+-0.7019297261722385883331,0.1910370937548577785492,0.5148729826323688030243,
+ -1.2210475285537540912628,1.4409833527170121669769,-2.0624672439880669116974,
+ 2.2999203805811703205109,1.6434787488542497158051,-0.0813916879706084728241,
+ -4.3653216282837092876434,
+0.0896512451581656932831,1.4530082489363849163055,-0.1911182911135256290436,
+ -1.5278804996050894260406,-0.8655951828695833683014,-2.6959278550930321216583,
+ 1.089711368549615144730,0.2611377011053264141083,-0.0787748913280665874481,
+ -1.675187868531793355942};
+ double varianceR=- 2.3201230329620456949158;
+ double varianceI=0.0135359053960125846894;
+ double rowVarianceR[7]={- 2.1748250359163439071608,- 4.0055927597555047725564,- 1.9380991813636070375537,- 1.211164632384367667584,
+ - 2.3819157100812309302285,- 3.865411523472068289209,- 1.5488286339908912125907};
+ double rowVarianceI[7]={- 0.5161401892195496277083,- 0.0302397956223948334575,0.0072526988331105511632,0.2035074619460965072992,
+ - 0.0227578793067023492369,0.0176453877563822227048,0.2048099414748655033858};
+ double colVarianceR[10]={ - 0.5673920596394929072304,
+ - 0.6095831761740567733554,
+ - 0.4837275005370789138226,
+ - 0.4518709923747168399899,
+ - 1.1155710732654480210613,
+ - 0.9922425930742954092168,
+ - 0.2615272073355465187738,
+ - 0.2448899237808548345896,
+ - 0.5783271525148965253038,
+ - 1.4662540245146995498970 };
+ double colVarianceI[10]={ - 0.2519451287679840834066,
+ - 0.1132720366896080160801,
+ - 0.0393753052279357945720 ,
+ 0.0678956480014177715665 ,
+ 0.0165011281984272333012 ,
+ 0.1043646242921155153915 ,
+ - 0.0697520473529744805541 ,
+ 0.0395755738577838397929 ,
+ - 0.0906906077772287183558 ,
+ 0.2030521845859689644698 };
+ doubleComplex *in, *rowVariance, *colVariance;
+ doubleComplex out, *outRow, *outCol;
+
+ in= (doubleComplex*)malloc ((unsigned int)70*sizeof(doubleComplex));
+ outRow= (doubleComplex*)malloc ((unsigned int)7*sizeof(doubleComplex));
+ outCol= (doubleComplex*)malloc ((unsigned int)10*sizeof(doubleComplex));
+
+ in=DoubleComplexMatrix(inR,inI,70);
+ rowVariance=DoubleComplexMatrix(rowVarianceR,rowVarianceI,7);
+ colVariance=DoubleComplexMatrix(colVarianceR,colVarianceI,10);
+
+
+ out=zvariancea(in,70);
+ printf("Variance 2 \n");
+ printf("%f + %f *i\n",zreals(out),zimags(out));
+
+ assert(fabs(zreals(out)-varianceR)/fabs(zreals(out)) <3e-16);
+ assert(fabs(zimags(out)-varianceI)/fabs(zimags(out)) <3e-16);
+
+
+
+
+
+ zrowvariancea(in,10,7,outRow);
+ printf("Row Variance 2 \n");
+ for (i=0;i<7;i++) printf("%1.20f + %1.20f *i\n",zreals(outRow[i]),zimags(outRow[i]));
+
+
+ for (i=0;i<7;i++){
+ assert(fabs(zreals(outRow[i])-rowVarianceR[i])/fabs(zreals(outRow[i])) <3e-15);
+ assert(fabs(zimags(outRow[i])-rowVarianceI[i])/fabs(zimags(outRow[i])) <3e-14);
+ }
+
+
+
+ zcolumnvariancea(in,10,7,outCol);
+ printf("Column Variance 2 \n");
+ for (i=0;i<10;i++) printf("%f + %f *i\n",zreals(outCol[i]),zimags(outCol[i]));
+
+
+ for (i=0;i<10;i++){
+ assert(fabs(zreals(outCol[i])-colVarianceR[i])/fabs(zreals(outCol[i])) <3e-15);
+ assert(fabs(zimags(outCol[i])-colVarianceI[i])/fabs(zimags(outCol[i])) <3e-14);
+ }
+ free(in);
+ free(outCol);
+ free(outRow);
+
+ }
+
+ return 0;
+}
+
+
+
+
+
+static int testDoubleVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Double Tests Nono****\n");
+ printf("*********************\n");
+ assert(doubleVariance()==0);
+ assert(doubleComplexVariance()==0);
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testDoubleVariance () == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variance/testFloatVariance.c b/src/c/statisticsFunctions/variance/testFloatVariance.c
new file mode 100644
index 0000000..5a22a9c
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/testFloatVariance.c
@@ -0,0 +1,329 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+
+#define SINGLE 1.323312455f
+#define LINES 7
+#define COLUMNS 10
+#define MATRIX {0.102326436434f,0.939044147730f,0.638607255649f,0.059883427806f,0.311199211050f,\
+ 0.377510951832f,0.909709410276f,0.928138985299f,0.855155082885f,0.308869514614f,\
+0.729239261709f,0.127006734256f,0.242402311414f,0.807912770193f,0.621117659844f,\
+ 0.081452373881f,0.088844371960f,0.587072817143f,0.068080495112f,0.995457543526f,\
+0.835322400089f,0.656235548668f,0.767905956600f,0.706818781793f,0.187699332368f,\
+ 0.568810169585f,0.401039466728f,0.397196868435f,0.483212330844f,0.161224133335f,\
+0.932864250615f,0.719208867755f,0.262409000657f,0.931377100293f,0.596724558622f,\
+ 0.310327019077f,0.350161732174f,0.104841318447f,0.830732351169f,0.804621329065f,\
+0.050784428138f,0.551920620725f,0.125952405389f,0.083156193607f,0.420623748098f,\
+ 0.168616071343f,0.707545555662f,0.104633864947f,0.465604968835f,0.489758284763f,\
+0.167727907188f,0.760689914692f,0.454900974408f,0.063926273491f,0.87152507063f,0.978668818716f,\
+ 0.135898929089f,0.484713065904f,0.785042577423f,0.049412418623f,\
+0.947593610268f,0.884073690511f,0.212796610314f,0.654832502827f,0.007690255996f,\
+ 0.031808692031f,0.706323316786f,0.008731670678f,0.270014822017f,0.153652121313f}
+
+
+#define MATRIXROW {0.168824942350f,0.072908122527f,0.057987977092f,0.149998975703f,0.085086319404f,\
+0.108508638451f,0.096937985957f,0.107281660264f,0.091363871817f,0.128577818421f}
+
+#define MATRIXCOL { 0.123307827428f,0.123213594199f,0.054037725959f,0.092551230301f,0.055505564488f,\
+0.127629921958f,0.138516743375f }
+
+
+#define IMATRIX {0.05826747464016080f,0.99946373142302036f,0.85600351681932807f,0.62329693790525198f,\
+ 0.49792320514097810f,0.44210509583353996f,0.55833499459549785f,0.09633230511099100f,\
+ 0.80100952507928014f,0.34466254524886608f,\
+0.48831309471279383f,0.95087061496451497f,0.01332767866551876f,0.76261807000264525f,\
+ 0.74346329551190138f,0.65157829830422997f,0.57006288319826126f,0.70580983115360141f,\
+ 0.51323400903493166f,0.64977857517078519f,\
+0.80352442665025592f,0.69910932797938585f,0.69258948462083936f,0.91169391758739948f,\
+ 0.92454590043053031f,0.27637310232967138f,0.31692579621449113f,0.86305770650506020f,\
+ 0.20109100220724940f,0.01225362811237574f,\
+0.38199013099074364f,0.96006405679509044f,0.16440964583307505f,0.59608811559155583f,\
+ 0.72101737372577190f,0.58661046391353011f,0.99326277803629637f,0.00761850038543344f,\
+ 0.78608208894729614f,0.89965870184823871f,\
+0.43115562805905938f,0.81857266277074814f,0.83410377753898501f,0.55516970623284578f,\
+ 0.51345925079658628f,0.04770902730524540f,0.80747798969969153f,0.80489510949701071f,\
+ 0.78650354826822877f,0.30791273340582848f,\
+0.75731822755187750f,0.53423820668831468f,0.42618893459439278f,0.85448804078623652f,\
+ 0.92601215932518244f,0.94169309409335256f,0.85547966323792934f,0.59637623047456145f,\
+ 0.69515300076454878f,0.18359116325154901f,\
+0.01200280850753188f,0.2255702270194888f,0.34853330114856362f,0.55313225090503693f,\
+ 0.63695094687864184f,0.96132039744406939f,0.50314606027677655f,0.11768362112343311f,\
+ 0.42481321236118674f,0.52963322307914495f}
+
+#define RMATRIX {0.53868199465796351f,0.65326874051243067f,0.37497402401641011f,0.60422550700604916f,\
+ 0.33622304117307067f,0.03531436901539564f,0.33213760564103723f,0.39493087679147720f,\
+ 0.04170337272807956f,0.87363853026181459f,\
+0.65950810909271240f,0.31221040291711688f,0.15333442110568285f,0.66478573577478528f,\
+ 0.44319023378193378f,0.40884594758972526f,0.94536898937076330f,0.67733758920803666f,\
+ 0.18673646822571754f,0.92331133363768458f,\
+0.55921846115961671f,0.75012728199362755f,0.23257926432415843f,0.57102064136415720f,\
+ 0.60969385923817754f,0.67336730472743511f,0.07624059682711959f,0.10437540244311094f,\
+ 0.95672677317634225f,0.19771346449851990f,\
+0.05278092902153730f,0.75808868417516351f,0.17633479088544846f,0.01146994484588504f,\
+ 0.36732212174683809f,0.19948644982650876f,0.52714426256716251f,0.21445603063330054f,\
+ 0.94751045759767294f,0.04272260749712586f,\
+0.03257346292957664f,0.53217577841132879f,0.87635089689865708f,0.15471007302403450f,\
+ 0.25448470888659358f,0.91815057490020990f,0.72509902389720082f,0.87545845471322536f,\
+ 0.05635281419381499f,0.01432112138718367f,\
+0.57406943850219250f,0.80984140699729323f,0.01664119493216276f,0.93888836959376931f,\
+ 0.11264799535274506f,0.66036546928808093f,0.76042845565825701f,0.25908330874517560f,\
+ 0.88014078326523304f,0.70332178613170981f,\
+0.94614937948063016f,0.78529163636267185f,0.20241560926660895f,0.10981105919927359f,\
+ 0.75415370846167207f,0.15320260450243950f,0.59521253732964396f,0.71318271104246378f,\
+ 0.51107599260285497f,0.52125945501029491f}
+
+
+
+
+
+
+#define IMATRIXROW {-0.0419293790250184f,-0.05416405376783551f,+0.11775191182077104f,+0.08015791690354153f,+0.00011032748454003f,\
+-0.10124210045965254f,0.06720614014223115f,+0.02470873836336094f,-0.07082037296251543f,-0.00621987869853545f}
+
+#define RMATRIXROW {0.01439621349781126f,-0.04697393442028135f,-0.03018604392150223f,0.09765990436118642f,0.01606884471097247f,\
+-0.00604250542333471f,0.02870576510687836f,-0.04985742926427023f,0.12356001472881707f,0.05909180726174274f}
+
+#define IMATRIXCOL {-0.01904810719805961f,+0.04121453132770223f,+0.00378553967089328f,\
++0.10307670507342410f,+0.03497427750676810f,+0.01761849804019567f,-0.10182321471060848f}
+
+#define RMATRIXCOL {-0.02739893277693160f,0.01792852626358409f,-0.02205084134302381f,\
+-0.01012610864032573f,0.07317682977907164f,0.04762062457313784f,0.00849011627117621f}
+
+
+static void svariancesTest (void ) {
+
+ float toTest = svariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+
+static void srowvariancesTest (void ) {
+
+ float toTest = srowvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+static void scolumnvariancesTest (void) {
+
+ float toTest = scolumnvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+
+static void cvariancesTest (void ) {
+
+ floatComplex toTest = cvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+static void crowvariancesTest (void ) {
+
+ floatComplex toTest = crowvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+static void ccolumnvariancesTest (void ) {
+
+ floatComplex toTest = crowvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+
+
+
+
+
+static void svarianceaTest ( void){
+
+ float mtoTest[] = MATRIX ;
+ float result = 0.100753297434f;
+ float out = svariancea ( mtoTest , LINES*COLUMNS ); ;
+
+
+
+ printf ( "out : %e\t result : %e\t\n" , out , result ) ;
+
+
+
+ assert ( fabs ( out - result ) / fabs( out ) < 1e-06 ) ;
+
+}
+
+
+static void srowvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ float mtoTest[] = MATRIX ;
+ float result[COLUMNS] = MATRIXROW ;
+ float out[COLUMNS] ;
+
+ srowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "ROWout : %e\t result : %e\t\n" , out[i] , result [i] ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 1e-06 ) ;
+ }
+
+}
+
+static void scolumnvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ float mtoTest[] = MATRIX ;
+ float result[LINES] = MATRIXCOL ;
+ float out[ LINES] ;
+
+
+
+ scolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%dCOLout : %e\t result : %e\t\n" ,i, out[i] , result [i] ) ;
+ /* assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 1e-05 ) ;*/
+ }
+
+}
+
+
+
+
+static void cvarianceaTest ( void){
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ floatComplex Result = FloatComplex ( 0.01225832057910708f , 0.01071188208687752f );
+
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex out = cvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+ assert ( fabs( creals(out) - creals (Result) ) / fabs (creals (out)) < 1e-06 );
+ assert( fabs( cimags(out) - cimags (Result )) / fabs (cimags (out)) < 1e-06 );
+
+
+}
+
+static void crowvarianceaTest (void ) {
+
+ int i = 0 ;
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ float rResult [] = RMATRIXROW;
+ float iResult [] = IMATRIXROW ;
+
+ floatComplex out[COLUMNS];
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex* Result = FloatComplexMatrix ( rResult , iResult , COLUMNS );
+
+ crowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ /*FIXME test failed under 1-e04 precision */
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , creals(out[i]) , cimags(out[i]), creals(Result[i]) ,cimags( Result[i]));
+ assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 3e-6 );
+ assert( fabs( cimags(out[i]) - cimags (Result[i])) / fabs (cimags (out[i])) < 3e-6);
+
+ }
+}
+
+
+
+static void ccolumnvarianceaTest ( void) {
+ int i = 0 ;
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ float rResult [] = RMATRIXCOL;
+ float iResult [] = IMATRIXCOL ;
+
+ floatComplex out[LINES];
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex* Result = FloatComplexMatrix ( rResult , iResult , LINES );
+
+ ccolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , creals(out[i]) , cimags(out[i]), creals(Result[i]) ,cimags( Result[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);
+
+ }
+
+
+
+}
+
+
+
+
+
+static int testFloatVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Float Tests ****\n");
+ printf("*********************\n");
+
+ printf("\n\t>>>>singleton real Tests\n");
+ scolumnvariancesTest () ;
+ svariancesTest () ;
+ srowvariancesTest () ;
+
+
+ printf("\n\t>>>>singleton complex Tests\n");
+
+ crowvariancesTest () ;
+ ccolumnvariancesTest () ;
+ cvariancesTest () ;
+
+
+
+ printf("\n\t>>>>array real Tests\n");
+
+ svarianceaTest () ;
+
+ scolumnvarianceaTest () ;
+ srowvarianceaTest ( );
+
+
+ printf("\n\t>>>>array complex Tests\n");
+
+ cvarianceaTest () ;
+ crowvarianceaTest ( );
+ ccolumnvarianceaTest () ;
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testFloatVariance () == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/variance/testFloatVarianceNono.c b/src/c/statisticsFunctions/variance/testFloatVarianceNono.c
new file mode 100644
index 0000000..a8d2545
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/testFloatVarianceNono.c
@@ -0,0 +1,364 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+#include "assert.h"
+
+static int floatVariance(void){
+
+ int i;
+
+
+ /*test 1 */
+ {
+ float matrice[20]={1.0f,5.0f,9.0f,4.0f,8.0f,2.0f,6.0f,1.0f,5.0f,9.0f,3.0f,7.0f,2.0f,6.0f,1.0f,4.0f,8.0f,3.0f,7.0f,2.0f};
+ float out, *outColumns, *outRows;
+ float result= 7.5026315789473692063893f;
+ float resultColumns[5]= {1.6666666666666667406815f ,1.6666666666666667406815f ,12.916666666666666074548f ,1.6666666666666667406815f ,16.666666666666667850905f};
+ float resultRows[4]={10.300000000000000710543f , 10.300000000000000710543f , 6.7000000000000001776357f , 6.7000000000000001776357f};
+
+
+
+ outColumns= (float*)malloc((unsigned int)5*sizeof(float));
+ outRows= (float*)malloc((unsigned int)4*sizeof(float));
+
+ out = svariancea(matrice,20);
+ srowvariancea(matrice,5,4,outRows);
+ scolumnvariancea(matrice,5,4,outColumns);
+
+
+ printf("Variance \n");
+ printf("%f\n",out);
+ printf("Row Variance \n");
+ for (i=0;i<4;i++) printf("%f\n",outRows[i]);
+ printf("Column Variance \n");
+ for (i=0;i<5;i++) printf("%f\n",outColumns[i]);
+
+
+ assert(fabs(out-result)/fabs(out) <1e-06);
+ for (i=0;i<4;i++)assert(fabs(outRows[i]-resultRows[i])/fabs(outRows[i]) <1e-06);
+
+ for (i=0;i<5;i++)assert(fabs(outColumns[i]-resultColumns[i])/fabs(outColumns[i]) <1e-06);
+
+ free(outColumns);
+ free(outRows);
+ }
+
+
+ /* test 2 */
+
+ {
+ float mtovar[70]={0.2113248654641211032867f,0.7560438541695475578308f,0.0002211346291005611420f,
+ 0.3303270917385816574097f,0.6653811042197048664093f,0.6283917883411049842835f,
+ 0.8497452358715236186981f,
+ 0.6857310198247432708740f,0.8782164813019335269928f,0.0683740368112921714783f,
+ 0.5608486062847077846527f,0.6623569373041391372681f,0.7263506767340004444122f,
+ 0.1985143842175602912903f,
+ 0.5442573162727057933807f,0.2320747897028923034668f,0.2312237196601927280426f,
+ 0.2164632631465792655945f,0.8833887814544141292572f,0.6525134947150945663452f,
+ 0.3076090742833912372589f,
+ 0.9329616213217377662659f,0.2146007861010730266571f,0.3126419968903064727783f,
+ 0.3616361008025705814362f,0.2922266637906432151794f,0.5664248815737664699554f,
+ 0.4826471973210573196411f,
+ 0.3321718913502991199493f,0.5935094701126217842102f,0.5015341597609221935272f,
+ 0.4368587583303451538086f,0.2693124809302389621735f,0.6325744865462183952332f,
+ 0.4051954015158116817474f,
+ 0.9184707831591367721558f,0.0437334333546459674835f,0.4818508932366967201233f,
+ 0.2639556000940501689911f,0.4148103706538677215576f,0.2806498021818697452545f,
+ 0.1280058464035391807556f,
+ 0.7783128595910966396332f,0.2119030449539422988892f,0.1121354666538536548615f,
+ 0.6856895955279469490051f,0.1531216683797538280487f,0.6970850601792335510254f,
+ 0.8415518426336348056793f,
+ 0.4062024755403399467468f,0.4094825475476682186127f,0.8784125801175832748413f,
+ 0.1138359685428440570831f,0.1998337740078568458557f,0.5618660743348300457001f,
+ 0.5896177329123020172119f,
+ 0.6853979662992060184479f,0.8906224733218550682068f,0.5042212805710732936859f,
+ 0.3493615407496690750122f,0.3873778772540390491486f,0.9222898678854107856751f,
+ 0.9488184261135756969452f,
+ 0.3435337245464324951172f,0.3760118731297552585602f,0.7340940563008189201355f,
+ 0.2615761472843587398529f,0.4993493836373090744019f,0.2638578419573605060577f,
+ 0.5253563085570931434631f};
+ float out2, *outColumns2, *outRows2;
+ float result2= 0.0651863337585355667736f ;
+ float resultColumns2[7]= {0.0650391675869589902526f ,
+ 0.0913789208052724344356f ,
+ 0.0837863718398224738282f ,
+ 0.0281545517812518443501f ,
+ 0.0549594706400152802073f ,
+ 0.0389978730537587012228f ,
+ 0.0796657637071630925218f ,
+ };
+ float resultRows2[10]={0.0988544518240001696130f , 0.0874673050908554156058f , 0.0678199050579095519264f, 0.0591380787668954188696f , 0.0175386373980947855855f ,0.0831815708684833926556f , 0.1035239817400336881370f, 0.0657802543744439444096f , 0.0667446022405332184402f , 0.0287884625084994134891f};
+
+
+ outColumns2= (float*)malloc((unsigned int)7*sizeof(float));
+ outRows2= (float*)malloc((unsigned int)10*sizeof(float));
+
+
+
+ out2 = svariancea(mtovar,70);
+ srowvariancea(mtovar,7,10,outRows2);
+ scolumnvariancea(mtovar,7,10,outColumns2);
+
+
+ printf("Variance 2 \n");
+ printf("%f\n",out2);
+ printf("Row Variance 2 \n");
+ for (i=0;i<10;i++) printf("%f\n",outRows2[i]);
+ printf("Column Variance 2 \n");
+ for (i=0;i<7;i++) printf("%f\n",outColumns2[i]);
+
+ assert(fabs(out2-result2)/fabs(out2) <1e-06);
+ for (i=0;i<10;i++)assert(fabs(outRows2[i]-resultRows2[i])/fabs(outRows2[i]) <1e-06);
+
+ for (i=0;i<7;i++)assert(fabs(outColumns2[i]-resultColumns2[i])/fabs(outColumns2[i]) <1e-06);
+
+ free(outColumns2);
+ free(outRows2);
+
+ }
+
+
+ return 0;
+}
+
+
+static int floatComplexVariance(void){
+ int i;
+
+ /* test 1 */
+ {
+ float inR[6]={0.9677053210325539112091f,0.5068534435704350471497f,0.523297640960663557053f,0.5596947595477104187012f,
+ 0.5617307000793516635895f,0.468176002614200115204f};
+ float inI[6]={0.7794546722434461116791f,0.7901071812957525253296f,0.9808542062528431415558f,0.8187066102400422096252f,
+ 0.4256872381083667278290f,0.2461560554802417755127f};
+ float varianceR=- 0.0428404140538702279950f;
+ float varianceI=0.0257955584577409802183f;
+ float rowVarianceR[3]={0.106135488505625180666f,- 0.0124835463256454722719f,- 0.01173948205902856229f};
+ float rowVarianceI[3]={- 0.0049092287964376275095f,- 0.0059017052806824826100f,0.0167959854763351026929f};
+ float colVarianceR[2]={- 0.0183554755457089394111f,- 0.1019751767306446843531f};
+ float colVarianceI[2]={0.0109267784648201249365f,0.0249829946888768111846f};
+ floatComplex *in, *rowVariance, *colVariance;
+ floatComplex out, *outRow, *outCol;
+
+ in= (floatComplex*)malloc ((unsigned int)6*sizeof(floatComplex));
+ outRow= (floatComplex*)malloc ((unsigned int)3*sizeof(floatComplex));
+ outCol= (floatComplex*)malloc ((unsigned int)2*sizeof(floatComplex));
+
+ in=FloatComplexMatrix(inR,inI,6);
+ rowVariance=FloatComplexMatrix(rowVarianceR,rowVarianceI,3);
+ colVariance=FloatComplexMatrix(colVarianceR,colVarianceI,2);
+
+
+ out=cvariancea(in,6);
+ printf("Variance \n");
+ printf("%f + %f *i\n",creals(out),cimags(out));
+
+ assert(fabs(creals(out)-varianceR)/fabs(creals(out)) <1e-6);
+ assert(fabs(cimags(out)-varianceI)/fabs(cimags(out)) <1e-6);
+
+
+
+
+
+ crowvariancea(in,2,3,outRow);
+ printf("Row Variance \n");
+ for (i=0;i<3;i++) printf("%1.20f + %1.20f *i\n",creals(outRow[i]),cimags(outRow[i]));
+
+
+ for (i=0;i<3;i++){
+ assert(fabs(creals(outRow[i])-rowVarianceR[i])/fabs(creals(outRow[i])) <1e-6);
+ assert(fabs(cimags(outRow[i])-rowVarianceI[i])/fabs(cimags(outRow[i])) <3e-5);
+ }
+
+
+
+ ccolumnvariancea(in,2,3,outCol);
+ printf("Column Variance \n");
+ for (i=0;i<2;i++) printf("%f + %f *i\n",creals(outCol[i]),cimags(outCol[i]));
+
+
+ for (i=0;i<2;i++){
+ assert(fabs(creals(outCol[i])-colVarianceR[i])/fabs(creals(outCol[i])) <1e-6);
+ assert(fabs(cimags(outCol[i])-colVarianceI[i])/fabs(cimags(outCol[i])) <3e-6);
+ }
+
+ free(in);
+ free(outCol);
+ free(outRow);
+
+
+ }
+
+
+ printf("\n");
+ printf("\n");
+ printf("\n");
+ printf("\n");
+
+
+ /* test 2 */
+ {
+ float inR[70]={0.0453502028249204158783f,0.2029444333165884017944f,0.7844273825176060199738f,
+ 0.2637536162510514259338f,0.4383276398293673992157f,0.866485897451639175415f,
+ 0.3792142109014093875885f,0.7668716078624129295349f,0.6006621322594583034515f,
+ 0.7856735605746507644653f,
+0.7387115550227463245392f,0.5544260339811444282532f,0.9929149555973708629608f,
+ 0.9757428467273712158203f,0.3709622272290289402008f,0.3032238213345408439636f,
+ 0.9519520117901265621185f,0.7127858083695173263550f,0.119237006176263093948f,
+ 0.5009163180366158485413f,
+0.3290053526870906352997f,0.4808946810662746429443f,0.3303695977665483951569f,
+ 0.6304475357756018638611f,0.2117190784774720668793f,0.4486023131757974624634f,
+ 0.5914509710855782032013f,0.6806742670014500617981f,0.0739296111278235912323f,
+ 0.9433694705367088317871f,
+0.1286330693401396274567f,0.2019080771133303642273f,0.1969303428195416927338f,
+ 0.8928690161556005477905f,0.4617918957956135272980f,0.6251291716471314430237f,
+ 0.7059706593863666057587f,0.7018169648945331573486f,0.4087999747134745121002f,
+ 0.0636221384629607200623f,
+0.0657393387518823146820f,0.5331004131585359573364f,0.0331581872887909412384f,
+ 0.3157835649326443672180f,0.3785823243670165538788f,0.4619523435831069946289f,
+ 0.6287369825877249240875f,0.2878515301272273063660f,0.3292048736475408077240f,
+ 0.4719233047217130661011f,
+0.3353769634850323200226f,0.5553069720044732093811f,0.1196080814115703105927f,
+ 0.7613999657332897186279f,0.4790988476015627384186f,0.2816969295963644981384f,
+ 0.2380097783170640468597f,0.3294205460697412490845f,0.2306728032417595386505f,
+ 0.2136296601966023445129f,
+0.4054998042993247509003f,0.3095371201634407043457f,0.6762971603311598300934f,
+ 0.970691631548106670380f,0.5441796570084989070892f,0.0204747971147298812866f,
+ 0.8941364963538944721222f,0.3490363890305161476135f,0.1105365152470767498016f,
+ 0.2023377753794193267822f};
+ float inI[70]={1.0377217042259871959686f,1.9830380710773169994354f,-0.6786614381708204746246f,
+ -1.7368789152242243289948f,0.6849579229019582271576f,-1.9756898251362144947052f, 0.9018773441202938556671f,0.4113956945948302745819f,0.0771432374604046344757f,
+ -2.6145569621585309505463f,
+-0.8694803346879780292511f,1.1954508102498948574066f,1.0175080369226634502411f,
+ -1.86952689336612820625f,1.6495719677768647670746f,-1.1282413271255791187286f,
+ 1.7159116868861019611359f,1.3512618443928658962250f,1.6467350018210709095001f,
+ -4.3247690196149051189423f,
+-1.1214177873916923999786f,0.3549467395059764385223f,1.5090364827774465084076f,
+ 0.0271988785825669765472f,-0.3927204073406755924225f,-2.2866433826275169849396f,
+ 2.4531399612314999103546f,1.2140426929108798503876f,0.1123848785646259784699f,
+ -1.2278760573826730251312f,
+0.5748759503476321697235f,0.1001535071991384029388f,0.7154782521538436412811f,
+ -0.3598340046592056751251f,0.1114491275511682033539f,-1.0214430955238640308380f,
+ 1.8411546354182064533234f,1.3313704966567456722260f,0.107393887359648942947f,
+ -2.1405860441736876964569f,
+-0.1921784919686615467072f,-0.0941377175040543079376f,-0.3007089742459356784821f,
+ -1.6332105011679232120514f,-0.9827875629998743534088f,-4.0793808070011436939240f,
+ 1.6021160488016903400421f,0.5996482106857001781464f,-1.0103867049328982830048f,
+ -1.9795853956602513790131f,
+-0.7019297261722385883331f,0.1910370937548577785492f,0.5148729826323688030243f,
+ -1.2210475285537540912628f,1.4409833527170121669769f,-2.0624672439880669116974f,
+ 2.2999203805811703205109f,1.6434787488542497158051f,-0.0813916879706084728241f,
+ -4.3653216282837092876434f,
+0.0896512451581656932831f,1.4530082489363849163055f,-0.1911182911135256290436f,
+ -1.5278804996050894260406f,-0.8655951828695833683014f,-2.6959278550930321216583f,
+ 1.089711368549615144730f,0.2611377011053264141083f,-0.0787748913280665874481f,
+ -1.675187868531793355942f};
+ float varianceR=- 2.3201230329620456949158f;
+ float varianceI=0.0135359053960125846894f;
+ float rowVarianceR[7]={- 2.1748250359163439071608f,- 4.0055927597555047725564f,- 1.9380991813636070375537f,- 1.211164632384367667584f,
+ - 2.3819157100812309302285f,- 3.865411523472068289209f,- 1.5488286339908912125907f};
+ float rowVarianceI[7]={- 0.5161401892195496277083f,- 0.0302397956223948334575f,0.0072526988331105511632f,0.2035074619460965072992f,
+ - 0.0227578793067023492369f,0.0176453877563822227048f,0.2048099414748655033858f};
+ float colVarianceR[10]={ - 0.5673920596394929072304f,
+ - 0.6095831761740567733554f,
+ - 0.4837275005370789138226f,
+ - 0.4518709923747168399899f,
+ - 1.1155710732654480210613f,
+ - 0.9922425930742954092168f,
+ - 0.2615272073355465187738f,
+ - 0.2448899237808548345896f,
+ - 0.5783271525148965253038f,
+ - 1.4662540245146995498970f };
+ float colVarianceI[10]={ - 0.2519451287679840834066f,
+ - 0.1132720366896080160801f,
+ - 0.0393753052279357945720f ,
+ 0.0678956480014177715665f ,
+ 0.0165011281984272333012f ,
+ 0.1043646242921155153915f ,
+ - 0.0697520473529744805541f ,
+ 0.0395755738577838397929f ,
+ - 0.0906906077772287183558f ,
+ 0.2030521845859689644698f };
+ floatComplex *in, *rowVariance, *colVariance;
+ floatComplex out, *outRow, *outCol;
+
+ in= (floatComplex*)malloc ((unsigned int)70*sizeof(floatComplex));
+ outRow= (floatComplex*)malloc ((unsigned int)7*sizeof(floatComplex));
+ outCol= (floatComplex*)malloc ((unsigned int)10*sizeof(floatComplex));
+
+ in=FloatComplexMatrix(inR,inI,70);
+ rowVariance=FloatComplexMatrix(rowVarianceR,rowVarianceI,7);
+ colVariance=FloatComplexMatrix(colVarianceR,colVarianceI,10);
+
+
+ out=cvariancea(in,70);
+ printf("Variance 2 \n");
+ printf("%f + %f *i\n",creals(out),cimags(out));
+
+ assert(fabs(creals(out)-varianceR)/fabs(creals(out)) <1e-6);
+ assert(fabs(cimags(out)-varianceI)/fabs(cimags(out)) <3e-5);
+
+
+
+
+
+ crowvariancea(in,10,7,outRow);
+ printf("Row Variance 2 \n");
+ for (i=0;i<7;i++) printf("%1.20f + %1.20f *i\n",creals(outRow[i]),cimags(outRow[i]));
+
+
+ for (i=0;i<7;i++){
+ assert(fabs(creals(outRow[i])-rowVarianceR[i])/fabs(creals(outRow[i])) <1e-6);
+ assert(fabs(cimags(outRow[i])-rowVarianceI[i])/fabs(cimags(outRow[i])) <3e-5);
+ }
+
+
+
+ ccolumnvariancea(in,10,7,outCol);
+ printf("Column Variance 2 \n");
+ for (i=0;i<10;i++) printf("%f + %f *i\n",creals(outCol[i]),cimags(outCol[i]));
+
+
+ for (i=0;i<10;i++){
+ assert(fabs(creals(outCol[i])-colVarianceR[i])/fabs(creals(outCol[i])) <1e-6);
+ assert(fabs(cimags(outCol[i])-colVarianceI[i])/fabs(cimags(outCol[i])) <3e-6);
+ }
+
+ free(in);
+ free(outCol);
+ free(outRow);
+ }
+
+ return 0;
+}
+
+
+
+
+
+static int testFloatVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Float Tests Nono****\n");
+ printf("*********************\n");
+ assert(floatVariance()==0);
+ assert(floatComplexVariance()==0);
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testFloatVariance () == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj b/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj
new file mode 100644
index 0000000..51b2535
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{774783E0-2443-42DB-AA48-04730E59B396}</ProjectGuid>
+ <RootNamespace>testDoubleVariance</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleVariance.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj.filters b/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj.filters
new file mode 100644
index 0000000..8b08a25
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_DoubleVariance/testDoubleVariance.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleVariance.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj b/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj
new file mode 100644
index 0000000..c87dce7
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{CCD3F89C-A278-457D-BFD6-ADEEF4860E07}</ProjectGuid>
+ <RootNamespace>testDoubleVarianceNono</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleVarianceNono.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj.filters b/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj.filters
new file mode 100644
index 0000000..f7a7ed7
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_DoubleVarianceNono/testDoubleVarianceNono.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleVarianceNono.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj b/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj
new file mode 100644
index 0000000..05b4a44
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{53F78E7F-3024-4999-BE70-F4A242357809}</ProjectGuid>
+ <RootNamespace>testFloatVariance</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../elementaryFunctions/includes;../../../operations/includes;../../../matrixOperations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../elementaryFunctions/includes;../../../operations/includes;../../../matrixOperations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../elementaryFunctions/includes;../../../operations/includes;../../../matrixOperations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../elementaryFunctions/includes;../../../operations/includes;../../../matrixOperations/includes;../../../type;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatVariance.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj.filters b/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj.filters
new file mode 100644
index 0000000..d0a741b
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_FloatVariance/testFloatVariance.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatVariance.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj b/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj
new file mode 100644
index 0000000..321c2a7
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{DEF1A42F-599B-4B1D-AB11-202E86670021}</ProjectGuid>
+ <RootNamespace>testFloatVarianceNono</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../operations/includes;../../../type;../../includes;../../../elementaryFunctions/includes;../../../matrixOperations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatVarianceNono.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\statisticsFunctions.vcxproj">
+ <Project>{e11ed064-3bf2-4f70-b66e-3223c737ec60}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj.filters b/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj.filters
new file mode 100644
index 0000000..e0eb6db
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/test_FloatVarianceNono/testFloatVarianceNono.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatVarianceNono.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/statisticsFunctions/variance/zcolumnvariancea.c b/src/c/statisticsFunctions/variance/zcolumnvariancea.c
new file mode 100644
index 0000000..bba8030
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/zcolumnvariancea.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 "variance.h"
+
+void zcolumnvariancea(doubleComplex *in, int lines, int columns, doubleComplex* out){
+
+ int i = 0 ;
+
+ doubleComplex* transp = (doubleComplex*) malloc ( sizeof (doubleComplex) *(unsigned int) (lines*columns));
+
+
+
+ ztransposea ( in , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = zvariancea ( transp + i*columns , columns ) ;
+
+
+ free (transp);
+
+}
+
diff --git a/src/c/statisticsFunctions/variance/zrowvariancea.c b/src/c/statisticsFunctions/variance/zrowvariancea.c
new file mode 100644
index 0000000..285889a
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/zrowvariancea.c
@@ -0,0 +1,21 @@
+/*
+ * 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 "variance.h"
+
+void zrowvariancea(doubleComplex *in, int lines, int columns, doubleComplex* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = zvariancea ( in + i*lines , lines ) ;
+}
diff --git a/src/c/statisticsFunctions/variance/zvariancea.c b/src/c/statisticsFunctions/variance/zvariancea.c
new file mode 100644
index 0000000..92e2667
--- /dev/null
+++ b/src/c/statisticsFunctions/variance/zvariancea.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 "variance.h"
+
+doubleComplex zvariancea(doubleComplex *in, int size)
+{
+ int i = 0 ;
+
+ doubleComplex sum = DoubleComplex ( 0 , 0 ) ;
+ doubleComplex temp = DoubleComplex ( 0 , 0 ) ;
+ doubleComplex variance = DoubleComplex ( 0 , 0 );
+ doubleComplex mean = zmeana ( in , size ) ;
+
+ for ( i = 0 ; i < size ; i++)
+ {
+ temp = zdiffs( in[i] , mean ) ;
+ sum = zadds ( sum , zpows ( temp , DoubleComplex ( 2, 0) ) );
+ }
+
+ variance = zrdivs (sum , DoubleComplex ( (size - 1),0 ));
+
+ return variance ;
+
+}
+
diff --git a/src/c/statisticsFunctions/variancef/Makefile.am b/src/c/statisticsFunctions/variancef/Makefile.am
new file mode 100644
index 0000000..804025b
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/Makefile.am
@@ -0,0 +1,89 @@
+##
+## 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
+##
+##
+
+libvariancef_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libvariancef.la
+
+libvariancef_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = svariancefa.c \
+ scolumnvariancefa.c \
+ dvariancefa.c \
+ srowvariancefa.c \
+ drowvariancefa.c \
+ dcolumnvariancefa.c \
+ cvariancefa.c \
+ crowvariancefa.c \
+ ccolumnvariancefa.c \
+ zvariancefa.c \
+ zrowvariancefa.c \
+ zcolumnvariancefa.c
+
+HEAD = ../includes/variancef.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variancef/libvariancef.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatVariancef testDoubleVariancef
+
+TESTS = testFloatVariancef testDoubleVariancef
+
+#
+# -*- variancef Tests -*-
+#
+testFloatVariancef_SOURCES = testFloatVariancef.c
+testFloatVariancef_CFLAGS = $(check_INCLUDES)
+testFloatVariancef_LDADD = $(check_LDADD)
+
+testDoubleVariancef_SOURCES =testDoubleVariancef.c
+testDoubleVariancef_CFLAGS = $(check_INCLUDES)
+testDoubleVariancef_LDADD = $(check_LDADD)
diff --git a/src/c/statisticsFunctions/variancef/Makefile.in b/src/c/statisticsFunctions/variancef/Makefile.in
new file mode 100644
index 0000000..9cbd3df
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/Makefile.in
@@ -0,0 +1,886 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = testFloatVariancef$(EXEEXT) \
+ testDoubleVariancef$(EXEEXT)
+TESTS = testFloatVariancef$(EXEEXT) testDoubleVariancef$(EXEEXT)
+subdir = src/c/statisticsFunctions/variancef
+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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libvariancef_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libvariancef_la-svariancefa.lo \
+ libvariancef_la-scolumnvariancefa.lo \
+ libvariancef_la-dvariancefa.lo \
+ libvariancef_la-srowvariancefa.lo \
+ libvariancef_la-drowvariancefa.lo \
+ libvariancef_la-dcolumnvariancefa.lo \
+ libvariancef_la-cvariancefa.lo \
+ libvariancef_la-crowvariancefa.lo \
+ libvariancef_la-ccolumnvariancefa.lo \
+ libvariancef_la-zvariancefa.lo \
+ libvariancef_la-zrowvariancefa.lo \
+ libvariancef_la-zcolumnvariancefa.lo
+am_libvariancef_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libvariancef_la_OBJECTS = $(am_libvariancef_la_OBJECTS)
+libvariancef_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libvariancef_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleVariancef_OBJECTS = \
+ testDoubleVariancef-testDoubleVariancef.$(OBJEXT)
+testDoubleVariancef_OBJECTS = $(am_testDoubleVariancef_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variancef/libvariancef.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la
+testDoubleVariancef_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleVariancef_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testDoubleVariancef_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_testFloatVariancef_OBJECTS = \
+ testFloatVariancef-testFloatVariancef.$(OBJEXT)
+testFloatVariancef_OBJECTS = $(am_testFloatVariancef_OBJECTS)
+testFloatVariancef_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatVariancef_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testFloatVariancef_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
+am__mv = mv -f
+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 = $(libvariancef_la_SOURCES) $(testDoubleVariancef_SOURCES) \
+ $(testFloatVariancef_SOURCES)
+DIST_SOURCES = $(libvariancef_la_SOURCES) \
+ $(testDoubleVariancef_SOURCES) $(testFloatVariancef_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+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_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+lt_ECHO = @lt_ECHO@
+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_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libvariancef_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libvariancef.la
+libvariancef_la_SOURCES = $(HEAD) $(SRC)
+SRC = svariancefa.c \
+ scolumnvariancefa.c \
+ dvariancefa.c \
+ srowvariancefa.c \
+ drowvariancefa.c \
+ dcolumnvariancefa.c \
+ cvariancefa.c \
+ crowvariancefa.c \
+ ccolumnvariancefa.c \
+ zvariancefa.c \
+ zrowvariancefa.c \
+ zcolumnvariancefa.c
+
+HEAD = ../includes/variancef.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/statisticsFunctions/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/subtraction/libSubtraction.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/statisticsFunctions/variancef/libvariancef.la \
+ $(top_builddir)/src/c/statisticsFunctions/sum/libSum.la \
+ $(top_builddir)/src/c/statisticsFunctions/meanf/libMeanf.la \
+ $(top_builddir)/src/c/elementaryFunctions/pow/libPow.la \
+ $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \
+ $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \
+ $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \
+ $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \
+ $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/matrixOperations/transpose/libMatrixTranspose.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/operations/division/libDivision.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ @LIBMATH@
+
+
+#
+# -*- variancef Tests -*-
+#
+testFloatVariancef_SOURCES = testFloatVariancef.c
+testFloatVariancef_CFLAGS = $(check_INCLUDES)
+testFloatVariancef_LDADD = $(check_LDADD)
+testDoubleVariancef_SOURCES = testDoubleVariancef.c
+testDoubleVariancef_CFLAGS = $(check_INCLUDES)
+testDoubleVariancef_LDADD = $(check_LDADD)
+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 ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/statisticsFunctions/variancef/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/statisticsFunctions/variancef/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
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ 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
+libvariancef.la: $(libvariancef_la_OBJECTS) $(libvariancef_la_DEPENDENCIES)
+ $(libvariancef_la_LINK) -rpath $(pkglibdir) $(libvariancef_la_OBJECTS) $(libvariancef_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleVariancef$(EXEEXT): $(testDoubleVariancef_OBJECTS) $(testDoubleVariancef_DEPENDENCIES)
+ @rm -f testDoubleVariancef$(EXEEXT)
+ $(testDoubleVariancef_LINK) $(testDoubleVariancef_OBJECTS) $(testDoubleVariancef_LDADD) $(LIBS)
+testFloatVariancef$(EXEEXT): $(testFloatVariancef_OBJECTS) $(testFloatVariancef_DEPENDENCIES)
+ @rm -f testFloatVariancef$(EXEEXT)
+ $(testFloatVariancef_LINK) $(testFloatVariancef_OBJECTS) $(testFloatVariancef_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-ccolumnvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-crowvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-cvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-dcolumnvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-drowvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-dvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-scolumnvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-srowvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-svariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-zcolumnvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-zrowvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvariancef_la-zvariancefa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatVariancef-testFloatVariancef.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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 $@ $<
+
+libvariancef_la-svariancefa.lo: svariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-svariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-svariancefa.Tpo -c -o libvariancef_la-svariancefa.lo `test -f 'svariancefa.c' || echo '$(srcdir)/'`svariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-svariancefa.Tpo $(DEPDIR)/libvariancef_la-svariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='svariancefa.c' object='libvariancef_la-svariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-svariancefa.lo `test -f 'svariancefa.c' || echo '$(srcdir)/'`svariancefa.c
+
+libvariancef_la-scolumnvariancefa.lo: scolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-scolumnvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-scolumnvariancefa.Tpo -c -o libvariancef_la-scolumnvariancefa.lo `test -f 'scolumnvariancefa.c' || echo '$(srcdir)/'`scolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-scolumnvariancefa.Tpo $(DEPDIR)/libvariancef_la-scolumnvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='scolumnvariancefa.c' object='libvariancef_la-scolumnvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-scolumnvariancefa.lo `test -f 'scolumnvariancefa.c' || echo '$(srcdir)/'`scolumnvariancefa.c
+
+libvariancef_la-dvariancefa.lo: dvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-dvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-dvariancefa.Tpo -c -o libvariancef_la-dvariancefa.lo `test -f 'dvariancefa.c' || echo '$(srcdir)/'`dvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-dvariancefa.Tpo $(DEPDIR)/libvariancef_la-dvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dvariancefa.c' object='libvariancef_la-dvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-dvariancefa.lo `test -f 'dvariancefa.c' || echo '$(srcdir)/'`dvariancefa.c
+
+libvariancef_la-srowvariancefa.lo: srowvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-srowvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-srowvariancefa.Tpo -c -o libvariancef_la-srowvariancefa.lo `test -f 'srowvariancefa.c' || echo '$(srcdir)/'`srowvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-srowvariancefa.Tpo $(DEPDIR)/libvariancef_la-srowvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='srowvariancefa.c' object='libvariancef_la-srowvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-srowvariancefa.lo `test -f 'srowvariancefa.c' || echo '$(srcdir)/'`srowvariancefa.c
+
+libvariancef_la-drowvariancefa.lo: drowvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-drowvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-drowvariancefa.Tpo -c -o libvariancef_la-drowvariancefa.lo `test -f 'drowvariancefa.c' || echo '$(srcdir)/'`drowvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-drowvariancefa.Tpo $(DEPDIR)/libvariancef_la-drowvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='drowvariancefa.c' object='libvariancef_la-drowvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-drowvariancefa.lo `test -f 'drowvariancefa.c' || echo '$(srcdir)/'`drowvariancefa.c
+
+libvariancef_la-dcolumnvariancefa.lo: dcolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-dcolumnvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-dcolumnvariancefa.Tpo -c -o libvariancef_la-dcolumnvariancefa.lo `test -f 'dcolumnvariancefa.c' || echo '$(srcdir)/'`dcolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-dcolumnvariancefa.Tpo $(DEPDIR)/libvariancef_la-dcolumnvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dcolumnvariancefa.c' object='libvariancef_la-dcolumnvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-dcolumnvariancefa.lo `test -f 'dcolumnvariancefa.c' || echo '$(srcdir)/'`dcolumnvariancefa.c
+
+libvariancef_la-cvariancefa.lo: cvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-cvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-cvariancefa.Tpo -c -o libvariancef_la-cvariancefa.lo `test -f 'cvariancefa.c' || echo '$(srcdir)/'`cvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-cvariancefa.Tpo $(DEPDIR)/libvariancef_la-cvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cvariancefa.c' object='libvariancef_la-cvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-cvariancefa.lo `test -f 'cvariancefa.c' || echo '$(srcdir)/'`cvariancefa.c
+
+libvariancef_la-crowvariancefa.lo: crowvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-crowvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-crowvariancefa.Tpo -c -o libvariancef_la-crowvariancefa.lo `test -f 'crowvariancefa.c' || echo '$(srcdir)/'`crowvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-crowvariancefa.Tpo $(DEPDIR)/libvariancef_la-crowvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='crowvariancefa.c' object='libvariancef_la-crowvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-crowvariancefa.lo `test -f 'crowvariancefa.c' || echo '$(srcdir)/'`crowvariancefa.c
+
+libvariancef_la-ccolumnvariancefa.lo: ccolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-ccolumnvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-ccolumnvariancefa.Tpo -c -o libvariancef_la-ccolumnvariancefa.lo `test -f 'ccolumnvariancefa.c' || echo '$(srcdir)/'`ccolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-ccolumnvariancefa.Tpo $(DEPDIR)/libvariancef_la-ccolumnvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ccolumnvariancefa.c' object='libvariancef_la-ccolumnvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-ccolumnvariancefa.lo `test -f 'ccolumnvariancefa.c' || echo '$(srcdir)/'`ccolumnvariancefa.c
+
+libvariancef_la-zvariancefa.lo: zvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-zvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-zvariancefa.Tpo -c -o libvariancef_la-zvariancefa.lo `test -f 'zvariancefa.c' || echo '$(srcdir)/'`zvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-zvariancefa.Tpo $(DEPDIR)/libvariancef_la-zvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zvariancefa.c' object='libvariancef_la-zvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-zvariancefa.lo `test -f 'zvariancefa.c' || echo '$(srcdir)/'`zvariancefa.c
+
+libvariancef_la-zrowvariancefa.lo: zrowvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-zrowvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-zrowvariancefa.Tpo -c -o libvariancef_la-zrowvariancefa.lo `test -f 'zrowvariancefa.c' || echo '$(srcdir)/'`zrowvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-zrowvariancefa.Tpo $(DEPDIR)/libvariancef_la-zrowvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zrowvariancefa.c' object='libvariancef_la-zrowvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-zrowvariancefa.lo `test -f 'zrowvariancefa.c' || echo '$(srcdir)/'`zrowvariancefa.c
+
+libvariancef_la-zcolumnvariancefa.lo: zcolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvariancef_la_CFLAGS) $(CFLAGS) -MT libvariancef_la-zcolumnvariancefa.lo -MD -MP -MF $(DEPDIR)/libvariancef_la-zcolumnvariancefa.Tpo -c -o libvariancef_la-zcolumnvariancefa.lo `test -f 'zcolumnvariancefa.c' || echo '$(srcdir)/'`zcolumnvariancefa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libvariancef_la-zcolumnvariancefa.Tpo $(DEPDIR)/libvariancef_la-zcolumnvariancefa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zcolumnvariancefa.c' object='libvariancef_la-zcolumnvariancefa.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) $(libvariancef_la_CFLAGS) $(CFLAGS) -c -o libvariancef_la-zcolumnvariancefa.lo `test -f 'zcolumnvariancefa.c' || echo '$(srcdir)/'`zcolumnvariancefa.c
+
+testDoubleVariancef-testDoubleVariancef.o: testDoubleVariancef.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleVariancef_CFLAGS) $(CFLAGS) -MT testDoubleVariancef-testDoubleVariancef.o -MD -MP -MF $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Tpo -c -o testDoubleVariancef-testDoubleVariancef.o `test -f 'testDoubleVariancef.c' || echo '$(srcdir)/'`testDoubleVariancef.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Tpo $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleVariancef.c' object='testDoubleVariancef-testDoubleVariancef.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) $(testDoubleVariancef_CFLAGS) $(CFLAGS) -c -o testDoubleVariancef-testDoubleVariancef.o `test -f 'testDoubleVariancef.c' || echo '$(srcdir)/'`testDoubleVariancef.c
+
+testDoubleVariancef-testDoubleVariancef.obj: testDoubleVariancef.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleVariancef_CFLAGS) $(CFLAGS) -MT testDoubleVariancef-testDoubleVariancef.obj -MD -MP -MF $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Tpo -c -o testDoubleVariancef-testDoubleVariancef.obj `if test -f 'testDoubleVariancef.c'; then $(CYGPATH_W) 'testDoubleVariancef.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleVariancef.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Tpo $(DEPDIR)/testDoubleVariancef-testDoubleVariancef.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleVariancef.c' object='testDoubleVariancef-testDoubleVariancef.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) $(testDoubleVariancef_CFLAGS) $(CFLAGS) -c -o testDoubleVariancef-testDoubleVariancef.obj `if test -f 'testDoubleVariancef.c'; then $(CYGPATH_W) 'testDoubleVariancef.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleVariancef.c'; fi`
+
+testFloatVariancef-testFloatVariancef.o: testFloatVariancef.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatVariancef_CFLAGS) $(CFLAGS) -MT testFloatVariancef-testFloatVariancef.o -MD -MP -MF $(DEPDIR)/testFloatVariancef-testFloatVariancef.Tpo -c -o testFloatVariancef-testFloatVariancef.o `test -f 'testFloatVariancef.c' || echo '$(srcdir)/'`testFloatVariancef.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatVariancef-testFloatVariancef.Tpo $(DEPDIR)/testFloatVariancef-testFloatVariancef.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatVariancef.c' object='testFloatVariancef-testFloatVariancef.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) $(testFloatVariancef_CFLAGS) $(CFLAGS) -c -o testFloatVariancef-testFloatVariancef.o `test -f 'testFloatVariancef.c' || echo '$(srcdir)/'`testFloatVariancef.c
+
+testFloatVariancef-testFloatVariancef.obj: testFloatVariancef.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatVariancef_CFLAGS) $(CFLAGS) -MT testFloatVariancef-testFloatVariancef.obj -MD -MP -MF $(DEPDIR)/testFloatVariancef-testFloatVariancef.Tpo -c -o testFloatVariancef-testFloatVariancef.obj `if test -f 'testFloatVariancef.c'; then $(CYGPATH_W) 'testFloatVariancef.c'; else $(CYGPATH_W) '$(srcdir)/testFloatVariancef.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatVariancef-testFloatVariancef.Tpo $(DEPDIR)/testFloatVariancef-testFloatVariancef.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatVariancef.c' object='testFloatVariancef-testFloatVariancef.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) $(testFloatVariancef_CFLAGS) $(CFLAGS) -c -o testFloatVariancef-testFloatVariancef.obj `if test -f 'testFloatVariancef.c'; then $(CYGPATH_W) 'testFloatVariancef.c'; else $(CYGPATH_W) '$(srcdir)/testFloatVariancef.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; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: check-am 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/c/statisticsFunctions/variancef/ccolumnvariancefa.c b/src/c/statisticsFunctions/variancef/ccolumnvariancefa.c
new file mode 100644
index 0000000..4b00a08
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/ccolumnvariancefa.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 "variancef.h"
+#include "matrixTranspose.h"
+
+void ccolumnvariancefa(floatComplex *in1, int lines, int columns,floatComplex *in2, floatComplex* out){
+
+ int i = 0 ;
+
+ floatComplex* transp = (floatComplex*) malloc ( sizeof (double) *(unsigned int) (lines*columns));
+
+
+
+ ctransposea ( in1 , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = cvariancefa ( transp + i*columns , columns , in2 ) ;
+
+
+ free (transp);
+
+
+}
diff --git a/src/c/statisticsFunctions/variancef/crowvariancefa.c b/src/c/statisticsFunctions/variancef/crowvariancefa.c
new file mode 100644
index 0000000..1e4f854
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/crowvariancefa.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 "variancef.h"
+
+void crowvariancefa(floatComplex *in1, int lines, int columns,floatComplex *in2, floatComplex* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = cvariancefa ( in1 + i*lines , lines , in2) ;
+}
+
diff --git a/src/c/statisticsFunctions/variancef/cvariancefa.c b/src/c/statisticsFunctions/variancef/cvariancefa.c
new file mode 100644
index 0000000..4f4871c
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/cvariancefa.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 "variancef.h"
+#include "division.h"
+
+floatComplex cvariancefa(floatComplex *in1, int size, floatComplex *in2)
+
+{
+ int i = 0 ;
+ floatComplex temp = FloatComplex (0.0f, 0.0f );
+ floatComplex accumulate =FloatComplex (0.0f, 0.0f );
+ floatComplex accumulateFre = FloatComplex (0.0f, 0.0f );
+
+ floatComplex meanf = cmeanfa (in1 , size , in2);
+
+ for(i = 0 ; i < size ; ++i)
+ {
+ temp = cpows ( cdiffs (in1[i] , meanf ) ,FloatComplex (2.0f, 0.0f ) );
+ temp = cmuls( in2[i] , temp);
+
+ accumulate = cadds( temp , accumulate);
+ accumulateFre = cadds (in2[i] ,accumulateFre );
+ }
+ return crdivs (accumulate , cdiffs (accumulateFre ,FloatComplex(1.0f,0.0f)) );
+}
diff --git a/src/c/statisticsFunctions/variancef/dcolumnvariancefa.c b/src/c/statisticsFunctions/variancef/dcolumnvariancefa.c
new file mode 100644
index 0000000..686e6de
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/dcolumnvariancefa.c
@@ -0,0 +1,33 @@
+/*
+ * 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 "variancef.h"
+#include "matrixTranspose.h"
+
+void dcolumnvariancefa(double *in1, int lines, int columns, double *in2, double* out){
+
+ int i = 0 ;
+
+ double* transp = (double*) malloc ( sizeof (double) *(unsigned int) (lines*columns));
+
+
+
+ dtransposea ( in1 , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = dvariancefa ( transp + i*columns , columns , in2) ;
+
+
+ free (transp);
+}
+
diff --git a/src/c/statisticsFunctions/variancef/drowvariancefa.c b/src/c/statisticsFunctions/variancef/drowvariancefa.c
new file mode 100644
index 0000000..274e828
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/drowvariancefa.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 "variancef.h"
+
+void drowvariancefa(double *in1, int lines, int columns,double *in2, double* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = dvariancefa ( in1 + i*lines , lines , in2 ) ;
+
+}
diff --git a/src/c/statisticsFunctions/variancef/dvariancefa.c b/src/c/statisticsFunctions/variancef/dvariancefa.c
new file mode 100644
index 0000000..32bd38c
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/dvariancefa.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 "variancef.h"
+
+double dvariancefa(double *in1, int size , double * in2)
+{
+ int i = 0 ;
+ double temp = 0.0;
+ double accumulate = 0.0 ;
+ double accumulateFre = 0.0 ;
+
+ double meanf = dmeanfa (in1 , size , in2);
+
+ for(i = 0 ; i < size ; ++i)
+ {
+ temp = dpows ( (in1[i] - meanf ) ,2 );
+ temp *= in2[i];
+
+ accumulate += temp ;
+ accumulateFre += in2[i];
+ }
+
+ return accumulate / (accumulateFre -1);
+}
+
diff --git a/src/c/statisticsFunctions/variancef/scolumnvariancefa.c b/src/c/statisticsFunctions/variancef/scolumnvariancefa.c
new file mode 100644
index 0000000..a0283aa
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/scolumnvariancefa.c
@@ -0,0 +1,47 @@
+/*
+ * 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 "variancef.h"
+#include "meanf.h"
+
+
+void scolumnvariancefa(float *in1, int lines, int columns, float *in2, float* out){
+ int i = 0;
+ int j = 0;
+ float temp = 0.0f;
+ float accumulate = 0.0f;
+ float accumulateFre = 0.0f ;
+
+ scolumnmeanfa(in1, lines, columns, in2, out );
+
+
+ /*we first multiply each cell of the input matrix by its coefficient*/
+ for (j = 0; j < lines; ++j)
+ {
+ accumulate = 0.0f;
+ accumulateFre= 0.0f;
+ temp = 0.0f;
+
+ for ( i = 0 ; i < columns; ++i )
+ {
+ temp = spows ( (in1[lines*i + j] - out[j] ) ,2 );
+ temp *= in2[lines*i + j];
+
+ accumulate += temp ;
+ accumulateFre += in2[lines*i + j];
+ }
+ out[j] = accumulate / (accumulateFre - 1) ;
+ }
+
+}
+
diff --git a/src/c/statisticsFunctions/variancef/srowvariancefa.c b/src/c/statisticsFunctions/variancef/srowvariancefa.c
new file mode 100644
index 0000000..36c4783
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/srowvariancefa.c
@@ -0,0 +1,21 @@
+/*
+ * 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 "variancef.h"
+
+void srowvariancefa(float *in1, int lines, int columns, float *in2, float* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = svariancefa ( in1 + i*lines , lines,in2 + i*lines ) ;
+}
diff --git a/src/c/statisticsFunctions/variancef/svariancefa.c b/src/c/statisticsFunctions/variancef/svariancefa.c
new file mode 100644
index 0000000..f49d2b3
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/svariancefa.c
@@ -0,0 +1,46 @@
+/*
+ * 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 "variancef.h"
+
+/*
+s_moyennepond = meanf(x, fre)
+s_ecartmoyenne = x - s_moyennepond
+s_ecartcarre = s_ecartmoyenne.^2
+s_ecartcarrepondere = s_ecartcarre .* fre
+s = sum( s_ecartcarrepondere )/(sumfre - 1),
+*/
+float svariancefa(float *in1, int size, float* in2)
+{
+ int i = 0 ;
+ float temp = 0.0f;
+ float accumulate = 0.0f ;
+ float accumulateFre = 0.0f ;
+
+ float meanf = smeanfa (in1 , size , in2);
+ /*printf ("\nmeanf %lf \n" ,meanf);*/
+ for(i = 0 ; i < size ; ++i)
+ {
+
+ temp = spows ( (in1[i] - meanf ) ,2 );
+ temp *= in2[i];
+
+ accumulate += temp ;
+ accumulateFre += in2[i];
+
+
+ }
+
+ return accumulate / (accumulateFre - 1) ;
+}
+
+
diff --git a/src/c/statisticsFunctions/variancef/testDoubleVariance.c b/src/c/statisticsFunctions/variancef/testDoubleVariance.c
new file mode 100644
index 0000000..b85a157
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/testDoubleVariance.c
@@ -0,0 +1,335 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+
+#define SINGLE 1.323312455
+#define LINES 7
+#define COLUMNS 10
+#define MATRIX {0.102326436434,0.939044147730,0.638607255649,0.059883427806,0.311199211050,\
+ 0.377510951832,0.909709410276,0.928138985299,0.855155082885,0.308869514614,\
+0.729239261709,0.127006734256,0.242402311414,0.807912770193,0.621117659844,\
+ 0.081452373881,0.088844371960,0.587072817143,0.068080495112,0.995457543526,\
+0.835322400089,0.656235548668,0.767905956600,0.706818781793,0.187699332368,\
+ 0.568810169585,0.401039466728,0.397196868435,0.483212330844,0.161224133335,\
+0.932864250615,0.719208867755,0.262409000657,0.931377100293,0.596724558622,\
+ 0.310327019077,0.350161732174,0.104841318447,0.830732351169,0.804621329065,\
+0.050784428138,0.551920620725,0.125952405389,0.083156193607,0.420623748098,\
+ 0.168616071343,0.707545555662,0.104633864947,0.465604968835,0.489758284763,\
+0.167727907188,0.760689914692,0.454900974408,0.063926273491,0.87152507063,0.978668818716,\
+ 0.135898929089,0.484713065904,0.785042577423,0.049412418623,\
+0.947593610268,0.884073690511,0.212796610314,0.654832502827,0.007690255996,\
+ 0.031808692031,0.706323316786,0.008731670678,0.270014822017,0.153652121313}
+
+
+#define MATRIXROW {0.1688249423502767021521 , 0.0729081225272336097554 , 0.0579879770921138057438 , 0.1499989757031960635469 , 0.0850863194040760717485 , 0.1085086384507867873772 , 0.0969379859569881041637 , 0.1072816602642319844252 , 0.0913638718167188862429 , 0.1285778184208021535095 }
+#define MATRIXCOL { 0.1233078274276283442523, \
+ 0.1232135941992091865416 , \
+ 0.0540377259589001762707 , \
+ 0.0925512303008872161403 , \
+ 0.0555055644879708723338 , \
+ 0.1276299219577190779962 , \
+ 0.1385167433745558840386 }
+
+
+#define IMATRIX {0.05826747464016080,0.99946373142302036,0.85600351681932807,0.62329693790525198,\
+ 0.49792320514097810,0.44210509583353996,0.55833499459549785,0.09633230511099100,\
+ 0.80100952507928014,0.34466254524886608,\
+0.48831309471279383,0.95087061496451497,0.01332767866551876,0.76261807000264525,\
+ 0.74346329551190138,0.65157829830422997,0.57006288319826126,0.70580983115360141,\
+ 0.51323400903493166,0.64977857517078519,\
+0.80352442665025592,0.69910932797938585,0.69258948462083936,0.91169391758739948,\
+ 0.92454590043053031,0.27637310232967138,0.31692579621449113,0.86305770650506020,\
+ 0.20109100220724940,0.01225362811237574,\
+0.38199013099074364,0.96006405679509044,0.16440964583307505,0.59608811559155583,\
+ 0.72101737372577190,0.58661046391353011,0.99326277803629637,0.00761850038543344,\
+ 0.78608208894729614,0.89965870184823871,\
+0.43115562805905938,0.81857266277074814,0.83410377753898501,0.55516970623284578,\
+ 0.51345925079658628,0.04770902730524540,0.80747798969969153,0.80489510949701071,\
+ 0.78650354826822877,0.30791273340582848,\
+0.75731822755187750,0.53423820668831468,0.42618893459439278,0.85448804078623652,\
+ 0.92601215932518244,0.94169309409335256,0.85547966323792934,0.59637623047456145,\
+ 0.69515300076454878,0.18359116325154901,\
+0.01200280850753188,0.2255702270194888,0.34853330114856362,0.55313225090503693,\
+ 0.63695094687864184,0.96132039744406939,0.50314606027677655,0.11768362112343311,\
+ 0.42481321236118674,0.52963322307914495}
+
+#define RMATRIX {0.53868199465796351,0.65326874051243067,0.37497402401641011,0.60422550700604916,\
+ 0.33622304117307067,0.03531436901539564,0.33213760564103723,0.39493087679147720,\
+ 0.04170337272807956,0.87363853026181459,\
+0.65950810909271240,0.31221040291711688,0.15333442110568285,0.66478573577478528,\
+ 0.44319023378193378,0.40884594758972526,0.94536898937076330,0.67733758920803666,\
+ 0.18673646822571754,0.92331133363768458,\
+0.55921846115961671,0.75012728199362755,0.23257926432415843,0.57102064136415720,\
+ 0.60969385923817754,0.67336730472743511,0.07624059682711959,0.10437540244311094,\
+ 0.95672677317634225,0.19771346449851990,\
+0.05278092902153730,0.75808868417516351,0.17633479088544846,0.01146994484588504,\
+ 0.36732212174683809,0.19948644982650876,0.52714426256716251,0.21445603063330054,\
+ 0.94751045759767294,0.04272260749712586,\
+0.03257346292957664,0.53217577841132879,0.87635089689865708,0.15471007302403450,\
+ 0.25448470888659358,0.91815057490020990,0.72509902389720082,0.87545845471322536,\
+ 0.05635281419381499,0.01432112138718367,\
+0.57406943850219250,0.80984140699729323,0.01664119493216276,0.93888836959376931,\
+ 0.11264799535274506,0.66036546928808093,0.76042845565825701,0.25908330874517560,\
+ 0.88014078326523304,0.70332178613170981,\
+0.94614937948063016,0.78529163636267185,0.20241560926660895,0.10981105919927359,\
+ 0.75415370846167207,0.15320260450243950,0.59521253732964396,0.71318271104246378,\
+ 0.51107599260285497,0.52125945501029491}
+
+
+
+
+
+
+#define IMATRIXROW {-0.0419293790250184,-0.05416405376783551,+0.11775191182077104,+0.08015791690354153,+0.00011032748454003,\
+-0.10124210045965254,0.06720614014223115,+0.02470873836336094,-0.07082037296251543,-0.00621987869853545}
+
+#define RMATRIXROW {0.01439621349781126,-0.04697393442028135,-0.03018604392150223,0.09765990436118642,0.01606884471097247,\
+-0.00604250542333471,0.02870576510687836,-0.04985742926427023,0.12356001472881707,0.05909180726174274}
+
+#define IMATRIXCOL {-0.01904810719805961,+0.04121453132770223,+0.00378553967089328,\
++0.10307670507342410,+0.03497427750676810,+0.01761849804019567,-0.10182321471060848}
+
+#define RMATRIXCOL {-0.02739893277693160,0.01792852626358409,-0.02205084134302381,\
+-0.01012610864032573,0.07317682977907164,0.04762062457313784,0.00849011627117621}
+
+
+static void dvariancesTest (void ) {
+
+ double toTest = dvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+
+static void drowvariancesTest (void ) {
+
+ double toTest = drowvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+static void dcolumnvariancesTest (void) {
+
+ double toTest = dcolumnvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-16 ) ;
+}
+
+
+static void zvariancesTest (void ) {
+
+ doubleComplex toTest = zvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+static void zrowvariancesTest (void ) {
+
+ doubleComplex toTest = zrowvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+static void zcolumnvariancesTest (void ) {
+
+ doubleComplex toTest = zrowvariances ( DoubleComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( zreals( toTest) - SINGLE ) / fabs( zreals( toTest)) < 1e-16 ) ;
+ assert ( fabs ( zimags( toTest) - SINGLE ) / fabs( zimags( toTest)) < 1e-16 ) ;
+}
+
+
+
+
+
+
+static void dvarianceaTest ( void){
+
+ double mtoTest[] = MATRIX ;
+ double result = 0.1007532974338590653352;
+ double out = dvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+
+
+ printf ( "out : %1.20f\t result : %1.20f\t\n" , out , result ) ;
+
+
+
+ assert ( fabs ( out - result ) / fabs( out ) < 3e-16 ) ;
+
+}
+
+
+static void drowvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ double mtoTest[] = MATRIX ;
+ double result[LINES] = MATRIXCOL ;
+ double out[LINES] ;
+
+ drowvariancea ( mtoTest , COLUMNS , LINES , out ) ;
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "ROWout : %1.20f\t result : %1.20f\t\n" , out[i] , result [i] ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 3e-16 ) ;
+ }
+
+}
+
+static void dcolumnvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ double mtoTest[] = MATRIX ;
+ double result[COLUMNS] = MATRIXROW ;
+ double out[ COLUMNS] ;
+
+
+
+ dcolumnvariancea ( mtoTest , COLUMNS, LINES , out ) ;
+
+ for ( i = 0 ; i < COLUMNS; i++)
+ {
+ printf ( "%dCOLout : %1.20f\t result : %1.20f\t\n" ,i, out[i] , result [i] ) ; }
+ for ( i = 0 ; i < COLUMNS; i++)
+ {
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 3e-16 ) ;
+ }
+
+}
+
+
+
+
+static void zvarianceaTest ( void){
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ doubleComplex Result = DoubleComplex ( 0.01225832057910708 , 0.01071188208687752 );
+
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex out = zvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+ assert ( fabs( zreals(out) - zreals (Result) ) / fabs (zreals (out)) < 3e-16 );
+ assert( fabs( zimags(out) - zimags (Result )) / fabs (zimags (out)) < 3e-16 );
+
+
+}
+
+static void zrowvarianceaTest (void ) {
+
+ int i = 0 ;
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ double rResult [] = RMATRIXROW;
+ double iResult [] = IMATRIXROW ;
+
+ doubleComplex out[COLUMNS];
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex* Result = DoubleComplexMatrix ( rResult , iResult , COLUMNS );
+
+ zrowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ /*FIXME test failed under 1-e04 precision */
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , zreals(out[i]) , zimags(out[i]), zreals(Result[i]) ,zimags( Result[i]));
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 3e-16 );
+ assert( fabs( zimags(out[i]) - zimags (Result[i])) / fabs (zimags (out[i])) < 3e-16);
+
+ }
+}
+
+
+
+static void zcolumnvarianceaTest ( void) {
+ int i = 0 ;
+
+ double rmtoTest [] = RMATRIX ;
+ double imtoTest [] = IMATRIX ;
+ double rResult [] = RMATRIXCOL;
+ double iResult [] = IMATRIXCOL ;
+
+ doubleComplex out[LINES];
+ doubleComplex* mtoTest = DoubleComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ doubleComplex* Result = DoubleComplexMatrix ( rResult , iResult , LINES );
+
+ zcolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , zreals(out[i]) , zimags(out[i]), zreals(Result[i]) ,zimags( Result[i]));
+ assert ( fabs( zreals(out[i]) - zreals (Result[i]) ) / fabs (zreals (out[i])) < 3e-16 );
+ assert( fabs( zimags(out[i]) - zimags (Result[i])) / fabs (zimags (out[i])) < 3e-16);
+
+ }
+
+
+
+}
+
+
+
+
+
+static int testDoubleVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Double Tests ****\n");
+ printf("*********************\n");
+
+ printf("\n\t>>>>singleton real Tests\n");
+ dcolumnvariancesTest () ;
+ dvariancesTest () ;
+ drowvariancesTest () ;
+
+
+ printf("\n\t>>>>singleton complex Tests\n");
+
+ zrowvariancesTest () ;
+ zcolumnvariancesTest () ;
+ zvariancesTest () ;
+
+
+
+ printf("\n\t>>>>array real Tests\n");
+
+ dvarianceaTest () ;
+
+ dcolumnvarianceaTest () ;
+ drowvarianceaTest ( );
+
+
+ printf("\n\t>>>>array complex Tests\n");
+
+ zvarianceaTest () ;
+ zrowvarianceaTest ( );
+ zcolumnvarianceaTest () ;
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testDoubleVariance () == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variancef/testDoubleVariancef.c b/src/c/statisticsFunctions/variancef/testDoubleVariancef.c
new file mode 100644
index 0000000..1102ae1
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/testDoubleVariancef.c
@@ -0,0 +1,373 @@
+/*
+ * 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 <math.h>
+#include "variancef.h"
+
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+static int dvariancefsTest(void) {
+
+
+ printf("\n>>>> variancef Double Scalar Test\n");
+ printf("result : %e " ,dvariancefs(value1,coef1)) ;
+
+ assert( ( dvariancefs(3.0,56.0) ) == 0.0 );
+ assert( ( dvariancefs( 1.123456789 ,2.0) ) == 0.0 );
+
+
+ return 0;
+}
+
+static int dvariancefaTest(void) {
+ double table1[3] = {3.0, 6.0, 9.0};
+ double coef1[3] = {10.0, 2.0, 6.0};
+
+ double table2[5] = {3.186784563,
+ 4.186784563,
+ 5.186784563,
+ 6.186784563,
+ 7.186784563};
+
+ double coef2[5] = {3.0,
+ 4.0,
+ 5.0,
+ 6.0,
+ 7.0};
+
+ printf("\n>>>> variancef Double Array Test\n");
+ printf("result1 : %e " ,dvariancefa(table1, 3, coef1)) ;
+ printf("result2 : %e " ,dvariancefa(table2, 5, coef2)) ;
+ assert((dvariancefa(table1, 3, coef1) - 8.000000000 )/ dvariancefa(table1, 3 ,coef1) < 1e-6);
+ assert((dvariancefa(table2, 5, coef2) - 1.916666666 )/ dvariancefa(table2, 5 ,coef2) < 1e-6);
+ return 0;
+}
+
+/*
+static int dcolumnvariancefaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double coef2[10] = {11.0, 12.0, 13.0, 14.0 , 15.0, 16.0, 17.0, 18.0, 19.0, 20.0};
+ double columnMeanmedTable1_3_3[3] = {0};
+ double columnMeanmedTable1_1_9[1] = {0};
+ double columnMeanmedTable1_9_1[9] = {0};
+ double columnMeanmedTable2_2_5[2] = {0};
+ double columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Variancef Double Array Test\n");
+
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 68 32 146 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+
+ dcolumnvariancefa(table1, 3, 3, coef1 ,columnMeanmedTable1_3_3);
+ assert( ( fabs(columnMeanmedTable1_3_3[0] ) - ( 68.0 / 33.0 ) ) / fabs ( columnMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable1_3_3[1] ) - ( 32.0 / 6.0 ) ) / fabs ( columnMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable1_3_3[2] ) - ( 146.0 / 18.0 ) ) / fabs ( columnMeanmedTable1_3_3[2] ) < 1e-6 );
+
+
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+
+ dcolumnvariancefa(table1, 1, 9, coef1 ,columnMeanmedTable1_1_9);
+ printf("result qui foire : %e\n " ,columnMeanmedTable1_1_9[0]) ;
+ assert( ( fabs(columnMeanmedTable1_1_9[0] ) - ( 1.146666666f ) ) / fabs ( columnMeanmedTable1_1_9[0] ) < 1e-6 );
+
+
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+
+ dcolumnvariancefa(table1, 9, 1, coef1, columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ]=> [ 415 520 ]
+
+ dcolumnvariancefa(table2, 2, 5, coef2 , columnMeanmedTable2_2_5);
+ assert( ( fabs(columnMeanmedTable2_2_5[0] ) - ( 415.0 / 75.0 ) ) / fabs ( columnMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_2_5[1] ) - ( 520.0 / 80.0 ) ) / fabs ( columnMeanmedTable2_2_5[1] ) < 1e-6 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+
+ [ 1 6 ] [ 11 16 ]
+ [ 2 7 ] [ 12 17 ] => [ 107 143 183 227 275 ]
+ [ 3 8 ].*[ 13 18 ]
+ [ 4 9 ] [ 14 19 ]
+ [ 5 10 ] [ 15 20 ]
+
+
+ dcolumnvariancefa(table2, 5, 2, coef2 ,columnMeanmedTable2_5_2);
+ assert( ( fabs(columnMeanmedTable2_5_2[0] ) - ( 107.0 / 27.0 ) ) / fabs ( columnMeanmedTable2_5_2[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[1] ) - ( 143.0 / 29.0 ) ) / fabs ( columnMeanmedTable2_5_2[1] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[2] ) - ( 183.0 / 31.0 ) ) / fabs ( columnMeanmedTable2_5_2[2] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[3] ) - ( 227.0 / 33.0 ) ) / fabs ( columnMeanmedTable2_5_2[3] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[4] ) - ( 275.0 / 35.0 ) ) / fabs ( columnMeanmedTable2_5_2[4] ) < 1e-6 );
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+*/
+/*
+static int srowvariancefaTest(void) {
+ int i = 0;
+ double table1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double coef1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double table2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
+ double coef2[10] = {11.0, 12.0, 13.0, 14.0 , 15.0, 16.0, 17.0, 18.0, 19.0, 20.0};
+ double rowMeanmedTable1_3_3[3] = {0};
+ double rowMeanmedTable1_1_9[9] = {0};
+ double rowMeanmedTable1_9_1[1] = {0};
+ double rowMeanmedTable2_2_5[5] = {0};
+ double rowMeanmedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Mean Double Array Test\n");
+
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 49 80 117 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+
+ srowvariancefa(table1, 3, 3, coef1 , rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert( ( fabs(rowMeanmedTable1_3_3[0] ) - ( 49.0 / 16.0 ) ) / fabs ( rowMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable1_3_3[1] ) - ( 80.0 / 19.0 ) ) / fabs ( rowMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable1_3_3[2] ) - ( 117.0 / 22.0 ) ) / fabs ( rowMeanmedTable1_3_3[2] ) < 1e-6 );
+
+
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+
+ srowvariancefa(table1, 1, 9, coef1, rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 246 ]
+
+ srowvariancefa(table1, 9, 1, coef1, rowMeanmedTable1_9_1);
+ assert( ( fabs(rowMeanmedTable1_9_1[0] ) - ( 246.0 / 57.0 ) ) / fabs ( rowMeanmedTable1_9_1[0] ) < 1e-6 );
+
+
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ] => [ 3 7 11 15 19 ]
+
+ srowvariancefa(table2, 2, 5, coef2, rowMeanmedTable2_2_5);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+ assert( ( fabs(rowMeanmedTable2_2_5[0] ) - ( 35.0 / 23.0 ) ) / fabs ( rowMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[1] ) - ( 95.0 / 27.0 ) ) / fabs ( rowMeanmedTable2_2_5[1] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[2] ) - ( 171.0 / 31.0 ) ) / fabs ( rowMeanmedTable2_2_5[2] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[3] ) - ( 263.0 / 35.0 ) ) / fabs ( rowMeanmedTable2_2_5[3] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[4] ) - ( 371.0 / 39.0 ) ) / fabs ( rowMeanmedTable2_2_5[4] ) < 1e-6 );
+
+
+ return 0;
+}
+*/
+
+static int zvariancefsTest(void) {
+
+ printf("\n>>>> Mean Double Complex Scalar Test\n");
+ assert( zreals(zvariancefs(DoubleComplex(3.0, 0.0),DoubleComplex(3.0, 0.0))) == 0.0 );
+ assert( zimags(zvariancefs(DoubleComplex(3.0, 0.0),DoubleComplex(3.0, 0.0))) == 0.0 );
+ assert( zreals(zvariancefs(DoubleComplex(1.123456789, 1.123456789),DoubleComplex(9.0, 0.0))) == 0.0 );
+ assert( zimags(zvariancefs(DoubleComplex(1.123456789, 1.123456789),DoubleComplex(9.0, 0.0))) == 0.0 );
+
+ return 0;
+}
+
+
+
+static int zvariancefaTest(void) {
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+ doubleComplex result =DoubleComplex(0.0 , 0.0);
+
+ printf("\n>>>> Mean Double Complex Array Test\n");
+ result = zvariancefa(table1, 9, coef1);
+ /*printf("\nresult : %e \t+ %e i " ,zreals(result) ,zimags(result)) ;*/
+
+ assert( fabs(zreals(result) - ( 1.3834586f ) ) / fabs ( zreals(result) ) < 1e-6 );
+ assert( fabs(zimags(result) - ( 9.6090226f ) ) / fabs ( zimags(result) ) < 1e-6 );
+
+ return 0;
+}
+
+/*
+static int crowvariancefaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 9);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 9);
+
+ doubleComplex rowMeanmedTable1_3_3[3] = {DoubleComplex(0.0, 0.0)};
+
+ doubleComplex rowMeanmedTable1_1_9[9] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable1_9_1[1] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_2_5[5] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_5_2[2] = {DoubleComplex(0.0, 0.0)};
+
+ printf("\n>>>> Row variancef Double Complex Array Test\n");
+
+
+
+ crowvariancefa(table1 , 3 , 3 , coef1 , rowMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+
+ printf("rowMeanmedTable_3_3[%d] = %e + %ei\n", i, zreals(rowMeanmedTable1_3_3[i]), zimags(rowMeanmedTable1_3_3[i]));
+ }
+ assert( ( fabs(zimags(rowMeanmedTable1_3_3[0]) ) - ( 27.0 / 16.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( ( fabs(zreals(rowMeanmedTable1_3_3[0]) ) - ( 49.0 / 16.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( ( fabs(zimags(rowMeanmedTable1_3_3[1]) ) - ( 90.0 / 19.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( ( fabs(zreals(rowMeanmedTable1_3_3[1]) ) - ( 80.0 / 19.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( ( fabs(zimags(rowMeanmedTable1_3_3[2]) ) - (171.0 / 22.0 ) ) / fabs ( zimags(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( ( fabs(zreals(rowMeanmedTable1_3_3[2]) ) - (117.0 / 22.0 ) ) / fabs ( zreals(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+*/
+
+
+/*
+static int scolumnvariancefaTest(void) {
+
+ int i = 0 ;
+
+ double tableR1[9] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0};
+ double tableI1[9] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0};
+ double coefR1[9] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0};
+ double coefI1[9] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ double tableR2[10] = {1.0, 4.0, 7.0, 2.0 , 5.0, 8.0, 3.0, 6.0, 9.0, 10.0};
+ double tableI2[10] = {1.0, 2.0, 3.0, 4.0 , 5.0, 6.0, 7.0, 8.0, 9.0, 15.0};
+ double coefR2[10] = {10.0, 1.0, 5.0,11.0 , 2.0, 6.0,12.0, 3.0, 7.0, 19.0};
+ double coefI2[10] = { 0.0, 0.0, 0.0, 0.0 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+
+ doubleComplex* table1 = DoubleComplexMatrix (tableR1, tableI1, 9);
+ doubleComplex* coef1 = DoubleComplexMatrix (coefR1, coefI1, 9);
+
+ doubleComplex* table2 = DoubleComplexMatrix (tableR2, tableI2, 9);
+ doubleComplex* coef2 = DoubleComplexMatrix (coefR2, coefI2, 9);
+
+ doubleComplex columnMeanmedTable1_3_3[3] = {DoubleComplex(0.0, 0.0)};
+
+ doubleComplex rowMeanmedTable1_1_9[9] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable1_9_1[1] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_2_5[5] = {DoubleComplex(0.0, 0.0)};
+ doubleComplex rowMeanmedTable2_5_2[2] = {DoubleComplex(0.0, 0.0)};
+
+
+ printf("\n>>>> Column variancef Double Complex Array Test\n");
+
+
+
+ scolumnvariancefa(table1 , 3 , 3 , coef1 , columnMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnMeanmedTable_3_3[%d] = %e + %ei\n", i, zreals(columnMeanmedTable1_3_3[i]), zimags(columnMeanmedTable1_3_3[i]));
+ }
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[0]) ) - (138.0 / 33.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[0]) ) - ( 68.0 / 33.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[1]) ) - ( 36.0 / 6.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[1]) ) - ( 32.0 / 6.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( ( fabs(zimags(columnMeanmedTable1_3_3[2]) ) - (114.0 / 18.0 ) ) / fabs ( zimags(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( ( fabs(zreals(columnMeanmedTable1_3_3[2]) ) - (146.0 / 18.0 ) ) / fabs ( zreals(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+
+*/
+
+static int testvariancef(void) {
+
+ dvariancefsTest();
+ dvariancefaTest();
+ /*dcolumnvariancefaTest();
+ srowvariancefaTest();*/
+ zvariancefsTest();
+ zvariancefaTest();
+ /*crowvariancefaTest();
+ scolumnvariancefaTest();
+*/
+ return 0;
+}
+
+int main(void) {
+ assert(testvariancef() == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variancef/testFloatVariance.c b/src/c/statisticsFunctions/variancef/testFloatVariance.c
new file mode 100644
index 0000000..97b56d4
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/testFloatVariance.c
@@ -0,0 +1,329 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * 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 "variance.h"
+
+#define SINGLE 1.323312455f
+#define LINES 7
+#define COLUMNS 10
+#define MATRIX {0.102326436434f,0.939044147730f,0.638607255649f,0.059883427806f,0.311199211050f,\
+ 0.377510951832f,0.909709410276f,0.928138985299f,0.855155082885f,0.308869514614f,\
+0.729239261709f,0.127006734256f,0.242402311414f,0.807912770193f,0.621117659844f,\
+ 0.081452373881f,0.088844371960f,0.587072817143f,0.068080495112f,0.995457543526f,\
+0.835322400089f,0.656235548668f,0.767905956600f,0.706818781793f,0.187699332368f,\
+ 0.568810169585f,0.401039466728f,0.397196868435f,0.483212330844f,0.161224133335f,\
+0.932864250615f,0.719208867755f,0.262409000657f,0.931377100293f,0.596724558622f,\
+ 0.310327019077f,0.350161732174f,0.104841318447f,0.830732351169f,0.804621329065f,\
+0.050784428138f,0.551920620725f,0.125952405389f,0.083156193607f,0.420623748098f,\
+ 0.168616071343f,0.707545555662f,0.104633864947f,0.465604968835f,0.489758284763f,\
+0.167727907188f,0.760689914692f,0.454900974408f,0.063926273491f,0.87152507063f,0.978668818716f,\
+ 0.135898929089f,0.484713065904f,0.785042577423f,0.049412418623f,\
+0.947593610268f,0.884073690511f,0.212796610314f,0.654832502827f,0.007690255996f,\
+ 0.031808692031f,0.706323316786f,0.008731670678f,0.270014822017f,0.153652121313f}
+
+
+#define MATRIXROW {0.168824942350f,0.072908122527f,0.057987977092f,0.149998975703f,0.085086319404f,\
+0.108508638451f,0.096937985957f,0.107281660264f,0.091363871817f,0.128577818421f}
+
+#define MATRIXCOL { 0.123307827428f,0.123213594199f,0.054037725959f,0.092551230301f,0.055505564488f,\
+0.127629921958f,0.138516743375f }
+
+
+#define IMATRIX {0.05826747464016080f,0.99946373142302036f,0.85600351681932807f,0.62329693790525198f,\
+ 0.49792320514097810f,0.44210509583353996f,0.55833499459549785f,0.09633230511099100f,\
+ 0.80100952507928014f,0.34466254524886608f,\
+0.48831309471279383f,0.95087061496451497f,0.01332767866551876f,0.76261807000264525f,\
+ 0.74346329551190138f,0.65157829830422997f,0.57006288319826126f,0.70580983115360141f,\
+ 0.51323400903493166f,0.64977857517078519f,\
+0.80352442665025592f,0.69910932797938585f,0.69258948462083936f,0.91169391758739948f,\
+ 0.92454590043053031f,0.27637310232967138f,0.31692579621449113f,0.86305770650506020f,\
+ 0.20109100220724940f,0.01225362811237574f,\
+0.38199013099074364f,0.96006405679509044f,0.16440964583307505f,0.59608811559155583f,\
+ 0.72101737372577190f,0.58661046391353011f,0.99326277803629637f,0.00761850038543344f,\
+ 0.78608208894729614f,0.89965870184823871f,\
+0.43115562805905938f,0.81857266277074814f,0.83410377753898501f,0.55516970623284578f,\
+ 0.51345925079658628f,0.04770902730524540f,0.80747798969969153f,0.80489510949701071f,\
+ 0.78650354826822877f,0.30791273340582848f,\
+0.75731822755187750f,0.53423820668831468f,0.42618893459439278f,0.85448804078623652f,\
+ 0.92601215932518244f,0.94169309409335256f,0.85547966323792934f,0.59637623047456145f,\
+ 0.69515300076454878f,0.18359116325154901f,\
+0.01200280850753188f,0.2255702270194888f,0.34853330114856362f,0.55313225090503693f,\
+ 0.63695094687864184f,0.96132039744406939f,0.50314606027677655f,0.11768362112343311f,\
+ 0.42481321236118674f,0.52963322307914495f}
+
+#define RMATRIX {0.53868199465796351f,0.65326874051243067f,0.37497402401641011f,0.60422550700604916f,\
+ 0.33622304117307067f,0.03531436901539564f,0.33213760564103723f,0.39493087679147720f,\
+ 0.04170337272807956f,0.87363853026181459f,\
+0.65950810909271240f,0.31221040291711688f,0.15333442110568285f,0.66478573577478528f,\
+ 0.44319023378193378f,0.40884594758972526f,0.94536898937076330f,0.67733758920803666f,\
+ 0.18673646822571754f,0.92331133363768458f,\
+0.55921846115961671f,0.75012728199362755f,0.23257926432415843f,0.57102064136415720f,\
+ 0.60969385923817754f,0.67336730472743511f,0.07624059682711959f,0.10437540244311094f,\
+ 0.95672677317634225f,0.19771346449851990f,\
+0.05278092902153730f,0.75808868417516351f,0.17633479088544846f,0.01146994484588504f,\
+ 0.36732212174683809f,0.19948644982650876f,0.52714426256716251f,0.21445603063330054f,\
+ 0.94751045759767294f,0.04272260749712586f,\
+0.03257346292957664f,0.53217577841132879f,0.87635089689865708f,0.15471007302403450f,\
+ 0.25448470888659358f,0.91815057490020990f,0.72509902389720082f,0.87545845471322536f,\
+ 0.05635281419381499f,0.01432112138718367f,\
+0.57406943850219250f,0.80984140699729323f,0.01664119493216276f,0.93888836959376931f,\
+ 0.11264799535274506f,0.66036546928808093f,0.76042845565825701f,0.25908330874517560f,\
+ 0.88014078326523304f,0.70332178613170981f,\
+0.94614937948063016f,0.78529163636267185f,0.20241560926660895f,0.10981105919927359f,\
+ 0.75415370846167207f,0.15320260450243950f,0.59521253732964396f,0.71318271104246378f,\
+ 0.51107599260285497f,0.52125945501029491f}
+
+
+
+
+
+
+#define IMATRIXROW {-0.0419293790250184f,-0.05416405376783551f,+0.11775191182077104f,+0.08015791690354153f,+0.00011032748454003f,\
+-0.10124210045965254f,0.06720614014223115f,+0.02470873836336094f,-0.07082037296251543f,-0.00621987869853545f}
+
+#define RMATRIXROW {0.01439621349781126f,-0.04697393442028135f,-0.03018604392150223f,0.09765990436118642f,0.01606884471097247f,\
+-0.00604250542333471f,0.02870576510687836f,-0.04985742926427023f,0.12356001472881707f,0.05909180726174274f}
+
+#define IMATRIXCOL {-0.01904810719805961f,+0.04121453132770223f,+0.00378553967089328f,\
++0.10307670507342410f,+0.03497427750676810f,+0.01761849804019567f,-0.10182321471060848f}
+
+#define RMATRIXCOL {-0.02739893277693160f,0.01792852626358409f,-0.02205084134302381f,\
+-0.01012610864032573f,0.07317682977907164f,0.04762062457313784f,0.00849011627117621f}
+
+
+static void svariancesTest (void ) {
+
+ float toTest = svariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+
+static void srowvariancesTest (void ) {
+
+ float toTest = srowvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+static void scolumnvariancesTest (void) {
+
+ float toTest = scolumnvariances (SINGLE) ;
+
+ assert ( fabs ( toTest - SINGLE ) / fabs( toTest) < 1e-06 ) ;
+}
+
+
+static void cvariancesTest (void ) {
+
+ floatComplex toTest = cvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+static void crowvariancesTest (void ) {
+
+ floatComplex toTest = crowvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+static void ccolumnvariancesTest (void ) {
+
+ floatComplex toTest = crowvariances ( FloatComplex ( SINGLE , SINGLE ) );
+
+ assert ( fabs ( creals( toTest) - SINGLE ) / fabs( creals( toTest)) < 1e-06 ) ;
+ assert ( fabs ( cimags( toTest) - SINGLE ) / fabs( cimags( toTest)) < 1e-06 ) ;
+}
+
+
+
+
+
+
+static void svarianceaTest ( void){
+
+ float mtoTest[] = MATRIX ;
+ float result = 0.100753297434f;
+ float out = svariancea ( mtoTest , LINES*COLUMNS ); ;
+
+
+
+ printf ( "out : %e\t result : %e\t\n" , out , result ) ;
+
+
+
+ assert ( fabs ( out - result ) / fabs( out ) < 1e-06 ) ;
+
+}
+
+
+static void srowvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ float mtoTest[] = MATRIX ;
+ float result[COLUMNS] = MATRIXROW ;
+ float out[COLUMNS] ;
+
+ srowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "ROWout : %e\t result : %e\t\n" , out[i] , result [i] ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 1e-06 ) ;
+ }
+
+}
+
+static void scolumnvarianceaTest ( void )
+{
+ int i = 0 ;
+
+ float mtoTest[] = MATRIX ;
+ float result[LINES] = MATRIXCOL ;
+ float out[ LINES] ;
+
+
+
+ scolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%dCOLout : %e\t result : %e\t\n" ,i, out[i] , result [i] ) ;
+ assert ( fabs ( out[i] - result[i] ) / fabs( out[i] ) < 1e-06 ) ;
+ }
+
+}
+
+
+
+
+static void cvarianceaTest ( void){
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ floatComplex Result = FloatComplex ( 0.01225832057910708f , 0.01071188208687752f );
+
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex out = cvariancea ( mtoTest , LINES*COLUMNS ); ;
+
+ assert ( fabs( creals(out) - creals (Result) ) / fabs (creals (out)) < 1e-06 );
+ assert( fabs( cimags(out) - cimags (Result )) / fabs (cimags (out)) < 1e-06 );
+
+
+}
+
+static void crowvarianceaTest (void ) {
+
+ int i = 0 ;
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ float rResult [] = RMATRIXROW;
+ float iResult [] = IMATRIXROW ;
+
+ floatComplex out[COLUMNS];
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex* Result = FloatComplexMatrix ( rResult , iResult , COLUMNS );
+
+ crowvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+ /*FIXME test failed under 1-e04 precision */
+ for ( i = 0 ; i < COLUMNS ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , creals(out[i]) , cimags(out[i]), creals(Result[i]) ,cimags( Result[i]));
+ assert ( fabs( creals(out[i]) - creals (Result[i]) ) / fabs (creals (out[i])) < 3e-6 );
+ assert( fabs( cimags(out[i]) - cimags (Result[i])) / fabs (cimags (out[i])) < 3e-6);
+
+ }
+}
+
+
+
+static void ccolumnvarianceaTest ( void) {
+ int i = 0 ;
+
+ float rmtoTest [] = RMATRIX ;
+ float imtoTest [] = IMATRIX ;
+ float rResult [] = RMATRIXCOL;
+ float iResult [] = IMATRIXCOL ;
+
+ floatComplex out[LINES];
+ floatComplex* mtoTest = FloatComplexMatrix ( rmtoTest , imtoTest , LINES*COLUMNS ) ;
+ floatComplex* Result = FloatComplexMatrix ( rResult , iResult , LINES );
+
+ ccolumnvariancea ( mtoTest , LINES , COLUMNS , out ) ;
+
+
+ for ( i = 0 ; i < LINES ; i++)
+ {
+ printf ( "%d out : %e %e \t result %e %e \n" , i , creals(out[i]) , cimags(out[i]), creals(Result[i]) ,cimags( Result[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);
+
+ }
+
+
+
+}
+
+
+
+
+
+static int testFloatVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Float Tests ****\n");
+ printf("*********************\n");
+
+ printf("\n\t>>>>singleton real Tests\n");
+ scolumnvariancesTest () ;
+ svariancesTest () ;
+ srowvariancesTest () ;
+
+
+ printf("\n\t>>>>singleton complex Tests\n");
+
+ crowvariancesTest () ;
+ ccolumnvariancesTest () ;
+ cvariancesTest () ;
+
+
+
+ printf("\n\t>>>>array real Tests\n");
+
+ svarianceaTest () ;
+
+ scolumnvarianceaTest () ;
+ srowvarianceaTest ( );
+
+
+ printf("\n\t>>>>array complex Tests\n");
+
+ cvarianceaTest () ;
+ crowvarianceaTest ( );
+ ccolumnvarianceaTest () ;
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testFloatVariance () == 0);
+ return 0;
+}
diff --git a/src/c/statisticsFunctions/variancef/testFloatVariancef.c b/src/c/statisticsFunctions/variancef/testFloatVariancef.c
new file mode 100644
index 0000000..4363052
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/testFloatVariancef.c
@@ -0,0 +1,381 @@
+/*
+ * 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 <math.h>
+#include "variancef.h"
+
+
+/* #define LOCAL_DEBUG */
+
+#define ERROR(x) printf("diff = %e\n", x)
+
+
+ #define VALUE1 3.0f
+ #define VALUE2 1.123456789f
+ #define COEF1 56.0f
+ #define COEF2 2.0f
+
+
+static int svariancefsTest(void) {
+
+ printf("\n>>>> variancef Float Scalar Test\n");
+ printf("result : %e " ,svariancefs(VALUE1,COEF1)) ;
+
+ assert( ( svariancefs(VALUE1,COEF1) ) == 0.0f );
+ assert( ( svariancefs(VALUE2,COEF2) ) == 0.0f );
+
+
+
+ return 0;
+}
+
+static int svariancefaTest(void) {
+ float table1[3] = {3.0f, 6.0f, 9.0f};
+ float coef1[3] = {10.0f, 2.0f, 6.0f};
+
+ float table2[5] = {3.186784563f,
+ 4.186784563f,
+ 5.186784563f,
+ 6.186784563f,
+ 7.186784563f};
+
+ float coef2[5] = {3.0f,
+ 4.0f,
+ 5.0f,
+ 6.0f,
+ 7.0f};
+
+ printf("\n>>>> variancef Float Array Test\n");
+ printf("result : %e " ,svariancefa(table1, 3, coef1)) ;
+ printf("result : %e " ,svariancefa(table2, 5, coef2)) ;
+ assert(svariancefa(table1, 3, coef1) == 8.0f);
+ assert((svariancefa(table2, 5, coef2) - 1.916666666 )/ svariancefa(table2, 5 ,coef2) < 1e-6);
+ return 0;
+}
+
+/*
+static int scolumnvariancefaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float coef2[10] = {11.0f, 12.0f, 13.0f, 14.0f , 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f};
+ float columnMeanmedTable1_3_3[3] = {0};
+ float columnMeanmedTable1_1_9[1] = {0};
+ float columnMeanmedTable1_9_1[9] = {0};
+ float columnMeanmedTable2_2_5[2] = {0};
+ float columnMeanmedTable2_5_2[5] = {0};
+
+ printf("\n>>>> Column Variancef Float Array Test\n");
+
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 68 32 146 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+
+ scolumnvariancefa(table1, 3, 3, coef1 ,columnMeanmedTable1_3_3);
+ assert( ( fabs(columnMeanmedTable1_3_3[0] ) - ( 68.0f / 33.0f ) ) / fabs ( columnMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable1_3_3[1] ) - ( 32.0f / 6.0f ) ) / fabs ( columnMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable1_3_3[2] ) - ( 146.0f / 18.0f ) ) / fabs ( columnMeanmedTable1_3_3[2] ) < 1e-6 );
+
+
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 45 ]
+
+ scolumnvariancefa(table1, 1, 9, coef1 ,columnMeanmedTable1_1_9);
+ printf("result qui foire : %e\n " ,columnMeanmedTable1_1_9[0]) ;
+ assert( ( fabs(columnMeanmedTable1_1_9[0] ) - ( 1.146666666f ) ) / fabs ( columnMeanmedTable1_1_9[0] ) < 1e-6 );
+
+
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+
+ scolumnvariancefa(table1, 9, 1, coef1, columnMeanmedTable1_9_1);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("columnMeanmedTable1_9_1[%d] = %e\n", i, columnMeanmedTable1_9_1[i]);
+ assert(columnMeanmedTable1_9_1[i] == table1[i]);
+ }
+
+
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ]=> [ 415 520 ]
+
+ scolumnvariancefa(table2, 2, 5, coef2 , columnMeanmedTable2_2_5);
+ assert( ( fabs(columnMeanmedTable2_2_5[0] ) - ( 415.0f / 75.0f ) ) / fabs ( columnMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_2_5[1] ) - ( 520.0f / 80.0f ) ) / fabs ( columnMeanmedTable2_2_5[1] ) < 1e-6 );
+ for ( i = 0 ; i < 2 ; ++i) {
+ printf("columnMeanmedTable2_2_5[%d] = %e\n", i, columnMeanmedTable2_2_5[i]);
+ }
+
+
+ [ 1 6 ] [ 11 16 ]
+ [ 2 7 ] [ 12 17 ] => [ 107 143 183 227 275 ]
+ [ 3 8 ].*[ 13 18 ]
+ [ 4 9 ] [ 14 19 ]
+ [ 5 10 ] [ 15 20 ]
+
+
+ scolumnvariancefa(table2, 5, 2, coef2 ,columnMeanmedTable2_5_2);
+ assert( ( fabs(columnMeanmedTable2_5_2[0] ) - ( 107.0f / 27.0f ) ) / fabs ( columnMeanmedTable2_5_2[0] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[1] ) - ( 143.0f / 29.0f ) ) / fabs ( columnMeanmedTable2_5_2[1] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[2] ) - ( 183.0f / 31.0f ) ) / fabs ( columnMeanmedTable2_5_2[2] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[3] ) - ( 227.0f / 33.0f ) ) / fabs ( columnMeanmedTable2_5_2[3] ) < 1e-6 );
+ assert( ( fabs(columnMeanmedTable2_5_2[4] ) - ( 275.0f / 35.0f ) ) / fabs ( columnMeanmedTable2_5_2[4] ) < 1e-6 );
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("columnMeanmedTable2_5_2[%d] = %e\n", i, columnMeanmedTable2_5_2[i]);
+ }
+
+ return 0;
+}
+*/
+/*
+static int srowvariancefaTest(void) {
+ int i = 0;
+ float table1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float coef1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float table2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f};
+ float coef2[10] = {11.0f, 12.0f, 13.0f, 14.0f , 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f};
+ float rowMeanmedTable1_3_3[3] = {0};
+ float rowMeanmedTable1_1_9[9] = {0};
+ float rowMeanmedTable1_9_1[1] = {0};
+ float rowMeanmedTable2_2_5[5] = {0};
+ float rowMeanmedTable2_5_2[2] = {0};
+
+ printf("\n>>>> Row Mean Float Array Test\n");
+
+ [ 1 2 3 ] [10 11 12 ]
+ [ 4 5 6 ].*[ 1 2 3 ] => [ 49 80 117 ]
+ [ 7 8 9 ] [ 5 6 7 ]
+
+ srowvariancefa(table1, 3, 3, coef1 , rowMeanmedTable1_3_3);
+ for ( i = 0 ; i < 3 ; ++i) {
+ printf("rowMeanmedTable1_3_3[%d] = %e\n", i, rowMeanmedTable1_3_3[i]);
+ }
+ assert( ( fabs(rowMeanmedTable1_3_3[0] ) - ( 49.0f / 16.0f ) ) / fabs ( rowMeanmedTable1_3_3[0] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable1_3_3[1] ) - ( 80.0f / 19.0f ) ) / fabs ( rowMeanmedTable1_3_3[1] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable1_3_3[2] ) - ( 117.0f / 22.0f ) ) / fabs ( rowMeanmedTable1_3_3[2] ) < 1e-6 );
+
+
+ [ 1 ]
+ [ 2 ]
+ [ 3 ]
+ [ 4 ]
+ [ 5 ] => [ 1 2 3 4 5 6 7 8 9 ]
+ [ 6 ]
+ [ 7 ]
+ [ 8 ]
+ [ 9 ]
+
+ srowvariancefa(table1, 1, 9, coef1, rowMeanmedTable1_1_9);
+ for ( i = 0 ; i < 9 ; ++i) {
+ printf("rowMeanmedTable1_1_9[%d] = %e\n", i, rowMeanmedTable1_1_9[i]);
+ assert(rowMeanmedTable1_1_9[i] == table1[i]);
+ }
+
+
+ [ 1 2 3 4 5 6 7 8 9 ] => [ 246 ]
+
+ srowvariancefa(table1, 9, 1, coef1, rowMeanmedTable1_9_1);
+ assert( ( fabs(rowMeanmedTable1_9_1[0] ) - ( 246.0f / 57.0f ) ) / fabs ( rowMeanmedTable1_9_1[0] ) < 1e-6 );
+
+
+ [ 1 3 5 7 9 ] .* [ 11 13 15 17 19 ]
+ [ 2 4 6 8 10 ] [ 12 14 16 18 20 ] => [ 3 7 11 15 19 ]
+
+ srowvariancefa(table2, 2, 5, coef2, rowMeanmedTable2_2_5);
+ for ( i = 0 ; i < 5 ; ++i) {
+ printf("rowMeanmedTable2_2_5[%d] = %e\n", i, rowMeanmedTable2_2_5[i]);
+ }
+ assert( ( fabs(rowMeanmedTable2_2_5[0] ) - ( 35.0f / 23.0f ) ) / fabs ( rowMeanmedTable2_2_5[0] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[1] ) - ( 95.0f / 27.0f ) ) / fabs ( rowMeanmedTable2_2_5[1] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[2] ) - ( 171.0f / 31.0f ) ) / fabs ( rowMeanmedTable2_2_5[2] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[3] ) - ( 263.0f / 35.0f ) ) / fabs ( rowMeanmedTable2_2_5[3] ) < 1e-6 );
+ assert( ( fabs(rowMeanmedTable2_2_5[4] ) - ( 371.0f / 39.0f ) ) / fabs ( rowMeanmedTable2_2_5[4] ) < 1e-6 );
+
+
+ return 0;
+}
+*/
+
+static int cvariancefsTest(void) {
+
+
+ printf("\n>>>> Mean Float Complex Scalar Test\n");
+ assert( creals(cvariancefs(FloatComplex(3.0f, 3.0f),FloatComplex(3.0f, 0.0f);)) == 0.0f );
+ assert( cimags(cvariancefs(FloatComplex(3.0f, 3.0f),FloatComplex(3.0f, 0.0f);)) == 0.0f );
+ assert( creals(cvariancefs(FloatComplex(1.123456789f, 1.123456789f),FloatComplex(1.123456789f, 1.123456789f))) == 0.0f );
+ assert( cimags(cvariancefs(FloatComplex(1.123456789f, 1.123456789f),FloatComplex(1.123456789f, 1.123456789f))) == 0.0f );
+
+ return 0;
+}
+
+
+
+static int cvariancefaTest(void) {
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+ floatComplex result =FloatComplex(0.0f , 0.0f);
+
+ printf("\n>>>> Mean Float Complex Array Test\n");
+ result = cvariancefa(table1, 9, coef1);
+ /*printf("\nresult : %lf \t+ %lf i " ,creals(result) ,cimags(result)) ;*/
+
+ assert( fabs(creals(result) - ( 1.3834586f ) ) / fabs ( creals(result) ) < 1e-6 );
+ assert( fabs(cimags(result) - ( 9.6090226f ) ) / fabs ( cimags(result) ) < 1e-6 );
+
+ return 0;
+}
+
+/*
+static int crowvariancefaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 9);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 9);
+
+ floatComplex rowMeanmedTable1_3_3[3] = {FloatComplex(0.0f, 0.0f)};
+
+ floatComplex rowMeanmedTable1_1_9[9] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable1_9_1[1] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_2_5[5] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_5_2[2] = {FloatComplex(0.0f, 0.0f)};
+
+ printf("\n>>>> Row variancef Float Complex Array Test\n");
+
+
+
+ crowvariancefa(table1 , 3 , 3 , coef1 , rowMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+
+ printf("rowMeanmedTable_3_3[%d] = %e + %ei\n", i, creals(rowMeanmedTable1_3_3[i]), cimags(rowMeanmedTable1_3_3[i]));
+ }
+ assert( ( fabs(cimags(rowMeanmedTable1_3_3[0]) ) - ( 27.0f / 16.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( ( fabs(creals(rowMeanmedTable1_3_3[0]) ) - ( 49.0f / 16.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( ( fabs(cimags(rowMeanmedTable1_3_3[1]) ) - ( 90.0f / 19.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( ( fabs(creals(rowMeanmedTable1_3_3[1]) ) - ( 80.0f / 19.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( ( fabs(cimags(rowMeanmedTable1_3_3[2]) ) - (171.0f / 22.0f ) ) / fabs ( cimags(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( ( fabs(creals(rowMeanmedTable1_3_3[2]) ) - (117.0f / 22.0f ) ) / fabs ( creals(rowMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+*/
+
+
+/*
+static int ccolumnvariancefaTest(void) {
+
+ int i = 0 ;
+
+ float tableR1[9] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f};
+ float tableI1[9] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
+ float coefR1[9] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f};
+ float coefI1[9] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ float tableR2[10] = {1.0f, 4.0f, 7.0f, 2.0f , 5.0f, 8.0f, 3.0f, 6.0f, 9.0f, 10.0f};
+ float tableI2[10] = {1.0f, 2.0f, 3.0f, 4.0f , 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 15.0f};
+ float coefR2[10] = {10.0f, 1.0f, 5.0f,11.0f , 2.0f, 6.0f,12.0f, 3.0f, 7.0f, 19.0f};
+ float coefI2[10] = { 0.0f, 0.0f, 0.0f, 0.0f , 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
+
+ floatComplex* table1 = FloatComplexMatrix (tableR1, tableI1, 9);
+ floatComplex* coef1 = FloatComplexMatrix (coefR1, coefI1, 9);
+
+ floatComplex* table2 = FloatComplexMatrix (tableR2, tableI2, 9);
+ floatComplex* coef2 = FloatComplexMatrix (coefR2, coefI2, 9);
+
+ floatComplex columnMeanmedTable1_3_3[3] = {FloatComplex(0.0f, 0.0f)};
+
+ floatComplex rowMeanmedTable1_1_9[9] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable1_9_1[1] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_2_5[5] = {FloatComplex(0.0f, 0.0f)};
+ floatComplex rowMeanmedTable2_5_2[2] = {FloatComplex(0.0f, 0.0f)};
+
+
+ printf("\n>>>> Column variancef Float Complex Array Test\n");
+
+
+
+ ccolumnvariancefa(table1 , 3 , 3 , coef1 , columnMeanmedTable1_3_3);
+
+ for (i = 0 ; i < 3 ; ++i )
+ {
+ printf("columnMeanmedTable_3_3[%d] = %e + %ei\n", i, creals(columnMeanmedTable1_3_3[i]), cimags(columnMeanmedTable1_3_3[i]));
+ }
+ assert( ( fabs(cimags(columnMeanmedTable1_3_3[0]) ) - (138.0f / 33.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+ assert( ( fabs(creals(columnMeanmedTable1_3_3[0]) ) - ( 68.0f / 33.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[0]) ) < 1e-6 );
+
+ assert( ( fabs(cimags(columnMeanmedTable1_3_3[1]) ) - ( 36.0f / 6.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+ assert( ( fabs(creals(columnMeanmedTable1_3_3[1]) ) - ( 32.0f / 6.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[1]) ) < 1e-6 );
+
+ assert( ( fabs(cimags(columnMeanmedTable1_3_3[2]) ) - (114.0f / 18.0f ) ) / fabs ( cimags(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+ assert( ( fabs(creals(columnMeanmedTable1_3_3[2]) ) - (146.0f / 18.0f ) ) / fabs ( creals(columnMeanmedTable1_3_3[2]) ) < 1e-6 );
+
+
+
+
+ return 0;
+}
+
+*/
+
+static int testvariancef(void) {
+
+ svariancefsTest();
+ svariancefaTest();
+ /*scolumnvariancefaTest();
+ srowvariancefaTest();*/
+ cvariancefsTest();
+ cvariancefaTest();
+ /*crowvariancefaTest();
+ ccolumnvariancefaTest();
+*/
+ return 0;
+}
+
+int main(void) {
+ assert(testvariancef() == 0);
+ return 0;
+}
+
diff --git a/src/c/statisticsFunctions/variancef/zcolumnvariancefa.c b/src/c/statisticsFunctions/variancef/zcolumnvariancefa.c
new file mode 100644
index 0000000..47fee75
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/zcolumnvariancefa.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 "variancef.h"
+#include "matrixTranspose.h"
+
+void zcolumnvariancefa(doubleComplex *in1, int lines, int columns,doubleComplex *in2 , doubleComplex* out){
+
+ int i = 0 ;
+
+ doubleComplex* transp = (doubleComplex*) malloc ( sizeof (doubleComplex) *(unsigned int) (lines*columns));
+
+
+
+ ztransposea ( in1 , lines , columns , transp ) ;
+
+
+ for ( i = 0; i < lines ; i++)
+ out[i] = zvariancefa ( transp + i*columns , columns, in2 ) ;
+
+
+ free (transp);
+
+}
+
diff --git a/src/c/statisticsFunctions/variancef/zrowvariancefa.c b/src/c/statisticsFunctions/variancef/zrowvariancefa.c
new file mode 100644
index 0000000..b39b2ee
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/zrowvariancefa.c
@@ -0,0 +1,21 @@
+/*
+ * 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 "variancef.h"
+
+void zrowvariancefa(doubleComplex *in1, int lines, int columns,doubleComplex *in2, doubleComplex* out){
+
+ int i = 0 ;
+
+ for ( i = 0; i < columns ; i++)
+ out[i] = zvariancefa ( in1 + i*lines , lines , in2 ) ;
+}
diff --git a/src/c/statisticsFunctions/variancef/zvariancefa.c b/src/c/statisticsFunctions/variancef/zvariancefa.c
new file mode 100644
index 0000000..6de6f11
--- /dev/null
+++ b/src/c/statisticsFunctions/variancef/zvariancefa.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 "variancef.h"
+#include "division.h"
+
+doubleComplex zvariancefa(doubleComplex *in1, int size, doubleComplex *in2)
+
+{
+ int i = 0 ;
+ doubleComplex temp = DoubleComplex (0.0, 0.0 );
+ doubleComplex accumulate =DoubleComplex (0.0, 0.0 );
+ doubleComplex accumulateFre = DoubleComplex (0.0, 0.0 );
+
+ doubleComplex meanf = zmeanfa (in1 , size , in2);
+ for(i = 0 ; i < size ; ++i)
+ {
+ temp = zpows ( zdiffs (in1[i] , meanf ) ,DoubleComplex (2.0, 0.0 ) );
+ temp = zmuls( in2[i] , temp);
+
+ accumulate = zadds( temp , accumulate);
+ accumulateFre = zadds(in2[i ] ,accumulateFre );
+ }
+
+ return zrdivs(accumulate, zdiffs(accumulateFre ,DoubleComplex(1.0,0.0) ));
+}