source: tests/src/spectral/test-dct.c

Last change on this file was 7df72ac, checked in by Paul Brossier <piem@piem.org>, 4 months ago

[tests] use ABS in test-dct

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[52c1de9]1#include <math.h>
2#include "aubio.h"
[7df72ac]3#include "aubio_priv.h"
[52c1de9]4#include "utils_tests.h"
[60583a3]5
6int main (void)
7{
8  int return_code = 0;
9  uint_t win_s = 32; // window size
[52c1de9]10  uint_t i, j, n_iters = 10; // number of iterations
[60583a3]11  // create dct object
12  aubio_dct_t * dct = new_aubio_dct(win_s);
[804c8eb]13  aubio_dct_t * tmp;
14
15  if (new_aubio_dct(0)) return 1;
[60583a3]16
17  fvec_t * in = new_fvec (win_s); // input buffer
18  fvec_t * dctout = new_fvec (win_s); // output buffer
[52c1de9]19  fvec_t * out = new_fvec (win_s); // input buffer
[60583a3]20
[804c8eb]21  if ((tmp = new_aubio_dct(1)) == 0) return 1;
[d050d02]22  //aubio_dct_do(tmp, dctout, out);
23  //aubio_dct_rdo(tmp, dctout, out);
[804c8eb]24  del_aubio_dct(tmp);
25
[60583a3]26  if (!dct || !in || !dctout) {
27    return_code = 1;
28    return return_code;
29  }
30
31  in->data[0] = 1.;
32  for (i = 0; i < n_iters; i++) {
33    aubio_dct_do (dct, in, dctout);
[52c1de9]34    aubio_dct_rdo (dct, dctout, out);
35    for (j = 0; j < in->length; j++) {
[7df72ac]36      return_code += (ABS(in->data[j] - out->data[j]) > 10.e-4);
[52c1de9]37    }
[60583a3]38  }
[52c1de9]39
[60583a3]40  fvec_print(in);
[52c1de9]41  fvec_print(dctout);
42  fvec_print(out);
43
[60583a3]44  del_fvec(dctout);
45  del_fvec(in);
[52c1de9]46  del_fvec(out);
[60583a3]47  del_aubio_dct(dct);
[52c1de9]48
[60583a3]49  return return_code;
50}
Note: See TracBrowser for help on using the repository browser.