194 {
195
198
200
202
206 *incx, beta, y, *incy );
207 else {
208 LDA = *k+2;
211 for( i=0; i<*k; i++ ){
212 irow=*k-i;
213 jcol=(*k)-i;
214 for( j=jcol; j<*n; j++ ) {
215 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].
real;
216 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].
imag;
217 }
218 }
219 i=*k;
220 irow=*k-i;
221 for( j=0; j<*n; j++ ) {
222 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
223 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
224 }
225 }
226 else {
227 i=0;
228 irow=*k-i;
229 for( j=0; j<*n; j++ ) {
230 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
231 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
232 }
233 for( i=1; i<*k+1; i++ ){
234 irow=*k-i;
235 jcol=i;
236 for( j=jcol; j<(*n+*k); j++ ) {
237 A[ LDA*j+irow ].
real=a[ (*lda)*(j-jcol)+i ].real;
238 A[ LDA*j+irow ].
imag=a[ (*lda)*(j-jcol)+i ].imag;
239 }
240 }
241 }
243 beta, y, *incy );
244 free(A);
245 }
246 }
249 beta, y, *incy );
250 else
252 beta, y, *incy );
253}
void cblas_zhbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const void *alpha, const void *A, const CBLAS_INT lda, const void *X, const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)