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;
|
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)
|
if (uplo == 'L' || uplo == CblasLower)
|
||||||
{
|
{
|
||||||
for (i = 0; i < m; i++)
|
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
|
else
|
||||||
cblas_dgemm(order, transa, transb, m, m, k, alpha, data_dgemmt.a_test, lda,
|
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);
|
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
|
#endif
|
||||||
|
|
||||||
if (uplo == 'L' || uplo == CblasLower)
|
if (uplo == 'L' || uplo == CblasLower)
|
||||||
|
|
|
@ -77,6 +77,21 @@ static void sgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
||||||
else
|
else
|
||||||
cblas_sgemm(order, transa, transb, m, m, k, alpha, data_sgemmt.a_test, lda,
|
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);
|
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
|
#endif
|
||||||
|
|
||||||
if (uplo == 'L' || uplo == CblasLower)
|
if (uplo == 'L' || uplo == CblasLower)
|
||||||
|
|
|
@ -80,7 +80,28 @@ static void zgemmt_trusted(char api, enum CBLAS_ORDER order, char uplo, char tra
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ldc *= 2;
|
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)
|
if (uplo == 'L' || uplo == CblasLower)
|
||||||
{
|
{
|
||||||
for (i = 0; i < m; i++)
|
for (i = 0; i < m; i++)
|
||||||
|
|
Loading…
Reference in New Issue