FLASH_Trsm_piv.c File Reference

(r)


Functions

FLA_Error FLASH_Trsm_piv (FLA_Obj A, FLA_Obj B, FLA_Obj p)

Function Documentation

FLA_Error FLASH_Trsm_piv ( FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  p 
)

References FLA_Cont_with_1x3_to_1x2(), FLA_Obj_width(), FLA_Part_1x2(), FLA_Repart_1x2_to_1x3(), FLA_Trsm_piv_task(), and FLASH_Queue_get_enabled().

Referenced by FLASH_LU_incpiv_var1(), and FLASH_LU_incpiv_var2().

00036 {
00037    FLA_Obj BL,    BR,       B0,  B1,  B2;
00038 
00039    FLA_Part_1x2( B,    &BL,  &BR,      0, FLA_LEFT );
00040 
00041    while ( FLA_Obj_width( BL ) < FLA_Obj_width( B ) )
00042    {
00043       FLA_Repart_1x2_to_1x3( BL,  /**/ BR,        &B0, /**/ &B1, &B2,
00044                              1, FLA_RIGHT );
00045 
00046       /*------------------------------------------------------------*/
00047 
00048       if ( FLASH_Queue_get_enabled( ) )
00049       {
00050          // Enqueue
00051          ENQUEUE_FLASH_Trsm_piv( A,
00052                                  *FLASH_OBJ_PTR_AT( B1 ),
00053                                  *FLASH_OBJ_PTR_AT( p ),
00054                                  NULL );
00055       }
00056       else
00057       {
00058          // Execute leaf
00059          FLA_Trsm_piv_task( A,
00060                             *FLASH_OBJ_PTR_AT( B1 ),
00061                             *FLASH_OBJ_PTR_AT( p ),
00062                             NULL );
00063       }
00064 
00065       /*------------------------------------------------------------*/
00066 
00067       FLA_Cont_with_1x3_to_1x2( &BL,  /**/ &BR,        B0, B1, /**/ B2,
00068                                 FLA_LEFT );
00069    }
00070    
00071    return FLA_SUCCESS;
00072 }


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