libflame  revision_anchor
Functions
bli_scalediag.c File Reference

(r)

Functions

void bli_sscalediag (conj_t conj, int offset, int m, int n, float *sigma, float *a, int a_rs, int a_cs)
void bli_dscalediag (conj_t conj, int offset, int m, int n, double *sigma, double *a, int a_rs, int a_cs)
void bli_csscalediag (conj_t conj, int offset, int m, int n, float *sigma, scomplex *a, int a_rs, int a_cs)
void bli_zdscalediag (conj_t conj, int offset, int m, int n, double *sigma, dcomplex *a, int a_rs, int a_cs)
void bli_cscalediag (conj_t conj, int offset, int m, int n, scomplex *sigma, scomplex *a, int a_rs, int a_cs)
void bli_zscalediag (conj_t conj, int offset, int m, int n, dcomplex *sigma, dcomplex *a, int a_rs, int a_cs)

Function Documentation

void bli_cscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
scomplex sigma,
scomplex a,
int  a_rs,
int  a_cs 
)

Referenced by FLA_Scale_diag(), and FLA_UDdate_UT_opc_var1().

{
    scomplex* alpha;
    scomplex  sigma_conj;
    int       i, j;

    bli_ccopys( conj, sigma, &sigma_conj );

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        bli_cscals( &sigma_conj, alpha );

        ++i;
        ++j;
    }
}
void bli_csscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
float *  sigma,
scomplex a,
int  a_rs,
int  a_cs 
)

References scomplex::imag, and scomplex::real.

Referenced by FLA_Scale_diag().

{
    scomplex* alpha;
    int       i, j;

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        alpha->real *= *sigma;
        alpha->imag *= *sigma;

        ++i;
        ++j;
    }
}
void bli_dscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
double *  sigma,
double *  a,
int  a_rs,
int  a_cs 
)

Referenced by FLA_Scale_diag(), and FLA_UDdate_UT_opd_var1().

{
    double* alpha;
    int     i, j;

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        *alpha *= *sigma;

        ++i;
        ++j;
    }
}
void bli_sscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
float *  sigma,
float *  a,
int  a_rs,
int  a_cs 
)

Referenced by FLA_Scale_diag(), and FLA_UDdate_UT_ops_var1().

{
    float* alpha;
    int    i, j;

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        *alpha *= *sigma;

        ++i;
        ++j;
    }
}
void bli_zdscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
double *  sigma,
dcomplex a,
int  a_rs,
int  a_cs 
)

References dcomplex::imag, and dcomplex::real.

Referenced by FLA_Scale_diag().

{
    dcomplex* alpha;
    int       i, j;

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        alpha->real *= *sigma;
        alpha->imag *= *sigma;

        ++i;
        ++j;
    }
}
void bli_zscalediag ( conj_t  conj,
int  offset,
int  m,
int  n,
dcomplex sigma,
dcomplex a,
int  a_rs,
int  a_cs 
)

Referenced by FLA_Scale_diag(), and FLA_UDdate_UT_opz_var1().

{
    dcomplex* alpha;
    dcomplex  sigma_conj;
    int       i, j;

    bli_zcopys( conj, sigma, &sigma_conj );

    i = j = 0;

    if      ( offset < 0 ) i = -offset;
    else if ( offset > 0 ) j =  offset;
    
    while ( i < m && j < n )
    {
        alpha = a + i*a_rs + j*a_cs;
    
        bli_zscals( &sigma_conj, alpha );

        ++i;
        ++j;
    }
}