Skip to content

Commit 157da85

Browse files
committed
Fix ooura
1 parent 525405e commit 157da85

File tree

1 file changed

+87
-89
lines changed

1 file changed

+87
-89
lines changed

modules/yup_dsp/fft/yup_OouraFFT8g.cpp

Lines changed: 87 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,13 @@ Appendix :
313313
namespace yup
314314
{
315315

316+
void makewt(int nw, int *ip, float *w);
317+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
318+
void cftbsub(int n, float *a, int *ip, int nw, float *w);
319+
320+
316321
void cdft(int n, int isgn, float *a, int *ip, float *w)
317322
{
318-
void makewt(int nw, int *ip, float *w);
319-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
320-
void cftbsub(int n, float *a, int *ip, int nw, float *w);
321323
int nw;
322324

323325
nw = ip[0];
@@ -336,15 +338,15 @@ void cdft(int n, int isgn, float *a, int *ip, float *w)
336338
}
337339
}
338340

341+
void makewt(int nw, int *ip, float *w);
342+
void makect(int nc, int *ip, float *c);
343+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
344+
void cftbsub(int n, float *a, int *ip, int nw, float *w);
345+
void rftfsub(int n, float *a, int nc, float *c);
346+
void rftbsub(int n, float *a, int nc, float *c);
339347

340348
void rdft(int n, int isgn, float *a, int *ip, float *w)
341349
{
342-
void makewt(int nw, int *ip, float *w);
343-
void makect(int nc, int *ip, float *c);
344-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
345-
void cftbsub(int n, float *a, int *ip, int nw, float *w);
346-
void rftfsub(int n, float *a, int nc, float *c);
347-
void rftbsub(int n, float *a, int nc, float *c);
348350
int nw, nc;
349351
float xi;
350352

@@ -391,16 +393,16 @@ void rdft(int n, int isgn, float *a, int *ip, float *w)
391393
}
392394
}
393395

396+
void makewt(int nw, int *ip, float *w);
397+
void makect(int nc, int *ip, float *c);
398+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
399+
void cftbsub(int n, float *a, int *ip, int nw, float *w);
400+
void rftfsub(int n, float *a, int nc, float *c);
401+
void rftbsub(int n, float *a, int nc, float *c);
402+
void dctsub(int n, float *a, int nc, float *c);
394403

395404
void ddct(int n, int isgn, float *a, int *ip, float *w)
396405
{
397-
void makewt(int nw, int *ip, float *w);
398-
void makect(int nc, int *ip, float *c);
399-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
400-
void cftbsub(int n, float *a, int *ip, int nw, float *w);
401-
void rftfsub(int n, float *a, int nc, float *c);
402-
void rftbsub(int n, float *a, int nc, float *c);
403-
void dctsub(int n, float *a, int nc, float *c);
404406
int j, nw, nc;
405407
float xr;
406408

@@ -459,16 +461,16 @@ void ddct(int n, int isgn, float *a, int *ip, float *w)
459461
}
460462
}
461463

464+
void makewt(int nw, int *ip, float *w);
465+
void makect(int nc, int *ip, float *c);
466+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
467+
void cftbsub(int n, float *a, int *ip, int nw, float *w);
468+
void rftfsub(int n, float *a, int nc, float *c);
469+
void rftbsub(int n, float *a, int nc, float *c);
470+
void dstsub(int n, float *a, int nc, float *c);
462471

463472
void ddst(int n, int isgn, float *a, int *ip, float *w)
464473
{
465-
void makewt(int nw, int *ip, float *w);
466-
void makect(int nc, int *ip, float *c);
467-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
468-
void cftbsub(int n, float *a, int *ip, int nw, float *w);
469-
void rftfsub(int n, float *a, int nc, float *c);
470-
void rftbsub(int n, float *a, int nc, float *c);
471-
void dstsub(int n, float *a, int nc, float *c);
472474
int j, nw, nc;
473475
float xr;
474476

@@ -527,14 +529,14 @@ void ddst(int n, int isgn, float *a, int *ip, float *w)
527529
}
528530
}
529531

532+
void makewt(int nw, int *ip, float *w);
533+
void makect(int nc, int *ip, float *c);
534+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
535+
void rftfsub(int n, float *a, int nc, float *c);
536+
void dctsub(int n, float *a, int nc, float *c);
530537

531538
void dfct(int n, float *a, float *t, int *ip, float *w)
532539
{
533-
void makewt(int nw, int *ip, float *w);
534-
void makect(int nc, int *ip, float *c);
535-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
536-
void rftfsub(int n, float *a, int nc, float *c);
537-
void dctsub(int n, float *a, int nc, float *c);
538540
int j, k, l, m, mh, nw, nc;
539541
float xr, xi, yr, yi;
540542

@@ -636,14 +638,14 @@ void dfct(int n, float *a, float *t, int *ip, float *w)
636638
}
637639
}
638640

