Home All Groups Group Topic Archive Search About

Proper way to check that a numerical range "is valid"

Author
18 Aug 2006 10:31 PM
illegal.prime
Hey all, I have an app, that could take two numbers of any type of
numerical type int, long, double, float, uint, ulong, etc.  I want to
check that the numbers are part of a range that I consider "valid".
For my circumstances, I don't consider float.PositiveInfinity valid,
nor do I consider the two numbers valid if the second number is smaller
than the first.  In other words, I want to check that the range is
valid.

I notice that while float and double have PositiveInfinity int does
not.  Does int have no comparable concept?  They obviously have
MaxValue and MinValue, but I'm looking for a concept similar to
positive or negative infinity.

In summary, I just want to make my valid range check code as robust and
thorough as possible.

Thanks,
Novice

Author
18 Aug 2006 11:07 PM
Carl Daniel [VC++ MVP]
<illegal.pr***@gmail.com> wrote in message
Show quote
news:1155940316.647515.159020@b28g2000cwb.googlegroups.com...
> Hey all, I have an app, that could take two numbers of any type of
> numerical type int, long, double, float, uint, ulong, etc.  I want to
> check that the numbers are part of a range that I consider "valid".
> For my circumstances, I don't consider float.PositiveInfinity valid,
> nor do I consider the two numbers valid if the second number is smaller
> than the first.  In other words, I want to check that the range is
> valid.
>
> I notice that while float and double have PositiveInfinity int does
> not.  Does int have no comparable concept?  They obviously have
> MaxValue and MinValue, but I'm looking for a concept similar to
> positive or negative infinity.
>
> In summary, I just want to make my valid range check code as robust and
> thorough as possible.
>

MinValue and MaxValue are as close as you can get for Int (or any
non-floating point type).  These types simply have no concept of infinity -
all possible bit patterns of their representations correspond to valid
integers within their domain.

-cd

AddThis Social Bookmark Button