FLASH_Apply_Q_UT.c File Reference

(r)


Functions

FLA_Error FLASH_Apply_Q_UT (FLA_Side side, FLA_Trans trans, FLA_Store storev, FLA_Obj A, FLA_Obj T, FLA_Obj W, FLA_Obj B)
void FLA_F2C() flash_apply_q_ut_f (F_INT *side, F_INT *trans, F_INT *storev, F_INT *A, F_INT *T, F_INT *W, F_INT *B, F_INT *IERROR)

Variables

fla_apqut_tflash_apqut_cntl
fla_apqut_tflash_apqut_cntl_leaf
fla_apqut_tfla_apqut_cntl_leaf

Function Documentation

FLA_Error FLASH_Apply_Q_UT ( FLA_Side  side,
FLA_Trans  trans,
FLA_Store  storev,
FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  W,
FLA_Obj  B 
)

References FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_internal(), FLA_Blocksize_set(), FLA_Check_error_level(), FLASH_Obj_scalar_length(), FLASH_Queue_begin(), and FLASH_Queue_end().

Referenced by flash_apply_q_ut_f().

00040 {
00041   FLA_Error r_val;
00042   int       nb_alg_in;
00043 
00044   // Check parameters.
00045   if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
00046     FLA_Apply_Q_UT_check( side, trans, storev, A, T, W, B );
00047 
00048   // Inspect the length of T to get the blocksize used by the QR/LQ
00049   // factorization, which will be our inner blocksize for Apply_Q_UT.
00050   nb_alg_in = FLASH_Obj_scalar_length( T );
00051 
00052   // Adjust the blocksize of the control tree node for the flat subproblem.
00053   if ( FLA_Cntl_blocksize( fla_apqut_cntl_leaf ) != NULL )
00054     FLA_Blocksize_set( FLA_Cntl_blocksize( fla_apqut_cntl_leaf ),
00055                        nb_alg_in, nb_alg_in, nb_alg_in, nb_alg_in );
00056 
00057   // Begin a parallel region.
00058   FLASH_Queue_begin();
00059   
00060   // Invoke FLA_Apply_Q_UT_internal() with the standard control tree.
00061   r_val = FLA_Apply_Q_UT_internal( side, trans, storev, A, T, W, B, flash_apqut_cntl );
00062 
00063   // End the parallel region.
00064   FLASH_Queue_end();
00065 
00066   return r_val;
00067 }

void FLA_F2C() flash_apply_q_ut_f ( F_INT *  side,
F_INT *  trans,
F_INT *  storev,
F_INT *  A,
F_INT *  T,
F_INT *  W,
F_INT *  B,
F_INT *  IERROR 
)

References FLASH_Apply_Q_UT().

00071 {
00072   *IERROR = FLASH_Apply_Q_UT( *( ( FLA_Side *  ) side   ),
00073                               *( ( FLA_Trans * ) trans  ), 
00074                               *( ( FLA_Store * ) storev ), 
00075                               *( ( FLA_Obj *   ) A      ), 
00076                               *( ( FLA_Obj *   ) T      ), 
00077                               *( ( FLA_Obj *   ) W      ), 
00078                               *( ( FLA_Obj *   ) B      ) ) ; 
00079 }


Variable Documentation


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