aubio
0.4.1
|
00001 /* 00002 Copyright (C) 2009-2013 Paul Brossier <piem@aubio.org> 00003 00004 This file is part of aubio. 00005 00006 aubio is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 aubio is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with aubio. If not, see <http://www.gnu.org/licenses/>. 00018 00019 */ 00020 00021 /** \file 00022 00023 Utility functions for ::fvec_t 00024 00025 */ 00026 00027 #ifndef _AUBIO__VECUTILS_H 00028 #define _AUBIO__VECUTILS_H 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 /** compute \f$e^x\f$ of each vector elements 00035 00036 \param s vector to modify 00037 00038 */ 00039 void fvec_exp (fvec_t *s); 00040 00041 /** compute \f$cos(x)\f$ of each vector elements 00042 00043 \param s vector to modify 00044 00045 */ 00046 void fvec_cos (fvec_t *s); 00047 00048 /** compute \f$sin(x)\f$ of each vector elements 00049 00050 \param s vector to modify 00051 00052 */ 00053 void fvec_sin (fvec_t *s); 00054 00055 /** compute the \f$abs(x)\f$ of each vector elements 00056 00057 \param s vector to modify 00058 00059 */ 00060 void fvec_abs (fvec_t *s); 00061 00062 /** compute the \f$sqrt(x)\f$ of each vector elements 00063 00064 \param s vector to modify 00065 00066 */ 00067 void fvec_sqrt (fvec_t *s); 00068 00069 /** compute the \f$log10(x)\f$ of each vector elements 00070 00071 \param s vector to modify 00072 00073 */ 00074 void fvec_log10 (fvec_t *s); 00075 00076 /** compute the \f$log(x)\f$ of each vector elements 00077 00078 \param s vector to modify 00079 00080 */ 00081 void fvec_log (fvec_t *s); 00082 00083 /** compute the \f$floor(x)\f$ of each vector elements 00084 00085 \param s vector to modify 00086 00087 */ 00088 void fvec_floor (fvec_t *s); 00089 00090 /** compute the \f$ceil(x)\f$ of each vector elements 00091 00092 \param s vector to modify 00093 00094 */ 00095 void fvec_ceil (fvec_t *s); 00096 00097 /** compute the \f$round(x)\f$ of each vector elements 00098 00099 \param s vector to modify 00100 00101 */ 00102 void fvec_round (fvec_t *s); 00103 00104 /** raise each vector elements to the power pow 00105 00106 \param s vector to modify 00107 \param pow power to raise to 00108 00109 */ 00110 void fvec_pow (fvec_t *s, smpl_t pow); 00111 00112 #ifdef __cplusplus 00113 } 00114 #endif 00115 00116 #endif /* _AUBIO__VECUTILS_H */