📄 dgpfa2f.c
字号:
if (jf < istart) {
jf += ninc;
}
/*< jg = jf + jstepl >*/
jg = jf + jstepl;
/*< if (jg.lt.istart) jg = jg + ninc >*/
if (jg < istart) {
jg += ninc;
}
/*< jh = jg + jstepl >*/
jh = jg + jstepl;
/*< if (jh.lt.istart) jh = jh + ninc >*/
if (jh < istart) {
jh += ninc;
}
/*< j = 0 >*/
j = 0;
/* dir$ ivdep, shortloop */
/*< do 310 l = 1 , nvex >*/
i__7 = nvex;
for (l = 1; l <= i__7; ++l) {
/*< aja = a(ja+j) >*/
aja = a[ja + j];
/*< aje = a(je+j) >*/
aje = a[je + j];
/*< t0 = aja - aje >*/
t0 = aja - aje;
/*< a(ja+j) = aja + aje >*/
a[ja + j] = aja + aje;
/*< ajc = a(jc+j) >*/
ajc = a[jc + j];
/*< ajg = a(jg+j) >*/
ajg = a[jg + j];
/*< t1 = c1 * ( ajc - ajg ) >*/
t1 = c1 * (ajc - ajg);
/*< a(je+j) = ajc + ajg >*/
a[je + j] = ajc + ajg;
/*< ajb = a(jb+j) >*/
ajb = a[jb + j];
/*< ajf = a(jf+j) >*/
ajf = a[jf + j];
/*< t2 = ajb - ajf >*/
t2 = ajb - ajf;
/*< a(jc+j) = ajb + ajf >*/
a[jc + j] = ajb + ajf;
/*< ajd = a(jd+j) >*/
ajd = a[jd + j];
/*< ajh = a(jh+j) >*/
ajh = a[jh + j];
/*< t3 = ajd - ajh >*/
t3 = ajd - ajh;
/*< a(jg+j) = ajd + ajh >*/
a[jg + j] = ajd + ajh;
/*< a(jb+j) = t0 >*/
a[jb + j] = t0;
/*< a(jf+j) = t1 >*/
a[jf + j] = t1;
/*< a(jd+j) = c2 * ( t2 - t3 ) >*/
a[jd + j] = c2 * (t2 - t3);
/*< a(jh+j) = c3 * ( t2 + t3 ) >*/
a[jh + j] = c3 * (t2 + t3);
/*< bja = b(ja+j) >*/
bja = b[ja + j];
/*< bje = b(je+j) >*/
bje = b[je + j];
/*< u0 = bja - bje >*/
u0 = bja - bje;
/*< b(ja+j) = bja + bje >*/
b[ja + j] = bja + bje;
/*< bjc = b(jc+j) >*/
bjc = b[jc + j];
/*< bjg = b(jg+j) >*/
bjg = b[jg + j];
/*< u1 = c1 * ( bjc - bjg ) >*/
u1 = c1 * (bjc - bjg);
/*< b(je+j) = bjc + bjg >*/
b[je + j] = bjc + bjg;
/*< bjb = b(jb+j) >*/
bjb = b[jb + j];
/*< bjf = b(jf+j) >*/
bjf = b[jf + j];
/*< u2 = bjb - bjf >*/
u2 = bjb - bjf;
/*< b(jc+j) = bjb + bjf >*/
b[jc + j] = bjb + bjf;
/*< bjd = b(jd+j) >*/
bjd = b[jd + j];
/*< bjh = b(jh+j) >*/
bjh = b[jh + j];
/*< u3 = bjd - bjh >*/
u3 = bjd - bjh;
/*< b(jg+j) = bjd + bjh >*/
b[jg + j] = bjd + bjh;
/*< b(jb+j) = u0 >*/
b[jb + j] = u0;
/*< b(jf+j) = u1 >*/
b[jf + j] = u1;
/*< b(jd+j) = c2 * ( u2 - u3 ) >*/
b[jd + j] = c2 * (u2 - u3);
/*< b(jh+j) = c3 * ( u2 + u3 ) >*/
b[jh + j] = c3 * (u2 + u3);
/*< j = j + jump >*/
j += *jump;
/*< 310 continue >*/
/* L310: */
}
/*< ja = ja + jstepx >*/
ja += jstepx;
/*< if (ja.lt.istart) ja = ja + ninc >*/
if (ja < istart) {
ja += ninc;
}
/*< 312 continue >*/
/* L312: */
}
/*< 315 continue >*/
/* L315: */
}
/*< 320 continue >*/
/* L320: */
}
/* stage 2 */
/* ------- */
/* k=0 (no twiddle factors) */
/* ------------------------ */
/*< do 330 jjj = 0 , (n-1)*inc , 8*jstep >*/
i__3 = (*n - 1) * *inc;
i__2 = jstep << 3;
for (jjj = 0; i__2 < 0 ? jjj >= i__3 : jjj <= i__3; jjj += i__2) {
/*< ja = istart + jjj >*/
ja = istart + jjj;
/* "transverse" loop */
/* ----------------- */
/*< do 328 nu = 1 , inq >*/
i__4 = inq;
for (nu = 1; nu <= i__4; ++nu) {
/*< jb = ja + jstepl >*/
jb = ja + jstepl;
/*< if (jb.lt.istart) jb = jb + ninc >*/
if (jb < istart) {
jb += ninc;
}
/*< jc = jb + jstepl >*/
jc = jb + jstepl;
/*< if (jc.lt.istart) jc = jc + ninc >*/
if (jc < istart) {
jc += ninc;
}
/*< jd = jc + jstepl >*/
jd = jc + jstepl;
/*< if (jd.lt.istart) jd = jd + ninc >*/
if (jd < istart) {
jd += ninc;
}
/*< je = jd + jstepl >*/
je = jd + jstepl;
/*< if (je.lt.istart) je = je + ninc >*/
if (je < istart) {
je += ninc;
}
/*< jf = je + jstepl >*/
jf = je + jstepl;
/*< if (jf.lt.istart) jf = jf + ninc >*/
if (jf < istart) {
jf += ninc;
}
/*< jg = jf + jstepl >*/
jg = jf + jstepl;
/*< if (jg.lt.istart) jg = jg + ninc >*/
if (jg < istart) {
jg += ninc;
}
/*< jh = jg + jstepl >*/
jh = jg + jstepl;
/*< if (jh.lt.istart) jh = jh + ninc >*/
if (jh < istart) {
jh += ninc;
}
/*< j = 0 >*/
j = 0;
/* dir$ ivdep, shortloop */
/*< do 325 l = 1 , nvex >*/
i__6 = nvex;
for (l = 1; l <= i__6; ++l) {
/*< aja = a(ja+j) >*/
aja = a[ja + j];
/*< aje = a(je+j) >*/
aje = a[je + j];
/*< t0 = aja + aje >*/
t0 = aja + aje;
/*< t2 = aja - aje >*/
t2 = aja - aje;
/*< ajc = a(jc+j) >*/
ajc = a[jc + j];
/*< ajg = a(jg+j) >*/
ajg = a[jg + j];
/*< t1 = ajc + ajg >*/
t1 = ajc + ajg;
/*< t3 = c1 * ( ajc - ajg ) >*/
t3 = c1 * (ajc - ajg);
/*< bja = b(ja+j) >*/
bja = b[ja + j];
/*< bje = b(je+j) >*/
bje = b[je + j];
/*< u0 = bja + bje >*/
u0 = bja + bje;
/*< u2 = bja - bje >*/
u2 = bja - bje;
/*< bjc = b(jc+j) >*/
bjc = b[jc + j];
/*< bjg = b(jg+j) >*/
bjg = b[jg + j];
/*< u1 = bjc + bjg >*/
u1 = bjc + bjg;
/*< u3 = c1 * ( bjc - bjg ) >*/
u3 = c1 * (bjc - bjg);
/*< a(ja+j) = t0 + t1 >*/
a[ja + j] = t0 + t1;
/*< a(je+j) = t0 - t1 >*/
a[je + j] = t0 - t1;
/*< b(ja+j) = u0 + u1 >*/
b[ja + j] = u0 + u1;
/*< b(je+j) = u0 - u1 >*/
b[je + j] = u0 - u1;
/*< a(jc+j) = t2 - u3 >*/
a[jc + j] = t2 - u3;
/*< a(jg+j) = t2 + u3 >*/
a[jg + j] = t2 + u3;
/*< b(jc+j) = u2 + t3 >*/
b[jc + j] = u2 + t3;
/*< b(jg+j) = u2 - t3 >*/
b[jg + j] = u2 - t3;
/*< ajb = a(jb+j) >*/
ajb = a[jb + j];
/*< ajd = a(jd+j) >*/
ajd = a[jd + j];
/*< t0 = ajb + ajd >*/
t0 = ajb + ajd;
/*< t2 = ajb - ajd >*/
t2 = ajb - ajd;
/*< ajf = a(jf+j) >*/
ajf = a[jf + j];
/*< ajh = a(jh+j) >*/
ajh = a[jh + j];
/*< t1 = ajf - ajh >*/
t1 = ajf - ajh;
/*< t3 = ajf + ajh >*/
t3 = ajf + ajh;
/*< bjb = b(jb+j) >*/
bjb = b[jb + j];
/*< bjd = b(jd+j) >*/
bjd = b[jd + j];
/*< u0 = bjb + bjd >*/
u0 = bjb + bjd;
/*< u2 = bjb - bjd >*/
u2 = bjb - bjd;
/*< bjf = b(jf+j) >*/
bjf = b[jf + j];
/*< bjh = b(jh+j) >*/
bjh = b[jh + j];
/*< u1 = bjf - bjh >*/
u1 = bjf - bjh;
/*< u3 = bjf + bjh >*/
u3 = bjf + bjh;
/*< a(jb+j) = t0 - u3 >*/
a[jb + j] = t0 - u3;
/*< a(jh+j) = t0 + u3 >*/
a[jh + j] = t0 + u3;
/*< b(jb+j) = u0 + t3 >*/
b[jb + j] = u0 + t3;
/*< b(jh+j) = u0 - t3 >*/
b[jh + j] = u0 - t3;
/*< a(jd+j) = t2 + u1 >*/
a[jd + j] = t2 + u1;
/*< a(jf+j) = t2 - u1 >*/
a[jf + j] = t2 - u1;
/*< b(jd+j) = u2 - t1 >*/
b[jd + j] = u2 - t1;
/*< b(jf+j) = u2 + t1 >*/
b[jf + j] = u2 + t1;
/*< j = j + jump >*/
j += *jump;
/*< 325 continue >*/
/* L325: */
}
/*< ja = ja + jstepx >*/
ja += jstepx;
/*< if (ja.lt.istart) ja = ja + ninc >*/
if (ja < istart) {
ja += ninc;
}
/*< 328 continue >*/
/* L328: */
}
/*< 330 continue >*/
/* L330: */
}
/*< if (n2.eq.8) go to 490 >*/
if (n2 == 8) {
goto L490;
}
/* loop on nonzero k */
/* ----------------- */
/*< kk = 2 * la >*/
kk = la << 1;
/*< do 350 k = ink , jstep - ink , ink >*/
i__2 = jstep - ink;
i__3 = ink;
for (k = ink; i__3 < 0 ? k >= i__2 : k <= i__2; k += i__3) {
/*< co1 = trigs(kk+1) >*/
co1 = trigs[kk + 1];
/*< si1 = s * trigs(kk+2) >*/
si1 = s * trigs[kk + 2];
/*< co2 = trigs(2*kk+1) >*/
co2 = trigs[(kk << 1) + 1];
/*< si2 = s * trigs(2*kk+2) >*/
si2 = s * trigs[(kk << 1) + 2];
/*< co3 = trigs(3*kk+1) >*/
co3 = trigs[kk * 3 + 1];
/*< si3 = s * trigs(3*kk+2) >*/
si3 = s * trigs[kk * 3 + 2];
/*< co4 = trigs(4*kk+1) >*/
co4 = trigs[(kk << 2) + 1];
/*< si4 = s * trigs(4*kk+2) >*/
si4 = s * trigs[(kk << 2) + 2];
/*< co5 = trigs(5*kk+1) >*/
co5 = trigs[kk * 5 + 1];
/*< si5 = s * trigs(5*kk+2) >*/
si5 = s * trigs[kk * 5 + 2];
/*< co6 = trigs(6*kk+1) >*/
co6 = trigs[kk * 6 + 1];
/*< si6 = s * trigs(6*kk+2) >*/
si6 = s * trigs[kk * 6 + 2];
/*< co7 = trigs(7*kk+1) >*/
co7 = trigs[kk * 7 + 1];
/*< si7 = s * trigs(7*kk+2) >*/
si7 = s * trigs[kk * 7 + 2];
/*< do 345 jjj = k , (n-1)*inc , 8*jstep >*/
i__4 = (*n - 1) * *inc;
i__6 = jstep << 3;
for (jjj = k; i__6 < 0 ? jjj >= i__4 : jjj <= i__4; jjj += i__6) {
/*< ja = istart + jjj >*/
ja = istart + jjj;
/* "transverse" loop */
/* ----------------- */
/*< do 342 nu = 1 , inq >*/
i__5 = inq;
for (nu = 1; nu <= i__5; ++nu) {
/*< jb = ja + jstepl >*/
jb = ja + jstepl;
/*< if (jb.lt.istart) jb = jb + ninc >*/
if (jb < istart) {
jb += ninc;
}
/*< jc = jb + jstepl >*/
jc = jb + jstepl;
/*< if (jc.lt.istart) jc = jc + ninc >*/
if (jc < istart) {
jc += ninc;
}
/*< jd = jc + jstepl >*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -