diff --git a/upptst/NaNINF/NaNINF.upp b/upptst/NaNINF/NaNINF.upp new file mode 100644 index 000000000..095ae49d2 --- /dev/null +++ b/upptst/NaNINF/NaNINF.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + NaNInf.cpp; + +mainconfig + "" = "SSE2"; + diff --git a/upptst/NaNINF/NaNInf.cpp b/upptst/NaNINF/NaNInf.cpp new file mode 100644 index 000000000..e72dfd863 --- /dev/null +++ b/upptst/NaNINF/NaNInf.cpp @@ -0,0 +1,25 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + double d = 0; + ASSERT(!IsNaN(d)); + ASSERT(!IsInf(d)); + ASSERT(IsFin(d)); + + d = sqrt(-1.0); + ASSERT(IsNaN(d)); + ASSERT(!IsInf(d)); + + d = 1e300; + d *= d; + ASSERT(!IsNaN(d)); + ASSERT(IsInf(d)); + + d = 1e300; + d *= -d; + ASSERT(!IsNaN(d)); + ASSERT(IsInf(d)); +} diff --git a/upptst/NaNINF/init b/upptst/NaNINF/init new file mode 100644 index 000000000..692eb3b80 --- /dev/null +++ b/upptst/NaNINF/init @@ -0,0 +1,4 @@ +#ifndef _NaNInf_icpp_init_stub +#define _NaNInf_icpp_init_stub +#include "Core/init" +#endif