libflame  revision_anchor
Functions
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 
)

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

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 
40  e_val = FLA_Check_nonconstant_object( A );
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_identical_object_datatype(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:967
FLA_Error FLA_Check_valid_trans(FLA_Trans trans)
Definition: FLA_Check.c:87
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLA_Check_identical_object_precision(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:298
FLA_Error FLA_Check_col_storage(FLA_Obj A)
Definition: FLA_Check.c:1325
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition: FLA_Check.c:954
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition: FLA_Check.c:232
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition: FLA_Query.c:400
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_Error FLA_Check_valid_svd_type(FLA_Svd_type svd_type)
Definition: FLA_Check.c:1254
FLA_Error FLA_Check_real_object(FLA_Obj A)
Definition: FLA_Check.c:258
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_vector_dim(FLA_Obj x, dim_t expected_length)
Definition: FLA_Check.c:1213
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
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
FLA_Error FLA_Check_object_length_equals(FLA_Obj A, dim_t m)
Definition: FLA_Check.c:1039
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition: FLA_Query.c:153