Resolve the ONNX export format into the internal integer selector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in), | optional | :: | format |
Export format as a string name or integer selector |
Integer selector for the export format (1=athena_abstract, 2=onnx_expanded)
function resolve_onnx_export_format(format) result(ifmt) !! Resolve the ONNX export format into the internal integer selector. implicit none ! Arguments class(*), optional, intent(in) :: format !! Export format as a string name or integer selector integer :: ifmt !! Integer selector for the export format (1=athena_abstract, 2=onnx_expanded) ! Local variables character(32) :: format_name !! Normalised string representation of the requested export format character(128) :: err_msg !! Error buffer used for unsupported integer selectors ifmt = 1 if(present(format))then select type(format) type is(character(*)) format_name = to_lower(trim(adjustl(format))) select case(trim(format_name)) case('athena_abstract') ifmt = 1 case('onnx_expanded') ifmt = 2 case default call stop_program('write_onnx: unrecognised export format: ' // & trim(format_name)) ifmt = 0 return end select type is(integer) ifmt = format class default call stop_program('write_onnx: unrecognised export format type') ifmt = 0 return end select end if select case(ifmt) case(1, 2) continue case default write(err_msg, '("write_onnx: unrecognised export format selector: ",I0)') ifmt call stop_program(err_msg) ifmt = 0 return end select end function resolve_onnx_export_format