libflame revision_anchor
Functions
bli_axpysv.c File Reference

(r)

Functions

void bli_saxpysv (int n, float *alpha0, float *alpha1, float *x, int incx, float *beta, float *y, int incy)
void bli_daxpysv (int n, double *alpha0, double *alpha1, double *x, int incx, double *beta, double *y, int incy)
void bli_caxpysv (int n, scomplex *alpha0, scomplex *alpha1, scomplex *x, int incx, scomplex *beta, scomplex *y, int incy)
void bli_zaxpysv (int n, dcomplex *alpha0, dcomplex *alpha1, dcomplex *x, int incx, dcomplex *beta, dcomplex *y, int incy)

Function Documentation

void bli_caxpysv ( int  n,
scomplex alpha0,
scomplex alpha1,
scomplex x,
int  incx,
scomplex beta,
scomplex y,
int  incy 
)

References bli_caxpy(), bli_cscal(), bli_zero_dim1(), scomplex::imag, and scomplex::real.

Referenced by FLA_Lyap_h_opc_var2(), FLA_Lyap_h_opc_var3(), FLA_Lyap_h_opc_var4(), FLA_Lyap_n_opc_var2(), FLA_Lyap_n_opc_var3(), and FLA_Lyap_n_opc_var4().

{
    scomplex alpha_prod;

    // Return early if possible.
    if ( bli_zero_dim1( n ) ) return;

    alpha_prod.real = alpha0->real * alpha1->real - alpha0->imag * alpha1->imag;
    alpha_prod.imag = alpha0->real * alpha1->imag + alpha0->imag * alpha1->real;

    bli_cscal( n,
               beta,
               y, incy );

    bli_caxpy( n,
               &alpha_prod,
               x, incx,
               y, incy );
}
void bli_daxpysv ( int  n,
double *  alpha0,
double *  alpha1,
double *  x,
int  incx,
double *  beta,
double *  y,
int  incy 
)

References bli_daxpy(), bli_dscal(), and bli_zero_dim1().

Referenced by FLA_Lyap_h_opd_var2(), FLA_Lyap_h_opd_var3(), FLA_Lyap_h_opd_var4(), FLA_Lyap_n_opd_var2(), FLA_Lyap_n_opd_var3(), and FLA_Lyap_n_opd_var4().

{
    double   alpha_prod;

    // Return early if possible.
    if ( bli_zero_dim1( n ) ) return;

    alpha_prod = (*alpha0) * (*alpha1);

    bli_dscal( n,
               beta,
               y, incy );

    bli_daxpy( n,
               &alpha_prod,
               x, incx,
               y, incy );
}
void bli_saxpysv ( int  n,
float *  alpha0,
float *  alpha1,
float *  x,
int  incx,
float *  beta,
float *  y,
int  incy 
)

References bli_saxpy(), bli_sscal(), and bli_zero_dim1().

Referenced by FLA_Lyap_h_ops_var2(), FLA_Lyap_h_ops_var3(), FLA_Lyap_h_ops_var4(), FLA_Lyap_n_ops_var2(), FLA_Lyap_n_ops_var3(), and FLA_Lyap_n_ops_var4().

{
    float    alpha_prod;

    // Return early if possible.
    if ( bli_zero_dim1( n ) ) return;

    alpha_prod = (*alpha0) * (*alpha1);

    bli_sscal( n,
               beta,
               y, incy );

    bli_saxpy( n,
               &alpha_prod,
               x, incx,
               y, incy );
}
void bli_zaxpysv ( int  n,
dcomplex alpha0,
dcomplex alpha1,
dcomplex x,
int  incx,
dcomplex beta,
dcomplex y,
int  incy 
)

References bli_zaxpy(), bli_zero_dim1(), bli_zscal(), dcomplex::imag, and dcomplex::real.

Referenced by FLA_Lyap_h_opz_var2(), FLA_Lyap_h_opz_var3(), FLA_Lyap_h_opz_var4(), FLA_Lyap_n_opz_var2(), FLA_Lyap_n_opz_var3(), and FLA_Lyap_n_opz_var4().

{
    dcomplex alpha_prod;

    // Return early if possible.
    if ( bli_zero_dim1( n ) ) return;

    alpha_prod.real = alpha0->real * alpha1->real - alpha0->imag * alpha1->imag;
    alpha_prod.imag = alpha0->real * alpha1->imag + alpha0->imag * alpha1->real;

    bli_zscal( n,
               beta,
               y, incy );

    bli_zaxpy( n,
               &alpha_prod,
               x, incx,
               y, incy );
}