libflame
12600
|
Functions | |
FLA_Error | FLA_Trsv_external (FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj A, FLA_Obj x) |
References bl1_ctrsv(), bl1_dtrsv(), bl1_strsv(), bl1_ztrsv(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_vector_inc(), FLA_Param_map_flame_to_blis_diag(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), and FLA_Trsv_check().
Referenced by FLA_Chol_l_unb_var1(), FLA_Chol_u_unb_var1(), FLA_Eig_gest_il_unb_var1(), FLA_Eig_gest_il_unb_var5(), FLA_Eig_gest_iu_unb_var1(), FLA_Eig_gest_iu_unb_var5(), FLA_LU_nopiv_unb_var1(), FLA_LU_nopiv_unb_var2(), FLA_LU_nopiv_unb_var3(), FLA_LU_piv_unb_var3(), FLA_LU_piv_unb_var3b(), FLA_Trinv_ln_unb_var2(), FLA_Trinv_ln_unb_var4(), FLA_Trinv_lu_unb_var2(), FLA_Trinv_lu_unb_var4(), FLA_Trinv_un_unb_var2(), FLA_Trinv_un_unb_var4(), FLA_Trinv_uu_unb_var2(), FLA_Trinv_uu_unb_var4(), FLA_Trsm_llc_unb_var3(), FLA_Trsm_llc_unb_var4(), FLA_Trsm_llh_unb_var3(), FLA_Trsm_llh_unb_var4(), FLA_Trsm_lln_unb_var3(), FLA_Trsm_lln_unb_var4(), FLA_Trsm_llt_unb_var3(), FLA_Trsm_llt_unb_var4(), FLA_Trsm_luc_unb_var3(), FLA_Trsm_luc_unb_var4(), FLA_Trsm_luh_unb_var3(), FLA_Trsm_luh_unb_var4(), FLA_Trsm_lun_unb_var3(), FLA_Trsm_lun_unb_var4(), FLA_Trsm_lut_unb_var3(), FLA_Trsm_lut_unb_var4(), FLA_Trsm_rlc_unb_var3(), FLA_Trsm_rlc_unb_var4(), FLA_Trsm_rlh_unb_var3(), FLA_Trsm_rlh_unb_var4(), FLA_Trsm_rln_unb_var3(), FLA_Trsm_rln_unb_var4(), FLA_Trsm_rlt_unb_var3(), FLA_Trsm_rlt_unb_var4(), FLA_Trsm_ruc_unb_var3(), FLA_Trsm_ruc_unb_var4(), FLA_Trsm_ruh_unb_var3(), FLA_Trsm_ruh_unb_var4(), FLA_Trsm_run_unb_var3(), FLA_Trsm_run_unb_var4(), FLA_Trsm_rut_unb_var3(), FLA_Trsm_rut_unb_var4(), FLA_Trsv(), FLA_Trsv_lc_task(), FLA_Trsv_ln_task(), FLA_Trsv_lt_task(), FLA_Trsv_task(), FLA_Trsv_uc_task(), FLA_Trsv_un_task(), FLA_Trsv_ut_task(), FLA_Trsvsx_external(), and FLASH_FS_incpiv_aux1().
{ FLA_Datatype datatype; int m_A; int rs_A, cs_A; int inc_x; uplo1_t blis_uplo; trans1_t blis_trans; diag1_t blis_diag; if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING ) FLA_Trsv_check( uplo, trans, diag, A, x ); if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS; datatype = FLA_Obj_datatype( A ); m_A = FLA_Obj_length( A ); rs_A = FLA_Obj_row_stride( A ); cs_A = FLA_Obj_col_stride( A ); inc_x = FLA_Obj_vector_inc( x ); FLA_Param_map_flame_to_blis_uplo( uplo, &blis_uplo ); FLA_Param_map_flame_to_blis_trans( trans, &blis_trans ); FLA_Param_map_flame_to_blis_diag( diag, &blis_diag ); switch( datatype ){ case FLA_FLOAT: { float *buff_A = ( float * ) FLA_FLOAT_PTR( A ); float *buff_x = ( float * ) FLA_FLOAT_PTR( x ); bl1_strsv( blis_uplo, blis_trans, blis_diag, m_A, buff_A, rs_A, cs_A, buff_x, inc_x ); break; } case FLA_DOUBLE: { double *buff_A = ( double * ) FLA_DOUBLE_PTR( A ); double *buff_x = ( double * ) FLA_DOUBLE_PTR( x ); bl1_dtrsv( blis_uplo, blis_trans, blis_diag, m_A, buff_A, rs_A, cs_A, buff_x, inc_x ); break; } case FLA_COMPLEX: { scomplex *buff_A = ( scomplex * ) FLA_COMPLEX_PTR( A ); scomplex *buff_x = ( scomplex * ) FLA_COMPLEX_PTR( x ); bl1_ctrsv( blis_uplo, blis_trans, blis_diag, m_A, buff_A, rs_A, cs_A, buff_x, inc_x ); break; } case FLA_DOUBLE_COMPLEX: { dcomplex *buff_A = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A ); dcomplex *buff_x = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( x ); bl1_ztrsv( blis_uplo, blis_trans, blis_diag, m_A, buff_A, rs_A, cs_A, buff_x, inc_x ); break; } } return FLA_SUCCESS; }