| 
    libflame
    12600
    
   
   | 
  
  
  
 
Functions | |
| FLA_Error | FLA_Dotcs_external (FLA_Conj conj, FLA_Obj alpha, FLA_Obj x, FLA_Obj y, FLA_Obj beta, FLA_Obj rho) | 
| FLA_Error FLA_Dotcs_external | ( | FLA_Conj | conj, | 
| FLA_Obj | alpha, | ||
| FLA_Obj | x, | ||
| FLA_Obj | y, | ||
| FLA_Obj | beta, | ||
| FLA_Obj | rho | ||
| ) | 
References bl1_cdots(), bl1_ddots(), bl1_sdots(), bl1_zdots(), FLA_Check_error_level(), FLA_Dotcs_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_vector_dim(), FLA_Obj_vector_inc(), FLA_Param_map_flame_to_blis_conj(), and FLA_Scal_external().
Referenced by FLA_Chol_l_unb_var1(), FLA_Chol_l_unb_var2(), FLA_Chol_u_unb_var1(), FLA_Chol_u_unb_var2(), FLA_Dotcs(), FLA_Herk_lh_unb_var1(), FLA_Herk_lh_unb_var2(), FLA_Herk_lh_unb_var3(), FLA_Herk_lh_unb_var4(), FLA_Herk_ln_unb_var1(), FLA_Herk_ln_unb_var2(), FLA_Herk_ln_unb_var3(), FLA_Herk_ln_unb_var4(), FLA_Herk_uh_unb_var1(), FLA_Herk_uh_unb_var2(), FLA_Herk_uh_unb_var3(), FLA_Herk_uh_unb_var4(), FLA_Herk_un_unb_var1(), FLA_Herk_un_unb_var2(), FLA_Herk_un_unb_var3(), FLA_Herk_un_unb_var4(), FLA_Ttmm_l_unb_var2(), FLA_Ttmm_l_unb_var3(), FLA_Ttmm_u_unb_var2(), and FLA_Ttmm_u_unb_var3().
{
  FLA_Datatype datatype;
  int          num_elem;
  int          inc_x;
  int          inc_y;
  conj1_t       blis_conj;
  if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING ) 
    FLA_Dotcs_check( conj, alpha, x, y, beta, rho );
  if ( FLA_Obj_has_zero_dim( x ) )
  {
    FLA_Scal_external( beta, rho );
    return FLA_SUCCESS;
  }
  datatype = FLA_Obj_datatype( x );
  inc_x    = FLA_Obj_vector_inc( x );
  inc_y    = FLA_Obj_vector_inc( y );
  num_elem = FLA_Obj_vector_dim( x );
  FLA_Param_map_flame_to_blis_conj( conj, &blis_conj );
  switch ( datatype ){
  
  case FLA_FLOAT:
  {
    float *buff_x      = ( float * ) FLA_FLOAT_PTR( x );
    float *buff_y      = ( float * ) FLA_FLOAT_PTR( y );
    float *buff_rho    = ( float * ) FLA_FLOAT_PTR( rho );
    float *buff_alpha  = ( float * ) FLA_FLOAT_PTR( alpha );
    float *buff_beta   = ( float * ) FLA_FLOAT_PTR( beta );
    bl1_sdots( blis_conj,
               num_elem, 
               buff_alpha,
               buff_x, inc_x, 
               buff_y, inc_y,
               buff_beta,
               buff_rho );
    break;
  }
  case FLA_DOUBLE:
  {
    double *buff_x      = ( double * ) FLA_DOUBLE_PTR( x );
    double *buff_y      = ( double * ) FLA_DOUBLE_PTR( y );
    double *buff_rho    = ( double * ) FLA_DOUBLE_PTR( rho );
    double *buff_alpha  = ( double * ) FLA_DOUBLE_PTR( alpha );
    double *buff_beta   = ( double * ) FLA_DOUBLE_PTR( beta );
    bl1_ddots( blis_conj,
               num_elem, 
               buff_alpha,
               buff_x, inc_x, 
               buff_y, inc_y,
               buff_beta,
               buff_rho );
    break;
  }
  case FLA_COMPLEX:
  {
    scomplex *buff_x      = ( scomplex * ) FLA_COMPLEX_PTR( x );
    scomplex *buff_y      = ( scomplex * ) FLA_COMPLEX_PTR( y );
    scomplex *buff_rho    = ( scomplex * ) FLA_COMPLEX_PTR( rho );
    scomplex *buff_alpha  = ( scomplex * ) FLA_COMPLEX_PTR( alpha );
    scomplex *buff_beta   = ( scomplex * ) FLA_COMPLEX_PTR( beta );
    bl1_cdots( blis_conj,
               num_elem, 
               buff_alpha,
               buff_x, inc_x, 
               buff_y, inc_y,
               buff_beta,
               buff_rho );
    break;
  }
  case FLA_DOUBLE_COMPLEX:
  {
    dcomplex *buff_x      = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( x );
    dcomplex *buff_y      = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( y );
    dcomplex *buff_rho    = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( rho );
    dcomplex *buff_alpha  = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( alpha );
    dcomplex *buff_beta   = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( beta );
    bl1_zdots( blis_conj,
               num_elem, 
               buff_alpha,
               buff_x, inc_x, 
               buff_y, inc_y,
               buff_beta,
               buff_rho );
    break;
  }
  }
  
  return FLA_SUCCESS;
}
 1.7.6.1