libflame  revision_anchor
Functions
FLA_SPDinv_internal.c File Reference

(r)

Functions

FLA_Error FLA_SPDinv_internal (FLA_Uplo uplo, FLA_Obj A, fla_spdinv_t *cntl)

Function Documentation

References FLA_Check_chol_failure(), FLA_Check_error_level(), FLA_Chol_internal(), FLA_SPDinv_internal_check(), FLA_Trinv_internal(), and FLA_Ttmm_internal().

Referenced by FLA_SPDinv(), and FLASH_SPDinv().

{
    FLA_Error r_val;
    FLA_Error e_val;

    if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING )
        FLA_SPDinv_internal_check( uplo, A, cntl );

    r_val = FLA_Chol_internal( uplo, A,
                               FLA_Cntl_sub_chol( cntl ) );

    if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
    {
        e_val = FLA_Check_chol_failure( r_val );
        FLA_Check_error_code( e_val );
    }

    FLA_Trinv_internal( uplo, FLA_NONUNIT_DIAG, A, 
                        FLA_Cntl_sub_trinv( cntl ) );

    FLA_Ttmm_internal( uplo, A, 
                       FLA_Cntl_sub_ttmm( cntl ) );

    return FLA_SUCCESS;
}