[Vorbis-dev] Never executing loop in smallft.c

Fábio Furlanete ffurlanete at gmail.com
Sun Apr 25 19:14:02 PDT 2010


Hello list

I've been studying libvorbis code and found a strange fragment in
smallft.c:

38 static void drfti1(int n, float *wa, int *ifac){
39   static int ntryh[4] = { 4,2,3,5 };
40   static float tpi = 6.28318530717958648f;
41   float arg,argh,argld,fi;
42   int ntry=0,i,j=-1;
43   int k1, l1, l2, ib;
44   int ld, ii, ip, is, nq, nr;
45   int ido, ipm, nfm1;
46   int nl=n;
47   int nf=0;
48
49 L101:
50   j++;
51   if (j < 4)
52     ntry=ntryh[j];
53   else
54     ntry+=2;
55
56 L104:
57   nq=nl/ntry;
58   nr=nl-ntry*nq;
59   if (nr!=0) goto L101;
...

As far as I can see, nr will always be 0, witch means that j will be
also always 0 and ntry will have only the first value in ntryh.

Is that correct?

Best





More information about the Vorbis-dev mailing list