libflame  revision_anchor
Functions
FLA_Apply_pivots.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLA_Apply_pivots_internal (FLA_Side side, FLA_Trans trans, FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
 
FLA_Error FLA_Apply_pivots_ln (FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
 
FLA_Error FLA_Apply_pivots_lt (FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
 
FLA_Error FLA_Apply_pivots_rn (FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
 
FLA_Error FLA_Apply_pivots_rt (FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
 

Function Documentation

◆ FLA_Apply_pivots_internal()

FLA_Error FLA_Apply_pivots_internal ( FLA_Side  side,
FLA_Trans  trans,
FLA_Obj  p,
FLA_Obj  A,
fla_appiv_t cntl 
)
14 {
15  FLA_Error r_val = FLA_SUCCESS;
16 
17  if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
18  FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
19  {
20  if ( FLASH_Queue_get_enabled( ) )
21  {
22  // Enqueue
23  ENQUEUE_FLASH_Apply_pivots_macro( side, trans, *FLASH_OBJ_PTR_AT( p ), A, cntl );
24  }
25  else
26  {
27  // Execute leaf
28  r_val = FLA_Apply_pivots_macro_task( side, trans, *FLASH_OBJ_PTR_AT( p ), A, cntl );
29  }
30  }
31  else
32  {
33  // Parameter combinations
34  if ( trans == FLA_NO_TRANSPOSE )
35  {
36  if ( side == FLA_LEFT )
37  {
38  r_val = FLA_Apply_pivots_ln( p, A, cntl );
39  }
40  else if ( side == FLA_RIGHT )
41  {
42  r_val = FLA_Apply_pivots_rn( p, A, cntl );
43  }
44  }
45  else if ( trans == FLA_TRANSPOSE )
46  {
47  if ( side == FLA_LEFT )
48  {
49  r_val = FLA_Apply_pivots_lt( p, A, cntl );
50  }
51  else if ( side == FLA_RIGHT )
52  {
53  r_val = FLA_Apply_pivots_rt( p, A, cntl );
54  }
55  }
56  }
57 
58  return r_val;
59 }
FLA_Bool FLASH_Queue_get_enabled(void)
Definition: FLASH_Queue.c:171
FLA_Error FLA_Apply_pivots_ln(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_ln.c:13
FLA_Error FLA_Apply_pivots_rn(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_rn.c:13
FLA_Error FLA_Apply_pivots_rt(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_rt.c:13
FLA_Error FLA_Apply_pivots_lt(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_lt.c:13
FLA_Error FLA_Apply_pivots_macro_task(FLA_Side side, FLA_Trans trans, FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_macro_task.c:15
int FLA_Error
Definition: FLA_type_defs.h:47

References FLA_Apply_pivots_ln(), FLA_Apply_pivots_lt(), FLA_Apply_pivots_macro_task(), FLA_Apply_pivots_rn(), FLA_Apply_pivots_rt(), and FLASH_Queue_get_enabled().

Referenced by FLA_Apply_pivots(), FLA_Apply_pivots_ln_blk_var1(), FLA_Apply_pivots_ln_blk_var2(), FLA_Apply_pivots_ln_task(), FLA_Apply_pivots_macro_task(), FLA_Apply_pivots_task(), FLA_LU_piv_blk_var3(), FLA_LU_piv_blk_var4(), FLA_LU_piv_blk_var5(), and FLASH_Apply_pivots().

◆ FLA_Apply_pivots_ln()

FLA_Error FLA_Apply_pivots_ln ( FLA_Obj  p,
FLA_Obj  A,
fla_appiv_t cntl 
)
14 {
15  FLA_Error r_val = FLA_SUCCESS;
16 
17  if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
18  {
19  r_val = FLA_Apply_pivots_ln_unb_ext( p, A );
20  }
21  else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
22  {
23  r_val = FLA_Apply_pivots_ln_opt_var1( p, A );
24  }
25  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
26  {
27  r_val = FLA_Apply_pivots_ln_blk_var1( p, A, cntl );
28  }
29  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
30  {
31  r_val = FLA_Apply_pivots_ln_blk_var2( p, A, cntl );
32  }
33  else
34  {
35  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
36  }
37 
38  return r_val;
39 }
FLA_Error FLA_Apply_pivots_ln_opt_var1(FLA_Obj p, FLA_Obj A)
Definition: FLA_Apply_pivots_ln_opt_var1.c:13
FLA_Error FLA_Apply_pivots_ln_blk_var2(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_ln_blk_var2.c:13
FLA_Error FLA_Apply_pivots_ln_blk_var1(FLA_Obj p, FLA_Obj A, fla_appiv_t *cntl)
Definition: FLA_Apply_pivots_ln_blk_var1.c:13
FLA_Error FLA_Apply_pivots_ln_unb_ext(FLA_Obj p, FLA_Obj A)
Definition: FLA_Apply_pivots_unb_external.c:121

References FLA_Apply_pivots_ln_blk_var1(), FLA_Apply_pivots_ln_blk_var2(), FLA_Apply_pivots_ln_opt_var1(), and FLA_Apply_pivots_ln_unb_ext().

Referenced by FLA_Apply_pivots_internal().

◆ FLA_Apply_pivots_lt()

FLA_Error FLA_Apply_pivots_lt ( FLA_Obj  p,
FLA_Obj  A,
fla_appiv_t cntl 
)
14 {
15  FLA_Error r_val = FLA_SUCCESS;
16 
17  if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
18  {
19  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
20  }
21  else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
22  {
23  r_val = FLA_Apply_pivots_lt_opt_var1( p, A );
24  }
25  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
26  {
27  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
28  }
29  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
30  {
31  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
32  }
33  else
34  {
35  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
36  }
37 
38  return r_val;
39 }
FLA_Error FLA_Apply_pivots_lt_opt_var1(FLA_Obj p, FLA_Obj A)
Definition: FLA_Apply_pivots_lt_opt_var1.c:13

References FLA_Apply_pivots_lt_opt_var1().

Referenced by FLA_Apply_pivots_internal().

◆ FLA_Apply_pivots_rn()

FLA_Error FLA_Apply_pivots_rn ( FLA_Obj  p,
FLA_Obj  A,
fla_appiv_t cntl 
)
14 {
15  FLA_Error r_val = FLA_SUCCESS;
16 
17  if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
18  {
19  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
20  }
21  else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
22  {
23  r_val = FLA_Apply_pivots_rn_opt_var1( p, A );
24  }
25  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
26  {
27  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
28  }
29  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
30  {
31  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
32  }
33  else
34  {
35  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
36  }
37 
38  return r_val;
39 }
FLA_Error FLA_Apply_pivots_rn_opt_var1(FLA_Obj p, FLA_Obj A)
Definition: FLA_Apply_pivots_rn_opt_var1.c:13

References FLA_Apply_pivots_rn_opt_var1().

Referenced by FLA_Apply_pivots_internal().

◆ FLA_Apply_pivots_rt()

FLA_Error FLA_Apply_pivots_rt ( FLA_Obj  p,
FLA_Obj  A,
fla_appiv_t cntl 
)
14 {
15  FLA_Error r_val = FLA_SUCCESS;
16 
17  if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
18  {
19  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
20  }
21  else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
22  {
23  r_val = FLA_Apply_pivots_rt_opt_var1( p, A );
24  }
25  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
26  {
27  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
28  }
29  else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
30  {
31  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
32  }
33  else
34  {
35  FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
36  }
37 
38  return r_val;
39 }
FLA_Error FLA_Apply_pivots_rt_opt_var1(FLA_Obj p, FLA_Obj A)
Definition: FLA_Apply_pivots_rt_opt_var1.c:13

References FLA_Apply_pivots_rt_opt_var1().

Referenced by FLA_Apply_pivots_internal().