libflame  revision_anchor
Functions | Variables
FLASH_Apply_CAQ_UT_inc.c File Reference

(r)

Functions

FLA_Error FLASH_Apply_CAQ_UT_inc (dim_t p, FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj ATW, FLA_Obj R, FLA_Obj RTW, FLA_Obj W, FLA_Obj B)
 

Variables

fla_apcaqutinc_tflash_apcaqutinc_cntl
 

Function Documentation

◆ FLASH_Apply_CAQ_UT_inc()

FLA_Error FLASH_Apply_CAQ_UT_inc ( dim_t  p,
FLA_Side  side,
FLA_Trans  trans,
FLA_Direct  direct,
FLA_Store  storev,
FLA_Obj  A,
FLA_Obj  ATW,
FLA_Obj  R,
FLA_Obj  RTW,
FLA_Obj  W,
FLA_Obj  B 
)

References FLA_Apply_CAQ_UT_inc_apply_panels(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_CAQ_UT_inc_internal(), FLA_CAQR_UT_inc_compute_blocks_per_part(), FLA_Check_error_level(), FLA_Part_2x1(), FLASH_Queue_begin(), and FLASH_Queue_end().

Referenced by FLASH_CAQR_UT_inc_solve().

18 {
19  FLA_Error r_val;
20  dim_t nb_part;
21  FLA_Obj WT, WB;
22 
23  // Check parameters.
24  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
25  FLA_Apply_CAQ_UT_inc_check( side, trans, direct, storev, A, ATW, R, RTW, W, B );
26 
27  // Compute the partition length from the number of partitions.
29 
30  // Begin a parallel region.
32 
33  // Apply the individual Q's from the incremental QR factorizations.
34  FLA_Apply_CAQ_UT_inc_apply_panels( nb_part, A, ATW, W, B );
35 
36  FLA_Part_2x1( W, &WT,
37  &WB, 1, FLA_TOP );
38 
39  // Apply the Q from the factorization of the upper triangular R's.
40  r_val = FLA_Apply_CAQ_UT_inc_internal( side, trans, direct, storev,
41  R, RTW, WT, B, flash_apcaqutinc_cntl );
42 
43 
44  // End the parallel region.
46 
47  return r_val;
48 }
void FLASH_Queue_end(void)
Definition: FLASH_Queue.c:81
FLA_Error FLA_Apply_CAQ_UT_inc_internal(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj R, FLA_Obj TW, FLA_Obj W1, FLA_Obj B, fla_apcaqutinc_t *cntl)
Definition: FLA_Apply_CAQ_UT_inc_internal.c:13
unsigned long dim_t
Definition: FLA_type_defs.h:71
FLA_Error FLA_Apply_CAQ_UT_inc_apply_panels(dim_t nb_part, FLA_Obj A, FLA_Obj ATW, FLA_Obj W, FLA_Obj B)
Definition: FLA_Apply_CAQ_UT_inc_apply_panels.c:13
int FLA_Error
Definition: FLA_type_defs.h:47
void FLASH_Queue_begin(void)
Definition: FLASH_Queue.c:59
Definition: FLA_type_defs.h:158
dim_t FLA_CAQR_UT_inc_compute_blocks_per_part(dim_t p, FLA_Obj A)
Definition: FLA_CAQR_UT_inc_compute_p_length.c:13
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
FLA_Error FLA_Apply_CAQ_UT_inc_check(FLA_Side side, FLA_Trans trans, FLA_Direct direct, FLA_Store storev, FLA_Obj A, FLA_Obj ATW, FLA_Obj R, FLA_Obj RTW, FLA_Obj W, FLA_Obj B)
Definition: FLA_Apply_CAQ_UT_inc_check.c:13
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18
fla_apcaqutinc_t * flash_apcaqutinc_cntl
Definition: FLASH_Apply_CAQ_UT_inc_cntl_init.c:15

Variable Documentation

◆ flash_apcaqutinc_cntl

fla_apcaqutinc_t* flash_apcaqutinc_cntl