X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Ftests%2Frealops.cpp;h=61d747cb13e29e672c6d366203e325b2964d3c7f;hp=400ce8660d03f5a4e04ea580906f0b1e5b437dea;hb=239870c67910883756cffe6c963c7f7fa44402b9;hpb=ba945308b9273fcd420b3d4f1395b44bd6625929 diff --git a/src/tests/realops.cpp b/src/tests/realops.cpp index 400ce86..61d747c 100644 --- a/src/tests/realops.cpp +++ b/src/tests/realops.cpp @@ -1,16 +1,20 @@ +/** + * Test mathematical operations on the Real type and consistency with double + */ + #include "main.h" #include "real.h" using namespace std; using namespace IPDF; -#define TEST_CASES 100 +#define TEST_CASES 1000 static double g_totalerror = 0; bool NotEqual(double a, double b, double threshold=1e-1) { - double error = (fabs(a-b) > threshold); + double error = fabs(a-b); g_totalerror += error; return (error > threshold); } @@ -22,8 +26,9 @@ int main(int argc, char ** argv) unsigned failures = 0; for (unsigned i = 0; i < TEST_CASES; ++i) { - double da = (double)(rand()%100 + 1) / (double)(rand()%100 + 1); - double db = (double)(rand()%100 + 1) / (double)(rand()%100 + 1); + //Debug("Test %u of %u", i, TEST_CASES); + double da = (double)(rand() + 1) / (double)(rand() + 1); + double db = (double)(rand() + 1) / (double)(rand() + 1); if (rand() % 2 == 0) da = -da;