aboutsummaryrefslogtreecommitdiff
path: root/src/vector.c
diff options
context:
space:
mode:
authorJamie Bullock <jamie@jamiebullock.com>2013-01-09 15:59:48 +0000
committerJamie Bullock <jamie@jamiebullock.com>2013-01-09 15:59:48 +0000
commit1784fcccdaba41c0af393efc08da0595fc324228 (patch)
tree1d4fe69121bdb0c5201f40a8c687594eb6435208 /src/vector.c
parent0adbb0bfcd92347fdcbd235cf1e2ef858de974ef (diff)
downloadLibXtract-1784fcccdaba41c0af393efc08da0595fc324228.tar.gz
LibXtract-1784fcccdaba41c0af393efc08da0595fc324228.tar.bz2
LibXtract-1784fcccdaba41c0af393efc08da0595fc324228.zip
fixed bug in xtract_dct where data wasn't being copied to result vector
Diffstat (limited to 'src/vector.c')
-rw-r--r--src/vector.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/vector.c b/src/vector.c
index 7db8695..5525c3f 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -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_mfcc(const double *data, const int N, const void *argv, double *resul
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));
}
+ }
+
+ memcpy(result, temp, N * sizeof(double));
+ free(temp);
- return XTRACT_SUCCESS;
+ return XTRACT_SUCCESS;
}
int xtract_autocorrelation(const double *data, const int N, const void *argv, double *result)