@@ -313,11 +313,13 @@ Appendix :
313313namespace 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+
316321void 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
340348void 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
395404void 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
463472void 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
531538void 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
640647void 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
741744void 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};
23692369typedef struct cdft_arg_st cdft_arg_t ;
23702370
2371+ void *cftrec1_th (void *p);
2372+ void *cftrec2_th (void *p);
23712373
23722374void 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
24122415void *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
24432446void *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
24772480void 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
25012503int 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
25482554void 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
28682871void 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