35 #ifndef TEMPLATE_BLAS_TPMV_HEADER
36 #define TEMPLATE_BLAS_TPMV_HEADER
41 const Treal *ap, Treal *x,
const integer *incx)
131 }
else if (*incx == 0) {
146 kx = 1 - (*n - 1) * *incx;
147 }
else if (*incx != 1) {
158 for (j = 1; j <= i__1; ++j) {
163 for (i__ = 1; i__ <= i__2; ++i__) {
164 x[i__] += temp * ap[k];
169 x[j] *= ap[kk + j - 1];
178 for (j = 1; j <= i__1; ++j) {
183 for (k = kk; k <= i__2; ++k) {
184 x[ix] += temp * ap[k];
189 x[jx] *= ap[kk + j - 1];
198 kk = *n * (*n + 1) / 2;
200 for (j = *n; j >= 1; --j) {
205 for (i__ = *n; i__ >= i__1; --i__) {
206 x[i__] += temp * ap[k];
211 x[j] *= ap[kk - *n + j];
218 kx += (*n - 1) * *incx;
220 for (j = *n; j >= 1; --j) {
224 i__1 = kk - (*n - (j + 1));
225 for (k = kk; k >= i__1; --k) {
226 x[ix] += temp * ap[k];
231 x[jx] *= ap[kk - *n + j];
243 kk = *n * (*n + 1) / 2;
245 for (j = *n; j >= 1; --j) {
251 for (i__ = j - 1; i__ >= 1; --i__) {
252 temp += ap[k] * x[i__];
261 jx = kx + (*n - 1) * *incx;
262 for (j = *n; j >= 1; --j) {
269 for (k = kk - 1; k >= i__1; --k) {
271 temp += ap[k] * x[ix];
284 for (j = 1; j <= i__1; ++j) {
291 for (i__ = j + 1; i__ <= i__2; ++i__) {
292 temp += ap[k] * x[i__];
303 for (j = 1; j <= i__1; ++j) {
310 for (k = kk + 1; k <= i__2; ++k) {
312 temp += ap[k] * x[ix];
int template_blas_tpmv(const char *uplo, const char *trans, const char *diag, const integer *n, const Treal *ap, Treal *x, const integer *incx)
Definition: template_blas_tpmv.h:40
int integer
Definition: template_blas_common.h:38
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:144
bool logical
Definition: template_blas_common.h:39
logical template_blas_lsame(const char *ca, const char *cb)
Definition: template_blas_common.cc:44