#include #include #include "../debug.hpp" #include "../range.hpp" using namespace std; using namespace util; int main (int, char **) { CHECK_HARD ( range::UNIT.contains ( 0.0)); CHECK_HARD ( range::UNIT.contains ( 0.5)); CHECK_HARD ( range::UNIT.contains ( 1.0)); CHECK_HARD (!range::UNIT.contains (-0.00001)); CHECK_HARD (!range::UNIT.contains ( 1.00001)); CHECK_HARD ( range::UNIT.contains (0)); CHECK_HARD ( range::UNIT.contains (1)); CHECK_HARD (!range::UNIT.contains (2)); CHECK_HARD (!range::UNIT.contains (numeric_limits ::max ())); CHECK_HARD ( range::UNLIMITED.contains (0.0)); CHECK_HARD ( range::UNLIMITED.contains (+numeric_limits::infinity ())); CHECK_HARD ( range::UNLIMITED.contains (-numeric_limits::infinity ())); CHECK_HARD (!range::UNLIMITED.contains ( numeric_limits::quiet_NaN ())); CHECK_HARD ( range::UNLIMITED.contains (numeric_limits::min())); CHECK_HARD ( range::UNLIMITED.contains (numeric_limits::max())); { range initial_nan (numeric_limits::quiet_NaN (), numeric_limits::quiet_NaN ()); initial_nan.expand (1.0); CHECK_EQ (initial_nan.min, 1.0); CHECK_EQ (initial_nan.max, 1.0); } return EXIT_SUCCESS; }