From 376048156b3ea5774ee2c28d25f7641150b8b1db Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 21 Jul 2017 11:20:15 +0200 Subject: [PATCH] Use in-place transform shortcut only if matrix is square --- interface/zimatcopy.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/interface/zimatcopy.c b/interface/zimatcopy.c index 3479c489b..87964e20d 100644 --- a/interface/zimatcopy.c +++ b/interface/zimatcopy.c @@ -126,8 +126,7 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, return; } #ifdef NEW_IMATCOPY - if (*lda == *ldb) { -fprintf(stderr," lda=ldb, new_imatcopy in place\n"); + if (*lda == *ldb && *cols == *rows) { if ( order == BlasColMajor ) { @@ -141,7 +140,7 @@ fprintf(stderr," lda=ldb, new_imatcopy in place\n"); } if ( trans == BlasTrans ) { - IMATCOPY_K_CT(*cols, *rows, alpha[0], alpha[1], a, *lda ); + IMATCOPY_K_CT(*rows, *cols, alpha[0], alpha[1], a, *lda ); } if ( trans == BlasTransConj ) { @@ -161,7 +160,6 @@ fprintf(stderr," lda=ldb, new_imatcopy in place\n"); } if ( trans == BlasTrans ) { -fprintf(stderr,"rows trans inplace\n"); IMATCOPY_K_RT(*rows, *cols, alpha[0], alpha[1], a, *lda ); } if ( trans == BlasTransConj ) @@ -172,7 +170,7 @@ fprintf(stderr,"rows trans inplace\n"); return; } #endif -fprintf(stderr,"lda: %d ldb:%d\n",*lda,*ldb); + if ( *lda > *ldb ) msize = (*lda) * (*ldb) * sizeof(FLOAT) * 2; else @@ -181,7 +179,7 @@ fprintf(stderr,"lda: %d ldb:%d\n",*lda,*ldb); b = malloc(msize); if ( b == NULL ) { - printf("Memory alloc failed\n"); + printf("Memory alloc failed in zimatcopy\n"); exit(1); }