14 Cpx z, *q0, *p, *s, *
t;
18 q0 = (
Cpx *)calloc(n,
sizeof(
Cpx));
19 for (i = 0; i < n; ++i) {
20 for (j = 0,
t =
b; j < n; ++j) {
22 for (k = 0, s = a + i * n; k < n; ++k, ++s, ++
t) {
23 z.
re +=
t->re * s->re +
t->im * s->im;
24 z.
im +=
t->im * s->re -
t->re * s->im;
28 for (j = 0, p = hm + i,
t = a; j <= i; ++j, p += n) {
30 for (k = 0, s = q0; k < n; ++k, ++
t, ++s) {
31 z.
re +=
t->re * s->
re -
t->im * s->
im;
32 z.
im +=
t->im * s->
re +
t->re * s->
im;
void utrnhm(Cpx *hm, Cpx *a, Cpx *b, int n)