add logic
authorGuillaume Horel <guillaume.horel@gmail.com>
Tue, 3 Sep 2019 01:57:28 +0000 (21:57 -0400)
committerGuillaume Horel <guillaume.horel@gmail.com>
Sun, 8 Sep 2019 15:14:49 +0000 (11:14 -0400)
lapack/trtrs/trtrs_single.c

index 0dbb038..a690d4a 100644 (file)
 
 blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos) {
 
-#ifndef TRANS
-  LASWP_PLUS(args -> n, 1, args -> m, ZERO, args -> b, args -> ldb, NULL, 0, args -> c, 1);
-
-  if (args -> n == 1){
-    TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
-    TRSV_NUN (args -> m, args -> a, args -> lda, args -> b, 1, sb);
-  } else {
-    TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
-    TRSM_LNUN (args, range_m, range_n, sa, sb, 0);
-  }
-
+#ifndef UPLO
+#ifndef DIAG
+#ifndef DIAG
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
 #else
-
-  if (args -> n == 1){
-    TRSV_TUN (args -> m, args -> a, args -> lda, args -> b, 1, sb);
-    TRSV_TLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
-  } else {
-    TRSM_LTUN  (args, range_m, range_n, sa, sb, 0);
-    TRSM_LTLU  (args, range_m, range_n, sa, sb, 0);
-  }
-
-  LASWP_MINUS(args -> n, 1, args -> m, ZERO, args -> b, args -> ldb, NULL, 0, args -> c, -1);
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#endif
+#else
+#ifndef DIAG
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#else
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#endif
+#else
+#ifndef DIAG
+#ifndef DIAG
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#else
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#endif
+#else
+#ifndef DIAG
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#else
+    if (args -> n == 1){
+        TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
+    } else {
+        TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
+    }
+#endif
 #endif
-
   return 0;  }