libflame  revision_anchor
Functions | Variables
FLA_Bidiag_UT.c File Reference

(r)

Functions

FLA_Error FLA_Bidiag_UT (FLA_Obj A, FLA_Obj TU, FLA_Obj TV)
 

Variables

fla_bidiagut_tfla_bidiagut_cntl_fused
 
fla_bidiagut_tfla_bidiagut_cntl_nofus
 
fla_bidiagut_tfla_bidiagut_cntl_plain
 

Function Documentation

◆ FLA_Bidiag_UT()

FLA_Error FLA_Bidiag_UT ( FLA_Obj  A,
FLA_Obj  TU,
FLA_Obj  TV 
)

References FLA_Bidiag_UT_check(), FLA_Bidiag_UT_internal(), FLA_Check_error_level(), FLA_Obj_is_double_precision(), and FLA_Obj_row_stride().

Referenced by FLA_Svd_ext_u_unb_var1(), FLA_Svd_uv_unb_var1(), and FLA_Svd_uv_unb_var2().

18 {
19  FLA_Error r_val;
20 
21  // Check parameters.
22  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
23  FLA_Bidiag_UT_check( A, TU, TV );
24 
25  if ( FLA_Obj_row_stride( A ) == 1 &&
26  FLA_Obj_row_stride( TU ) == 1 &&
27  FLA_Obj_row_stride( TV ) == 1 &&
29  // Temporary modification to "nofus";
30  // fused operations are not working for row-major, ex) bl1_ddotsv2
31  r_val = FLA_Bidiag_UT_internal( A, TU, TV, fla_bidiagut_cntl_plain );
32  else
33  r_val = FLA_Bidiag_UT_internal( A, TU, TV, fla_bidiagut_cntl_plain );
34 
35  return r_val;
36 }
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition: FLA_Query.c:167
FLA_Bool FLA_Obj_is_double_precision(FLA_Obj A)
Definition: FLA_Query.c:358
int FLA_Error
Definition: FLA_type_defs.h:47
fla_bidiagut_t * fla_bidiagut_cntl_plain
Definition: FLA_Bidiag_UT_cntl_init.c:15
FLA_Error FLA_Bidiag_UT_internal(FLA_Obj A, FLA_Obj TU, FLA_Obj TV, fla_bidiagut_t *cntl)
Definition: FLA_Bidiag_UT_internal.c:13
FLA_Error FLA_Bidiag_UT_check(FLA_Obj A, FLA_Obj TU, FLA_Obj TV)
Definition: FLA_Bidiag_UT_check.c:13
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18

Variable Documentation

◆ fla_bidiagut_cntl_fused

fla_bidiagut_t* fla_bidiagut_cntl_fused

◆ fla_bidiagut_cntl_nofus

fla_bidiagut_t* fla_bidiagut_cntl_nofus

◆ fla_bidiagut_cntl_plain

fla_bidiagut_t* fla_bidiagut_cntl_plain