diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-05-12 17:43:56 -0700 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-05-12 17:43:56 -0700 |
commit | 86e8df60f1598760511b059b42a9e4f9dddfa150 (patch) | |
tree | d97aea0277c4fdaf044308a774710438b0c1727e /src | |
parent | 81d9ed3946a8ae3c9371d4ffd3158c4c289729f0 (diff) |
Fixed a bug in the TRSM routine; tests now pass
Diffstat (limited to 'src')
-rw-r--r-- | src/routines/level3/xtrsm.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/routines/level3/xtrsm.cpp b/src/routines/level3/xtrsm.cpp index 4378ca94..c1c07d10 100644 --- a/src/routines/level3/xtrsm.cpp +++ b/src/routines/level3/xtrsm.cpp @@ -138,7 +138,7 @@ void Xtrsm<T>::TrsmColMajor(const Side side, const Triangle triangle, DoGemm(Layout::kColMajor, a_transpose, Transpose::kNo, m - i - block_size, n, block_size, ConstantNegOne<T>(), a_buffer, this_a_offset, a_ld, - x_buffer, x_offset + i, x_ld, ConstantOne<T>(), + x_buffer, x_offset + i, x_ld, gemm_alpha, b_buffer, b_offset + i + block_size, b_ld); } } @@ -159,7 +159,7 @@ void Xtrsm<T>::TrsmColMajor(const Side side, const Triangle triangle, DoGemm(Layout::kColMajor, a_transpose, Transpose::kNo, i, n, block_size, ConstantNegOne<T>(), a_buffer, this_a_offset, a_ld, - x_buffer, x_offset + i, x_ld, ConstantOne<T>(), + x_buffer, x_offset + i, x_ld, gemm_alpha, b_buffer, b_offset, b_ld); } } @@ -182,9 +182,9 @@ void Xtrsm<T>::TrsmColMajor(const Side side, const Triangle triangle, if (i - static_cast<int>(block_size) < 0) { break; } const auto this_a_offset = (a_transpose == Transpose::kNo) ? i : i * a_ld; DoGemm(Layout::kColMajor, Transpose::kNo, a_transpose, - m, i, current_block_size, ConstantNegOne<T>(), + m, i, block_size, ConstantNegOne<T>(), x_buffer, x_offset + i * x_ld, x_ld, - a_buffer, this_a_offset, a_ld, ConstantOne<T>(), + a_buffer, this_a_offset, a_ld, gemm_alpha, b_buffer, b_offset, b_ld); } } @@ -204,7 +204,7 @@ void Xtrsm<T>::TrsmColMajor(const Side side, const Triangle triangle, DoGemm(Layout::kColMajor, Transpose::kNo, a_transpose, m, n - i - block_size, block_size, ConstantNegOne<T>(), x_buffer, x_offset + i * x_ld, x_ld, - a_buffer, this_a_offset, a_ld, ConstantOne<T>(), + a_buffer, this_a_offset, a_ld, gemm_alpha, b_buffer, b_offset + (i + block_size) * b_ld, b_ld); } } |