find_onnx_expanded_node_by_suffix Function

public function find_onnx_expanded_node_by_suffix(nodes, num_nodes, prefix, suffix)

Return the node index matching one /layerN/suffix name, or zero.

Arguments

Type IntentOptional Attributes Name
type(onnx_node_type), intent(in) :: nodes(:)

Parsed ONNX nodes

integer, intent(in) :: num_nodes

Number of valid node entries

character(len=*), intent(in) :: prefix

Layer prefix and trailing node name token

character(len=*), intent(in) :: suffix

Layer prefix and trailing node name token

Return Value integer


Source Code

  integer function find_onnx_expanded_node_by_suffix( &
       nodes, num_nodes, prefix, suffix)
    !! Return the node index matching one /layerN/suffix name, or zero.
    implicit none

    ! Arguments
    type(onnx_node_type), intent(in) :: nodes(:)
    !! Parsed ONNX nodes
    integer, intent(in) :: num_nodes
    !! Number of valid node entries
    character(*), intent(in) :: prefix, suffix
    !! Layer prefix and trailing node name token

    ! Local variables
    integer :: i
    !! Loop index
    character(128) :: target_name
    !! Full node name to match

    write(target_name, '("/",A,"/",A)') trim(prefix), trim(suffix)
    find_onnx_expanded_node_by_suffix = 0

    do i = 1, num_nodes
       if(trim(nodes(i)%name) .eq. trim(target_name))then
          find_onnx_expanded_node_by_suffix = i
          return
       end if
    end do

  end function find_onnx_expanded_node_by_suffix