@@ -125,9 +125,8 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
125125 BLASFUNC (xerbla )(ERROR_NAME , & info , sizeof (ERROR_NAME ));
126126 return ;
127127 }
128-
129128#ifdef NEW_IMATCOPY
130- if (* lda == * ldb ) {
129+ if (* lda == * ldb && * cols == * rows ) {
131130 if ( order == BlasColMajor )
132131 {
133132
@@ -180,7 +179,7 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
180179 b = malloc (msize );
181180 if ( b == NULL )
182181 {
183- printf ("Memory alloc failed\n" );
182+ printf ("Memory alloc failed in zimatcopy \n" );
184183 exit (1 );
185184 }
186185
@@ -205,14 +204,14 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
205204 if ( trans == BlasTrans )
206205 {
207206 OMATCOPY_K_CT (* rows , * cols , alpha [0 ], alpha [1 ], a , * lda , b , * ldb );
208- OMATCOPY_K_CN (* rows , * cols , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
207+ OMATCOPY_K_CN (* cols , * rows , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
209208 free (b );
210209 return ;
211210 }
212211 if ( trans == BlasTransConj )
213212 {
214213 OMATCOPY_K_CTC (* rows , * cols , alpha [0 ], alpha [1 ], a , * lda , b , * ldb );
215- OMATCOPY_K_CN (* rows , * cols , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
214+ OMATCOPY_K_CN (* cols , * rows , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
216215 free (b );
217216 return ;
218217 }
@@ -238,14 +237,14 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
238237 if ( trans == BlasTrans )
239238 {
240239 OMATCOPY_K_RT (* rows , * cols , alpha [0 ], alpha [1 ], a , * lda , b , * ldb );
241- OMATCOPY_K_RN (* rows , * cols , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
240+ OMATCOPY_K_RN (* cols , * rows , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
242241 free (b );
243242 return ;
244243 }
245244 if ( trans == BlasTransConj )
246245 {
247246 OMATCOPY_K_RTC (* rows , * cols , alpha [0 ], alpha [1 ], a , * lda , b , * ldb );
248- OMATCOPY_K_RN (* rows , * cols , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
247+ OMATCOPY_K_RN (* cols , * rows , (FLOAT ) 1.0 , (FLOAT ) 0.0 , b , * ldb , a , * ldb );
249248 free (b );
250249 return ;
251250 }
0 commit comments