hexToInt128TrueError Subroutine

public pure subroutine hexToInt128TrueError(input, output, error, startpos, endpos)

Parse the input string as bits represented by hexadecimal digits to an int128 value.

This subroutine ignores leading and trailing whitespaces.

Error codes:
0 - none
1 - empty strings
2 - invalid format
3 - value too large for data type
5 - Invalid argument endpos/startpos

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: input

A string to be parsed as a hexadecimal string to an int128 value.

integer(kind=k_int128), intent(out) :: output

An int128 value of the input string if no error has occurred during parsing.

integer(kind=k_int32), intent(out) :: error

An int32 value of 0 on successful parse cases or a true error code on unsuccessful parse cases.

integer(kind=k_int32), intent(in), optional :: startpos

An int32 value of the position(inclusive) of where to start parsing.

integer(kind=k_int32), intent(in), optional :: endpos

An int32 value of the position(inclusive) of where to end parsing.