641+
void makewt(int nw, int *ip, float *w);
642+
void makect(int nc, int *ip, float *c);
643+
void cftfsub(int n, float *a, int *ip, int nw, float *w);
644+
void rftfsub(int n, float *a, int nc, float *c);
645+
void dstsub(int n, float *a, int nc, float *c);
639646

640647
void dfst(int n, float *a, float *t, int *ip, float *w)
641648
{
642-
void makewt(int nw, int *ip, float *w);
643-
void makect(int nc, int *ip, float *c);
644-
void cftfsub(int n, float *a, int *ip, int nw, float *w);
645-
void rftfsub(int n, float *a, int nc, float *c);
646-
void dstsub(int n, float *a, int nc, float *c);
647649
int j, k, l, m, mh, nw, nc;
648650
float xr, xi, yr, yi;
649651

@@ -737,10 +739,10 @@ void dfst(int n, float *a, float *t, int *ip, float *w)
737739

738740
/* -------- initializing routines -------- */
739741

742+
void makeipt(int nw, int *ip);
740743

741744
void makewt(int nw, int *ip, float *w)
742745
{
743-
void makeipt(int nw, int *ip);
744746
int j, nwh, nw0, nw1;
745747
float delta, wn4r, wk1r, wk1i, wk3r, wk3i;
746748

@@ -916,24 +918,23 @@ void makect(int nc, int *ip, float *c)
916918
}
917919
#endif /* USE_CDFT_WINTHREADS */
918920

919-
920-
void cftfsub(int n, float *a, int *ip, int nw, float *w)
921-
{
922-
void bitrv2(int n, int *ip, float *a);
923-
void bitrv216(float *a);
924-
void bitrv208(float *a);
925-
void cftf1st(int n, float *a, float *w);
926-
void cftrec4(int n, float *a, int nw, float *w);
927-
void cftleaf(int n, int isplt, float *a, int nw, float *w);
928-
void cftfx41(int n, float *a, int nw, float *w);
929-
void cftf161(float *a, float *w);
930-
void cftf081(float *a, float *w);
931-
void cftf040(float *a);
932-
void cftx020(float *a);
921+
void bitrv2(int n, int *ip, float *a);
922+
void bitrv216(float *a);
923+
void bitrv208(float *a);
924+
void cftf1st(int n, float *a, float *w);
925+
void cftrec4(int n, float *a, int nw, float *w);
926+
void cftleaf(int n, int isplt, float *a, int nw, float *w);
927+
void cftfx41(int n, float *a, int nw, float *w);
928+
void cftf161(float *a, float *w);
929+
void cftf081(float *a, float *w);
930+
void cftf040(float *a);
931+
void cftx020(float *a);
933932
#ifdef USE_CDFT_THREADS
934-
void cftrec4_th(int n, float *a, int nw, float *w);
933+
void cftrec4_th(int n, float *a, int nw, float *w);
935934
#endif /* USE_CDFT_THREADS */
936935

936+
void cftfsub(int n, float *a, int *ip, int nw, float *w)
937+
{
937938
if (n > 8)
938939
{
939940
if (n > 32)
@@ -981,24 +982,23 @@ void cftfsub(int n, float *a, int *ip, int nw, float *w)
981982
}
982983
}
983984

984-
985-
void cftbsub(int n, float *a, int *ip, int nw, float *w)
986-
{
987-
void bitrv2conj(int n, int *ip, float *a);
988-
void bitrv216neg(float *a);
989-
void bitrv208neg(float *a);
990-
void cftb1st(int n, float *a, float *w);
991-
void cftrec4(int n, float *a, int nw, float *w);
992-
void cftleaf(int n, int isplt, float *a, int nw, float *w);
993-
void cftfx41(int n, float *a, int nw, float *w);
994-
void cftf161(float *a, float *w);
995-
void cftf081(float *a, float *w);
996-
void cftb040(float *a);
997-
void cftx020(float *a);
985+
void bitrv2conj(int n, int *ip, float *a);
986+
void bitrv216neg(float *a);
987+
void bitrv208neg(float *a);
988+
void cftb1st(int n, float *a, float *w);
989+
void cftrec4(int n, float *a, int nw, float *w);
990+
void cftleaf(int n, int isplt, float *a, int nw, float *w);
991+
void cftfx41(int n, float *a, int nw, float *w);
992+
void cftf161(float *a, float *w);
993+
void cftf081(float *a, float *w);
994+
void cftb040(float *a);
995+
void cftx020(float *a);
998996
#ifdef USE_CDFT_THREADS
999-
void cftrec4_th(int n, float *a, int nw, float *w);
997+
void cftrec4_th(int n, float *a, int nw, float *w);
1000998
#endif /* USE_CDFT_THREADS */
1001999

1000+
void cftbsub(int n, float *a, int *ip, int nw, float *w)
1001+
{
10021002
if (n > 8)
10031003
{
10041004
if (n > 32)
@@ -2368,11 +2368,11 @@ struct cdft_arg_st
23682368
};
23692369
typedef struct cdft_arg_st cdft_arg_t;
23702370

2371+
void *cftrec1_th(void *p);
2372+
void *cftrec2_th(void *p);
23712373

23722374
void cftrec4_th(int n, float *a, int nw, float *w)
23732375
{
2374-
void *cftrec1_th(void *p);
2375-
void *cftrec2_th(void *p);
23762376
int i, idiv4, m, nthread;
23772377
cdft_thread_t th[4];
23782378
cdft_arg_t ag[4];
@@ -2408,12 +2408,12 @@ void cftrec4_th(int n, float *a, int nw, float *w)
24082408
}
24092409
}
24102410

2411+
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2412+
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2413+
void cftmdl1(int n, float *a, float *w);
24112414

24122415
void *cftrec1_th(void *p)
24132416
{
2414-
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2415-
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2416-
void cftmdl1(int n, float *a, float *w);
24172417
int isplt, j, k, m, n, n0, nw;
24182418
float *a, *w;
24192419

@@ -2439,12 +2439,12 @@ void *cftrec1_th(void *p)
24392439
return (void *)0;
24402440
}
24412441

2442+
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2443+
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2444+
void cftmdl2(int n, float *a, float *w);
24422445

24432446
void *cftrec2_th(void *p)
24442447
{
2445-
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2446-
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2447-
void cftmdl2(int n, float *a, float *w);
24482448
int isplt, j, k, m, n, n0, nw;
24492449
float *a, *w;
24502450

@@ -2473,12 +2473,12 @@ void *cftrec2_th(void *p)
24732473
}
24742474
#endif /* USE_CDFT_THREADS */
24752475

2476+
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2477+
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2478+
void cftmdl1(int n, float *a, float *w);
24762479

24772480
void cftrec4(int n, float *a, int nw, float *w)
24782481
{
2479-
int cfttree(int n, int j, int k, float *a, int nw, float *w);
2480-
void cftleaf(int n, int isplt, float *a, int nw, float *w);
2481-
void cftmdl1(int n, float *a, float *w);
24822482
int isplt, j, k, m;
24832483

24842484
m = n;
@@ -2497,11 +2497,11 @@ void cftrec4(int n, float *a, int nw, float *w)
24972497
}
24982498
}
24992499

2500+
void cftmdl1(int n, float *a, float *w);
2501+
void cftmdl2(int n, float *a, float *w);
25002502

25012503
int cfttree(int n, int j, int k, float *a, int nw, float *w)
25022504
{
2503-
void cftmdl1(int n, float *a, float *w);
2504-
void cftmdl2(int n, float *a, float *w);
25052505
int i, isplt, m;
25062506

25072507
if ((k & 3) != 0)
@@ -2544,16 +2544,15 @@ int cfttree(int n, int j, int k, float *a, int nw, float *w)
25442544
return isplt;
25452545
}
25462546

2547+
void cftmdl1(int n, float *a, float *w);
2548+
void cftmdl2(int n, float *a, float *w);
2549+
void cftf161(float *a, float *w);
2550+
void cftf162(float *a, float *w);
2551+
void cftf081(float *a, float *w);
2552+
void cftf082(float *a, float *w);
25472553

25482554
void cftleaf(int n, int isplt, float *a, int nw, float *w)
25492555
{
2550-
void cftmdl1(int n, float *a, float *w);
2551-
void cftmdl2(int n, float *a, float *w);
2552-
void cftf161(float *a, float *w);
2553-
void cftf162(float *a, float *w);
2554-
void cftf081(float *a, float *w);
2555-
void cftf082(float *a, float *w);
2556-
25572556
if (n == 512)
25582557
{
25592558
cftmdl1(128, a, &w[nw - 64]);
@@ -2864,14 +2863,13 @@ void cftmdl2(int n, float *a, float *w)
28642863
a[j3 + 1] = y0i + y2i;
28652864
}
28662865

2866+
void cftf161(float *a, float *w);
2867+
void cftf162(float *a, float *w);
2868+
void cftf081(float *a, float *w);
2869+
void cftf082(float *a, float *w);
28672870

28682871
void cftfx41(int n, float *a, int nw, float *w)
28692872
{
2870-
void cftf161(float *a, float *w);
2871-
void cftf162(float *a, float *w);
2872-
void cftf081(float *a, float *w);
2873-
void cftf082(float *a, float *w);
2874-
28752873
if (n == 128)
28762874
{
28772875
cftf161(a, &w[nw - 8]);

0 commit comments

Comments
 (0)