aubio 0.4.9
vecutils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2009-2015 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
31extern "C" {
32#endif
33
34/** compute \f$e^x\f$ of each vector elements
35
36 \param s vector to modify
37
38*/
39void 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*/
46void 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*/
53void 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*/
60void 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*/
67void 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*/
75
76/** compute the \f$log(x)\f$ of each vector elements
77
78 \param s vector to modify
79
80*/
81void 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*/
89
90/** compute the \f$ceil(x)\f$ of each vector elements
91
92 \param s vector to modify
93
94*/
95void 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*/
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*/
110void fvec_pow (fvec_t *s, smpl_t pow);
111
112#ifdef __cplusplus
113}
114#endif
115
116#endif /* AUBIO_VECUTILS_H */
Buffer for real data.
Definition: fvec.h:67
float smpl_t
short sample format (32 or 64 bits)
Definition: types.h:41
void fvec_round(fvec_t *s)
compute the of each vector elements
void fvec_pow(fvec_t *s, smpl_t pow)
raise each vector elements to the power pow
void fvec_cos(fvec_t *s)
compute of each vector elements
void fvec_sin(fvec_t *s)
compute of each vector elements
void fvec_log(fvec_t *s)
compute the of each vector elements
void fvec_abs(fvec_t *s)
compute the of each vector elements
void fvec_sqrt(fvec_t *s)
compute the of each vector elements
void fvec_exp(fvec_t *s)
compute of each vector elements
void fvec_ceil(fvec_t *s)
compute the of each vector elements
void fvec_floor(fvec_t *s)
compute the of each vector elements
void fvec_log10(fvec_t *s)
compute the of each vector elements