aubio  0.4.0~beta1
 All Data Structures Files Functions Variables Typedefs Macros
vecutils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 Paul Brossier <piem@aubio.org>
3 
4  This file is part of aubio.
5 
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.
10 
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.
15 
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/>.
18 
19 */
20 
21 /** \file
22 
23  Utility functions for ::fvec_t and ::cvec_t objects
24 
25  */
26 
27 #ifndef _VECUTILS_H
28 #define _VECUTILS_H
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /** compute \f$e^x\f$ of each vector elements
35 
36  \param s vector to modify
37 
38 */
39 void fvec_exp (fvec_t *s);
40 
41 /** compute \f$cos(x)\f$ of each vector elements
42 
43  \param s vector to modify
44 
45 */
46 void fvec_cos (fvec_t *s);
47 
48 /** compute \f$sin(x)\f$ of each vector elements
49 
50  \param s vector to modify
51 
52 */
53 void fvec_sin (fvec_t *s);
54 
55 /** compute the \f$abs(x)\f$ of each vector elements
56 
57  \param s vector to modify
58 
59 */
60 void fvec_abs (fvec_t *s);
61 
62 /** compute the \f$sqrt(x)\f$ of each vector elements
63 
64  \param s vector to modify
65 
66 */
67 void fvec_sqrt (fvec_t *s);
68 
69 /** compute the \f$log10(x)\f$ of each vector elements
70 
71  \param s vector to modify
72 
73 */
74 void fvec_log10 (fvec_t *s);
75 
76 /** compute the \f$log(x)\f$ of each vector elements
77 
78  \param s vector to modify
79 
80 */
81 void fvec_log (fvec_t *s);
82 
83 /** compute the \f$floor(x)\f$ of each vector elements
84 
85  \param s vector to modify
86 
87 */
88 void fvec_floor (fvec_t *s);
89 
90 /** compute the \f$ceil(x)\f$ of each vector elements
91 
92  \param s vector to modify
93 
94 */
95 void fvec_ceil (fvec_t *s);
96 
97 /** compute the \f$round(x)\f$ of each vector elements
98 
99  \param s vector to modify
100 
101 */
102 void fvec_round (fvec_t *s);
103 
104 /** raise each vector elements to the power pow
105 
106  \param s vector to modify
107  \param pow power to raise to
108 
109 */
110 void fvec_pow (fvec_t *s, smpl_t pow);
111 
112 /** compute \f$e^x\f$ of each vector norm elements
113 
114  \param s vector to modify
115 
116 */
117 void cvec_exp (cvec_t *s);
118 
119 /** compute \f$cos(x)\f$ of each vector norm elements
120 
121  \param s vector to modify
122 
123 */
124 void cvec_cos (cvec_t *s);
125 
126 /** compute \f$sin(x)\f$ of each vector norm elements
127 
128  \param s vector to modify
129 
130 */
131 void cvec_sin (cvec_t *s);
132 
133 /** compute the \f$abs(x)\f$ of each vector norm elements
134 
135  \param s vector to modify
136 
137 */
138 void cvec_abs (cvec_t *s);
139 
140 /** compute the \f$sqrt(x)\f$ of each vector norm elements
141 
142  \param s vector to modify
143 
144 */
145 void cvec_sqrt (cvec_t *s);
146 
147 /** compute the \f$log10(x)\f$ of each vector norm elements
148 
149  \param s vector to modify
150 
151 */
152 void cvec_log10 (cvec_t *s);
153 
154 /** compute the \f$log(x)\f$ of each vector norm elements
155 
156  \param s vector to modify
157 
158 */
159 void cvec_log (cvec_t *s);
160 
161 /** compute the \f$floor(x)\f$ of each vector norm elements
162 
163  \param s vector to modify
164 
165 */
166 void cvec_floor (cvec_t *s);
167 
168 /** compute the \f$ceil(x)\f$ of each vector norm elements
169 
170  \param s vector to modify
171 
172 */
173 void cvec_ceil (cvec_t *s);
174 
175 /** compute the \f$round(x)\f$ of each vector norm elements
176 
177  \param s vector to modify
178 
179 */
180 void cvec_round (cvec_t *s);
181 
182 /** raise each vector norm elements to the power pow
183 
184  \param s vector to modify
185  \param pow power to raise to
186 
187 */
188 void cvec_pow (cvec_t *s, smpl_t pow);
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif /*_VECUTILS_H*/