libflame  revision_anchor
Functions
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 
21  e_val = FLA_Check_nonconstant_object( A );
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().