Skip to content

Commit 2afe729

Browse files
committed
adding F-contig layout support + other cleanups
1 parent 60b1222 commit 2afe729

3 files changed

Lines changed: 376 additions & 169 deletions

File tree

src/csrc/quadblas_interface.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ qblas_gemv(char layout, char trans, size_t m, size_t n,
4646
Sleef_quad *beta, Sleef_quad *y, size_t incy)
4747
{
4848
if (m == 0 || n == 0) {
49+
if (y && beta) {
50+
int do_trans = (trans == 'T' || trans == 't' || trans == 'C' || trans == 'c');
51+
size_t y_len = do_trans ? n : m;
52+
Sleef_quad zero = Sleef_cast_from_doubleq1(0.0);
53+
int beta_zero = Sleef_icmpeqq1(*beta, zero);
54+
for (size_t i = 0; i < y_len; i++) {
55+
y[i * incy] = beta_zero ? zero : Sleef_mulq1_u05(*beta, y[i * incy]);
56+
}
57+
}
4958
return 0;
5059
}
5160
if (!alpha || !A || !x || !beta || !y) {
@@ -66,7 +75,7 @@ qblas_gemm(char layout, char transa, char transb,
6675
Sleef_quad *B, size_t ldb,
6776
Sleef_quad *beta, Sleef_quad *C, size_t ldc)
6877
{
69-
if (m == 0 || n == 0 || k == 0) {
78+
if (m == 0 || n == 0) {
7079
return 0;
7180
}
7281
if (!alpha || !A || !B || !beta || !C) {

0 commit comments

Comments
 (0)