1 #include "PRE"
2 
3 /* n even, n >= 4 */
scaler(register real * a,register unsigned int n)4 void scaler(register real *a,register unsigned int n)
5 {
6   register real u = 1.0 / n;
7 
8   a[0] *= u;
9   a[1] *= u;
10   a += 2;
11   n -= 2;
12 
13   u += u;
14 
15   do {
16     a[0] *= u;
17     a[1] *= u;
18     a += 2;
19   } while (n -= 2);
20 }
21 
scaler2(real * a)22 void scaler2(real *a) { a[0] *= 0.5; a[1] *= 0.5; }
scaler4(real * a)23 void scaler4(real *a) { scaler(a,4); }
scaler8(real * a)24 void scaler8(real *a) { scaler(a,8); }
scaler16(real * a)25 void scaler16(real *a) { scaler(a,16); }
scaler32(real * a)26 void scaler32(real *a) { scaler(a,32); }
scaler64(real * a)27 void scaler64(real *a) { scaler(a,64); }
scaler128(real * a)28 void scaler128(real *a) { scaler(a,128); }
scaler256(real * a)29 void scaler256(real *a) { scaler(a,256); }
scaler512(real * a)30 void scaler512(real *a) { scaler(a,512); }
scaler1024(real * a)31 void scaler1024(real *a) { scaler(a,1024); }
scaler2048(real * a)32 void scaler2048(real *a) { scaler(a,2048); }
scaler4096(real * a)33 void scaler4096(real *a) { scaler(a,4096); }
scaler8192(real * a)34 void scaler8192(real *a) { scaler(a,8192); }
35