35 #ifndef TEMPLATE_BLAS_TRSM_HEADER
36 #define TEMPLATE_BLAS_TRSM_HEADER
43 lda, Treal *b,
const integer *ldb)
46 integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3;
55 #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
56 #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1]
143 a_offset = 1 + a_dim1 * 1;
146 b_offset = 1 + b_dim1 * 1;
172 }
else if (*lda <
maxMACRO(1,nrowa)) {
188 for (j = 1; j <= i__1; ++j) {
190 for (i__ = 1; i__ <= i__2; ++i__) {
204 for (j = 1; j <= i__1; ++j) {
207 for (i__ = 1; i__ <= i__2; ++i__) {
212 for (k = *m; k >= 1; --k) {
213 if (
b_ref(k, j) != 0.) {
218 for (i__ = 1; i__ <= i__2; ++i__) {
230 for (j = 1; j <= i__1; ++j) {
233 for (i__ = 1; i__ <= i__2; ++i__) {
239 for (k = 1; k <= i__2; ++k) {
240 if (
b_ref(k, j) != 0.) {
245 for (i__ = k + 1; i__ <= i__3; ++i__) {
260 for (j = 1; j <= i__1; ++j) {
262 for (i__ = 1; i__ <= i__2; ++i__) {
263 temp = *alpha *
b_ref(i__, j);
265 for (k = 1; k <= i__3; ++k) {
270 temp /=
a_ref(i__, i__);
272 b_ref(i__, j) = temp;
279 for (j = 1; j <= i__1; ++j) {
280 for (i__ = *m; i__ >= 1; --i__) {
281 temp = *alpha *
b_ref(i__, j);
283 for (k = i__ + 1; k <= i__2; ++k) {
288 temp /=
a_ref(i__, i__);
290 b_ref(i__, j) = temp;
302 for (j = 1; j <= i__1; ++j) {
305 for (i__ = 1; i__ <= i__2; ++i__) {
311 for (k = 1; k <= i__2; ++k) {
312 if (
a_ref(k, j) != 0.) {
314 for (i__ = 1; i__ <= i__3; ++i__) {
323 temp = 1. /
a_ref(j, j);
325 for (i__ = 1; i__ <= i__2; ++i__) {
333 for (j = *n; j >= 1; --j) {
336 for (i__ = 1; i__ <= i__1; ++i__) {
342 for (k = j + 1; k <= i__1; ++k) {
343 if (
a_ref(k, j) != 0.) {
345 for (i__ = 1; i__ <= i__2; ++i__) {
354 temp = 1. /
a_ref(j, j);
356 for (i__ = 1; i__ <= i__1; ++i__) {
367 for (k = *n; k >= 1; --k) {
369 temp = 1. /
a_ref(k, k);
371 for (i__ = 1; i__ <= i__1; ++i__) {
377 for (j = 1; j <= i__1; ++j) {
378 if (
a_ref(j, k) != 0.) {
381 for (i__ = 1; i__ <= i__2; ++i__) {
391 for (i__ = 1; i__ <= i__1; ++i__) {
400 for (k = 1; k <= i__1; ++k) {
402 temp = 1. /
a_ref(k, k);
404 for (i__ = 1; i__ <= i__2; ++i__) {
410 for (j = k + 1; j <= i__2; ++j) {
411 if (
a_ref(j, k) != 0.) {
414 for (i__ = 1; i__ <= i__3; ++i__) {
424 for (i__ = 1; i__ <= i__2; ++i__) {
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_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:41
bool logical
Definition: template_blas_common.h:39
side
Definition: Matrix.h:73
logical template_blas_lsame(const char *ca, const char *cb)
Definition: template_blas_common.cc:44