Mercurial > hg > libxtract
changeset 148:e899c3a708ad
fixed bug in xtract_dct where data wasn't being copied to result vector
author | Jamie Bullock <jamie@jamiebullock.com> |
---|---|
date | Wed, 09 Jan 2013 15:59:48 +0000 |
parents | 805ee2abcd5f |
children | 0881cd514c9c |
files | src/vector.c |
diffstat | 1 files changed, 13 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/vector.c Wed Jan 09 12:54:28 2013 +0000 +++ b/src/vector.c Wed Jan 09 15:59:48 2013 +0000 @@ -27,7 +27,7 @@ #include <string.h> #include <stdlib.h> -#include "fftsg.h" +#include "fft.h" #include "xtract/libxtract.h" #include "xtract_macros_private.h" @@ -235,18 +235,21 @@ int xtract_dct(const double *data, const int N, const void *argv, double *result) { - int n; - int m; - double *temp = calloc(N, sizeof(double)); + int n; + int m; + double *temp = calloc(N, sizeof(double)); - for (n = 0; n < N; ++n) - { - for(m = 1; m <= N; ++m) { - temp[n] += data[m - 1] * cos(M_PI * (n / (double)N) * (m - 0.5)); - } + for (n = 0; n < N; ++n) + { + for(m = 1; m <= N; ++m) { + temp[n] += data[m - 1] * cos(M_PI * (n / (double)N) * (m - 0.5)); } + } - return XTRACT_SUCCESS; + memcpy(result, temp, N * sizeof(double)); + free(temp); + + return XTRACT_SUCCESS; } int xtract_autocorrelation(const double *data, const int N, const void *argv, double *result)