libflame revision_anchor
Functions
FLA_Apply_CAQ_UT_inc_apply_panels.c File Reference

(r)

Functions

FLA_Error FLA_Apply_CAQ_UT_inc_apply_panels (dim_t nb_part, FLA_Obj A, FLA_Obj TW, FLA_Obj W, FLA_Obj B)
 

Function Documentation

◆ FLA_Apply_CAQ_UT_inc_apply_panels()

FLA_Error FLA_Apply_CAQ_UT_inc_apply_panels ( dim_t  nb_part,
FLA_Obj  A,
FLA_Obj  TW,
FLA_Obj  W,
FLA_Obj  B 
)
14{
15 FLA_Obj AT, A0,
16 AB, A1,
17 A2;
18
19 FLA_Obj TWT, TW0,
20 TWB, TW1,
21 TW2;
22
23 FLA_Obj WT, W0,
24 WB, W1,
25 W2;
26
27 FLA_Obj BT, B0,
28 BB, B1,
29 B2;
30
31 dim_t b;
32
33 FLA_Part_2x1( A, &AT,
34 &AB, 0, FLA_TOP );
35
37 &TWB, 0, FLA_TOP );
38
39 FLA_Part_2x1( W, &WT,
40 &WB, 0, FLA_TOP );
41
42 FLA_Part_2x1( B, &BT,
43 &BB, 0, FLA_TOP );
44
45 while ( FLA_Obj_length( AB ) > 0 ){
46
47 b = min( nb_part, FLA_Obj_length( AB ) );
48
50 /* ** */ /* ** */
51 &A1,
52 AB, &A2, b, FLA_BOTTOM );
53
55 /* ** */ /* ** */
56 &TW1,
57 TWB, &TW2, b, FLA_BOTTOM );
58
59 // NOTE: we use a blocksize of 1 for W since it has exactly nb_part
60 // rows (where each row is a row panels of b_alg x b_flash blocks).
62 /* ** */ /* ** */
63 &W1,
64 WB, &W2, 1, FLA_BOTTOM );
65
67 /* ** */ /* ** */
68 &B1,
69 BB, &B2, b, FLA_BOTTOM );
70
71 /*------------------------------------------------------------*/
72
73 // Apply incremental Q's associated with each block A1 to the
74 // corresponding block of right-hand side B1.
76 A1, TW1, W1, B1 );
77
78 /*------------------------------------------------------------*/
79
81 A1,
82 /* ** */ /* ** */
83 &AB, A2, FLA_TOP );
84
86 TW1,
87 /* ** */ /* ** */
88 &TWB, TW2, FLA_TOP );
89
91 W1,
92 /* ** */ /* ** */
93 &WB, W2, FLA_TOP );
94
96 B1,
97 /* ** */ /* ** */
98 &BB, B2, FLA_TOP );
99 }
100
101 return FLA_SUCCESS;
102}
FLA_Error FLASH_Apply_Q_UT_inc(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj TW, FLA_Obj W1, FLA_Obj B)
Definition FLASH_Apply_Q_UT_inc.c:18
FLA_Error FLA_Cont_with_3x1_to_2x1(FLA_Obj *AT, FLA_Obj A0, FLA_Obj A1, FLA_Obj *AB, FLA_Obj A2, FLA_Side side)
Definition FLA_View.c:428
FLA_Error FLA_Repart_2x1_to_3x1(FLA_Obj AT, FLA_Obj *A0, FLA_Obj *A1, FLA_Obj AB, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:226
FLA_Error FLA_Part_2x1(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:76
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
unsigned long dim_t
Definition FLA_type_defs.h:71
int i
Definition bl1_axmyv2.c:145
Definition FLA_type_defs.h:159

References FLA_Cont_with_3x1_to_2x1(), FLA_Obj_length(), FLA_Part_2x1(), FLA_Repart_2x1_to_3x1(), FLASH_Apply_Q_UT_inc(), and i.

Referenced by FLASH_Apply_CAQ_UT_inc().