6#define DOUBLE_DIGITS 20
8#define KNOWN_PRODUCT 3628800
22 int exclusiv_bit_or = 0;
31 double rounding_error = 1.E-9;
55 "Error in sum with integers: Result was %d instead of %d.\n",
71 if (diff != known_diff)
74 "Error in difference with integers: Result was %d instead of 0.\n",
85 dknown_sum = (1 - dpt) / (1 -dt);
95 if (dsum != dknown_sum && (fabs (dsum - dknown_sum) > rounding_error)) {
96 fprintf (stderr,
"Error in sum with doubles: Result was %f"
97 " instead of: %f (Difference: %E)\n",
98 dsum, dknown_sum, dsum - dknown_sum);
107 ddiff = (1 - dpt) / (1 - dt);
114 ddiff -= pow (dt,
i);
117 if (fabs (ddiff) > rounding_error) {
119 "Error in difference with doubles: Result was %E instead of 0.0\n",
135 if (known_product != product) {
137 "Error in product with integers: Result was %d instead of %d\n",
138 product, known_product);
155 "Error in product division with integers: Result was %d"
172 if (fabs(
div-0.137787) >= 1.0E-4 ) {
174 fprintf (stderr,
"Error in division with double: Result was %f"
175 " instead of 0.137787\n",
div);
191 fprintf (stderr,
"Error in ++\n");
206 fprintf (stderr,
"Error in --\n");
220 bit_and &= logics[
i];
225 fprintf (stderr,
"Error in BIT AND part 1\n");
237 bit_and &= logics[
i];
242 fprintf (stderr,
"Error in BIT AND part 2\n");
261 fprintf (stderr,
"Error in BIT OR part 1\n");
279 fprintf (stderr,
"Error in BIT OR part 2\n");
293 exclusiv_bit_or ^= logics[
i];
296 if (exclusiv_bit_or) {
298 fprintf (stderr,
"Error in EXCLUSIV BIT OR part 1\n");
310 exclusiv_bit_or ^= logics[
i];
314 if (!exclusiv_bit_or) {
316 fprintf (stderr,
"Error in EXCLUSIV BIT OR part 2\n");
325 for (
i = 0;
i < 10; ++
i) {
333 fprintf (stderr,
"Error in <<\n");
342 for (
i = 0;
i < 10; ++
i) {
349 fprintf (stderr,
"Error in >>\n");
KMP_ARCH_X86 KMP_ARCH_X86 KMP_ARCH_X86 div