On 9/9/22 10:43 AM, John wrote:
On most machines -1-huge(0) is representable, but should OUT_OF_RANGE(-1-huge(0)) return .FALSE.?
Since how a negative integer is represented at the bit level is processor dependent, should the range (for example) of a 1-byte integer be treated
as -127 to 127 or -128 to 127?
[...]
You may already know this, but this is the example in the f2018 standard:
Examples. If INT8 is the kind value for an 8-bit binary integer type,
OUT_OF_RANGE (-128.5, 0_INT8) will have the value false and
OUT_OF_RANGE (-128.5, 0_INT8, .TRUE.) will have the value true.
The first case is rounded toward zero, -128, while the second is rounded
the other way to -129.
The description of the function only refers to whether the value is representable, so I think -128 is intended to satisfy that. This is not
the same as the fortran integer model, which does not include the value
-128. The integer model is defined in Section 16.4.
$.02 -Ron Shepard
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)