|
libflame
revision_anchor
|
Functions | |
| void | bli_strsvsx (uplo_t uplo, trans_t trans, diag_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 | bli_dtrsvsx (uplo_t uplo, trans_t trans, diag_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 | bli_ctrsvsx (uplo_t uplo, trans_t trans, diag_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 | bli_ztrsvsx (uplo_t uplo, trans_t trans, diag_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 bli_ctrsvsx | ( | uplo_t | uplo, |
| trans_t | trans, | ||
| diag_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 bli_callocv(), bli_caxpyv(), bli_ccopyv(), bli_ccreate_contigmr(), bli_cfree(), bli_cfree_contigm(), bli_cscalv(), bli_ctrsv(), bli_zero_dim1(), and BLIS_NO_CONJUGATE.
{
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 ( bli_zero_dim1( m ) ) return;
// If necessary, allocate, initialize, and use a temporary contiguous
// copy of the matrix rather than the original matrix.
bli_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 = bli_callocv( m );
incx_temp = 1;
// Copy x to a temporary vector.
bli_ccopyv( BLIS_NO_CONJUGATE,
m,
x, incx,
x_temp, incx_temp );
// Perform the operation, storing the result to x_temp.
bli_ctrsv( uplo,
trans,
diag,
m,
a, a_rs, a_cs,
x_temp, incx_temp );
// Scale y by beta.
bli_cscalv( BLIS_NO_CONJUGATE,
m,
beta,
y, incy );
// Axpy the partial result in x_temp into y.
bli_caxpyv( BLIS_NO_CONJUGATE,
m,
alpha,
x_temp, incx_temp,
y, incy );
// Free the temporary vector.
bli_cfree( x_temp );
// Free the temporary contiguous matrix.
bli_cfree_contigm( a_save, a_rs_save, a_cs_save,
&a, &a_rs, &a_cs );
}
| void bli_dtrsvsx | ( | uplo_t | uplo, |
| trans_t | trans, | ||
| diag_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 bli_dallocv(), bli_daxpyv(), bli_dcopyv(), bli_dcreate_contigmr(), bli_dfree(), bli_dfree_contigm(), bli_dscalv(), bli_dtrsv(), bli_zero_dim1(), and BLIS_NO_CONJUGATE.
{
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 ( bli_zero_dim1( m ) ) return;
// If necessary, allocate, initialize, and use a temporary contiguous
// copy of the matrix rather than the original matrix.
bli_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 = bli_dallocv( m );
incx_temp = 1;
// Copy x to a temporary vector.
bli_dcopyv( BLIS_NO_CONJUGATE,
m,
x, incx,
x_temp, incx_temp );
// Perform the operation, storing the result to x_temp.
bli_dtrsv( uplo,
trans,
diag,
m,
a, a_rs, a_cs,
x_temp, incx_temp );
// Scale y by beta.
bli_dscalv( BLIS_NO_CONJUGATE,
m,
beta,
y, incy );
// Axpy the partial result in x_temp into y.
bli_daxpyv( BLIS_NO_CONJUGATE,
m,
alpha,
x_temp, incx_temp,
y, incy );
// Free the temporary vector.
bli_dfree( x_temp );
// Free the temporary contiguous matrix.
bli_dfree_contigm( a_save, a_rs_save, a_cs_save,
&a, &a_rs, &a_cs );
}
| void bli_strsvsx | ( | uplo_t | uplo, |
| trans_t | trans, | ||
| diag_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 bli_sallocv(), bli_saxpyv(), bli_scopyv(), bli_screate_contigmr(), bli_sfree(), bli_sfree_contigm(), bli_sscalv(), bli_strsv(), bli_zero_dim1(), and BLIS_NO_CONJUGATE.
{
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 ( bli_zero_dim1( m ) ) return;
// If necessary, allocate, initialize, and use a temporary contiguous
// copy of the matrix rather than the original matrix.
bli_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 = bli_sallocv( m );
incx_temp = 1;
// Copy x to a temporary vector.
bli_scopyv( BLIS_NO_CONJUGATE,
m,
x, incx,
x_temp, incx_temp );
// Perform the operation, storing the result to x_temp.
bli_strsv( uplo,
trans,
diag,
m,
a, a_rs, a_cs,
x_temp, incx_temp );
// Scale y by beta.
bli_sscalv( BLIS_NO_CONJUGATE,
m,
beta,
y, incy );
// Axpy the partial result in x_temp into y.
bli_saxpyv( BLIS_NO_CONJUGATE,
m,
alpha,
x_temp, incx_temp,
y, incy );
// Free the temporary vector.
bli_sfree( x_temp );
// Free the temporary contiguous matrix.
bli_sfree_contigm( a_save, a_rs_save, a_cs_save,
&a, &a_rs, &a_cs );
}
| void bli_ztrsvsx | ( | uplo_t | uplo, |
| trans_t | trans, | ||
| diag_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 bli_zallocv(), bli_zaxpyv(), bli_zcopyv(), bli_zcreate_contigmr(), bli_zero_dim1(), bli_zfree(), bli_zfree_contigm(), bli_zscalv(), bli_ztrsv(), and BLIS_NO_CONJUGATE.
{
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 ( bli_zero_dim1( m ) ) return;
// If necessary, allocate, initialize, and use a temporary contiguous
// copy of the matrix rather than the original matrix.
bli_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 = bli_zallocv( m );
incx_temp = 1;
// Copy x to a temporary vector.
bli_zcopyv( BLIS_NO_CONJUGATE,
m,
x, incx,
x_temp, incx_temp );
// Perform the operation, storing the result to x_temp.
bli_ztrsv( uplo,
trans,
diag,
m,
a, a_rs, a_cs,
x_temp, incx_temp );
// Scale y by beta.
bli_zscalv( BLIS_NO_CONJUGATE,
m,
beta,
y, incy );
// Axpy the partial result in x_temp into y.
bli_zaxpyv( BLIS_NO_CONJUGATE,
m,
alpha,
x_temp, incx_temp,
y, incy );
// Free the temporary vector.
bli_zfree( x_temp );
// Free the temporary contiguous matrix.
bli_zfree_contigm( a_save, a_rs_save, a_cs_save,
&a, &a_rs, &a_cs );
}
1.7.6.1