Compare infinity with infinity in C++

  • A+
Category:Languages

Suppose I have two variables which are both set to infinity

double l = std::numeric_limits<double>::infinity(); double r = std::numeric_limits<double>::infinity(); 

At another point in the code, I have a comparison of these two variables

if (l < r) {} 

Is the result of this comparison properly defined in the library? (Within the logic of my program, I would expect the result to be false.)

 


(Within the logic of my program, I would expect the result to be false.)

According to this:

In comparison operations, positive infinity is larger than all values except itself and NaN

So you are indeed correct.

Note that this might not be valid if your compiler uses a different standard that IEEE 754, so make sure that std::numeric_limits<double>::is_iec559; returns true when in doubt.

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: