summaryrefslogtreecommitdiff
path: root/src/statisticsFunctions/variance/testDoubleVarianceNono.c
blob: ef270e6b4b9e764fe56cb09f1a536a4236b763db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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;
}