libflame revision_anchor
Functions | Variables
FLA_Apply_QUD_UT_internal.c File Reference

(r)

Functions

FLA_Error FLA_Apply_QUD_UT_internal (FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj T, FLA_Obj W, FLA_Obj R, FLA_Obj U, FLA_Obj C, FLA_Obj V, FLA_Obj D, fla_apqudut_t *cntl)
 

Variables

fla_apqudut_tflash_apqudut_cntl
 
fla_apqudut_tflash_apqudut_cntl_leaf
 
fla_apqudut_tfla_apqudut_cntl_leaf
 

Function Documentation

◆ FLA_Apply_QUD_UT_internal()

FLA_Error FLA_Apply_QUD_UT_internal ( FLA_Side  side,
FLA_Trans  trans,
FLA_Direct  direct,
FLA_Store  storev,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  R,
FLA_Obj  U,
FLA_Obj  C,
FLA_Obj  V,
FLA_Obj  D,
fla_apqudut_t cntl 
)
22{
24
27 T, W, R, U, C, V, D, cntl );
28
29 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
32 {
33 // Recurse
35 trans,
36 direct,
37 storev,
46 }
47 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
50 {
51 // Enqueue
53 T, W, R, U, C, V, D, cntl );
54 }
55 else
56 {
57 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
60 {
61 // Execute leaf.
63 }
64
65 if ( side == FLA_LEFT )
66 {
67 if ( trans == FLA_NO_TRANSPOSE )
68 {
69 if ( direct == FLA_FORWARD )
70 {
71 if ( storev == FLA_COLUMNWISE )
73 else if ( storev == FLA_ROWWISE )
75 }
76 else if ( direct == FLA_BACKWARD )
77 {
78 if ( storev == FLA_COLUMNWISE )
80 else if ( storev == FLA_ROWWISE )
82 }
83 }
84 else if ( trans == FLA_TRANSPOSE || trans == FLA_CONJ_TRANSPOSE )
85 {
86 if ( direct == FLA_FORWARD )
87 {
88 if ( storev == FLA_COLUMNWISE )
89 r_val = FLA_Apply_QUD_UT_lhfc( T, W, R, U, C, V, D, cntl );
90 else if ( storev == FLA_ROWWISE )
92 }
93 else if ( direct == FLA_BACKWARD )
94 {
95 if ( storev == FLA_COLUMNWISE )
97 else if ( storev == FLA_ROWWISE )
99 }
100 }
101 }
102 else if ( side == FLA_RIGHT )
103 {
104 if ( trans == FLA_NO_TRANSPOSE )
105 {
106 if ( direct == FLA_FORWARD )
107 {
108 if ( storev == FLA_COLUMNWISE )
110 else if ( storev == FLA_ROWWISE )
112 }
113 else if ( direct == FLA_BACKWARD )
114 {
115 if ( storev == FLA_COLUMNWISE )
117 else if ( storev == FLA_ROWWISE )
119 }
120 }
121 else if ( trans == FLA_TRANSPOSE || trans == FLA_CONJ_TRANSPOSE )
122 {
123 if ( direct == FLA_FORWARD )
124 {
125 if ( storev == FLA_COLUMNWISE )
127 else if ( storev == FLA_ROWWISE )
129 }
130 else if ( direct == FLA_BACKWARD )
131 {
132 if ( storev == FLA_COLUMNWISE )
134 else if ( storev == FLA_ROWWISE )
136 }
137 }
138 }
139 }
140
141 return r_val;
142}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Apply_QUD_UT_lhfc(FLA_Obj T, FLA_Obj W, FLA_Obj R, FLA_Obj U, FLA_Obj C, FLA_Obj V, FLA_Obj D, fla_apqudut_t *cntl)
Definition FLA_Apply_QUD_UT_lhfc.c:15
FLA_Error FLA_Apply_QUD_UT_internal(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj T, FLA_Obj W, FLA_Obj R, FLA_Obj U, FLA_Obj C, FLA_Obj V, FLA_Obj D, fla_apqudut_t *cntl)
Definition FLA_Apply_QUD_UT_internal.c:17
fla_apqudut_t * fla_apqudut_cntl_leaf
Definition FLA_Apply_QUD_UT_cntl_init.c:18
fla_apqudut_t * flash_apqudut_cntl
Definition FLASH_Apply_QUD_UT_cntl_init.c:15
FLA_Error FLA_Apply_QUD_UT_internal_check(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj T, FLA_Obj W, FLA_Obj R, FLA_Obj U, FLA_Obj C, FLA_Obj V, FLA_Obj D, fla_apqudut_t *cntl)
Definition FLA_Apply_QUD_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
int i
Definition bl1_axmyv2.c:145

References FLA_Apply_QUD_UT_internal(), FLA_Apply_QUD_UT_internal_check(), FLA_Apply_QUD_UT_lhfc(), fla_apqudut_cntl_leaf, FLA_Check_error_level(), FLA_Obj_elemtype(), flash_apqudut_cntl, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Apply_QUD_UT(), FLA_Apply_QUD_UT_inc_lhfc_blk_var1(), FLA_Apply_QUD_UT_internal(), FLA_Apply_QUD_UT_lhfc_blk_var2(), FLA_Apply_QUD_UT_lhfc_blk_var3(), FLA_Apply_QUD_UT_lhfc_task(), FLA_Apply_QUD_UT_task(), FLA_UDdate_UT_blk_var1(), and FLA_UDdate_UT_inc_blk_var1().

Variable Documentation

◆ fla_apqudut_cntl_leaf

fla_apqudut_t* fla_apqudut_cntl_leaf
extern

◆ flash_apqudut_cntl

fla_apqudut_t* flash_apqudut_cntl
extern

◆ flash_apqudut_cntl_leaf

fla_apqudut_t* flash_apqudut_cntl_leaf
extern