[io] fix source output padding sizes
[aubio.git] / src / vecutils.c
1 #include "aubio_priv.h"
2 #include "types.h"
3 #include "fvec.h"
4 #include "cvec.h"
5 #include "vecutils.h"
6
7 #define AUBIO_OP(OPNAME, OP, TYPE, OBJ) \
8 void TYPE ## _ ## OPNAME (TYPE ## _t *o) \
9 { \
10   uint_t j; \
11   for (j = 0; j < o->length; j++) { \
12     o->OBJ[j] = OP (o->OBJ[j]); \
13   } \
14 }
15
16 #define AUBIO_OP_C(OPNAME, OP) \
17   AUBIO_OP(OPNAME, OP, fvec, data)
18
19 AUBIO_OP_C(exp, EXP)
20 AUBIO_OP_C(cos, COS)
21 AUBIO_OP_C(sin, SIN)
22 AUBIO_OP_C(abs, ABS)
23 AUBIO_OP_C(sqrt, SQRT)
24 AUBIO_OP_C(log10, SAFE_LOG10)
25 AUBIO_OP_C(log, SAFE_LOG)
26 AUBIO_OP_C(floor, FLOOR)
27 AUBIO_OP_C(ceil, CEIL)
28 AUBIO_OP_C(round, ROUND)
29
30 void fvec_pow (fvec_t *s, smpl_t power)
31 {
32   uint_t j;
33   for (j = 0; j < s->length; j++) {
34     s->data[j] = POW(s->data[j], power);
35   }
36 }