libflame revision_anchor
FLA_Bidiag_UT_form_U_check.c File Reference

(r)

Functions

FLA_Error FLA_Bidiag_UT_form_U_check (FLA_Obj A, FLA_Obj T, FLA_Obj U)
 

Function Documentation

◆ FLA_Bidiag_UT_form_U_check()

FLA_Error FLA_Bidiag_UT_form_U_check ( FLA_Obj A,
FLA_Obj T,
FLA_Obj U )
14{
15 FLA_Error e_val;
16 dim_t m_A, n_A;
17
18 e_val = FLA_Check_floating_object( A );
19 FLA_Check_error_code( e_val );
20
22 FLA_Check_error_code( e_val );
23
25 FLA_Check_error_code( e_val );
26
28 FLA_Check_error_code( e_val );
29
30 // U is not necessary to be square.
31 // e_val = FLA_Check_square( U );
32 // FLA_Check_error_code( e_val );
33
34 m_A = FLA_Obj_length( A );
35 n_A = FLA_Obj_width( A );
36
37 // Form U has no problem in overwriting on A which contains house holder vectors
38 // on the lower triangular of the diagonal or subdiagonal.
39 if ( m_A >= n_A )
40 {
41 e_val = FLA_Check_object_width_equals( T, n_A );
42 FLA_Check_error_code( e_val );
43
44 e_val = FLA_Check_object_length_equals( U, m_A );
45 FLA_Check_error_code( e_val );
46 }
47 else
48 {
49 e_val = FLA_Check_object_width_equals( T, m_A );
50 FLA_Check_error_code( e_val );
51
52 e_val = FLA_Check_object_length_equals( U, m_A );
53 FLA_Check_error_code( e_val );
54 }
55
56 return FLA_SUCCESS;
57}
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_object_length_equals(FLA_Obj A, dim_t m)
Definition FLA_Check.c:1039
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_floating_object(FLA_Obj A)
Definition FLA_Check.c:232
int FLA_Error
Definition FLA_type_defs.h:47
unsigned long dim_t
Definition FLA_type_defs.h:71

References FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_nonconstant_object(), FLA_Check_object_length_equals(), FLA_Check_object_width_equals(), FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Bidiag_UT_form_U().