libflame  revision_anchor
Functions
FLA_Repart_2x2_to_3x3_check.c File Reference

(r)

Functions

FLA_Error FLA_Repart_2x2_to_3x3_check (FLA_Obj ATL, FLA_Obj ATR, FLA_Obj *A00, FLA_Obj *A01, FLA_Obj *A02, FLA_Obj *A10, FLA_Obj *A11, FLA_Obj *A12, FLA_Obj ABL, FLA_Obj ABR, FLA_Obj *A20, FLA_Obj *A21, FLA_Obj *A22, dim_t mb, dim_t nb, FLA_Quadrant quadrant)
 

Function Documentation

◆ FLA_Repart_2x2_to_3x3_check()

FLA_Error FLA_Repart_2x2_to_3x3_check ( FLA_Obj  ATL,
FLA_Obj  ATR,
FLA_Obj A00,
FLA_Obj A01,
FLA_Obj A02,
FLA_Obj A10,
FLA_Obj A11,
FLA_Obj A12,
FLA_Obj  ABL,
FLA_Obj  ABR,
FLA_Obj A20,
FLA_Obj A21,
FLA_Obj A22,
dim_t  mb,
dim_t  nb,
FLA_Quadrant  quadrant 
)

References FLA_Check_attempted_repart_2x2(), FLA_Check_null_pointer(), FLA_Check_valid_object_datatype(), and FLA_Check_valid_quadrant().

Referenced by FLA_Repart_2x2_to_3x3().

17 {
18  FLA_Error e_val;
19 
20  e_val = FLA_Check_valid_object_datatype( ATL );
21  FLA_Check_error_code( e_val );
22 
23  e_val = FLA_Check_valid_object_datatype( ABL );
24  FLA_Check_error_code( e_val );
25 
26  e_val = FLA_Check_valid_object_datatype( ATR );
27  FLA_Check_error_code( e_val );
28 
29  e_val = FLA_Check_valid_object_datatype( ABR );
30  FLA_Check_error_code( e_val );
31 
32  e_val = FLA_Check_null_pointer( A00 );
33  FLA_Check_error_code( e_val );
34 
35  e_val = FLA_Check_null_pointer( A10 );
36  FLA_Check_error_code( e_val );
37 
38  e_val = FLA_Check_null_pointer( A20 );
39  FLA_Check_error_code( e_val );
40 
41  e_val = FLA_Check_null_pointer( A01 );
42  FLA_Check_error_code( e_val );
43 
44  e_val = FLA_Check_null_pointer( A11 );
45  FLA_Check_error_code( e_val );
46 
47  e_val = FLA_Check_null_pointer( A21 );
48  FLA_Check_error_code( e_val );
49 
50  e_val = FLA_Check_null_pointer( A02 );
51  FLA_Check_error_code( e_val );
52 
53  e_val = FLA_Check_null_pointer( A12 );
54  FLA_Check_error_code( e_val );
55 
56  e_val = FLA_Check_null_pointer( A22 );
57  FLA_Check_error_code( e_val );
58 
59  e_val = FLA_Check_valid_quadrant( quadrant );
60  FLA_Check_error_code( e_val );
61 
62  if ( quadrant == FLA_TL )
63  {
64  e_val = FLA_Check_attempted_repart_2x2( ATL, mb, nb );
65  FLA_Check_error_code( e_val );
66  }
67  else if ( quadrant == FLA_TR )
68  {
69  e_val = FLA_Check_attempted_repart_2x2( ATR, mb, nb );
70  FLA_Check_error_code( e_val );
71  }
72  else if ( quadrant == FLA_BL )
73  {
74  e_val = FLA_Check_attempted_repart_2x2( ABL, mb, nb );
75  FLA_Check_error_code( e_val );
76  }
77  else if ( quadrant == FLA_BR )
78  {
79  e_val = FLA_Check_attempted_repart_2x2( ABR, mb, nb );
80  FLA_Check_error_code( e_val );
81  }
82 
83  // Needed: check for adjacency, similar to those in FLA_Merge_*().
84 
85  return FLA_SUCCESS;
86 }
FLA_Error FLA_Check_attempted_repart_2x2(FLA_Obj A_quad, dim_t b_m, dim_t b_n)
Definition: FLA_Check.c:1091
FLA_Error FLA_Check_valid_quadrant(FLA_Quadrant quad)
Definition: FLA_Check.c:727
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLA_Check_valid_object_datatype(FLA_Obj A)
Definition: FLA_Check.c:171
FLA_Error FLA_Check_null_pointer(void *ptr)
Definition: FLA_Check.c:518