aubio  0.4.0
 All Data Structures Files Functions Variables Typedefs Macros
vecutils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009-2013 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
24 
25  */
26 
27 #ifndef _AUBIO__VECUTILS_H
28 #define _AUBIO__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 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif /* _AUBIO__VECUTILS_H */
void fvec_sin(fvec_t *s)
compute of each vector elements
void fvec_sqrt(fvec_t *s)
compute the of each vector elements
float smpl_t
short sample format (32 or 64 bits)
Definition: types.h:41
void fvec_ceil(fvec_t *s)
compute the of each vector elements
void fvec_cos(fvec_t *s)
compute of each vector elements
void fvec_log10(fvec_t *s)
compute the of each vector elements
void fvec_log(fvec_t *s)
compute the of each vector elements
void fvec_round(fvec_t *s)
compute the of each vector elements
void fvec_abs(fvec_t *s)
compute the of each vector elements
Buffer for real data.
Definition: fvec.h:67
void fvec_pow(fvec_t *s, smpl_t pow)
raise each vector elements to the power pow
void fvec_floor(fvec_t *s)
compute the of each vector elements
void fvec_exp(fvec_t *s)
compute of each vector elements