/* * Author: G. Jungman * RCS: $Id: source_tpmv_c.h,v 1.3 1999/10/18 00:45:12 jungman Exp $ */ #include "matrix_access.h" size_t i, j; size_t ix; const int nounit = ( Diag == CblasNonUnit ); if(TransA == CblasNoTrans) { /* form x:= A*x */ if(Uplo == CblasUpper) { for(i=0; i 0) { const size_t j_max = ix-1; for(j=0; j<=j_max; j++) { atmp_r = REAL(Ap, 1, M_PACKEDTRLO_INDEX(N, 0, N-1-i, j)); atmp_i = IMAG(Ap, 1, M_PACKEDTRLO_INDEX(N, 0, N-1-i, j)); temp_r += atmp_r * REAL(X,incX,j) - atmp_i * IMAG(X,incX,j); temp_i += atmp_r * IMAG(X,incX,j) + atmp_i * REAL(X,incX,j); } } REAL(X,incX,ix) = temp_r; IMAG(X,incX,ix) = temp_i; ix--; } } } else { /* form x := A'*x */ if(Uplo == CblasUpper) { ix = N-1; for(i=0; i 0) { const size_t j_max = ix-1; for(j=0; j<=j_max; j++) { atmp_r = REAL(Ap, 1, M_PACKEDTRUP_INDEX(N, 0, j, N-1-i)); atmp_i = IMAG(Ap, 1, M_PACKEDTRUP_INDEX(N, 0, j, N-1-i)); temp_r += atmp_r * REAL(X,incX,j) - atmp_i * IMAG(X,incX,j); temp_i += atmp_r * IMAG(X,incX,j) + atmp_i * REAL(X,incX,j); } } REAL(X,incX,ix) = temp_r; IMAG(X,incX,ix) = temp_i; ix--; } } else { for(i=0; i