20 double s,
t,
tq = 0.,
zr = 1.e-15;
25 for (
j = 0;
j < n; ++
j, ++
pa,
pd += n + 1) {
27 for (i = 0, p =
pa, q =
q0; i < n; ++i, p += n)
29 for (i = 1; i < n; ++i) {
32 for (k = 0, p =
pa + i * n -
j, q =
q0; k <
lc; ++k, ++q, ++p) {
33 z.
re += p->re * q->re - p->im * q->im;
34 z.
im += p->im * q->re + p->re * q->im;
39 for (i = 0, p =
pa, q =
q0; i < n; ++i, p += n)
44 for (k =
j + 1,
ps =
pd; k < n; ++k) {
61 for (k = 0; k < n; ++k, ++p, ++q) {
70 for (k =
j + 1,
ps =
pd + n; k < n; ++k,
ps += n) {
77 for (
j = 1,
pd =
ps = a;
j < n; ++
j) {
78 for (k = 0,
pd += n + 1, q = ++
ps; k <
j; ++k, q += n) {
79 z.
re = q->re *
pd->re - q->im *
pd->im;
80 z.
im = q->im *
pd->re + q->re *
pd->im;
84 for (
j = 1,
pa = a;
j < n; ++
j) {
86 for (i = 0, q =
q0, p =
pa; i <
j; ++i, p += n)
88 for (k = 0; k <
j; ++k) {
90 for (i = k, p =
pa + k * n + k -
j, q =
q0 + k; i <
j; ++i) {
91 h.
re -= p->re * q->
re - p->im * q->
im;
92 h.
im -= p->im * q->
re + p->re * q->
im;
98 for (i = 0, q =
q0, p =
pa; i <
j; ++i, p += n)
101 for (
j = n - 2,
pd =
pa = a + n * n - 1;
j >= 0; --
j) {
104 for (i = 0,
m = n -
j - 1, q =
q0, p =
pd + n; i <
m; ++i, p += n)
106 for (k = n - 1,
ps =
pa; k >
j; --k,
ps -= n) {
109 for (i =
j + 1, p =
ps + 1, q =
q0; i < k; ++i, ++p, ++q) {
110 z.
re -= p->re * q->
re - p->im * q->
im;
111 z.
im -= p->im * q->
re + p->re * q->
im;
115 for (i = 0,
m = n -
j - 1, q =
q0, p =
pd + n; i <
m; ++i, p += n)
118 for (k = 0,
pa = a; k < n - 1; ++k, ++
pa) {
119 for (i = 0, q =
q0, p =
pa; i < n; ++i, p += n)
121 for (
j = 0,
ps = a;
j < n; ++
j,
ps += n) {
132 for (; i < n; ++i, ++p) {
133 h.
re += p->re *
q0[i].re - p->im *
q0[i].im;
134 h.
im += p->im *
q0[i].re + p->re *
q0[i].im;
138 for (i = 0, q =
q0, p =
pa; i < n; ++i, p += n)
141 for (
j = n - 2,
le--;
j >= 0; --
j) {
142 for (k = 0, p = a +
j, q = a + *(--
le); k < n; ++k, p += n, q += n) {