libflame  revision_anchor
Functions
FLA_Apply_Q_UT.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLA_Apply_Q_UT_internal (FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lnfc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lnfr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lnbc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lnbr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lhfc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lhfr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lhbc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_lhbr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rhbc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rhbr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rhfc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rhfr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rnbc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rnbr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rnfc (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_rnfr (FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
 
FLA_Error FLA_Apply_Q_UT_create_workspace (FLA_Obj T, FLA_Obj B, FLA_Obj *W)
 
FLA_Error FLA_Apply_Q_UT_create_workspace_side (FLA_Side side, FLA_Obj T, FLA_Obj B, FLA_Obj *W)
 
FLA_Error FLASH_Apply_Q_UT (FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B)
 
FLA_Error FLASH_Apply_Q_UT_create_workspace (FLA_Obj TW, FLA_Obj B, FLA_Obj *W)
 

Function Documentation

◆ FLA_Apply_Q_UT_create_workspace()

FLA_Error FLA_Apply_Q_UT_create_workspace ( FLA_Obj  T,
FLA_Obj  B,
FLA_Obj W 
)
14 {
15  FLA_Datatype datatype;
16  dim_t m_W, n_W;
17 
18  datatype = FLA_Obj_datatype( T );
19  m_W = FLA_Obj_length( T );
20  n_W = FLA_Obj_max_dim( B );
21 
22  FLA_Obj_create( datatype, m_W, n_W, 0, 0, W );
23 
24  return FLA_SUCCESS;
25 }
FLA_Error FLA_Obj_create(FLA_Datatype datatype, dim_t m, dim_t n, dim_t rs, dim_t cs, FLA_Obj *obj)
Definition: FLA_Obj.c:55
dim_t FLA_Obj_max_dim(FLA_Obj obj)
Definition: FLA_Query.c:160
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49
unsigned long dim_t
Definition: FLA_type_defs.h:71

References FLA_Obj_create(), FLA_Obj_datatype(), FLA_Obj_length(), and FLA_Obj_max_dim().

Referenced by FLA_LQ_UT_solve(), and FLA_QR_UT_solve().

◆ FLA_Apply_Q_UT_create_workspace_side()

FLA_Error FLA_Apply_Q_UT_create_workspace_side ( FLA_Side  side,
FLA_Obj  T,
FLA_Obj  B,
FLA_Obj W 
)
29 {
30  FLA_Datatype datatype;
31  dim_t m_W, n_W;
32 
33  datatype = FLA_Obj_datatype( T );
34  m_W = FLA_Obj_length( T );
35 
36  if ( side == FLA_LEFT ) n_W = FLA_Obj_width( B );
37  else if ( side == FLA_RIGHT ) n_W = FLA_Obj_length( B );
38  else n_W = FLA_Obj_max_dim( B );
39 
40  FLA_Obj_create( datatype, m_W, n_W, 0, 0, W );
41 
42  return FLA_SUCCESS;
43 }
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

References FLA_Obj_create(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_max_dim(), and FLA_Obj_width().

Referenced by FLA_QR_UT_form_Q().

◆ FLA_Apply_Q_UT_internal()

FLA_Error FLA_Apply_Q_UT_internal ( FLA_Side  side,
FLA_Trans  trans,
FLA_Direct  direct,
FLA_Store  storev,
FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
18 {
19  FLA_Error r_val = FLA_SUCCESS;
20 
21  if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING )
22  FLA_Apply_Q_UT_internal_check( side, trans, direct, storev, A, T, W, B, cntl );
23 
24  if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
25  FLA_Obj_elemtype( A ) == FLA_MATRIX &&
26  FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
27  {
28  // Recurse
29  r_val = FLA_Apply_Q_UT_internal( side,
30  trans,
31  direct,
32  storev,
33  *FLASH_OBJ_PTR_AT( A ),
34  *FLASH_OBJ_PTR_AT( T ),
35  *FLASH_OBJ_PTR_AT( W ),
36  *FLASH_OBJ_PTR_AT( B ),
38  }
39  else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
40  FLA_Obj_elemtype( A ) == FLA_SCALAR &&
42  {
43  // Enqueue
44  ENQUEUE_FLASH_Apply_Q_UT( side, trans, direct, storev, A, T, W, B, cntl );
45  }
46  else
47  {
48  if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
49  FLA_Obj_elemtype( A ) == FLA_SCALAR &&
51  {
52  // Execute leaf.
53  cntl = fla_apqut_cntl_leaf;
54  }
55 
56  if ( side == FLA_LEFT )
57  {
58  if ( trans == FLA_NO_TRANSPOSE )
59  {
60  if ( direct == FLA_FORWARD )
61  {
62  if ( storev == FLA_COLUMNWISE )
63  r_val = FLA_Apply_Q_UT_lnfc( A, T, W, B, cntl );
64  else if ( storev == FLA_ROWWISE )
65  r_val = FLA_Apply_Q_UT_lnfr( A, T, W, B, cntl );
66  }
67  else if ( direct == FLA_BACKWARD )
68  {
69  if ( storev == FLA_COLUMNWISE )
70  r_val = FLA_Apply_Q_UT_lnbc( A, T, W, B, cntl );
71  else if ( storev == FLA_ROWWISE )
72  r_val = FLA_Apply_Q_UT_lnbr( A, T, W, B, cntl );
73  }
74  }
75  else if ( trans == FLA_TRANSPOSE || trans == FLA_CONJ_TRANSPOSE )
76  {
77  if ( direct == FLA_FORWARD )
78  {
79  if ( storev == FLA_COLUMNWISE )
80  r_val = FLA_Apply_Q_UT_lhfc( A, T, W, B, cntl );
81  else if ( storev == FLA_ROWWISE )
82  r_val = FLA_Apply_Q_UT_lhfr( A, T, W, B, cntl );
83  }
84  else if ( direct == FLA_BACKWARD )
85  {
86  if ( storev == FLA_COLUMNWISE )
87  r_val = FLA_Apply_Q_UT_lhbc( A, T, W, B, cntl );
88  else if ( storev == FLA_ROWWISE )
89  r_val = FLA_Apply_Q_UT_lhbr( A, T, W, B, cntl );
90  }
91  }
92  }
93  else if ( side == FLA_RIGHT )
94  {
95  if ( trans == FLA_NO_TRANSPOSE )
96  {
97  if ( direct == FLA_FORWARD )
98  {
99  if ( storev == FLA_COLUMNWISE )
100  r_val = FLA_Apply_Q_UT_rnfc( A, T, W, B, cntl );
101  else if ( storev == FLA_ROWWISE )
102  r_val = FLA_Apply_Q_UT_rnfr( A, T, W, B, cntl );
103  }
104  else if ( direct == FLA_BACKWARD )
105  {
106  if ( storev == FLA_COLUMNWISE )
107  r_val = FLA_Apply_Q_UT_rnbc( A, T, W, B, cntl );
108  else if ( storev == FLA_ROWWISE )
109  r_val = FLA_Apply_Q_UT_rnbr( A, T, W, B, cntl );
110  }
111  }
112  else if ( trans == FLA_TRANSPOSE || trans == FLA_CONJ_TRANSPOSE )
113  {
114  if ( direct == FLA_FORWARD )
115  {
116  if ( storev == FLA_COLUMNWISE )
117  r_val = FLA_Apply_Q_UT_rhfc( A, T, W, B, cntl );
118  else if ( storev == FLA_ROWWISE )
119  r_val = FLA_Apply_Q_UT_rhfr( A, T, W, B, cntl );
120  }
121  else if ( direct == FLA_BACKWARD )
122  {
123  if ( storev == FLA_COLUMNWISE )
124  r_val = FLA_Apply_Q_UT_rhbc( A, T, W, B, cntl );
125  else if ( storev == FLA_ROWWISE )
126  r_val = FLA_Apply_Q_UT_rhbr( A, T, W, B, cntl );
127  }
128  }
129  }
130  }
131 
132  return r_val;
133 }
FLA_Bool FLASH_Queue_get_enabled(void)
Definition: FLASH_Queue.c:171
FLA_Error FLA_Apply_Q_UT_rnbr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbr.c:15
FLA_Error FLA_Apply_Q_UT_lnfc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfc.c:15
FLA_Error FLA_Apply_Q_UT_rhfr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfr.c:15
FLA_Error FLA_Apply_Q_UT_rnfr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfr.c:15
FLA_Error FLA_Apply_Q_UT_lhfr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfr.c:15
FLA_Error FLA_Apply_Q_UT_rhbc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbc.c:15
FLA_Error FLA_Apply_Q_UT_lhfc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfc.c:15
FLA_Error FLA_Apply_Q_UT_lhbr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbr.c:15
FLA_Error FLA_Apply_Q_UT_rhfc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfc.c:15
FLA_Error FLA_Apply_Q_UT_rnfc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfc.c:15
FLA_Error FLA_Apply_Q_UT_lnbr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbr.c:15
FLA_Error FLA_Apply_Q_UT_rhbr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbr.c:15
FLA_Error FLA_Apply_Q_UT_lnbc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbc.c:15
FLA_Error FLA_Apply_Q_UT_lnfr(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfr.c:15
FLA_Error FLA_Apply_Q_UT_lhbc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbc.c:15
FLA_Error FLA_Apply_Q_UT_rnbc(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbc.c:15
fla_apqut_t * flash_apqut_cntl
Definition: FLASH_Apply_Q_UT_cntl_init.c:22
fla_apqut_t * fla_apqut_cntl_leaf
Definition: FLA_Apply_Q_UT_cntl_init.c:19
FLA_Error FLA_Apply_Q_UT_internal(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_internal.c:17
FLA_Error FLA_Apply_Q_UT_internal_check(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_internal_check.c:13
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition: FLA_Query.c:51
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18
int FLA_Error
Definition: FLA_type_defs.h:47

References FLA_Apply_Q_UT_internal(), FLA_Apply_Q_UT_internal_check(), FLA_Apply_Q_UT_lhbc(), FLA_Apply_Q_UT_lhbr(), FLA_Apply_Q_UT_lhfc(), FLA_Apply_Q_UT_lhfr(), FLA_Apply_Q_UT_lnbc(), FLA_Apply_Q_UT_lnbr(), FLA_Apply_Q_UT_lnfc(), FLA_Apply_Q_UT_lnfr(), FLA_Apply_Q_UT_rhbc(), FLA_Apply_Q_UT_rhbr(), FLA_Apply_Q_UT_rhfc(), FLA_Apply_Q_UT_rhfr(), FLA_Apply_Q_UT_rnbc(), FLA_Apply_Q_UT_rnbr(), FLA_Apply_Q_UT_rnfc(), FLA_Apply_Q_UT_rnfr(), fla_apqut_cntl_leaf, FLA_Check_error_level(), FLA_Obj_elemtype(), flash_apqut_cntl, and FLASH_Queue_get_enabled().

Referenced by FLA_Apply_Q_UT(), FLA_Apply_Q_UT_inc_lhfc_blk_var1(), FLA_Apply_Q_UT_inc_lnfc_blk_var1(), FLA_Apply_Q_UT_internal(), FLA_Apply_Q_UT_lhbc_blk_var2(), FLA_Apply_Q_UT_lhbc_task(), FLA_Apply_Q_UT_lhbr_blk_var2(), FLA_Apply_Q_UT_lhbr_task(), FLA_Apply_Q_UT_lhfc_blk_var2(), FLA_Apply_Q_UT_lhfc_task(), FLA_Apply_Q_UT_lhfr_blk_var2(), FLA_Apply_Q_UT_lhfr_task(), FLA_Apply_Q_UT_lnbc_blk_var2(), FLA_Apply_Q_UT_lnbc_task(), FLA_Apply_Q_UT_lnbr_blk_var2(), FLA_Apply_Q_UT_lnbr_task(), FLA_Apply_Q_UT_lnfc_blk_var2(), FLA_Apply_Q_UT_lnfc_task(), FLA_Apply_Q_UT_lnfr_blk_var2(), FLA_Apply_Q_UT_lnfr_task(), FLA_Apply_Q_UT_rhbc_blk_var2(), FLA_Apply_Q_UT_rhbc_task(), FLA_Apply_Q_UT_rhbr_blk_var2(), FLA_Apply_Q_UT_rhbr_task(), FLA_Apply_Q_UT_rhfc_blk_var2(), FLA_Apply_Q_UT_rhfc_task(), FLA_Apply_Q_UT_rhfr_blk_var2(), FLA_Apply_Q_UT_rhfr_task(), FLA_Apply_Q_UT_rnbc_blk_var2(), FLA_Apply_Q_UT_rnbc_task(), FLA_Apply_Q_UT_rnbr_blk_var2(), FLA_Apply_Q_UT_rnbr_task(), FLA_Apply_Q_UT_rnfc_blk_var2(), FLA_Apply_Q_UT_rnfc_task(), FLA_Apply_Q_UT_rnfr_blk_var2(), FLA_Apply_Q_UT_rnfr_task(), FLA_Apply_Q_UT_task(), FLA_LQ_UT_blk_var1(), FLA_LQ_UT_blk_var2(), FLA_LQ_UT_blk_var3(), FLA_QR_UT_blk_var1(), FLA_QR_UT_blk_var2(), FLA_QR_UT_blk_var3(), FLA_QR_UT_inc_blk_var1(), FLA_QR_UT_inc_blk_var2(), and FLASH_Apply_Q_UT().

◆ FLA_Apply_Q_UT_lhbc()

FLA_Error FLA_Apply_Q_UT_lhbc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lhbc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lhbc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lhbc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lhbc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbc_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_lhbc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lhbc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbc_blk_var1.c:13

References FLA_Apply_Q_UT_lhbc_blk_var1(), FLA_Apply_Q_UT_lhbc_blk_var2(), and FLA_Apply_Q_UT_lhbc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lhbr()

FLA_Error FLA_Apply_Q_UT_lhbr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lhbr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lhbr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lhbr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lhbr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbr_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_lhbr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbr_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lhbr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhbr_blk_var2.c:13

References FLA_Apply_Q_UT_lhbr_blk_var1(), FLA_Apply_Q_UT_lhbr_blk_var2(), and FLA_Apply_Q_UT_lhbr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lhfc()

FLA_Error FLA_Apply_Q_UT_lhfc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lhfc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lhfc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lhfc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lhfc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lhfc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfc_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_lhfc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfc_blk_var2.c:13

References FLA_Apply_Q_UT_lhfc_blk_var1(), FLA_Apply_Q_UT_lhfc_blk_var2(), and FLA_Apply_Q_UT_lhfc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lhfr()

FLA_Error FLA_Apply_Q_UT_lhfr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lhfr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lhfr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lhfr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lhfr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_lhfr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfr_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lhfr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lhfr_blk_var1.c:13

References FLA_Apply_Q_UT_lhfr_blk_var1(), FLA_Apply_Q_UT_lhfr_blk_var2(), and FLA_Apply_Q_UT_lhfr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lnbc()

FLA_Error FLA_Apply_Q_UT_lnbc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lnbc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lnbc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lnbc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lnbc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lnbc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbc_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_lnbc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbc_blk_var1.c:13

References FLA_Apply_Q_UT_lnbc_blk_var1(), FLA_Apply_Q_UT_lnbc_blk_var2(), and FLA_Apply_Q_UT_lnbc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lnbr()

FLA_Error FLA_Apply_Q_UT_lnbr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lnbr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lnbr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lnbr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lnbr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbr_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_lnbr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_lnbr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnbr_blk_var3.c:13

References FLA_Apply_Q_UT_lnbr_blk_var1(), FLA_Apply_Q_UT_lnbr_blk_var2(), and FLA_Apply_Q_UT_lnbr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lnfc()

FLA_Error FLA_Apply_Q_UT_lnfc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lnfc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lnfc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lnfc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lnfc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfc_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_lnfc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_lnfc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfc_blk_var2.c:13

References FLA_Apply_Q_UT_lnfc_blk_var1(), FLA_Apply_Q_UT_lnfc_blk_var2(), and FLA_Apply_Q_UT_lnfc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_lnfr()

FLA_Error FLA_Apply_Q_UT_lnfr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_lnfr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_lnfr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_lnfr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_lnfr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfr_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_lnfr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_lnfr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_lnfr_blk_var3.c:13

References FLA_Apply_Q_UT_lnfr_blk_var1(), FLA_Apply_Q_UT_lnfr_blk_var2(), and FLA_Apply_Q_UT_lnfr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rhbc()

FLA_Error FLA_Apply_Q_UT_rhbc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rhbc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rhbc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rhbc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rhbc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_rhbc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbc_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_rhbc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbc_blk_var2.c:13

References FLA_Apply_Q_UT_rhbc_blk_var1(), FLA_Apply_Q_UT_rhbc_blk_var2(), and FLA_Apply_Q_UT_rhbc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rhbr()

FLA_Error FLA_Apply_Q_UT_rhbr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rhbr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rhbr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rhbr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rhbr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbr_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_rhbr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rhbr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhbr_blk_var1.c:13

References FLA_Apply_Q_UT_rhbr_blk_var1(), FLA_Apply_Q_UT_rhbr_blk_var2(), and FLA_Apply_Q_UT_rhbr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rhfc()

FLA_Error FLA_Apply_Q_UT_rhfc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rhfc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rhfc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rhfc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rhfc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfc_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_rhfc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfc_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rhfc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfc_blk_var1.c:13

References FLA_Apply_Q_UT_rhfc_blk_var1(), FLA_Apply_Q_UT_rhfc_blk_var2(), and FLA_Apply_Q_UT_rhfc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rhfr()

FLA_Error FLA_Apply_Q_UT_rhfr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rhfr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rhfr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rhfr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rhfr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfr_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_rhfr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rhfr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rhfr_blk_var1.c:13

References FLA_Apply_Q_UT_rhfr_blk_var1(), FLA_Apply_Q_UT_rhfr_blk_var2(), and FLA_Apply_Q_UT_rhfr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rnbc()

FLA_Error FLA_Apply_Q_UT_rnbc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rnbc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rnbc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rnbc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rnbc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbc_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_rnbc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbc_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rnbc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbc_blk_var3.c:13

References FLA_Apply_Q_UT_rnbc_blk_var1(), FLA_Apply_Q_UT_rnbc_blk_var2(), and FLA_Apply_Q_UT_rnbc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rnbr()

FLA_Error FLA_Apply_Q_UT_rnbr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rnbr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rnbr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rnbr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rnbr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbr_blk_var3.c:13
FLA_Error FLA_Apply_Q_UT_rnbr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbr_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_rnbr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnbr_blk_var2.c:13

References FLA_Apply_Q_UT_rnbr_blk_var1(), FLA_Apply_Q_UT_rnbr_blk_var2(), and FLA_Apply_Q_UT_rnbr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rnfc()

FLA_Error FLA_Apply_Q_UT_rnfc ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rnfc_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rnfc_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rnfc_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rnfc_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfc_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_rnfc_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfc_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rnfc_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfc_blk_var3.c:13

References FLA_Apply_Q_UT_rnfc_blk_var1(), FLA_Apply_Q_UT_rnfc_blk_var2(), and FLA_Apply_Q_UT_rnfc_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLA_Apply_Q_UT_rnfr()

FLA_Error FLA_Apply_Q_UT_rnfr ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B,
fla_apqut_t cntl 
)
16 {
17  FLA_Error r_val = FLA_SUCCESS;
18 
19  if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
20  {
21  r_val = FLA_Apply_Q_UT_rnfr_blk_var1( A, T, W, B, cntl );
22  }
23  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
24  {
25  r_val = FLA_Apply_Q_UT_rnfr_blk_var2( A, T, W, B, cntl );
26  }
27  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
28  {
29  r_val = FLA_Apply_Q_UT_rnfr_blk_var3( A, T, W, B, cntl );
30  }
31  else
32  {
33  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
34  }
35 
36  return r_val;
37 }
FLA_Error FLA_Apply_Q_UT_rnfr_blk_var1(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfr_blk_var1.c:13
FLA_Error FLA_Apply_Q_UT_rnfr_blk_var2(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfr_blk_var2.c:13
FLA_Error FLA_Apply_Q_UT_rnfr_blk_var3(FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_rnfr_blk_var3.c:13

References FLA_Apply_Q_UT_rnfr_blk_var1(), FLA_Apply_Q_UT_rnfr_blk_var2(), and FLA_Apply_Q_UT_rnfr_blk_var3().

Referenced by FLA_Apply_Q_UT_internal().

◆ FLASH_Apply_Q_UT()

FLA_Error FLASH_Apply_Q_UT ( FLA_Side  side,
FLA_Trans  trans,
FLA_Direct  direct,
FLA_Store  storev,
FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B 
)
17 {
18  FLA_Error r_val;
19  dim_t b_alg;
20 
21  // Check parameters.
22  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
23  FLA_Apply_Q_UT_check( side, trans, direct, storev, A, T, W, B );
24 
25  // Inspect the length of TTL to get the blocksize used by the QR/LQ
26  // factorization, which will be our inner blocksize for Apply_Q_UT.
27  b_alg = FLASH_Obj_scalar_length_tl( T );
28 
29  // The traditional (non-incremental) Apply_Q_UT algorithm-by-blocks
30  // requires that the algorithmic blocksize be equal to the storage
31  // blocksize.
32  if ( b_alg != FLASH_Obj_scalar_width_tl( T ) )
33  {
34  FLA_Print_message( "FLASH_Apply_Q_UT() requires that b_alg == b_store",
35  __FILE__, __LINE__ );
36  FLA_Abort();
37  }
38 
39  // Adjust the blocksize of the control tree node for the flat subproblem.
40  if ( FLA_Cntl_blocksize( fla_apqut_cntl_leaf ) != NULL )
41  FLA_Blocksize_set( FLA_Cntl_blocksize( fla_apqut_cntl_leaf ),
42  b_alg, b_alg, b_alg, b_alg );
43 
44  // Begin a parallel region.
46 
47  // Invoke FLA_Apply_Q_UT_internal() with the standard control tree.
48  r_val = FLA_Apply_Q_UT_internal( side, trans, direct, storev, A, T, W, B,
50 
51  // End the parallel region.
53 
54  return r_val;
55 }
fla_apqut_t * fla_apqut_cntl_leaf
Definition: FLA_Apply_Q_UT_cntl_init.c:19
fla_apqut_t * flash_apqut_cntl_blas
Definition: FLASH_Apply_Q_UT_cntl_init.c:23
void FLASH_Queue_begin(void)
Definition: FLASH_Queue.c:59
void FLASH_Queue_end(void)
Definition: FLASH_Queue.c:81
dim_t FLASH_Obj_scalar_length_tl(FLA_Obj H)
Definition: FLASH_View.c:723
dim_t FLASH_Obj_scalar_width_tl(FLA_Obj H)
Definition: FLASH_View.c:737
FLA_Error FLA_Apply_Q_UT_internal(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B, fla_apqut_t *cntl)
Definition: FLA_Apply_Q_UT_internal.c:17
FLA_Error FLA_Apply_Q_UT_check(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B)
Definition: FLA_Apply_Q_UT_check.c:13
void FLA_Abort(void)
Definition: FLA_Error.c:248
void FLA_Blocksize_set(fla_blocksize_t *bp, dim_t b_s, dim_t b_d, dim_t b_c, dim_t b_z)
Definition: FLA_Blocksize.c:54
void FLA_Print_message(char *str, char *file, int line)
Definition: FLA_Error.c:234

◆ FLASH_Apply_Q_UT_create_workspace()

FLA_Error FLASH_Apply_Q_UT_create_workspace ( FLA_Obj  TW,
FLA_Obj  B,
FLA_Obj W 
)
14 {
15  FLA_Datatype datatype;
16  dim_t depth;
17  dim_t b_alg;
18  dim_t b_flash;
19  dim_t m, n;
20 
21  // Query the depth.
22  depth = FLASH_Obj_depth( TW );
23 
24  // *** The current Apply_Q_UT algorithm implemented assumes that
25  // the matrix has a hierarchical depth of 1. We check for that here
26  // because we anticipate that we'll use a more general algorithm in the
27  // future, and we don't want to forget to remove the constraint. ***
28  if ( depth != 1 )
29  {
30  FLA_Print_message( "FLASH_Apply_Q_UT() currently only supports matrices of depth 1",
31  __FILE__, __LINE__ );
32  FLA_Abort();
33  }
34 
35  // Query the datatype of matrix TW.
36  datatype = FLA_Obj_datatype( TW );
37 
38  // Inspect the dimensions of a the top-left element of TW to get the
39  // algorithmic/storage blocksize we'll use throughout the Apply_Q_UT
40  // algorithm.
41  b_alg = FLASH_Obj_scalar_length_tl( TW );
42  b_flash = FLASH_Obj_scalar_width_tl( TW );
43 
44  // The traditional (non-incremental) Apply_Q_UT algorithm-by-blocks
45  // requires that the algorithmic blocksize be equal to the storage
46  // blocksize.
47  if ( b_alg != b_flash )
48  {
49  FLA_Print_message( "FLASH_Apply_Q_UT() requires that b_alg == b_store",
50  __FILE__, __LINE__ );
51  FLA_Abort();
52  }
53 
54  // The scalar length of W should be the algorithmc/storage blocksize
55  // encoded in TW.
56  m = b_alg;
57 
58  // Query the scalar (not element) width of the right-hand side
59  // matrix B.
60  n = FLASH_Obj_scalar_width( B );
61 
62  // Create hierarchical matrix W.
63  FLASH_Obj_create_ext( datatype, m, n,
64  depth, &b_alg, &b_flash,
65  W );
66 
67  return FLA_SUCCESS;
68 }
FLA_Error FLASH_Obj_create_ext(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:151
dim_t FLASH_Obj_depth(FLA_Obj H)
Definition: FLASH_Obj.c:20
dim_t FLASH_Obj_scalar_width(FLA_Obj H)
Definition: FLASH_View.c:641

References FLA_Abort(), FLA_Obj_datatype(), FLA_Print_message(), FLASH_Obj_create_ext(), FLASH_Obj_depth(), FLASH_Obj_scalar_length_tl(), FLASH_Obj_scalar_width(), and FLASH_Obj_scalar_width_tl().

Referenced by FLASH_LQ_UT_solve(), and FLASH_QR_UT_solve().