Parse node_
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | node_name |
Candidate ONNX node name |
||
| integer, | intent(out) | :: | layer_id |
Parsed layer id when present |
||
| logical, | intent(out) | :: | is_primary |
Whether node_name matches primary pattern node_ |
subroutine parse_primary_layer_id(node_name, layer_id, is_primary) !! Parse node_<id> names and mark true only for primary layer nodes. implicit none ! Arguments character(*), intent(in) :: node_name !! Candidate ONNX node name integer, intent(out) :: layer_id !! Parsed layer id when present logical, intent(out) :: is_primary !! Whether node_name matches primary pattern node_<id> ! Local variables integer :: stat !! Read status for integer parse character(128) :: rest !! Node name suffix after node_ prefix layer_id = -1 is_primary = .false. if(index(trim(node_name), 'node_') .ne. 1) return rest = trim(node_name(6:)) if(index(rest, '_') .gt. 0) return read(rest, *, iostat=stat) layer_id if(stat .eq. 0 .and. layer_id .gt. 0) is_primary = .true. end subroutine parse_primary_layer_id