void lassign_add_mul(complex * const R, complex * const S, const complex c, const int N) { int i; for(i = 0; i < N; i++) { _add_assign_complex(R[i], c, S[i]); } return; }
void lassign_diff_mul(complex * const R, complex * const S, const complex c, const int N) { int i; complex d; d.re = -c.re; d.im = -c.im; for(i = 0; i < N; i++) { _add_assign_complex(R[i], d, S[i]); } return; }
void mattimesvec(complex * const v, complex * const M, complex * const w, const int N, const int ldM) { int i, j; for(i = 0; i < N; i++) { _mult_assign_complex(v[i], M[i*ldM], w[0]); for(j = 1; j < N; j++) { _add_assign_complex(v[i], M[i*ldM + j], w[j]); } } return; }