#include <iostream>
#include <limits>
void compare(double a, double b) {
if (a < b) {
std::cout << a << " is less than " << b << std::endl;
} else if (a > b) {
std::cout << a << " is greater than " << b << std::endl;
} else {
std::cout << a << " is equal to " << b << std::endl;
}
}
int main() {
double small = 1.0;
double big = 9999.0;
double min = std::numeric_limits<double>::min();
double max = std::numeric_limits<double>::max();
double nan = std::numeric_limits<double>::quiet_NaN();
double inf = std::numeric_limits<double>::infinity();
double neg_inf = -std::numeric_limits<double>::infinity();
compare(small, big);
compare(big, nan);
compare(big, inf);
compare(min, neg_inf);
compare(max, inf);
compare(big, neg_inf);
compare(nan, inf);
compare(nan, neg_inf);
return 0;
}
1 is less than 9999
9999 is equal to nan
9999 is less than inf
2.22507e-308 is greater than -inf
1.79769e+308 is less than inf
9999 is greater than -inf
nan is equal to inf
nan is equal to -inf