Changes in src/mathutils.c [8982328:ee6ca74]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mathutils.c
r8982328 ree6ca74 26 26 #include "musicutils.h" 27 27 #include "config.h" 28 29 #ifdef HAVE_ACCELERATE30 #include <Accelerate/Accelerate.h>31 #endif32 33 #if !HAVE_AUBIO_DOUBLE34 #define aubio_cblas_xswap cblas_sswap35 #define aubio_cblas_dot cblas_sdot36 #else37 #define aubio_cblas_xswap cblas_dswap38 #define aubio_cblas_dot cblas_ddot39 #endif40 28 41 29 /** Window types */ … … 175 163 return tmp / (smpl_t) (s->length); 176 164 #else 177 #if !HAVE_AUBIO_DOUBLE 178 vDSP_meanv(s->data, 1, &tmp, s->length); 179 #else /* HAVE_AUBIO_DOUBLE */ 180 vDSP_meanvD(s->data, 1, &tmp, s->length); 181 #endif /* HAVE_AUBIO_DOUBLE */ 165 aubio_vDSP_meanv(s->data, 1, &tmp, s->length); 182 166 return tmp; 183 167 #endif /* HAVE_ACCELERATE */ … … 194 178 } 195 179 #else 196 #if !HAVE_AUBIO_DOUBLE 197 vDSP_sve(s->data, 1, &tmp, s->length); 198 #else /* HAVE_AUBIO_DOUBLE */ 199 vDSP_sveD(s->data, 1, &tmp, s->length); 200 #endif /* HAVE_AUBIO_DOUBLE */ 180 aubio_vDSP_sve(s->data, 1, &tmp, s->length); 201 181 #endif /* HAVE_ACCELERATE */ 202 182 return tmp; … … 214 194 #else 215 195 smpl_t tmp = 0.; 216 #if !HAVE_AUBIO_DOUBLE 217 vDSP_maxv(s->data, 1, &tmp, s->length); 218 #else 219 vDSP_maxvD(s->data, 1, &tmp, s->length); 220 #endif 196 aubio_vDSP_maxv(s->data, 1, &tmp, s->length); 221 197 #endif 222 198 return tmp; … … 234 210 #else 235 211 smpl_t tmp = 0.; 236 #if !HAVE_AUBIO_DOUBLE 237 vDSP_minv(s->data, 1, &tmp, s->length); 238 #else 239 vDSP_minvD(s->data, 1, &tmp, s->length); 240 #endif 212 aubio_vDSP_minv(s->data, 1, &tmp, s->length); 241 213 #endif 242 214 return tmp; … … 256 228 smpl_t tmp = 0.; 257 229 uint_t pos = 0.; 258 #if !HAVE_AUBIO_DOUBLE 259 vDSP_minvi(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 260 #else 261 vDSP_minviD(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 262 #endif 230 aubio_vDSP_minvi(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 263 231 #endif 264 232 return pos; … … 278 246 smpl_t tmp = 0.; 279 247 uint_t pos = 0.; 280 #if !HAVE_AUBIO_DOUBLE 281 vDSP_maxvi(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 282 #else 283 vDSP_maxviD(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 284 #endif 248 aubio_vDSP_maxvi(s->data, 1, &tmp, (vDSP_Length *)&pos, s->length); 285 249 #endif 286 250 return pos; … … 290 254 fvec_shift (fvec_t * s) 291 255 { 292 #ifndef HAVE_ACCELERATE293 256 uint_t j; 294 257 for (j = 0; j < s->length / 2; j++) { 295 258 ELEM_SWAP (s->data[j], s->data[j + s->length / 2]); 296 259 } 297 #else298 uint_t half = s->length / 2;299 aubio_cblas_xswap(half, s->data, 1, s->data + half, 1);300 #endif301 260 } 302 261 … … 305 264 { 306 265 smpl_t energy = 0.; 307 #ifndef HAVE_ACCELERATE308 266 uint_t j; 309 267 for (j = 0; j < f->length; j++) { 310 268 energy += SQR (f->data[j]); 311 269 } 312 #else313 energy = aubio_cblas_dot(f->length, f->data, 1, f->data, 1);314 #endif315 270 return energy / f->length; 316 271 }
Note: See TracChangeset
for help on using the changeset viewer.