|
|
@@ -41,28 +41,63 @@ |
|
|
|
|
|
|
|
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; } |