(j3.2006) What does "outside the range of values" mean?

Van Snyder Van.Snyder
Tue Oct 18 16:47:59 EDT 2011

What does "outside the range of values" in 13.7.1p2 mean?

If it means "too large or too small" then the discussion of NaN isn't

Does it perhaps mean "not a valid value for the type and kind," where
"valid value" refers to the "set of valid values" described in 4.1.2p1
and 4.2p1?

In the latter case, it would be better to say that, and to say in
4.1.2p1 or somewhere in that Inf and NaN are valid values of the
type and kind if IEEE_SUPPORT_INF or IEEE_SUPPORT_NAN are true for the
type and kind.  That would allow 13.7.1p2 to be simplified by replacing
"outside the range of values representable by objects of the specified 
type and type parameters, unless the intrinsic module IEEE ARITHMETIC
(clause 14) is accessible and there is support for an infinite or a NaN
result, as appropriate" with "not a valid value for an object of the
specified type and type parameters (4.1.2)."

Having gone to the trouble to specify that a set of valid values exists
for each type and kind, does the standard require anywhere that a value
of an object of a particular type and type parameters is required to be
a member of the set of valid values?  If not, perhaps the concept of
"set of valid values" could be deleted.

More information about the J3 mailing list