2 Copyright (C) 2009 Paul Brossier <piem@aubio.org>
4 This file is part of aubio.
6 aubio is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 aubio is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with aubio. If not, see <http://www.gnu.org/licenses/>.
22 * various utilities functions for fvec and cvec objects
33 /** compute \f$e^x\f$ of each vector elements
35 \param s vector to modify
38 void fvec_exp (fvec_t *s);
40 /** compute \f$cos(x)\f$ of each vector elements
42 \param s vector to modify
45 void fvec_cos (fvec_t *s);
47 /** compute \f$sin(x)\f$ of each vector elements
49 \param s vector to modify
52 void fvec_sin (fvec_t *s);
54 /** compute the \f$abs(x)\f$ of each vector elements
56 \param s vector to modify
59 void fvec_abs (fvec_t *s);
61 /** compute the \f$sqrt(x)\f$ of each vector elements
63 \param s vector to modify
66 void fvec_sqrt (fvec_t *s);
68 /** compute the \f$log10(x)\f$ of each vector elements
70 \param s vector to modify
73 void fvec_log10 (fvec_t *s);
75 /** compute the \f$log(x)\f$ of each vector elements
77 \param s vector to modify
80 void fvec_log (fvec_t *s);
82 /** compute the \f$floor(x)\f$ of each vector elements
84 \param s vector to modify
87 void fvec_floor (fvec_t *s);
89 /** compute the \f$ceil(x)\f$ of each vector elements
91 \param s vector to modify
94 void fvec_ceil (fvec_t *s);
96 /** compute the \f$round(x)\f$ of each vector elements
98 \param s vector to modify
101 void fvec_round (fvec_t *s);
103 /** raise each vector elements to the power pow
105 \param s vector to modify
106 \param pow power to raise to
109 void fvec_pow (fvec_t *s, smpl_t pow);
111 /** compute \f$e^x\f$ of each vector norm elements
113 \param s vector to modify
116 void cvec_exp (cvec_t *s);
118 /** compute \f$cos(x)\f$ of each vector norm elements
120 \param s vector to modify
123 void cvec_cos (cvec_t *s);
125 /** compute \f$sin(x)\f$ of each vector norm elements
127 \param s vector to modify
130 void cvec_sin (cvec_t *s);
132 /** compute the \f$abs(x)\f$ of each vector norm elements
134 \param s vector to modify
137 void cvec_abs (cvec_t *s);
139 /** compute the \f$sqrt(x)\f$ of each vector norm elements
141 \param s vector to modify
144 void cvec_sqrt (cvec_t *s);
146 /** compute the \f$log10(x)\f$ of each vector norm elements
148 \param s vector to modify
151 void cvec_log10 (cvec_t *s);
153 /** compute the \f$log(x)\f$ of each vector norm elements
155 \param s vector to modify
158 void cvec_log (cvec_t *s);
160 /** compute the \f$floor(x)\f$ of each vector norm elements
162 \param s vector to modify
165 void cvec_floor (cvec_t *s);
167 /** compute the \f$ceil(x)\f$ of each vector norm elements
169 \param s vector to modify
172 void cvec_ceil (cvec_t *s);
174 /** compute the \f$round(x)\f$ of each vector norm elements
176 \param s vector to modify
179 void cvec_round (cvec_t *s);
181 /** raise each vector norm elements to the power pow
183 \param s vector to modify
184 \param pow power to raise to
187 void cvec_pow (cvec_t *s, smpl_t pow);
193 #endif /*_VECUTILS_H*/