DeserializeHexReal (FUN)
FUNCTION DeserializeHexReal : BOOL
Converts a string of the format
R16#{Mantissa}H{Exponent} | R16#NaN | R16#+Inf | R16#-Inf
where both mantissa and exponent are hexadecimal numerals,
such that liM * 2^iE = {Mantissa} * 16^{Exponent}.
Returns true on success and false if the format is invalid or if an overflow occurred (i.e. when the mantissa does not fit into an LINT or the exponent does not fit into an INT.)
Note
Leading whitespace is not allowed.
Any characters that come after the hex real are ignored.
See also SerializeHexReal.
- InOut:
Scope
Name
Type
Comment
Return
DeserializeHexRealBOOLInput
psPOINTER TO BYTE
Pointer to the input string
Output
liMLINTThe (signed) mantissa
iEINTThe (unbiased) exponent
xNaNBOOLTrue iff ps^ is ‘F16#NaN’, iE and diM are 0 in this case
xInfBOOLTrue iff ps^ is ‘F16#+Inf’ of ‘F16#-Inf’, diM = 1 for +Infinity and -1 for -Infinity, iE is 0