Ignore:
Timestamp:
Mar 10, 2017, 2:26:32 PM (8 years ago)
Author:
Paul Brossier <piem@piem.org>
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.
Message:

Merge branch 'master' into awhitening

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/spectral/ooura_fft8g.c

    r00d0275 r155cc10  
    33//  - include "aubio_priv.h" (for config.h and types.h)
    44//  - 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_
    69
    710#include "aubio_priv.h"
    811
    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);
     12void aubio_ooura_cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);
     13void aubio_ooura_rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);
     14void aubio_ooura_ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);
     15void aubio_ooura_ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w);
     16void aubio_ooura_dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w);
     17void aubio_ooura_dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w);
     18static void makewt(int nw, int *ip, smpl_t *w);
     19static void makect(int nc, int *ip, smpl_t *c);
     20static void bitrv2(int n, int *ip, smpl_t *a);
     21static void bitrv2conj(int n, int *ip, smpl_t *a);
     22static void cftfsub(int n, smpl_t *a, smpl_t *w);
     23static void cftbsub(int n, smpl_t *a, smpl_t *w);
     24static void cft1st(int n, smpl_t *a, smpl_t *w);
     25static void cftmdl(int n, int l, smpl_t *a, smpl_t *w);
     26static void rftfsub(int n, smpl_t *a, int nc, smpl_t *c);
     27static void rftbsub(int n, smpl_t *a, int nc, smpl_t *c);
     28static void dctsub(int n, smpl_t *a, int nc, smpl_t *c);
     29static void dstsub(int n, smpl_t *a, int nc, smpl_t *c);
    2730
    2831/*
     
    303306
    304307
    305 void cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
     308void aubio_ooura_cdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
    306309{
    307310    void makewt(int nw, int *ip, smpl_t *w);
     
    328331
    329332
    330 void rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
     333void aubio_ooura_rdft(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
    331334{
    332335    void makewt(int nw, int *ip, smpl_t *w);
     
    362365        a[1] = xi;
    363366    } else {
    364         a[1] = 0.5 * (a[0] - a[1]);
     367        a[1] = (smpl_t)0.5 * (a[0] - a[1]);
    365368        a[0] -= a[1];
    366369        if (n > 4) {
     
    375378
    376379
    377 void ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
     380void aubio_ooura_ddct(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
    378381{
    379382    void makewt(int nw, int *ip, smpl_t *w);
     
    434437
    435438
    436 void ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
     439void aubio_ooura_ddst(int n, int isgn, smpl_t *a, int *ip, smpl_t *w)
    437440{
    438441    void makewt(int nw, int *ip, smpl_t *w);
     
    493496
    494497
    495 void dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)
     498void aubio_ooura_dfct(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)
    496499{
    497500    void makewt(int nw, int *ip, smpl_t *w);
     
    589592
    590593
    591 void dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)
     594void aubio_ooura_dfst(int n, smpl_t *a, smpl_t *t, int *ip, smpl_t *w)
    592595{
    593596    void makewt(int nw, int *ip, smpl_t *w);
     
    691694    if (nw > 2) {
    692695        nwh = nw >> 1;
    693         delta = atan(1.0) / nwh;
     696        delta = ATAN(1.0) / nwh;
    694697        w[0] = 1;
    695698        w[1] = 0;
     
    725728    if (nc > 1) {
    726729        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];
    730733        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);
    733736        }
    734737    }
     
    15861589        k = n - j;
    15871590        kk += ks;
    1588         wkr = 0.5 - c[nc - kk];
     1591        wkr = (smpl_t)0.5 - c[nc - kk];
    15891592        wki = c[kk];
    15901593        xr = a[j] - a[k];
     
    16121615        k = n - j;
    16131616        kk += ks;
    1614         wkr = 0.5 - c[nc - kk];
     1617        wkr = (smpl_t)0.5 - c[nc - kk];
    16151618        wki = c[kk];
    16161619        xr = a[j] - a[k];
Note: See TracChangeset for help on using the changeset viewer.