37#ifndef TEMPLATE_BLAS_TRSM_HEADER
38#define TEMPLATE_BLAS_TRSM_HEADER
45 lda, Treal *b,
const integer *ldb)
48 integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3;
57#define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
58#define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1]
145 a_offset = 1 + a_dim1 * 1;
148 b_offset = 1 + b_dim1 * 1;
174 }
else if (*lda <
maxMACRO(1,nrowa)) {
190 for (j = 1; j <= i__1; ++j) {
192 for (i__ = 1; i__ <= i__2; ++i__) {
206 for (j = 1; j <= i__1; ++j) {
209 for (i__ = 1; i__ <= i__2; ++i__) {
214 for (k = *m; k >= 1; --k) {
215 if (
b_ref(k, j) != 0.) {
220 for (i__ = 1; i__ <= i__2; ++i__) {
232 for (j = 1; j <= i__1; ++j) {
235 for (i__ = 1; i__ <= i__2; ++i__) {
241 for (k = 1; k <= i__2; ++k) {
242 if (
b_ref(k, j) != 0.) {
247 for (i__ = k + 1; i__ <= i__3; ++i__) {
262 for (j = 1; j <= i__1; ++j) {
264 for (i__ = 1; i__ <= i__2; ++i__) {
265 temp = *alpha *
b_ref(i__, j);
267 for (k = 1; k <= i__3; ++k) {
272 temp /=
a_ref(i__, i__);
274 b_ref(i__, j) = temp;
281 for (j = 1; j <= i__1; ++j) {
282 for (i__ = *m; i__ >= 1; --i__) {
283 temp = *alpha *
b_ref(i__, j);
285 for (k = i__ + 1; k <= i__2; ++k) {
290 temp /=
a_ref(i__, i__);
292 b_ref(i__, j) = temp;
304 for (j = 1; j <= i__1; ++j) {
307 for (i__ = 1; i__ <= i__2; ++i__) {
313 for (k = 1; k <= i__2; ++k) {
314 if (
a_ref(k, j) != 0.) {
316 for (i__ = 1; i__ <= i__3; ++i__) {
325 temp = 1. /
a_ref(j, j);
327 for (i__ = 1; i__ <= i__2; ++i__) {
335 for (j = *n; j >= 1; --j) {
338 for (i__ = 1; i__ <= i__1; ++i__) {
344 for (k = j + 1; k <= i__1; ++k) {
345 if (
a_ref(k, j) != 0.) {
347 for (i__ = 1; i__ <= i__2; ++i__) {
356 temp = 1. /
a_ref(j, j);
358 for (i__ = 1; i__ <= i__1; ++i__) {
369 for (k = *n; k >= 1; --k) {
371 temp = 1. /
a_ref(k, k);
373 for (i__ = 1; i__ <= i__1; ++i__) {
379 for (j = 1; j <= i__1; ++j) {
380 if (
a_ref(j, k) != 0.) {
383 for (i__ = 1; i__ <= i__2; ++i__) {
393 for (i__ = 1; i__ <= i__1; ++i__) {
402 for (k = 1; k <= i__1; ++k) {
404 temp = 1. /
a_ref(k, k);
406 for (i__ = 1; i__ <= i__2; ++i__) {
412 for (j = k + 1; j <= i__2; ++j) {
413 if (
a_ref(j, k) != 0.) {
416 for (i__ = 1; i__ <= i__3; ++i__) {
426 for (i__ = 1; i__ <= i__2; ++i__) {
int template_blas_erbla(const char *srname, integer *info)
Definition template_blas_common.cc:146
logical template_blas_lsame(const char *ca, const char *cb)
Definition template_blas_common.cc:46
int integer
Definition template_blas_common.h:40
#define maxMACRO(a, b)
Definition template_blas_common.h:45
bool logical
Definition template_blas_common.h:41
int template_blas_trsm(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, Treal *b, const integer *ldb)
Definition template_blas_trsm.h:43