libflame
revision_anchor
|
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_internal | ( | FLA_Side | side, |
FLA_Trans | trans, | ||
FLA_Obj | p, | ||
FLA_Obj | A, | ||
fla_appiv_t * | cntl | ||
) |
References FLA_Apply_pivots_ln(), FLA_Apply_pivots_macro_task(), 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_Error r_val = FLA_SUCCESS; if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER && FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) { if ( FLASH_Queue_get_enabled( ) ) { // Enqueue ENQUEUE_FLASH_Apply_pivots_macro( side, trans, *FLASH_OBJ_PTR_AT( p ), A, cntl ); } else { // Execute leaf r_val = FLA_Apply_pivots_macro_task( side, trans, *FLASH_OBJ_PTR_AT( p ), A, cntl ); } } else { // Parameter combinations if ( trans == FLA_NO_TRANSPOSE ) { if ( side == FLA_LEFT ) { r_val = FLA_Apply_pivots_ln( p, A, cntl ); } else if ( side == FLA_RIGHT ) { FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED ); } } else if ( trans == FLA_TRANSPOSE ) { if ( side == FLA_LEFT ) { FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED ); } else if ( side == FLA_RIGHT ) { FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED ); } } } return r_val; }