2 #include "aubio_priv.h"
8 #define AUBIO_OP(OPNAME, OP, TYPE, OBJ) \
9 void TYPE ## _ ## OPNAME (TYPE ## _t *o) \
12 for (j = 0; j < o->length; j++) { \
13 o->OBJ[j] = OP (o->OBJ[j]); \
17 #define AUBIO_OP_C_AND_F(OPNAME, OP) \
18 AUBIO_OP(OPNAME, OP, fvec, data) \
19 AUBIO_OP(OPNAME, OP, cvec, norm)
21 AUBIO_OP_C_AND_F(exp, EXP)
22 AUBIO_OP_C_AND_F(cos, COS)
23 AUBIO_OP_C_AND_F(sin, SIN)
24 AUBIO_OP_C_AND_F(abs, ABS)
25 AUBIO_OP_C_AND_F(sqrt, SQRT)
26 AUBIO_OP_C_AND_F(log10, SAFE_LOG10)
27 AUBIO_OP_C_AND_F(log, SAFE_LOG)
28 AUBIO_OP_C_AND_F(floor, FLOOR)
29 AUBIO_OP_C_AND_F(ceil, CEIL)
30 AUBIO_OP_C_AND_F(round, ROUND)
32 //AUBIO_OP_C_AND_F(pow, POW)
33 void fvec_pow (fvec_t *s, smpl_t power)
36 for (j = 0; j < s->length; j++) {
37 s->data[j] = POW(s->data[j], power);
41 void cvec_pow (cvec_t *s, smpl_t power)
44 for (j = 0; j < s->length; j++) {
45 s->norm[j] = POW(s->norm[j], power);