/*
prodmv.c
*/

#include "oth.h"
#include "oth_prototype.h"

void prodmv(int pre, int ifreq, d_complex_t a[], d_complex_t v[], d_complex_t u[], d_complex_t b[])
{
	if (!pre && MATRIX) {
		// u = Av
		prodmvEx(a, v, u);
		prodmvEy(a, v, u);
		prodmvEz(a, v, u);
	}
	else {
		matrixEx(pre, ifreq, a, v, u, b);
		matrixEy(pre, ifreq, a, v, u, b);
		matrixEz(pre, ifreq, a, v, u, b);
	}
}
