FLA_Apply_pivots.c File Reference

(r)


Functions

FLA_Error FLA_Apply_pivots (FLA_Side side, FLA_Trans trans, FLA_Obj ipiv, FLA_Obj A)
void FLA_F2C() fla_apply_pivots_f (F_INT *side, F_INT *trans, F_INT *ipiv, F_INT *A, F_INT *IERROR)

Function Documentation

FLA_Error FLA_Apply_pivots ( FLA_Side  side,
FLA_Trans  trans,
FLA_Obj  ipiv,
FLA_Obj  A 
)

References FLA_Obj_length(), and FLA_Swap_rows().

Referenced by fla_apply_pivots_f(), FLA_Form_perm_matrix(), FLA_LU_piv_blk_var3(), FLA_LU_piv_blk_var4(), FLA_LU_piv_blk_var5(), FLA_LU_piv_unb_var3(), FLA_LU_piv_unb_var3b(), FLA_LU_piv_unb_var4(), FLA_LU_piv_unb_var5(), FLA_Trsm_piv_task(), and FLASH_FS_incpiv_aux1().

00036 {
00037   int k1, k2;
00038 
00039   k1 = 0;
00040   k2 = FLA_Obj_length( ipiv ) - 1;
00041   
00042   if ( trans == FLA_NO_TRANSPOSE )
00043   {
00044     if      ( side == FLA_LEFT )
00045     {
00046       FLA_Swap_rows( A, k1, k2, ipiv );
00047     }
00048     else if ( side == FLA_RIGHT )
00049     {
00050       FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
00051     }
00052   }
00053   else if ( trans == FLA_TRANSPOSE )
00054   {
00055     if      ( side == FLA_LEFT )
00056     {
00057       FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
00058     }
00059     else if ( side == FLA_RIGHT )
00060     {
00061       FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
00062     }
00063   }
00064 
00065   return FLA_SUCCESS;
00066 }

void FLA_F2C() fla_apply_pivots_f ( F_INT *  side,
F_INT *  trans,
F_INT *  ipiv,
F_INT *  A,
F_INT *  IERROR 
)

References FLA_Apply_pivots().

00070 {
00071   *IERROR = FLA_Apply_pivots( *( ( FLA_Side  * ) side  ),
00072                               *( ( FLA_Trans * ) trans ), 
00073                               *( ( FLA_Obj   * ) ipiv  ), 
00074                               *( ( FLA_Obj   * ) A     ) );
00075 }


Generated on Mon Jul 6 05:45:53 2009 for libflame by  doxygen 1.5.9