12 Cpx z, *q0, *p, *
s, *t;
16 q0 = (
Cpx *) calloc(n,
sizeof(
Cpx));
17 for (i = 0; i <
n; ++i, ++cm) {
18 for (j = 0, t = b; j <
n; ++j) {
20 for (k = 0, s = a + i * n; k <
n; ++k, ++
s, ++t) {
21 z.
re += t->
re * s->re + t->
im * s->im;
22 z.
im += t->
im * s->re - t->
re * s->im;
26 for (j = 0, p = cm, t = a; j <
n; ++j, p +=
n) {
28 for (k = 0, s = q0; k <
n; ++k, ++t, ++
s) {
29 z.
re += t->re * s->
re - t->im * s->
im;
30 z.
im += t->im * s->
re + t->re * s->
im;
void utrncm(Cpx *at, Cpx *u, Cpx *a, int n)