|
@@ -5,17 +5,20 @@ struct tests {
|
|
|
int oper;
|
|
|
char *result;
|
|
|
} tests[] = {
|
|
|
- { "1.0", 0, 0, "1.000000000000000000" },
|
|
|
- { "-1.0", 0, 0, "-1.000000000000000000" },
|
|
|
- { "0.0", 0, 0, "0.000000000000000000" },
|
|
|
- { "1.234567", 0, 0, "1.234567000000000000" },
|
|
|
- { "1.234567", 0, 'D', "1.000000000000000000" },
|
|
|
- { "1.234567", 0, 'R', "2.345670000000000000e-1" },
|
|
|
- { "32768", "32768", '+', "6.553600000000000000e+4" },
|
|
|
- { "32768", "32767", '-', "1.000000000000000000" },
|
|
|
- { "32768", "32768", '*', "1.073741824000000000e+9" },
|
|
|
- { "32768", "32768", '/', "1.000000000000000000" },
|
|
|
- { "1.234567e20", "-1.234567e20", '+', "0.000000000000000000" },
|
|
|
+ { "1.0", 0, 0, "1.0" },
|
|
|
+ { "-1.0", 0, 0, "-1.0" },
|
|
|
+ { "0.0", 0, 0, "0.0" },
|
|
|
+ { "1.234567", 0, 0, "1.234567" },
|
|
|
+ { "1.234567", 0, 'D', "1.0" },
|
|
|
+ { "1.234567", 0, 'R', "2.34567e-1" },
|
|
|
+ { "32768", "32768", '+', "6.5536e+4" },
|
|
|
+ { "32768", "32767", '-', "1.0" },
|
|
|
+ { "32768", "32768", '*', "1.073741824e+9" },
|
|
|
+ { "32768", "32768", '/', "1.0" },
|
|
|
+ { "1.234567e20", "-1.234567e20", '+', "0.0" },
|
|
|
+ { "1e100", "1e100", '+', "2.0e+100" },
|
|
|
+ { "1e110", "10", '*', "1.0e+111" },
|
|
|
+ { "0.5e100", "0.5e100", '*', "2.5e+199" },
|
|
|
{ 0, 0, 0, 0}
|
|
|
};
|
|
|
|
|
@@ -79,6 +82,6 @@ dotest(p)
|
|
|
|
|
|
if (! strcmp(buf, p->result)) return 1;
|
|
|
|
|
|
- printf("Test number %d failed\n", testno);
|
|
|
+ printf("Test number %d failed: result = %s, should be %s\n", testno, buf, p->result);
|
|
|
return 0;
|
|
|
}
|