libflame  12600
Functions
FLA_LU_piv_macro_task.c File Reference

(r12600)

Functions

FLA_Error FLA_LU_piv_macro_task (FLA_Obj A, FLA_Obj p, fla_lu_t *cntl)

Function Documentation

References FLA_LU_piv_task(), FLA_Obj_free(), FLA_Obj_length(), FLASH_Copy_flat_to_hier(), and FLASH_Obj_create_flat_copy_of_hier().

Referenced by FLA_LU_piv_internal(), and FLASH_Queue_exec_task().

{
   FLA_Error r_val;
   FLA_Obj   A_flat;

   if ( FLA_Obj_length( A ) > 1 )
   {
      FLASH_Obj_create_flat_copy_of_hier( A, &A_flat );
      
      r_val = FLA_LU_piv_task( A_flat, p, cntl );
      
      FLASH_Copy_flat_to_hier( A_flat, 0, 0, A );
      
      FLA_Obj_free( &A_flat );
   }
   else
   {
      r_val = FLA_LU_piv_task( *FLASH_OBJ_PTR_AT( A ), p, cntl );
   }

   return r_val;
}