FLASH_Apply_Q_UT_inc.c File Reference

(r)


Functions

FLA_Error FLASH_Apply_Q_UT_inc (FLA_Side side, FLA_Trans trans, FLA_Store storev, FLA_Obj A, FLA_Obj TW, FLA_Obj W1, FLA_Obj B)

Variables

fla_apqut_tfla_apqut_cntl_leaf
fla_apqutud_tfla_apqutud_cntl_leaf
fla_apqutinc_tflash_apqutinc_cntl

Function Documentation

FLA_Error FLASH_Apply_Q_UT_inc ( FLA_Side  side,
FLA_Trans  trans,
FLA_Store  storev,
FLA_Obj  A,
FLA_Obj  TW,
FLA_Obj  W1,
FLA_Obj  B 
)

References FLA_Apply_Q_UT_inc_check(), FLA_Apply_Q_UT_inc_internal(), FLA_Blocksize_set(), FLA_Check_error_level(), FLA_Part_2x2(), FLASH_Obj_scalar_length(), FLASH_Queue_begin(), and FLASH_Queue_end().

00042 {
00043   FLA_Error r_val;
00044   int       nb_alg;
00045   FLA_Obj   TWTL, TWTR,
00046             TWBL, TWBR;
00047 
00048   // Check parameters.
00049   if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
00050     FLA_Apply_Q_UT_inc_check( side, trans, storev, A, TW, W1, B );
00051 
00052   // Inspect the length of a the top-left element of T to get the algorithmic
00053   // blocksize we'll use throughout the Apply_Q_UT_inc algorithm.
00054   FLA_Part_2x2( TW,   &TWTL, &TWTR,
00055                       &TWBL, &TWBR,     1, 1, FLA_TL );
00056   nb_alg = FLASH_Obj_scalar_length( TWTL );
00057 
00058   // Adjust the blocksizes of the leaf control tree nodes, which are invoked
00059   // by the individual QR_UT_inc tasks.
00060   FLA_Blocksize_set( FLA_Cntl_blocksize( fla_apqut_cntl_leaf ),
00061                      nb_alg, nb_alg, nb_alg, nb_alg );
00062   FLA_Blocksize_set( FLA_Cntl_blocksize( fla_apqutud_cntl_leaf ),
00063                      nb_alg, nb_alg, nb_alg, nb_alg );
00064 
00065   // Begin a parallel region.
00066   FLASH_Queue_begin();
00067 
00068   // Invoke FLA_Apply_Q_UT_inc_internal() with the standard control tree.
00069   r_val = FLA_Apply_Q_UT_inc_internal( side, trans, storev, A, TW, W1, B, flash_apqutinc_cntl );
00070 
00071   // End the parallel region.
00072   FLASH_Queue_end();
00073 
00074   return r_val;
00075 }


Variable Documentation


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