Changeset 155cc10 for src/spectral/ooura_fft8g.c
- Timestamp:
- Mar 10, 2017, 2:26:32 PM (8 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, sampler
- Children:
- ee8a57c
- Parents:
- 00d0275 (diff), 67b6618 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/spectral/ooura_fft8g.c
r00d0275 r155cc10 3 3 // - include "aubio_priv.h" (for config.h and types.h) 4 4 // - add missing prototypes 5 // - use COS and SIN macros 5 // - use COS, SIN, and ATAN macros 6 // - add cast to (smpl_t) to avoid float conversion warnings 7 // - declare initialization as static 8 // - prefix public function with aubio_ooura_ 6 9 7 10 #include "aubio_priv.h" 8 11 9 void cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);10 void rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);11 void ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);12 void ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);13 void dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w);14 void dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w);15 void makewt(int nw, int *ip, smpl_t *w);16 void makect(int nc, int *ip, smpl_t *c);17 void bitrv2(int n, int *ip, smpl_t *a);18 void bitrv2conj(int n, int *ip, smpl_t *a);19 void cftfsub(int n, smpl_t *a, smpl_t *w);20 void cftbsub(int n, smpl_t *a, smpl_t *w);21 void cft1st(int n, smpl_t *a, smpl_t *w);22 void cftmdl(int n, int l, smpl_t *a, smpl_t *w);23 void rftfsub(int n, smpl_t *a, int nc, smpl_t *c);24 void rftbsub(int n, smpl_t *a, int nc, smpl_t *c);25 void dctsub(int n, smpl_t *a, int nc, smpl_t *c);26 void dstsub(int n, smpl_t *a, int nc, smpl_t *c);12 void aubio_ooura_cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w); 13 void aubio_ooura_rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w); 14 void aubio_ooura_ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w); 15 void aubio_ooura_ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w); 16 void aubio_ooura_dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w); 17 void aubio_ooura_dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w); 18 static void makewt(int nw, int *ip, smpl_t *w); 19 static void makect(int nc, int *ip, smpl_t *c); 20 static void bitrv2(int n, int *ip, smpl_t *a); 21 static void bitrv2conj(int n, int *ip, smpl_t *a); 22 static void cftfsub(int n, smpl_t *a, smpl_t *w); 23 static void cftbsub(int n, smpl_t *a, smpl_t *w); 24 static void cft1st(int n, smpl_t *a, smpl_t *w); 25 static void cftmdl(int n, int l, smpl_t *a, smpl_t *w); 26 static void rftfsub(int n, smpl_t *a, int nc, smpl_t *c); 27 static void rftbsub(int n, smpl_t *a, int nc, smpl_t *c); 28 static void dctsub(int n, smpl_t *a, int nc, smpl_t *c); 29 static void dstsub(int n, smpl_t *a, int nc, smpl_t *c); 27 30 28 31 /* … … 303 306 304 307 305 void cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)308 void aubio_ooura_cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w) 306 309 { 307 310 void makewt(int nw, int *ip, smpl_t *w); … … 328 331 329 332 330 void rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)333 void aubio_ooura_rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w) 331 334 { 332 335 void makewt(int nw, int *ip, smpl_t *w); … … 362 365 a[1] = xi; 363 366 } else { 364 a[1] = 0.5 * (a[0] - a[1]);367 a[1] = (smpl_t)0.5 * (a[0] - a[1]); 365 368 a[0] -= a[1]; 366 369 if (n > 4) { … … 375 378 376 379 377 void ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)380 void aubio_ooura_ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w) 378 381 { 379 382 void makewt(int nw, int *ip, smpl_t *w); … … 434 437 435 438 436 void ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)439 void aubio_ooura_ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w) 437 440 { 438 441 void makewt(int nw, int *ip, smpl_t *w); … … 493 496 494 497 495 void dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)498 void aubio_ooura_dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w) 496 499 { 497 500 void makewt(int nw, int *ip, smpl_t *w); … … 589 592 590 593 591 void dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)594 void aubio_ooura_dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w) 592 595 { 593 596 void makewt(int nw, int *ip, smpl_t *w); … … 691 694 if (nw > 2) { 692 695 nwh = nw >> 1; 693 delta = atan(1.0) / nwh;696 delta = ATAN(1.0) / nwh; 694 697 w[0] = 1; 695 698 w[1] = 0; … … 725 728 if (nc > 1) { 726 729 nch = nc >> 1; 727 delta = atan(1.0) / nch;728 c[0] = cos(delta * nch);729 c[nch] = 0.5 * c[0];730 delta = ATAN(1.0) / nch; 731 c[0] = COS(delta * nch); 732 c[nch] = (smpl_t)0.5 * c[0]; 730 733 for (j = 1; j < nch; j++) { 731 c[j] = 0.5 * cos(delta * j);732 c[nc - j] = 0.5 * sin(delta * j);734 c[j] = (smpl_t)0.5 * COS(delta * j); 735 c[nc - j] = (smpl_t)0.5 * SIN(delta * j); 733 736 } 734 737 } … … 1586 1589 k = n - j; 1587 1590 kk += ks; 1588 wkr = 0.5 - c[nc - kk];1591 wkr = (smpl_t)0.5 - c[nc - kk]; 1589 1592 wki = c[kk]; 1590 1593 xr = a[j] - a[k]; … … 1612 1615 k = n - j; 1613 1616 kk += ks; 1614 wkr = 0.5 - c[nc - kk];1617 wkr = (smpl_t)0.5 - c[nc - kk]; 1615 1618 wki = c[kk]; 1616 1619 xr = a[j] - a[k];
Note: See TracChangeset
for help on using the changeset viewer.