libflame revision_anchor
FLA_Svd_ext_check.c File Reference

(r)

Functions

FLA_Error FLA_Svd_ext_check (FLA_Svd_type jobu, FLA_Trans transu, FLA_Svd_type jobv, FLA_Trans transv, FLA_Obj A, FLA_Obj s, FLA_Obj U, FLA_Obj V)
 

Function Documentation

◆ FLA_Svd_ext_check()

FLA_Error FLA_Svd_ext_check ( FLA_Svd_type jobu,
FLA_Trans transu,
FLA_Svd_type jobv,
FLA_Trans transv,
FLA_Obj A,
FLA_Obj s,
FLA_Obj U,
FLA_Obj V )
16{
17 FLA_Error e_val;
18
19 e_val = FLA_Check_valid_svd_type( jobu );
20 FLA_Check_error_code( e_val );
21
22 e_val = FLA_Check_valid_svd_type( jobv );
23 FLA_Check_error_code( e_val );
24
25 e_val = FLA_Check_valid_svd_type_combination( jobu, jobv );
26 FLA_Check_error_code( e_val );
27
28 e_val = FLA_Check_valid_trans( transu );
29 FLA_Check_error_code( e_val );
30
31 e_val = FLA_Check_valid_trans( transv );
32 FLA_Check_error_code( e_val );
33
34 e_val = FLA_Check_valid_svd_type_and_trans_combination( jobu, transu, jobv, transv );
35 FLA_Check_error_code( e_val );
36
37 e_val = FLA_Check_floating_object( A );
38 FLA_Check_error_code( e_val );
39
41 FLA_Check_error_code( e_val );
42
43 e_val = FLA_Check_real_object( s );
44 FLA_Check_error_code( e_val );
45
47 FLA_Check_error_code( e_val );
48
49 e_val = FLA_Check_vector_dim( s, FLA_Obj_min_dim( A ) );
50 FLA_Check_error_code( e_val );
51
52 e_val = FLA_Check_col_storage( s );
53 FLA_Check_error_code( e_val );
54
55 if ( jobu != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( U ) == FALSE )
56 {
58 FLA_Check_error_code( e_val );
59
60 if ( transu == FLA_NO_TRANSPOSE || transu == FLA_CONJ_NO_TRANSPOSE )
61 {
63 FLA_Check_error_code( e_val );
64 }
65 else
66 {
68 FLA_Check_error_code( e_val );
69 }
70 }
71
72 if ( jobv != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( V ) == FALSE )
73 {
75 FLA_Check_error_code( e_val );
76
77 if ( transv == FLA_NO_TRANSPOSE || transv == FLA_CONJ_NO_TRANSPOSE )
78 {
80 FLA_Check_error_code( e_val );
81 }
82 else
83 {
85 FLA_Check_error_code( e_val );
86 }
87 }
88
89 return FLA_SUCCESS;
90}
FLA_Error FLA_Check_valid_svd_type_combination(FLA_Svd_type svd_type_u, FLA_Svd_type svd_type_v)
Definition FLA_Check.c:1267
FLA_Error FLA_Check_valid_svd_type(FLA_Svd_type svd_type)
Definition FLA_Check.c:1254
FLA_Error FLA_Check_valid_svd_type_and_trans_combination(FLA_Svd_type svd_type_u, FLA_Trans transu, FLA_Svd_type svd_type_v, FLA_Trans transv)
Definition FLA_Check.c:1278
FLA_Error FLA_Check_object_width_equals(FLA_Obj A, dim_t n)
Definition FLA_Check.c:1049
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
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_valid_trans(FLA_Trans trans)
Definition FLA_Check.c:87
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
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_col_storage(FLA_Obj A)
Definition FLA_Check.c:1325
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition FLA_Query.c:153
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition FLA_Check.c:232
int FLA_Error
Definition FLA_type_defs.h:47

References FLA_Check_col_storage(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_identical_object_precision(), FLA_Check_nonconstant_object(), FLA_Check_object_length_equals(), FLA_Check_object_width_equals(), FLA_Check_real_object(), FLA_Check_valid_svd_type(), FLA_Check_valid_svd_type_and_trans_combination(), FLA_Check_valid_svd_type_combination(), FLA_Check_valid_trans(), FLA_Check_vector_dim(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_min_dim(), and FLA_Obj_width().

Referenced by FLA_Svd_ext().