libflame
revision_anchor
|
Functions | |
FLA_Error | FLASH_CAQR_UT_inc_noopt (dim_t p, FLA_Obj A, FLA_Obj ATW, FLA_Obj R, FLA_Obj RTW) |
Variables | |
fla_caqrutinc_t * | flash_caqrutinc_cntl |
References FLA_CAQR_UT_inc_blk_var1(), FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_compute_blocks_per_part(), FLA_CAQR_UT_inc_copy_triangles(), FLA_CAQR_UT_inc_factorize_panels(), FLA_Check_error_level(), FLASH_Queue_begin(), and FLASH_Queue_end().
Referenced by FLASH_CAQR_UT_inc().
{ FLA_Error r_val = FLA_SUCCESS; dim_t nb_part; // Check parameters. if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) FLA_CAQR_UT_inc_check( p, A, ATW, R, RTW ); // Compute the partition length from the number of partitions. nb_part = FLA_CAQR_UT_inc_compute_blocks_per_part( p, A ); // Begin a parallel region. FLASH_Queue_begin(); // Perform incremental QR's on each of the p partitions. FLA_CAQR_UT_inc_factorize_panels( nb_part, A, ATW ); // Copy the triangles of A into R. FLA_CAQR_UT_inc_copy_triangles( nb_part, A, R ); // Perform an incremental CAQR on the resulting upper triangular R's in A. FLA_CAQR_UT_inc_blk_var1( R, RTW, flash_caqrutinc_cntl ); // End the parallel region. FLASH_Queue_end(); return r_val; }