libflame  revision_anchor
Functions
FLA_Bsvd_check.c File Reference

(r)

Functions

FLA_Error FLA_Bsvd_check (FLA_Uplo uplo, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Svd_type jobu, FLA_Obj U, FLA_Svd_type jobv, FLA_Obj V)
 

Function Documentation

◆ FLA_Bsvd_check()

FLA_Error FLA_Bsvd_check ( FLA_Uplo  uplo,
FLA_Obj  d,
FLA_Obj  e,
FLA_Obj  G,
FLA_Obj  H,
FLA_Svd_type  jobu,
FLA_Obj  U,
FLA_Svd_type  jobv,
FLA_Obj  V 
)
17 {
18  FLA_Error e_val = FLA_SUCCESS;
19  dim_t m_d, m_e;
20 
21  e_val = FLA_Check_valid_uplo( uplo );
22  FLA_Check_error_code( e_val );
23 
24  e_val = FLA_Check_real_object( d );
25  FLA_Check_error_code( e_val );
26 
27  e_val = FLA_Check_nonconstant_object( d );
28  FLA_Check_error_code( e_val );
29 
30  m_d = FLA_Obj_vector_dim( d );
31  m_e = ( m_d - 1 );
32 
33  if ( m_e > 0 )
34  {
35  e_val = FLA_Check_real_object( e );
36  FLA_Check_error_code( e_val );
37 
38  e_val = FLA_Check_nonconstant_object( e );
39  FLA_Check_error_code( e_val );
40 
42  FLA_Check_error_code( e_val );
43 
44  e_val = FLA_Check_vector_dim( e, m_e );
45  FLA_Check_error_code( e_val );
46  }
47 
48  if ( m_e > 0 )
49  {
50  e_val = FLA_Check_complex_object( G );
51  FLA_Check_error_code( e_val );
52 
54  FLA_Check_error_code( e_val );
55 
56  e_val = FLA_Check_object_length_equals( G, m_e );
57  FLA_Check_error_code( e_val );
58  }
59 
60  if ( m_e > 0 )
61  {
62  e_val = FLA_Check_complex_object( H );
63  FLA_Check_error_code( e_val );
64 
66  FLA_Check_error_code( e_val );
67 
68  e_val = FLA_Check_object_length_equals( H, m_e );
69  FLA_Check_error_code( e_val );
70  }
71 
73  FLA_Check_error_code( e_val );
74 
76  FLA_Check_error_code( e_val );
77 
78  if ( jobu != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( U ) == FALSE )
79  {
81  FLA_Check_error_code( e_val );
82  }
83 
84  if ( jobv != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( V ) == FALSE )
85  {
87  FLA_Check_error_code( e_val );
88  }
89 
90  return FLA_SUCCESS;
91 }
FLA_Error FLA_Check_valid_svd_type(FLA_Svd_type svd_type)
Definition: FLA_Check.c:1254
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition: FLA_Query.c:400
FLA_Error FLA_Check_real_object(FLA_Obj A)
Definition: FLA_Check.c:258
FLA_Error FLA_Check_identical_object_precision(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:298
FLA_Error FLA_Check_object_length_equals(FLA_Obj A, dim_t m)
Definition: FLA_Check.c:1039
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition: FLA_Check.c:954
FLA_Error FLA_Check_identical_object_datatype(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:967
FLA_Error FLA_Check_vector_dim(FLA_Obj x, dim_t expected_length)
Definition: FLA_Check.c:1213
FLA_Error FLA_Check_complex_object(FLA_Obj A)
Definition: FLA_Check.c:285
FLA_Error FLA_Check_valid_uplo(FLA_Uplo uplo)
Definition: FLA_Check.c:76
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137
int FLA_Error
Definition: FLA_type_defs.h:47
unsigned long dim_t
Definition: FLA_type_defs.h:71

References FLA_Check_complex_object(), FLA_Check_identical_object_datatype(), FLA_Check_identical_object_precision(), FLA_Check_nonconstant_object(), FLA_Check_object_length_equals(), FLA_Check_real_object(), FLA_Check_valid_svd_type(), FLA_Check_valid_uplo(), FLA_Check_vector_dim(), FLA_Obj_has_zero_dim(), and FLA_Obj_vector_dim().

Referenced by FLA_Bsvd(), and FLA_Bsvd_ext_check().