Correlation.cpp
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  QM DSP Library
5 
6  Centre for Digital Music, Queen Mary, University of London.
7  This file 2005-2006 Christian Landone.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #include "Correlation.h"
17 
18 #include "MathAliases.h"
19 
21 // Construction/Destruction
23 
25 {
26 
27 }
28 
30 {
31 
32 }
33 
34 void Correlation::doAutoUnBiased(double *src, double *dst, int length)
35 {
36  double tmp = 0.0;
37  double outVal = 0.0;
38 
39  int i, j;
40 
41  for (i = 0; i < length; i++) {
42  for (j = i; j < length; j++) {
43  tmp += src[ j-i ] * src[ j ];
44  }
45 
46  outVal = tmp / ( length - i );
47 
48  if (outVal <= 0) {
49  dst[ i ] = EPS;
50  } else {
51  dst[ i ] = outVal;
52  }
53 
54  tmp = 0.0;
55  }
56 }
virtual ~Correlation()
Definition: Correlation.cpp:29
#define EPS
void doAutoUnBiased(double *src, double *dst, int length)
Definition: Correlation.cpp:34