summaryrefslogtreecommitdiff
path: root/src/statisticsFunctions/variance
diff options
context:
space:
mode:
Diffstat (limited to 'src/statisticsFunctions/variance')
-rw-r--r--src/statisticsFunctions/variance/Makefile.am8
-rw-r--r--src/statisticsFunctions/variance/Makefile.in38
-rw-r--r--src/statisticsFunctions/variance/dvariancea.c2
-rw-r--r--src/statisticsFunctions/variance/testDoubleVarianceNono.c63
4 files changed, 104 insertions, 7 deletions
diff --git a/src/statisticsFunctions/variance/Makefile.am b/src/statisticsFunctions/variance/Makefile.am
index 51c704c7..41d2cb9b 100644
--- a/src/statisticsFunctions/variance/Makefile.am
+++ b/src/statisticsFunctions/variance/Makefile.am
@@ -73,9 +73,9 @@ check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
$(top_builddir)/auxiliaryFunctions/conj/libConj.la \
@LIBMATH@
-check_PROGRAMS = testFloatVariance testDoubleVariance
+check_PROGRAMS = testFloatVariance testDoubleVariance testDoubleVarianceNono
-TESTS = testFloatVariance testDoubleVariance
+TESTS = testFloatVariance testDoubleVariance testDoubleVarianceNono
#
# -*- Variance Tests -*-
@@ -87,3 +87,7 @@ testFloatVariance_LDADD = $(check_LDADD)
testDoubleVariance_SOURCES =testDoubleVariance.c
testDoubleVariance_CFLAGS = $(check_INCLUDES)
testDoubleVariance_LDADD = $(check_LDADD)
+
+testDoubleVarianceNono_SOURCES =testDoubleVarianceNono.c
+testDoubleVarianceNono_CFLAGS = $(check_INCLUDES)
+testDoubleVarianceNono_LDADD = $(check_LDADD)
diff --git a/src/statisticsFunctions/variance/Makefile.in b/src/statisticsFunctions/variance/Makefile.in
index 45e4867c..b02ade09 100644
--- a/src/statisticsFunctions/variance/Makefile.in
+++ b/src/statisticsFunctions/variance/Makefile.in
@@ -33,8 +33,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
check_PROGRAMS = testFloatVariance$(EXEEXT) \
- testDoubleVariance$(EXEEXT)
-TESTS = testFloatVariance$(EXEEXT) testDoubleVariance$(EXEEXT)
+ testDoubleVariance$(EXEEXT) testDoubleVarianceNono$(EXEEXT)
+TESTS = testFloatVariance$(EXEEXT) testDoubleVariance$(EXEEXT) \
+ testDoubleVarianceNono$(EXEEXT)
subdir = statisticsFunctions/variance
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -101,6 +102,14 @@ testDoubleVariance_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(testDoubleVariance_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+am_testDoubleVarianceNono_OBJECTS = \
+ testDoubleVarianceNono-testDoubleVarianceNono.$(OBJEXT)
+testDoubleVarianceNono_OBJECTS = $(am_testDoubleVarianceNono_OBJECTS)
+testDoubleVarianceNono_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleVarianceNono_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(testDoubleVarianceNono_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
am_testFloatVariance_OBJECTS = \
testFloatVariance-testFloatVariance.$(OBJEXT)
testFloatVariance_OBJECTS = $(am_testFloatVariance_OBJECTS)
@@ -122,9 +131,9 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libVariance_la_SOURCES) $(testDoubleVariance_SOURCES) \
- $(testFloatVariance_SOURCES)
+ $(testDoubleVarianceNono_SOURCES) $(testFloatVariance_SOURCES)
DIST_SOURCES = $(libVariance_la_SOURCES) $(testDoubleVariance_SOURCES) \
- $(testFloatVariance_SOURCES)
+ $(testDoubleVarianceNono_SOURCES) $(testFloatVariance_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -307,6 +316,9 @@ testFloatVariance_LDADD = $(check_LDADD)
testDoubleVariance_SOURCES = testDoubleVariance.c
testDoubleVariance_CFLAGS = $(check_INCLUDES)
testDoubleVariance_LDADD = $(check_LDADD)
+testDoubleVarianceNono_SOURCES = testDoubleVarianceNono.c
+testDoubleVarianceNono_CFLAGS = $(check_INCLUDES)
+testDoubleVarianceNono_LDADD = $(check_LDADD)
all: all-am
.SUFFIXES:
@@ -379,6 +391,9 @@ clean-checkPROGRAMS:
testDoubleVariance$(EXEEXT): $(testDoubleVariance_OBJECTS) $(testDoubleVariance_DEPENDENCIES)
@rm -f testDoubleVariance$(EXEEXT)
$(testDoubleVariance_LINK) $(testDoubleVariance_OBJECTS) $(testDoubleVariance_LDADD) $(LIBS)
+testDoubleVarianceNono$(EXEEXT): $(testDoubleVarianceNono_OBJECTS) $(testDoubleVarianceNono_DEPENDENCIES)
+ @rm -f testDoubleVarianceNono$(EXEEXT)
+ $(testDoubleVarianceNono_LINK) $(testDoubleVarianceNono_OBJECTS) $(testDoubleVarianceNono_LDADD) $(LIBS)
testFloatVariance$(EXEEXT): $(testFloatVariance_OBJECTS) $(testFloatVariance_DEPENDENCIES)
@rm -f testFloatVariance$(EXEEXT)
$(testFloatVariance_LINK) $(testFloatVariance_OBJECTS) $(testFloatVariance_LDADD) $(LIBS)
@@ -402,6 +417,7 @@ distclean-compile:
@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)/testDoubleVariance-testDoubleVariance.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleVarianceNono-testDoubleVarianceNono.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatVariance-testFloatVariance.Po@am__quote@
.c.o:
@@ -523,6 +539,20 @@ testDoubleVariance-testDoubleVariance.obj: testDoubleVariance.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleVariance_CFLAGS) $(CFLAGS) -c -o testDoubleVariance-testDoubleVariance.obj `if test -f 'testDoubleVariance.c'; then $(CYGPATH_W) 'testDoubleVariance.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleVariance.c'; fi`
+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@ mv -f $(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@ mv -f $(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`
+
testFloatVariance-testFloatVariance.o: testFloatVariance.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatVariance_CFLAGS) $(CFLAGS) -MT testFloatVariance-testFloatVariance.o -MD -MP -MF $(DEPDIR)/testFloatVariance-testFloatVariance.Tpo -c -o testFloatVariance-testFloatVariance.o `test -f 'testFloatVariance.c' || echo '$(srcdir)/'`testFloatVariance.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFloatVariance-testFloatVariance.Tpo $(DEPDIR)/testFloatVariance-testFloatVariance.Po
diff --git a/src/statisticsFunctions/variance/dvariancea.c b/src/statisticsFunctions/variance/dvariancea.c
index 2454968e..39bd6abf 100644
--- a/src/statisticsFunctions/variance/dvariancea.c
+++ b/src/statisticsFunctions/variance/dvariancea.c
@@ -30,7 +30,7 @@ double dvariancea(double *in, int size)
}
if ( fabs ( sumc) > 1e-16)
- variance = ( temp - dpows( sumc,2)/size)/ ( size -1);
+ variance = ( temp - dpows( sumc,2))/ ( size-1);
else
variance = ( temp )/ ( size -1);
diff --git a/src/statisticsFunctions/variance/testDoubleVarianceNono.c b/src/statisticsFunctions/variance/testDoubleVarianceNono.c
new file mode 100644
index 00000000..ef270e6b
--- /dev/null
+++ b/src/statisticsFunctions/variance/testDoubleVarianceNono.c
@@ -0,0 +1,63 @@
+/*
+ * 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 test(void){
+ 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};
+ int i;
+
+ outColumns= malloc((uint)5*sizeof(double));
+ outRows= malloc((uint)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);
+
+ return 0;
+}
+
+
+static int testDoubleVariance (void) {
+ printf("\n\n\n\n*********************\n");
+ printf("***** Double Tests Nono****\n");
+ printf("*********************\n");
+ assert(test()==0);
+
+
+ return 0;
+}
+
+int main(void) {
+ assert(testDoubleVariance () == 0);
+ return 0;
+}
+