132 {
133
135 double *A, *C;
138
141
144 LDA = *k+1;
145 A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
146 for( i=0; i<*n; i++ )
147 for( j=0; j<*k; j++ )
148 A[i*LDA+j]=a[j*(*lda)+i];
149 }
150 else{
151 LDA = *n+1;
152 A = ( double* )malloc( (*k)*LDA*sizeof( double ) );
153 for( i=0; i<*k; i++ )
154 for( j=0; j<*n; j++ )
155 A[i*LDA+j]=a[j*(*lda)+i];
156 }
157 LDC = *n+1;
158 C = ( double* )malloc( (*n)*LDC*sizeof( double ) );
159 for( i=0; i<*n; i++ )
160 for( j=0; j<*n; j++ )
161 C[i*LDC+j]=c[j*(*ldc)+i];
163 C, LDC );
164 for( j=0; j<*n; j++ )
165 for( i=0; i<*n; i++ )
166 c[j*(*ldc)+i]=C[i*LDC+j];
167 free(A);
168 free(C);
169 }
172 c, *ldc );
173 else
175 c, *ldc );
176}
void cblas_dsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double beta, double *C, const CBLAS_INT ldc)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)