aubio  0.4.1
vecutils.h
Go to the documentation of this file.
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 */
 All Data Structures Files Functions Variables Typedefs Defines