35 #ifndef TEMPLATE_BLAS_TRMM_HEADER 36 #define TEMPLATE_BLAS_TRMM_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] 142 a_offset = 1 + a_dim1 * 1;
145 b_offset = 1 + b_dim1 * 1;
171 }
else if (*lda <
maxMACRO(1,nrowa)) {
187 for (j = 1; j <= i__1; ++j) {
189 for (i__ = 1; i__ <= i__2; ++i__) {
203 for (j = 1; j <= i__1; ++j) {
205 for (k = 1; k <= i__2; ++k) {
206 if (
b_ref(k, j) != 0.) {
207 temp = *alpha *
b_ref(k, j);
209 for (i__ = 1; i__ <= i__3; ++i__) {
225 for (j = 1; j <= i__1; ++j) {
226 for (k = *m; k >= 1; --k) {
227 if (
b_ref(k, j) != 0.) {
228 temp = *alpha *
b_ref(k, j);
234 for (i__ = k + 1; i__ <= i__2; ++i__) {
249 for (j = 1; j <= i__1; ++j) {
250 for (i__ = *m; i__ >= 1; --i__) {
251 temp =
b_ref(i__, j);
253 temp *=
a_ref(i__, i__);
256 for (k = 1; k <= i__2; ++k) {
260 b_ref(i__, j) = *alpha * temp;
267 for (j = 1; j <= i__1; ++j) {
269 for (i__ = 1; i__ <= i__2; ++i__) {
270 temp =
b_ref(i__, j);
272 temp *=
a_ref(i__, i__);
275 for (k = i__ + 1; k <= i__3; ++k) {
279 b_ref(i__, j) = *alpha * temp;
290 for (j = *n; j >= 1; --j) {
296 for (i__ = 1; i__ <= i__1; ++i__) {
301 for (k = 1; k <= i__1; ++k) {
302 if (
a_ref(k, j) != 0.) {
303 temp = *alpha *
a_ref(k, j);
305 for (i__ = 1; i__ <= i__2; ++i__) {
317 for (j = 1; j <= i__1; ++j) {
323 for (i__ = 1; i__ <= i__2; ++i__) {
328 for (k = j + 1; k <= i__2; ++k) {
329 if (
a_ref(k, j) != 0.) {
330 temp = *alpha *
a_ref(k, j);
332 for (i__ = 1; i__ <= i__3; ++i__) {
347 for (k = 1; k <= i__1; ++k) {
349 for (j = 1; j <= i__2; ++j) {
350 if (
a_ref(j, k) != 0.) {
351 temp = *alpha *
a_ref(j, k);
353 for (i__ = 1; i__ <= i__3; ++i__) {
367 for (i__ = 1; i__ <= i__2; ++i__) {
375 for (k = *n; k >= 1; --k) {
377 for (j = k + 1; j <= i__1; ++j) {
378 if (
a_ref(j, k) != 0.) {
379 temp = *alpha *
a_ref(j, k);
381 for (i__ = 1; i__ <= i__2; ++i__) {
395 for (i__ = 1; i__ <= i__1; ++i__) {
int integer
Definition: template_blas_common.h:38
int template_blas_trmm(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_trmm.h:41
#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
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