libflame  revision_anchor
Functions
FLA_Bsvd_create_workspace.c File Reference

(r)

Functions

FLA_Error FLA_Bsvd_create_workspace (FLA_Obj d, FLA_Obj *G, FLA_Obj *H)
 

Function Documentation

◆ FLA_Bsvd_create_workspace()

FLA_Error FLA_Bsvd_create_workspace ( FLA_Obj  d,
FLA_Obj G,
FLA_Obj H 
)

References FLA_Check_error_level(), FLA_Check_nonconstant_object(), FLA_Check_real_object(), FLA_Obj_create(), FLA_Obj_datatype_proj_to_complex(), and FLA_Obj_vector_dim().

14 {
15  FLA_Error e_val = FLA_SUCCESS;
16 
17  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
18  {
19  e_val = FLA_Check_real_object( d );
20  FLA_Check_error_code( e_val );
21 
22  e_val = FLA_Check_nonconstant_object( d );
23  FLA_Check_error_code( e_val );
24  }
25 
26  // G and H stores the left and right Givens scalars.
28  dim_t m_d = FLA_Obj_vector_dim( d );
29  dim_t k_accum = min( 32, m_d );
30 
31  if ( G != NULL ) FLA_Obj_create( dt_comp, m_d-1, k_accum, 0, 0, G );
32  if ( H != NULL ) FLA_Obj_create( dt_comp, m_d-1, k_accum, 0, 0, H );
33 
34  return FLA_SUCCESS;
35 }
FLA_Error FLA_Obj_create(FLA_Datatype datatype, dim_t m, dim_t n, dim_t rs, dim_t cs, FLA_Obj *obj)
Definition: FLA_Obj.c:55
FLA_Datatype FLA_Obj_datatype_proj_to_complex(FLA_Obj A)
Definition: FLA_Query.c:37
unsigned long dim_t
Definition: FLA_type_defs.h:71
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition: FLA_Check.c:954
FLA_Error FLA_Check_real_object(FLA_Obj A)
Definition: FLA_Check.c:258
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18
int FLA_Datatype
Definition: FLA_type_defs.h:49