35 #ifndef TEMPLATE_BLAS_GEMV_HEADER
36 #define TEMPLATE_BLAS_GEMV_HEADER
42 alpha,
const Treal *a,
const integer *lda,
const Treal *x,
const integer *incx,
43 const Treal *beta, Treal *y,
const integer *incy)
46 integer a_dim1, a_offset, i__1, i__2;
52 #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
123 a_offset = 1 + a_dim1 * 1;
138 }
else if (*incx == 0) {
140 }
else if (*incy == 0) {
148 if (*m == 0 || *n == 0 || (*alpha == 0. && *beta == 1.) ) {
163 kx = 1 - (lenx - 1) * *incx;
168 ky = 1 - (leny - 1) * *incy;
177 for (i__ = 1; i__ <= i__1; ++i__) {
183 for (i__ = 1; i__ <= i__1; ++i__) {
184 y[i__] = *beta * y[i__];
192 for (i__ = 1; i__ <= i__1; ++i__) {
199 for (i__ = 1; i__ <= i__1; ++i__) {
200 y[iy] = *beta * y[iy];
215 for (j = 1; j <= i__1; ++j) {
217 temp = *alpha * x[jx];
219 for (i__ = 1; i__ <= i__2; ++i__) {
220 y[i__] += temp *
a_ref(i__, j);
229 for (j = 1; j <= i__1; ++j) {
231 temp = *alpha * x[jx];
234 for (i__ = 1; i__ <= i__2; ++i__) {
235 y[iy] += temp *
a_ref(i__, j);
249 for (j = 1; j <= i__1; ++j) {
252 for (i__ = 1; i__ <= i__2; ++i__) {
253 temp +=
a_ref(i__, j) * x[i__];
256 y[jy] += *alpha * temp;
262 for (j = 1; j <= i__1; ++j) {
266 for (i__ = 1; i__ <= i__2; ++i__) {
267 temp +=
a_ref(i__, j) * x[ix];
271 y[jy] += *alpha * temp;
int integer
Definition: template_blas_common.h:38
#define maxMACRO(a, b)
Definition: template_blas_common.h:43
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:144
int template_blas_gemv(const char *trans, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, const Treal *x, const integer *incx, const Treal *beta, Treal *y, const integer *incy)
Definition: template_blas_gemv.h:41
logical template_blas_lsame(const char *ca, const char *cb)
Definition: template_blas_common.cc:44