There are a number of edge cases which are wrong. The java datatype "double" implements IEEE 754 and Calculator++ (mostly) follows the same rules (see Infinity and NaN).
I think the problem is, that those expressions are reduced before they are calculated and Infinity and NaN are processed like normal variables/numbers (which they are not).
Java (double datatype) would calculate those expressions correctly see here:
https://ideone.com/Oy1Qhz
Every operation with NaN should always result in NaN even with variables. There is no way an undefinied expression (NaN) could lead to an non-NaN result.
There are a number of edge cases which are wrong. The java datatype "double" implements IEEE 754 and Calculator++ (mostly) follows the same rules (see Infinity and NaN).
But some calculations are wrong, here is a list:
* and Wolfram Alpha agrees with me ^^ (http://www.wolframalpha.com/input/?i=0%5E0)
I think the problem is, that those expressions are reduced before they are calculated and Infinity and NaN are processed like normal variables/numbers (which they are not).
Java (double datatype) would calculate those expressions correctly see here: https://ideone.com/Oy1Qhz
Every operation with NaN should always result in NaN even with variables. There is no way an undefinied expression (NaN) could lead to an non-NaN result.