diff options
Diffstat (limited to 'src/statisticsFunctions/variance')
-rw-r--r-- | src/statisticsFunctions/variance/Makefile.am | 8 | ||||
-rw-r--r-- | src/statisticsFunctions/variance/Makefile.in | 38 | ||||
-rw-r--r-- | src/statisticsFunctions/variance/dvariancea.c | 2 | ||||
-rw-r--r-- | src/statisticsFunctions/variance/testDoubleVarianceNono.c | 63 |
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; +} + |