gpfa5f.c
来自「InsightToolkit-1.4.0(有大量的优化算法程序)」· C语言 代码 · 共 911 行 · 第 1/3 页
C
911 行
jb = ja + jstepl;
if (jb < istart) {
jb += ninc;
}
jc = jb + jstepl;
if (jc < istart) {
jc += ninc;
}
jd = jc + jstepl;
if (jd < istart) {
jd += ninc;
}
je = jd + jstepl;
if (je < istart) {
je += ninc;
}
jf = ja + laincl;
if (jf < istart) {
jf += ninc;
}
jg = jf + jstepl;
if (jg < istart) {
jg += ninc;
}
jh = jg + jstepl;
if (jh < istart) {
jh += ninc;
}
ji = jh + jstepl;
if (ji < istart) {
ji += ninc;
}
jj = ji + jstepl;
if (jj < istart) {
jj += ninc;
}
jk = jf + laincl;
if (jk < istart) {
jk += ninc;
}
jl = jk + jstepl;
if (jl < istart) {
jl += ninc;
}
jm = jl + jstepl;
if (jm < istart) {
jm += ninc;
}
jn = jm + jstepl;
if (jn < istart) {
jn += ninc;
}
jo = jn + jstepl;
if (jo < istart) {
jo += ninc;
}
jp = jk + laincl;
if (jp < istart) {
jp += ninc;
}
jq = jp + jstepl;
if (jq < istart) {
jq += ninc;
}
jr = jq + jstepl;
if (jr < istart) {
jr += ninc;
}
js = jr + jstepl;
if (js < istart) {
js += ninc;
}
jt = js + jstepl;
if (jt < istart) {
jt += ninc;
}
ju = jp + laincl;
if (ju < istart) {
ju += ninc;
}
jv = ju + jstepl;
if (jv < istart) {
jv += ninc;
}
jw = jv + jstepl;
if (jw < istart) {
jw += ninc;
}
jx = jw + jstepl;
if (jx < istart) {
jx += ninc;
}
jy = jx + jstepl;
if (jy < istart) {
jy += ninc;
}
j = 0;
/* loop across transforms */
/* ---------------------- */
if (k == 0) {
/* dir$ ivdep, shortloop */
for (l = 1; l <= nvex; ++l) {
ajb = a[jb + j];
aje = a[je + j];
t1 = ajb + aje;
ajc = a[jc + j];
ajd = a[jd + j];
t2 = ajc + ajd;
t3 = ajb - aje;
t4 = ajc - ajd;
ajf = a[jf + j];
ajb = ajf;
t5 = t1 + t2;
t6 = c1 * (t1 - t2);
aja = a[ja + j];
t7 = aja - t5 * .25f;
a[ja + j] = aja + t5;
t8 = t7 + t6;
t9 = t7 - t6;
ajk = a[jk + j];
ajc = ajk;
t10 = c3 * t3 - c2 * t4;
t11 = c2 * t3 + c3 * t4;
bjb = b[jb + j];
bje = b[je + j];
u1 = bjb + bje;
bjc = b[jc + j];
bjd = b[jd + j];
u2 = bjc + bjd;
u3 = bjb - bje;
u4 = bjc - bjd;
bjf = b[jf + j];
bjb = bjf;
u5 = u1 + u2;
u6 = c1 * (u1 - u2);
bja = b[ja + j];
u7 = bja - u5 * .25f;
b[ja + j] = bja + u5;
u8 = u7 + u6;
u9 = u7 - u6;
bjk = b[jk + j];
bjc = bjk;
u10 = c3 * u3 - c2 * u4;
u11 = c2 * u3 + c3 * u4;
a[jf + j] = t8 - u11;
b[jf + j] = u8 + t11;
aje = t8 + u11;
bje = u8 - t11;
a[jk + j] = t9 - u10;
b[jk + j] = u9 + t10;
ajd = t9 + u10;
bjd = u9 - t10;
/* ---------------------- */
ajg = a[jg + j];
ajj = a[jj + j];
t1 = ajg + ajj;
ajh = a[jh + j];
aji = a[ji + j];
t2 = ajh + aji;
t3 = ajg - ajj;
t4 = ajh - aji;
ajl = a[jl + j];
ajh = ajl;
t5 = t1 + t2;
t6 = c1 * (t1 - t2);
t7 = ajb - t5 * .25f;
a[jb + j] = ajb + t5;
t8 = t7 + t6;
t9 = t7 - t6;
ajq = a[jq + j];
aji = ajq;
t10 = c3 * t3 - c2 * t4;
t11 = c2 * t3 + c3 * t4;
bjg = b[jg + j];
bjj = b[jj + j];
u1 = bjg + bjj;
bjh = b[jh + j];
bji = b[ji + j];
u2 = bjh + bji;
u3 = bjg - bjj;
u4 = bjh - bji;
bjl = b[jl + j];
bjh = bjl;
u5 = u1 + u2;
u6 = c1 * (u1 - u2);
u7 = bjb - u5 * .25f;
b[jb + j] = bjb + u5;
u8 = u7 + u6;
u9 = u7 - u6;
bjq = b[jq + j];
bji = bjq;
u10 = c3 * u3 - c2 * u4;
u11 = c2 * u3 + c3 * u4;
a[jg + j] = t8 - u11;
b[jg + j] = u8 + t11;
ajj = t8 + u11;
bjj = u8 - t11;
a[jl + j] = t9 - u10;
b[jl + j] = u9 + t10;
a[jq + j] = t9 + u10;
b[jq + j] = u9 - t10;
/* ---------------------- */
ajo = a[jo + j];
t1 = ajh + ajo;
ajm = a[jm + j];
ajn = a[jn + j];
t2 = ajm + ajn;
t3 = ajh - ajo;
t4 = ajm - ajn;
ajr = a[jr + j];
ajn = ajr;
t5 = t1 + t2;
t6 = c1 * (t1 - t2);
t7 = ajc - t5 * .25f;
a[jc + j] = ajc + t5;
t8 = t7 + t6;
t9 = t7 - t6;
ajw = a[jw + j];
ajo = ajw;
t10 = c3 * t3 - c2 * t4;
t11 = c2 * t3 + c3 * t4;
bjo = b[jo + j];
u1 = bjh + bjo;
bjm = b[jm + j];
bjn = b[jn + j];
u2 = bjm + bjn;
u3 = bjh - bjo;
u4 = bjm - bjn;
bjr = b[jr + j];
bjn = bjr;
u5 = u1 + u2;
u6 = c1 * (u1 - u2);
u7 = bjc - u5 * .25f;
b[jc + j] = bjc + u5;
u8 = u7 + u6;
u9 = u7 - u6;
bjw = b[jw + j];
bjo = bjw;
u10 = c3 * u3 - c2 * u4;
u11 = c2 * u3 + c3 * u4;
a[jh + j] = t8 - u11;
b[jh + j] = u8 + t11;
a[jw + j] = t8 + u11;
b[jw + j] = u8 - t11;
a[jm + j] = t9 - u10;
b[jm + j] = u9 + t10;
a[jr + j] = t9 + u10;
b[jr + j] = u9 - t10;
/* ---------------------- */
ajt = a[jt + j];
t1 = aji + ajt;
ajs = a[js + j];
t2 = ajn + ajs;
t3 = aji - ajt;
t4 = ajn - ajs;
ajx = a[jx + j];
ajt = ajx;
t5 = t1 + t2;
t6 = c1 * (t1 - t2);
ajp = a[jp + j];
t7 = ajp - t5 * .25f;
ax = ajp + t5;
t8 = t7 + t6;
t9 = t7 - t6;
a[jp + j] = ajd;
t10 = c3 * t3 - c2 * t4;
t11 = c2 * t3 + c3 * t4;
a[jd + j] = ax;
bjt = b[jt + j];
u1 = bji + bjt;
bjs = b[js + j];
u2 = bjn + bjs;
u3 = bji - bjt;
u4 = bjn - bjs;
bjx = b[jx + j];
bjt = bjx;
u5 = u1 + u2;
u6 = c1 * (u1 - u2);
bjp = b[jp + j];
u7 = bjp - u5 * .25f;
bx = bjp + u5;
u8 = u7 + u6;
u9 = u7 - u6;
b[jp + j] = bjd;
u10 = c3 * u3 - c2 * u4;
u11 = c2 * u3 + c3 * u4;
b[jd + j] = bx;
a[ji + j] = t8 - u11;
b[ji + j] = u8 + t11;
a[jx + j] = t8 + u11;
b[jx + j] = u8 - t11;
a[jn + j] = t9 - u10;
b[jn + j] = u9 + t10;
a[js + j] = t9 + u10;
b[js + j] = u9 - t10;
/* ---------------------- */
ajv = a[jv + j];
ajy = a[jy + j];
t1 = ajv + ajy;
t2 = ajo + ajt;
t3 = ajv - ajy;
t4 = ajo - ajt;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?