Skip to content

Commit 42203da

Browse files
committed
add logic
1 parent a4f17a9 commit 42203da

File tree

1 file changed

+57
-22
lines changed

1 file changed

+57
-22
lines changed

lapack/trtrs/trtrs_single.c

Lines changed: 57 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,63 @@
4141

4242
blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos) {
4343

44-
#ifndef TRANS
45-
LASWP_PLUS(args -> n, 1, args -> m, ZERO, args -> b, args -> ldb, NULL, 0, args -> c, 1);
46-
47-
if (args -> n == 1){
48-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
49-
TRSV_NUN (args -> m, args -> a, args -> lda, args -> b, 1, sb);
50-
} else {
51-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
52-
TRSM_LNUN (args, range_m, range_n, sa, sb, 0);
53-
}
54-
44+
#ifndef UPLO
45+
#ifndef DIAG
46+
#ifndef DIAG
47+
if (args -> n == 1){
48+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
49+
} else {
50+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
51+
}
5552
#else
56-
57-
if (args -> n == 1){
58-
TRSV_TUN (args -> m, args -> a, args -> lda, args -> b, 1, sb);
59-
TRSV_TLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
60-
} else {
61-
TRSM_LTUN (args, range_m, range_n, sa, sb, 0);
62-
TRSM_LTLU (args, range_m, range_n, sa, sb, 0);
63-
}
64-
65-
LASWP_MINUS(args -> n, 1, args -> m, ZERO, args -> b, args -> ldb, NULL, 0, args -> c, -1);
53+
if (args -> n == 1){
54+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
55+
} else {
56+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
57+
}
58+
#endif
59+
#else
60+
#ifndef DIAG
61+
if (args -> n == 1){
62+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
63+
} else {
64+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
65+
}
66+
#else
67+
if (args -> n == 1){
68+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
69+
} else {
70+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
71+
}
72+
#endif
73+
#else
74+
#ifndef DIAG
75+
#ifndef DIAG
76+
if (args -> n == 1){
77+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
78+
} else {
79+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
80+
}
81+
#else
82+
if (args -> n == 1){
83+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
84+
} else {
85+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
86+
}
87+
#endif
88+
#else
89+
#ifndef DIAG
90+
if (args -> n == 1){
91+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
92+
} else {
93+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
94+
}
95+
#else
96+
if (args -> n == 1){
97+
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
98+
} else {
99+
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
100+
}
101+
#endif
66102
#endif
67-
68103
return 0; }

0 commit comments

Comments
 (0)