| @@ -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++) | ||||