libflame
revision_anchor
|
Functions | |
void | bl1_strmvsx (uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float *alpha, float *a, int a_rs, int a_cs, float *x, int incx, float *beta, float *y, int incy) |
void | bl1_dtrmvsx (uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double *alpha, double *a, int a_rs, int a_cs, double *x, int incx, double *beta, double *y, int incy) |
void | bl1_ctrmvsx (uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *x, int incx, scomplex *beta, scomplex *y, int incy) |
void | bl1_ztrmvsx (uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *x, int incx, dcomplex *beta, dcomplex *y, int incy) |
void bl1_ctrmvsx | ( | uplo1_t | uplo, |
trans1_t | trans, | ||
diag1_t | diag, | ||
int | m, | ||
scomplex * | alpha, | ||
scomplex * | a, | ||
int | a_rs, | ||
int | a_cs, | ||
scomplex * | x, | ||
int | incx, | ||
scomplex * | beta, | ||
scomplex * | y, | ||
int | incy | ||
) |
References bl1_callocv(), bl1_caxpyv(), bl1_ccopyv(), bl1_ccreate_contigmr(), bl1_cfree(), bl1_cfree_contigm(), bl1_cscalv(), bl1_ctrmv(), bl1_zero_dim1(), and BLIS1_NO_CONJUGATE.
Referenced by FLA_Hess_UT_step_opc_var5().
{ scomplex* a_save = a; int a_rs_save = a_rs; int a_cs_save = a_cs; scomplex* x_temp; int incx_temp; // Return early if possible. if ( bl1_zero_dim1( m ) ) return; // If necessary, allocate, initialize, and use a temporary contiguous // copy of the matrix rather than the original matrix. bl1_ccreate_contigmr( uplo, m, m, a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); // Allocate a temporary vector conformal to x. x_temp = bl1_callocv( m ); incx_temp = 1; // Copy x to a temporary vector. bl1_ccopyv( BLIS1_NO_CONJUGATE, m, x, incx, x_temp, incx_temp ); // Perform the operation, storing the result to x_temp. bl1_ctrmv( uplo, trans, diag, m, a, a_rs, a_cs, x_temp, incx_temp ); // Scale y by beta. bl1_cscalv( BLIS1_NO_CONJUGATE, m, beta, y, incy ); // Axpy the partial result in x_temp into y. bl1_caxpyv( BLIS1_NO_CONJUGATE, m, alpha, x_temp, incx_temp, y, incy ); // Free the temporary vector. bl1_cfree( x_temp ); // Free the temporary contiguous matrix. bl1_cfree_contigm( a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); }
void bl1_dtrmvsx | ( | uplo1_t | uplo, |
trans1_t | trans, | ||
diag1_t | diag, | ||
int | m, | ||
double * | alpha, | ||
double * | a, | ||
int | a_rs, | ||
int | a_cs, | ||
double * | x, | ||
int | incx, | ||
double * | beta, | ||
double * | y, | ||
int | incy | ||
) |
References bl1_dallocv(), bl1_daxpyv(), bl1_dcopyv(), bl1_dcreate_contigmr(), bl1_dfree(), bl1_dfree_contigm(), bl1_dscalv(), bl1_dtrmv(), bl1_zero_dim1(), and BLIS1_NO_CONJUGATE.
Referenced by FLA_Hess_UT_step_opd_var5().
{ double* a_save = a; int a_rs_save = a_rs; int a_cs_save = a_cs; double* x_temp; int incx_temp; // Return early if possible. if ( bl1_zero_dim1( m ) ) return; // If necessary, allocate, initialize, and use a temporary contiguous // copy of the matrix rather than the original matrix. bl1_dcreate_contigmr( uplo, m, m, a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); // Allocate a temporary vector conformal to x. x_temp = bl1_dallocv( m ); incx_temp = 1; // Copy x to a temporary vector. bl1_dcopyv( BLIS1_NO_CONJUGATE, m, x, incx, x_temp, incx_temp ); // Perform the operation, storing the result to x_temp. bl1_dtrmv( uplo, trans, diag, m, a, a_rs, a_cs, x_temp, incx_temp ); // Scale y by beta. bl1_dscalv( BLIS1_NO_CONJUGATE, m, beta, y, incy ); // Axpy the partial result in x_temp into y. bl1_daxpyv( BLIS1_NO_CONJUGATE, m, alpha, x_temp, incx_temp, y, incy ); // Free the temporary vector. bl1_dfree( x_temp ); // Free the temporary contiguous matrix. bl1_dfree_contigm( a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); }
void bl1_strmvsx | ( | uplo1_t | uplo, |
trans1_t | trans, | ||
diag1_t | diag, | ||
int | m, | ||
float * | alpha, | ||
float * | a, | ||
int | a_rs, | ||
int | a_cs, | ||
float * | x, | ||
int | incx, | ||
float * | beta, | ||
float * | y, | ||
int | incy | ||
) |
References bl1_sallocv(), bl1_saxpyv(), bl1_scopyv(), bl1_screate_contigmr(), bl1_sfree(), bl1_sfree_contigm(), bl1_sscalv(), bl1_strmv(), bl1_zero_dim1(), and BLIS1_NO_CONJUGATE.
Referenced by FLA_Hess_UT_step_ops_var5().
{ float* a_save = a; int a_rs_save = a_rs; int a_cs_save = a_cs; float* x_temp; int incx_temp; // Return early if possible. if ( bl1_zero_dim1( m ) ) return; // If necessary, allocate, initialize, and use a temporary contiguous // copy of the matrix rather than the original matrix. bl1_screate_contigmr( uplo, m, m, a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); // Allocate a temporary vector conformal to x. x_temp = bl1_sallocv( m ); incx_temp = 1; // Copy x to a temporary vector. bl1_scopyv( BLIS1_NO_CONJUGATE, m, x, incx, x_temp, incx_temp ); // Perform the operation, storing the result to x_temp. bl1_strmv( uplo, trans, diag, m, a, a_rs, a_cs, x_temp, incx_temp ); // Scale y by beta. bl1_sscalv( BLIS1_NO_CONJUGATE, m, beta, y, incy ); // Axpy the partial result in x_temp into y. bl1_saxpyv( BLIS1_NO_CONJUGATE, m, alpha, x_temp, incx_temp, y, incy ); // Free the temporary vector. bl1_sfree( x_temp ); // Free the temporary contiguous matrix. bl1_sfree_contigm( a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); }
void bl1_ztrmvsx | ( | uplo1_t | uplo, |
trans1_t | trans, | ||
diag1_t | diag, | ||
int | m, | ||
dcomplex * | alpha, | ||
dcomplex * | a, | ||
int | a_rs, | ||
int | a_cs, | ||
dcomplex * | x, | ||
int | incx, | ||
dcomplex * | beta, | ||
dcomplex * | y, | ||
int | incy | ||
) |
References bl1_zallocv(), bl1_zaxpyv(), bl1_zcopyv(), bl1_zcreate_contigmr(), bl1_zero_dim1(), bl1_zfree(), bl1_zfree_contigm(), bl1_zscalv(), bl1_ztrmv(), and BLIS1_NO_CONJUGATE.
Referenced by FLA_Hess_UT_step_opz_var5().
{ dcomplex* a_save = a; int a_rs_save = a_rs; int a_cs_save = a_cs; dcomplex* x_temp; int incx_temp; // Return early if possible. if ( bl1_zero_dim1( m ) ) return; // If necessary, allocate, initialize, and use a temporary contiguous // copy of the matrix rather than the original matrix. bl1_zcreate_contigmr( uplo, m, m, a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); // Allocate a temporary vector conformal to x. x_temp = bl1_zallocv( m ); incx_temp = 1; // Copy x to a temporary vector. bl1_zcopyv( BLIS1_NO_CONJUGATE, m, x, incx, x_temp, incx_temp ); // Perform the operation, storing the result to x_temp. bl1_ztrmv( uplo, trans, diag, m, a, a_rs, a_cs, x_temp, incx_temp ); // Scale y by beta. bl1_zscalv( BLIS1_NO_CONJUGATE, m, beta, y, incy ); // Axpy the partial result in x_temp into y. bl1_zaxpyv( BLIS1_NO_CONJUGATE, m, alpha, x_temp, incx_temp, y, incy ); // Free the temporary vector. bl1_zfree( x_temp ); // Free the temporary contiguous matrix. bl1_zfree_contigm( a_save, a_rs_save, a_cs_save, &a, &a_rs, &a_cs ); }