handle_geqp3_info Subroutine

public elemental subroutine handle_geqp3_info(this, info, m, n, lwork, err)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: this
integer(kind=ilp), intent(in) :: info
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: lwork
type(linalg_state_type), intent(out) :: err

Source Code

    elemental subroutine handle_geqp3_info(this, info, m, n, lwork, err)
        character(len=*), intent(in) :: this
        integer(ilp), intent(in) :: info, m, n, lwork
        type(linalg_state_type), intent(out) :: err
        ! Process output
        select case (info)
            case(0)
                ! Success
            case(-1)
                err = linalg_state_type(this, LINALG_VALUE_ERROR, 'invalid matrix size m=', m)
            case(-2)
                err = linalg_state_type(this, LINALG_VALUE_ERROR, 'invalid matrix size n=', n)
            case(-4)
                err = linalg_state_type(this, LINALG_VALUE_ERROR, 'invalid matrix shape a=', [m, n])
            case(-7)
                err = linalg_state_type(this, LINALG_VALUE_ERROR, 'invalid input for lwork=', lwork)
            case default
                err = linalg_state_type(this, LINALG_INTERNAL_ERROR, 'catastrophic error')
        end select
    end subroutine handle_geqp3_info