📄 dgpfa2f.c
字号:
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 340 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;
/*< 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;
/*< b(ja+j) = u0 + u1 >*/
b[ja + j] = u0 + u1;
/*< a(je+j) = co4*(t0-t1) - si4*(u0-u1) >*/
a[je + j] = co4 * (t0 - t1) - si4 * (u0 - u1);
/*< b(je+j) = si4*(t0-t1) + co4*(u0-u1) >*/
b[je + j] = si4 * (t0 - t1) + co4 * (u0 - u1);
/*< a(jc+j) = co2*(t2-u3) - si2*(u2+t3) >*/
a[jc + j] = co2 * (t2 - u3) - si2 * (u2 + t3);
/*< b(jc+j) = si2*(t2-u3) + co2*(u2+t3) >*/
b[jc + j] = si2 * (t2 - u3) + co2 * (u2 + t3);
/*< a(jg+j) = co6*(t2+u3) - si6*(u2-t3) >*/
a[jg + j] = co6 * (t2 + u3) - si6 * (u2 - t3);
/*< b(jg+j) = si6*(t2+u3) + co6*(u2-t3) >*/
b[jg + j] = si6 * (t2 + u3) + co6 * (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) = co1*(t0-u3) - si1*(u0+t3) >*/
a[jb + j] = co1 * (t0 - u3) - si1 * (u0 + t3);
/*< b(jb+j) = si1*(t0-u3) + co1*(u0+t3) >*/
b[jb + j] = si1 * (t0 - u3) + co1 * (u0 + t3);
/*< a(jh+j) = co7*(t0+u3) - si7*(u0-t3) >*/
a[jh + j] = co7 * (t0 + u3) - si7 * (u0 - t3);
/*< b(jh+j) = si7*(t0+u3) + co7*(u0-t3) >*/
b[jh + j] = si7 * (t0 + u3) + co7 * (u0 - t3);
/*< a(jd+j) = co3*(t2+u1) - si3*(u2-t1) >*/
a[jd + j] = co3 * (t2 + u1) - si3 * (u2 - t1);
/*< b(jd+j) = si3*(t2+u1) + co3*(u2-t1) >*/
b[jd + j] = si3 * (t2 + u1) + co3 * (u2 - t1);
/*< a(jf+j) = co5*(t2-u1) - si5*(u2+t1) >*/
a[jf + j] = co5 * (t2 - u1) - si5 * (u2 + t1);
/*< b(jf+j) = si5*(t2-u1) + co5*(u2+t1) >*/
b[jf + j] = si5 * (t2 - u1) + co5 * (u2 + t1);
/*< j = j + jump >*/
j += *jump;
/*< 340 continue >*/
/* L340: */
}
/*< ja = ja + jstepx >*/
ja += jstepx;
/*< if (ja.lt.istart) ja = ja + ninc >*/
if (ja < istart) {
ja += ninc;
}
/*< 342 continue >*/
/* L342: */
}
/*< 345 continue >*/
/* L345: */
}
/*< kk = kk + 2 * la >*/
kk += la << 1;
/*< 350 continue >*/
/* L350: */
}
/*< la = 8 * la >*/
la <<= 3;
/* loop on type II radix-4 passes */
/* ------------------------------ */
/*< 400 continue >*/
L400:
/*< mu = mod(inq,4) >*/
mu = inq % 4;
/*< if (isign.eq.-1) mu = 4 - mu >*/
if (*isign == -1) {
mu = 4 - mu;
}
/*< ss = 1.0 >*/
ss = (float)1.;
/*< if (mu.eq.3) ss = -1.0 >*/
if (mu == 3) {
ss = (float)-1.;
}
/*< do 480 ipass = mh+1 , m >*/
i__3 = m;
for (ipass = mh + 1; ipass <= i__3; ++ipass) {
/*< jstep = (n*inc) / (4*la) >*/
jstep = *n * *inc / (la << 2);
/*< jstepl = jstep - ninc >*/
jstepl = jstep - ninc;
/*< laincl = la * ink - ninc >*/
laincl = la * ink - ninc;
/* k=0 loop (no twiddle factors) */
/* ----------------------------- */
/*< do 430 ll = 0 , (la-1)*ink , 4*jstep >*/
i__2 = (la - 1) * ink;
i__6 = jstep << 2;
for (ll = 0; i__6 < 0 ? ll >= i__2 : ll <= i__2; ll += i__6) {
/*< do 420 jjj = ll , (n-1)*inc , 4*la*ink >*/
i__4 = (*n - 1) * *inc;
i__5 = (la << 2) * ink;
for (jjj = ll; i__5 < 0 ? jjj >= i__4 : jjj <= i__4; jjj +=
i__5) {
/*< ja = istart + jjj >*/
ja = istart + jjj;
/* "transverse" loop */
/* ----------------- */
/*< do 415 nu = 1 , inq >*/
i__7 = inq;
for (nu = 1; nu <= i__7; ++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 = ja + laincl >*/
je = ja + laincl;
/*< 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;
}
/*< ji = je + laincl >*/
ji = je + laincl;
/*< if (ji.lt.istart) ji = ji + ninc >*/
if (ji < istart) {
ji += ninc;
}
/*< jj = ji + jstepl >*/
jj = ji + jstepl;
/*< if (jj.lt.istart) jj = jj + ninc >*/
if (jj < istart) {
jj += ninc;
}
/*< jk = jj + jstepl >*/
jk = jj + jstepl;
/*< if (jk.lt.istart) jk = jk + ninc >*/
if (jk < istart) {
jk += ninc;
}
/*< jl = jk + jstepl >*/
jl = jk + jstepl;
/*< if (jl.lt.istart) jl = jl + ninc >*/
if (jl < istart) {
jl += ninc;
}
/*< jm = ji + laincl >*/
jm = ji + laincl;
/*< if (jm.lt.istart) jm = jm + ninc >*/
if (jm < istart) {
jm += ninc;
}
/*< jn = jm + jstepl >*/
jn = jm + jstepl;
/*< if (jn.lt.istart) jn = jn + ninc >*/
if (jn < istart) {
jn += ninc;
}
/*< jo = jn + jstepl >*/
jo = jn + jstepl;
/*< if (jo.lt.istart) jo = jo + ninc >*/
if (jo < istart) {
jo += ninc;
}
/*< jp = jo + jstepl >*/
jp = jo + jstepl;
/*< if (jp.lt.istart) jp = jp + ninc >*/
if (jp < istart) {
jp += ninc;
}
/*< j = 0 >*/
j = 0;
/* loop across transforms */
/* ---------------------- */
/* dir$ ivdep, shortloop */
/*< do 410 l = 1 , nvex >*/
i__8 = nvex;
for (l = 1; l <= i__8; ++l) {
/*< aja = a(ja+j) >*/
aja = a[ja + j];
/*< ajc = a(jc+j) >*/
ajc = a[jc + j];
/*< t0 = aja + ajc >*/
t0 = aja + ajc;
/*< t2 = aja - ajc >*/
t2 = aja - ajc;
/*< ajb = a(jb+j) >*/
ajb = a[jb + j];
/*< ajd = a(jd+j) >*/
ajd = a[jd + j];
/*< t1 = ajb + ajd >*/
t1 = ajb + ajd;
/*< t3 = ss * ( ajb - ajd ) >*/
t3 = ss * (ajb - ajd);
/*< aji = a(ji+j) >*/
aji = a[ji + j];
/*< ajc = aji >*/
ajc = aji;
/*< bja = b(ja+j) >*/
bja = b[ja + j];
/*< bjc = b(jc+j) >*/
bjc = b[jc + j];
/*< u0 = bja + bjc >*/
u0 = bja + bjc;
/*< u2 = bja - bjc >*/
u2 = bja - bjc;
/*< bjb = b(jb+j) >*/
bjb = b[jb + j];
/*< bjd = b(jd+j) >*/
bjd = b[jd + j];
/*< u1 = bjb + bjd >*/
u1 = bjb + bjd;
/*< u3 = ss * ( bjb - bjd ) >*/
u3 = ss * (bjb - bjd);
/*< aje = a(je+j) >*/
aje = a[je + j];
/*< ajb = aje >*/
ajb = aje;
/*< a(ja+j) = t0 + t1 >*/
a[ja + j] = t0 + t1;
/*< a(ji+j) = t0 - t1 >*/
a[ji + j] = t0 - t1;
/*< b(ja+j) = u0 + u1 >*/
b[ja + j] = u0 + u1;
/*< bjc = u0 - u1 >*/
bjc = u0 - u1;
/*< bjm = b(jm+j) >*/
bjm = b[jm + j];
/*< bjd = bjm >*/
bjd = bjm;
/*< a(je+j) = t2 - u3 >*/
a[je + j] = t2 - u3;
/*< ajd = t2 + u3 >*/
ajd = t2 + u3;
/*< bjb = u2 + t3 >*/
bjb = u2 + t3;
/*< b(jm+j) = u2 - t3 >*/
b[jm + j] = u2 - t3;
/* ---------------------- */
/*< ajg = a(jg+j) >*/
ajg = a[jg + j];
/*< t0 = ajb + ajg >*/
t0 = ajb + ajg;
/*< t2 = ajb - ajg >*/
t2 = ajb - ajg;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -