zlarfx.c
来自「算断裂的」· C语言 代码 · 共 1,690 行 · 第 1/5 页
C
1,690 行
+ tau->i * z__2.r;
t4.r = z__1.r, t4.i = z__1.i;
d_cnjg(&z__1, &V(5));
v5.r = z__1.r, v5.i = z__1.i;
d_cnjg(&z__2, &v5);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t5.r = z__1.r, t5.i = z__1.i;
i__1 = *n;
for (j = 1; j <= *n; ++j) {
i__2 = j * c_dim1 + 1;
z__5.r = v1.r * C(1,j).r - v1.i * C(1,j).i, z__5.i = v1.r * C(1,j).i + v1.i * C(1,j).r;
i__3 = j * c_dim1 + 2;
z__6.r = v2.r * C(2,j).r - v2.i * C(2,j).i, z__6.i = v2.r * C(2,j).i + v2.i * C(2,j).r;
z__4.r = z__5.r + z__6.r, z__4.i = z__5.i + z__6.i;
i__4 = j * c_dim1 + 3;
z__7.r = v3.r * C(3,j).r - v3.i * C(3,j).i, z__7.i = v3.r * C(3,j).i + v3.i * C(3,j).r;
z__3.r = z__4.r + z__7.r, z__3.i = z__4.i + z__7.i;
i__5 = j * c_dim1 + 4;
z__8.r = v4.r * C(4,j).r - v4.i * C(4,j).i, z__8.i = v4.r * C(4,j).i + v4.i * C(4,j).r;
z__2.r = z__3.r + z__8.r, z__2.i = z__3.i + z__8.i;
i__6 = j * c_dim1 + 5;
z__9.r = v5.r * C(5,j).r - v5.i * C(5,j).i, z__9.i = v5.r * C(5,j).i + v5.i * C(5,j).r;
z__1.r = z__2.r + z__9.r, z__1.i = z__2.i + z__9.i;
sum.r = z__1.r, sum.i = z__1.i;
i__2 = j * c_dim1 + 1;
i__3 = j * c_dim1 + 1;
z__2.r = sum.r * t1.r - sum.i * t1.i, z__2.i = sum.r * t1.i +
sum.i * t1.r;
z__1.r = C(1,j).r - z__2.r, z__1.i = C(1,j).i - z__2.i;
C(1,j).r = z__1.r, C(1,j).i = z__1.i;
i__2 = j * c_dim1 + 2;
i__3 = j * c_dim1 + 2;
z__2.r = sum.r * t2.r - sum.i * t2.i, z__2.i = sum.r * t2.i +
sum.i * t2.r;
z__1.r = C(2,j).r - z__2.r, z__1.i = C(2,j).i - z__2.i;
C(2,j).r = z__1.r, C(2,j).i = z__1.i;
i__2 = j * c_dim1 + 3;
i__3 = j * c_dim1 + 3;
z__2.r = sum.r * t3.r - sum.i * t3.i, z__2.i = sum.r * t3.i +
sum.i * t3.r;
z__1.r = C(3,j).r - z__2.r, z__1.i = C(3,j).i - z__2.i;
C(3,j).r = z__1.r, C(3,j).i = z__1.i;
i__2 = j * c_dim1 + 4;
i__3 = j * c_dim1 + 4;
z__2.r = sum.r * t4.r - sum.i * t4.i, z__2.i = sum.r * t4.i +
sum.i * t4.r;
z__1.r = C(4,j).r - z__2.r, z__1.i = C(4,j).i - z__2.i;
C(4,j).r = z__1.r, C(4,j).i = z__1.i;
i__2 = j * c_dim1 + 5;
i__3 = j * c_dim1 + 5;
z__2.r = sum.r * t5.r - sum.i * t5.i, z__2.i = sum.r * t5.i +
sum.i * t5.r;
z__1.r = C(5,j).r - z__2.r, z__1.i = C(5,j).i - z__2.i;
C(5,j).r = z__1.r, C(5,j).i = z__1.i;
/* L100: */
}
goto L410;
L110:
/* Special code for 6 x 6 Householder */
d_cnjg(&z__1, &V(1));
v1.r = z__1.r, v1.i = z__1.i;
d_cnjg(&z__2, &v1);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t1.r = z__1.r, t1.i = z__1.i;
d_cnjg(&z__1, &V(2));
v2.r = z__1.r, v2.i = z__1.i;
d_cnjg(&z__2, &v2);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t2.r = z__1.r, t2.i = z__1.i;
d_cnjg(&z__1, &V(3));
v3.r = z__1.r, v3.i = z__1.i;
d_cnjg(&z__2, &v3);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t3.r = z__1.r, t3.i = z__1.i;
d_cnjg(&z__1, &V(4));
v4.r = z__1.r, v4.i = z__1.i;
d_cnjg(&z__2, &v4);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t4.r = z__1.r, t4.i = z__1.i;
d_cnjg(&z__1, &V(5));
v5.r = z__1.r, v5.i = z__1.i;
d_cnjg(&z__2, &v5);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t5.r = z__1.r, t5.i = z__1.i;
d_cnjg(&z__1, &V(6));
v6.r = z__1.r, v6.i = z__1.i;
d_cnjg(&z__2, &v6);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t6.r = z__1.r, t6.i = z__1.i;
i__1 = *n;
for (j = 1; j <= *n; ++j) {
i__2 = j * c_dim1 + 1;
z__6.r = v1.r * C(1,j).r - v1.i * C(1,j).i, z__6.i = v1.r * C(1,j).i + v1.i * C(1,j).r;
i__3 = j * c_dim1 + 2;
z__7.r = v2.r * C(2,j).r - v2.i * C(2,j).i, z__7.i = v2.r * C(2,j).i + v2.i * C(2,j).r;
z__5.r = z__6.r + z__7.r, z__5.i = z__6.i + z__7.i;
i__4 = j * c_dim1 + 3;
z__8.r = v3.r * C(3,j).r - v3.i * C(3,j).i, z__8.i = v3.r * C(3,j).i + v3.i * C(3,j).r;
z__4.r = z__5.r + z__8.r, z__4.i = z__5.i + z__8.i;
i__5 = j * c_dim1 + 4;
z__9.r = v4.r * C(4,j).r - v4.i * C(4,j).i, z__9.i = v4.r * C(4,j).i + v4.i * C(4,j).r;
z__3.r = z__4.r + z__9.r, z__3.i = z__4.i + z__9.i;
i__6 = j * c_dim1 + 5;
z__10.r = v5.r * C(5,j).r - v5.i * C(5,j).i, z__10.i = v5.r * C(5,j).i + v5.i * C(5,j).r;
z__2.r = z__3.r + z__10.r, z__2.i = z__3.i + z__10.i;
i__7 = j * c_dim1 + 6;
z__11.r = v6.r * C(6,j).r - v6.i * C(6,j).i, z__11.i = v6.r * C(6,j).i + v6.i * C(6,j).r;
z__1.r = z__2.r + z__11.r, z__1.i = z__2.i + z__11.i;
sum.r = z__1.r, sum.i = z__1.i;
i__2 = j * c_dim1 + 1;
i__3 = j * c_dim1 + 1;
z__2.r = sum.r * t1.r - sum.i * t1.i, z__2.i = sum.r * t1.i +
sum.i * t1.r;
z__1.r = C(1,j).r - z__2.r, z__1.i = C(1,j).i - z__2.i;
C(1,j).r = z__1.r, C(1,j).i = z__1.i;
i__2 = j * c_dim1 + 2;
i__3 = j * c_dim1 + 2;
z__2.r = sum.r * t2.r - sum.i * t2.i, z__2.i = sum.r * t2.i +
sum.i * t2.r;
z__1.r = C(2,j).r - z__2.r, z__1.i = C(2,j).i - z__2.i;
C(2,j).r = z__1.r, C(2,j).i = z__1.i;
i__2 = j * c_dim1 + 3;
i__3 = j * c_dim1 + 3;
z__2.r = sum.r * t3.r - sum.i * t3.i, z__2.i = sum.r * t3.i +
sum.i * t3.r;
z__1.r = C(3,j).r - z__2.r, z__1.i = C(3,j).i - z__2.i;
C(3,j).r = z__1.r, C(3,j).i = z__1.i;
i__2 = j * c_dim1 + 4;
i__3 = j * c_dim1 + 4;
z__2.r = sum.r * t4.r - sum.i * t4.i, z__2.i = sum.r * t4.i +
sum.i * t4.r;
z__1.r = C(4,j).r - z__2.r, z__1.i = C(4,j).i - z__2.i;
C(4,j).r = z__1.r, C(4,j).i = z__1.i;
i__2 = j * c_dim1 + 5;
i__3 = j * c_dim1 + 5;
z__2.r = sum.r * t5.r - sum.i * t5.i, z__2.i = sum.r * t5.i +
sum.i * t5.r;
z__1.r = C(5,j).r - z__2.r, z__1.i = C(5,j).i - z__2.i;
C(5,j).r = z__1.r, C(5,j).i = z__1.i;
i__2 = j * c_dim1 + 6;
i__3 = j * c_dim1 + 6;
z__2.r = sum.r * t6.r - sum.i * t6.i, z__2.i = sum.r * t6.i +
sum.i * t6.r;
z__1.r = C(6,j).r - z__2.r, z__1.i = C(6,j).i - z__2.i;
C(6,j).r = z__1.r, C(6,j).i = z__1.i;
/* L120: */
}
goto L410;
L130:
/* Special code for 7 x 7 Householder */
d_cnjg(&z__1, &V(1));
v1.r = z__1.r, v1.i = z__1.i;
d_cnjg(&z__2, &v1);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t1.r = z__1.r, t1.i = z__1.i;
d_cnjg(&z__1, &V(2));
v2.r = z__1.r, v2.i = z__1.i;
d_cnjg(&z__2, &v2);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t2.r = z__1.r, t2.i = z__1.i;
d_cnjg(&z__1, &V(3));
v3.r = z__1.r, v3.i = z__1.i;
d_cnjg(&z__2, &v3);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t3.r = z__1.r, t3.i = z__1.i;
d_cnjg(&z__1, &V(4));
v4.r = z__1.r, v4.i = z__1.i;
d_cnjg(&z__2, &v4);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t4.r = z__1.r, t4.i = z__1.i;
d_cnjg(&z__1, &V(5));
v5.r = z__1.r, v5.i = z__1.i;
d_cnjg(&z__2, &v5);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t5.r = z__1.r, t5.i = z__1.i;
d_cnjg(&z__1, &V(6));
v6.r = z__1.r, v6.i = z__1.i;
d_cnjg(&z__2, &v6);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t6.r = z__1.r, t6.i = z__1.i;
d_cnjg(&z__1, &V(7));
v7.r = z__1.r, v7.i = z__1.i;
d_cnjg(&z__2, &v7);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t7.r = z__1.r, t7.i = z__1.i;
i__1 = *n;
for (j = 1; j <= *n; ++j) {
i__2 = j * c_dim1 + 1;
z__7.r = v1.r * C(1,j).r - v1.i * C(1,j).i, z__7.i = v1.r * C(1,j).i + v1.i * C(1,j).r;
i__3 = j * c_dim1 + 2;
z__8.r = v2.r * C(2,j).r - v2.i * C(2,j).i, z__8.i = v2.r * C(2,j).i + v2.i * C(2,j).r;
z__6.r = z__7.r + z__8.r, z__6.i = z__7.i + z__8.i;
i__4 = j * c_dim1 + 3;
z__9.r = v3.r * C(3,j).r - v3.i * C(3,j).i, z__9.i = v3.r * C(3,j).i + v3.i * C(3,j).r;
z__5.r = z__6.r + z__9.r, z__5.i = z__6.i + z__9.i;
i__5 = j * c_dim1 + 4;
z__10.r = v4.r * C(4,j).r - v4.i * C(4,j).i, z__10.i = v4.r * C(4,j).i + v4.i * C(4,j).r;
z__4.r = z__5.r + z__10.r, z__4.i = z__5.i + z__10.i;
i__6 = j * c_dim1 + 5;
z__11.r = v5.r * C(5,j).r - v5.i * C(5,j).i, z__11.i = v5.r * C(5,j).i + v5.i * C(5,j).r;
z__3.r = z__4.r + z__11.r, z__3.i = z__4.i + z__11.i;
i__7 = j * c_dim1 + 6;
z__12.r = v6.r * C(6,j).r - v6.i * C(6,j).i, z__12.i = v6.r * C(6,j).i + v6.i * C(6,j).r;
z__2.r = z__3.r + z__12.r, z__2.i = z__3.i + z__12.i;
i__8 = j * c_dim1 + 7;
z__13.r = v7.r * C(7,j).r - v7.i * C(7,j).i, z__13.i = v7.r * C(7,j).i + v7.i * C(7,j).r;
z__1.r = z__2.r + z__13.r, z__1.i = z__2.i + z__13.i;
sum.r = z__1.r, sum.i = z__1.i;
i__2 = j * c_dim1 + 1;
i__3 = j * c_dim1 + 1;
z__2.r = sum.r * t1.r - sum.i * t1.i, z__2.i = sum.r * t1.i +
sum.i * t1.r;
z__1.r = C(1,j).r - z__2.r, z__1.i = C(1,j).i - z__2.i;
C(1,j).r = z__1.r, C(1,j).i = z__1.i;
i__2 = j * c_dim1 + 2;
i__3 = j * c_dim1 + 2;
z__2.r = sum.r * t2.r - sum.i * t2.i, z__2.i = sum.r * t2.i +
sum.i * t2.r;
z__1.r = C(2,j).r - z__2.r, z__1.i = C(2,j).i - z__2.i;
C(2,j).r = z__1.r, C(2,j).i = z__1.i;
i__2 = j * c_dim1 + 3;
i__3 = j * c_dim1 + 3;
z__2.r = sum.r * t3.r - sum.i * t3.i, z__2.i = sum.r * t3.i +
sum.i * t3.r;
z__1.r = C(3,j).r - z__2.r, z__1.i = C(3,j).i - z__2.i;
C(3,j).r = z__1.r, C(3,j).i = z__1.i;
i__2 = j * c_dim1 + 4;
i__3 = j * c_dim1 + 4;
z__2.r = sum.r * t4.r - sum.i * t4.i, z__2.i = sum.r * t4.i +
sum.i * t4.r;
z__1.r = C(4,j).r - z__2.r, z__1.i = C(4,j).i - z__2.i;
C(4,j).r = z__1.r, C(4,j).i = z__1.i;
i__2 = j * c_dim1 + 5;
i__3 = j * c_dim1 + 5;
z__2.r = sum.r * t5.r - sum.i * t5.i, z__2.i = sum.r * t5.i +
sum.i * t5.r;
z__1.r = C(5,j).r - z__2.r, z__1.i = C(5,j).i - z__2.i;
C(5,j).r = z__1.r, C(5,j).i = z__1.i;
i__2 = j * c_dim1 + 6;
i__3 = j * c_dim1 + 6;
z__2.r = sum.r * t6.r - sum.i * t6.i, z__2.i = sum.r * t6.i +
sum.i * t6.r;
z__1.r = C(6,j).r - z__2.r, z__1.i = C(6,j).i - z__2.i;
C(6,j).r = z__1.r, C(6,j).i = z__1.i;
i__2 = j * c_dim1 + 7;
i__3 = j * c_dim1 + 7;
z__2.r = sum.r * t7.r - sum.i * t7.i, z__2.i = sum.r * t7.i +
sum.i * t7.r;
z__1.r = C(7,j).r - z__2.r, z__1.i = C(7,j).i - z__2.i;
C(7,j).r = z__1.r, C(7,j).i = z__1.i;
/* L140: */
}
goto L410;
L150:
/* Special code for 8 x 8 Householder */
d_cnjg(&z__1, &V(1));
v1.r = z__1.r, v1.i = z__1.i;
d_cnjg(&z__2, &v1);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t1.r = z__1.r, t1.i = z__1.i;
d_cnjg(&z__1, &V(2));
v2.r = z__1.r, v2.i = z__1.i;
d_cnjg(&z__2, &v2);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t2.r = z__1.r, t2.i = z__1.i;
d_cnjg(&z__1, &V(3));
v3.r = z__1.r, v3.i = z__1.i;
d_cnjg(&z__2, &v3);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t3.r = z__1.r, t3.i = z__1.i;
d_cnjg(&z__1, &V(4));
v4.r = z__1.r, v4.i = z__1.i;
d_cnjg(&z__2, &v4);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t4.r = z__1.r, t4.i = z__1.i;
d_cnjg(&z__1, &V(5));
v5.r = z__1.r, v5.i = z__1.i;
d_cnjg(&z__2, &v5);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t5.r = z__1.r, t5.i = z__1.i;
d_cnjg(&z__1, &V(6));
v6.r = z__1.r, v6.i = z__1.i;
d_cnjg(&z__2, &v6);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t6.r = z__1.r, t6.i = z__1.i;
d_cnjg(&z__1, &V(7));
v7.r = z__1.r, v7.i = z__1.i;
d_cnjg(&z__2, &v7);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t7.r = z__1.r, t7.i = z__1.i;
d_cnjg(&z__1, &V(8));
v8.r = z__1.r, v8.i = z__1.i;
d_cnjg(&z__2, &v8);
z__1.r = tau->r * z__2.r - tau->i * z__2.i, z__1.i = tau->r * z__2.i
+ tau->i * z__2.r;
t8.r = z__1.r, t8.i = z__1.i;
i__1 = *n;
for (j = 1; j <= *n; ++j) {
i__2 = j * c_dim1 + 1;
z__8.r = v1.r * C(1,j).r - v1.i * C(1,j).i, z__8.i = v1.r * C(1,j).i + v1.i * C(1,j).r;
i__3 = j * c_dim1 + 2;
z__9.r = v2.r * C(2,j).r - v2.i * C(2,j).i, z__9.i = v2.r * C(2,j).i + v2.i * C(2,j).r;
z__7.r = z__8.r + z__9.r, z__7.i = z__8.i + z__9.i;
i__4 = j * c_dim1 + 3;
z__10.r = v3.r * C(3,j).r - v3.i * C(3,j).i, z__10.i = v3.r * C(3,j).i + v3.i * C(3,j).r;
z__6.r = z__7.r + z__10.r, z__6.i = z__7.i + z__10.i;
i__5 = j * c_dim1 + 4;
z__11.r = v4.r * C(4,j).r - v4.i * C(4,j).i, z__11.i = v4.r * C(4,j).i + v4.i * C(4,j).r;
z__5.r = z__6.r + z__11.r, z__5.i = z__6.i + z__11.i;
i__6 = j * c_dim1 + 5;
z__12.r = v5.r * C(5,j).r - v5.i * C(5,j).i, z__12.i = v5.r * C(5,j).i + v5.i * C(5,j).r;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?