libflame revision_anchor
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
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
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().