Fix expectation values for CblasRowMajor order
This commit is contained in:
parent
9762464718
commit
550bc77832
|
@ -81,6 +81,28 @@ static void cgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
|||
|
||||
ldc *= 2;
|
||||
|
||||
#ifndef NO_CBLAS
|
||||
if (order == CblasRowMajor) {
|
||||
if (uplo == 'U' || uplo == CblasUpper)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = i * 2; j < m * 2; j+=2){
|
||||
data_cgemmt.c_verify[i * ldc + j] =
|
||||
data_cgemmt.c_gemm[i * ldc + j];
|
||||
data_cgemmt.c_verify[i * ldc + j + 1] =
|
||||
data_cgemmt.c_gemm[i * ldc + j + 1];
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = 0; j <= i * 2; j+=2){
|
||||
data_cgemmt.c_verify[i * ldc + j] =
|
||||
data_cgemmt.c_gemm[i * ldc + j];
|
||||
data_cgemmt.c_verify[i * ldc + j + 1] =
|
||||
data_cgemmt.c_gemm[i * ldc + j + 1];
|
||||
}
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
if (uplo == 'L' || uplo == CblasLower)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
|
|
|
@ -77,6 +77,21 @@ static void dgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
|||
else
|
||||
cblas_dgemm(order, transa, transb, m, m, k, alpha, data_dgemmt.a_test, lda,
|
||||
data_dgemmt.b_test, ldb, beta, data_dgemmt.c_gemm, ldc);
|
||||
|
||||
if (order == CblasRowMajor) {
|
||||
if (uplo == 'U' || uplo == CblasUpper)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = i; j < m; j++)
|
||||
data_dgemmt.c_verify[i * ldc + j] =
|
||||
data_dgemmt.c_gemm[i * ldc + j];
|
||||
} else {
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = 0; j <= i; j++)
|
||||
data_dgemmt.c_verify[i * ldc + j] =
|
||||
data_dgemmt.c_gemm[i * ldc + j];
|
||||
}
|
||||
}else
|
||||
#endif
|
||||
|
||||
if (uplo == 'L' || uplo == CblasLower)
|
||||
|
|
|
@ -77,6 +77,21 @@ static void sgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
|||
else
|
||||
cblas_sgemm(order, transa, transb, m, m, k, alpha, data_sgemmt.a_test, lda,
|
||||
data_sgemmt.b_test, ldb, beta, data_sgemmt.c_gemm, ldc);
|
||||
if (order == CblasRowMajor) {
|
||||
if (uplo == 'U' || uplo == CblasUpper)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = i; j < m; j++)
|
||||
data_sgemmt.c_verify[i * ldc + j] =
|
||||
data_sgemmt.c_gemm[i * ldc + j];
|
||||
} else {
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = 0; j <= i; j++)
|
||||
data_sgemmt.c_verify[i * ldc + j] =
|
||||
data_sgemmt.c_gemm[i * ldc + j];
|
||||
}
|
||||
|
||||
} else
|
||||
#endif
|
||||
|
||||
if (uplo == 'L' || uplo == CblasLower)
|
||||
|
|
|
@ -80,7 +80,28 @@ static void zgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
|||
#endif
|
||||
|
||||
ldc *= 2;
|
||||
|
||||
#ifndef NO_CBLAS
|
||||
if (order == CblasRowMajor) {
|
||||
if (uplo == 'U' || uplo == CblasUpper)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = i * 2; j < m * 2; j+=2){
|
||||
data_zgemmt.c_verify[i * ldc + j] =
|
||||
data_zgemmt.c_gemm[i * ldc + j];
|
||||
data_zgemmt.c_verify[i * ldc + j + 1] =
|
||||
data_zgemmt.c_gemm[i * ldc + j + 1];
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < m; i++)
|
||||
for (j = 0; j <= i * 2; j+=2){
|
||||
data_zgemmt.c_verify[i * ldc + j] =
|
||||
data_zgemmt.c_gemm[i * ldc + j];
|
||||
data_zgemmt.c_verify[i * ldc + j + 1] =
|
||||
data_zgemmt.c_gemm[i * ldc + j + 1];
|
||||
}
|
||||
}
|
||||
}else
|
||||
#endif
|
||||
if (uplo == 'L' || uplo == CblasLower)
|
||||
{
|
||||
for (i = 0; i < m; i++)
|
||||
|
|
Loading…
Reference in New Issue