217 {
218
220 float *A, *C;
223
226
229 LDA = *k+1;
230 A = ( float* )malloc( (*n)*LDA*sizeof( float ) );
231 for( i=0; i<*n; i++ )
232 for( j=0; j<*k; j++ )
233 A[i*LDA+j]=a[j*(*lda)+i];
234 }
235 else{
236 LDA = *n+1;
237 A = ( float* )malloc( (*k)*LDA*sizeof( float ) );
238 for( i=0; i<*k; i++ )
239 for( j=0; j<*n; j++ )
240 A[i*LDA+j]=a[j*(*lda)+i];
241 }
242 LDC = *n+1;
243 C = ( float* )malloc( (*n)*LDC*sizeof( float ) );
244 for( i=0; i<*n; i++ )
245 for( j=0; j<*n; j++ )
246 C[i*LDC+j]=c[j*(*ldc)+i];
248 C, LDC );
249 for( j=0; j<*n; j++ )
250 for( i=0; i<*n; i++ )
251 c[j*(*ldc)+i]=C[i*LDC+j];
252 free(A);
253 free(C);
254 }
257 c, *ldc );
258 else
260 c, *ldc );
261}
void cblas_ssyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, const float alpha, const float *A, const CBLAS_INT lda, const float beta, float *C, const CBLAS_INT ldc)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)