find_coo Function

private pure function find_coo(self, row, col) result(index)

Type Bound

type_coo

Arguments

Type IntentOptional Attributes Name
class(type_coo), intent(in) :: self
integer(kind=int32), intent(in) :: row
integer(kind=int32), intent(in) :: col

Return Value integer(kind=int32)


Called by

proc~~find_coo~~CalledByGraph proc~find_coo type_coo%find_coo proc~add_coo type_coo%add_coo proc~add_coo->proc~find_coo proc~set_coo type_coo%set_coo proc~set_coo->proc~find_coo

Source Code

    pure function find_coo(self, row, col) result(index)
        implicit none
        class(type_coo), intent(in) :: self
        integer(int32), intent(in) :: row
        integer(int32), intent(in) :: col
        integer(int32) :: index

        integer(int32) :: i

        if (self%nnz == 0) then
            index = -1
            return
        end if

        ! --- 二分探索で行と列の組み合わせを探す ---
        index = -1
        do i = 1, self%nnz
            if (self%row(i) == row .and. self%col(i) == col) then
                index = i
                return
            end if
        end do
    end function find_coo