Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/testsuite/libgloss.all/misc.c')
-rw-r--r--libgloss/testsuite/libgloss.all/misc.c167
1 files changed, 0 insertions, 167 deletions
diff --git a/libgloss/testsuite/libgloss.all/misc.c b/libgloss/testsuite/libgloss.all/misc.c
deleted file mode 100644
index 5d082bc12..000000000
--- a/libgloss/testsuite/libgloss.all/misc.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * this file contains misc bug reports from WinBond.
- */
-#include <stdio.h>
-#include <math.h>
-
-#if unix
-#define pass(x) printf("PASS: %s\n", x);
-#define fail(x) printf("FAIL: %s\n", x);
-#endif
-
-/*
- The compare operation is error. Because the constant value 1.0 is
- not correct. It seems compare with 0 in this statement.
-
-HP-UX native:
- dist is 0.301
- PASS: float compare
- *cp = be9a1cac, *cp1 = be9a1cac
- PASS: float multiple 1
- PASS: float multiple 2
- 32760 / (-2) = -16380
- PASS: float divide 1
- 32760 / (-1) = -32760
- PASS: float divide 1
- These test only pass if the output matches:
- Correct output is
- 1.0 = 1.000000E+00, 0.3010 = 3.000000E-01, -1.0 = -1.000000E+0
- 1.0 = 1.000000E+00, 0.3010 = 3.010000E-01, -1.0 = -1.000000E+00
- These test only pass if the outut matches:
- Correct output is
- ans = 1.000000E+00, ans1 = 3.010000E-01, ans2 = -1.000000E+00
- ans = 1.000000E+00, ans1 = 3.010000E-01, ans2 = -1.000000E+00
-
-
-Test run on Oki:
-
- dist is 0
- PASS: float compare
- *cp = be9a1cac, *cp1 = be9a1cac
- PASS: float multiple 1
- PASS: float multiple 2
- 32760 / (-2) = -2147467268
- PASS: float divide 1
- 32760 / (-1) = 32760
- PASS: float divide 1
- These test only pass if the output matches:
- Correct output is
- 1.0 = 1.000000E+00, 0.3010 = 3.000000E-01, -1.0 = -1.000000E+0
- 1.0 = 1.586860E-318, 0.3010 = -1.009091E-303, -1.0 = 5.290504E-315
- These test only pass if the outut matches:
- Correct output is
- ans = 1.000000E+00, ans1 = 3.010000E-01, ans2 = -1.000000E+00
- ans = 4.940656E-324, ans1 = -5.299809E-315, ans2 = 5.290504E-315
-
- */
-
-main()
-{
- float dist = 0.3010;
-
- printf ("dist is %G\n", dist);
- if ( dist < 1.0 ) {
- pass ("float compare");
- } else {
- fail ("float compare");
- }
-
- test_1();
- test_2();
- test_3();
- test_4();
-
- fflush (stdout);
-}
-
-/*
- * *cp = be9a1cac, *cp1 = 00000000
- */
-test_1()
-{
- float i, ans, ans1;
- unsigned int *cp=&ans, *cp1=&ans1;
-
- i = 0.3010;
- ans = (-1.0) * 0.3010 * 1.0; /* OK */
- ans1 = (-1.0) * i * 1.0; /* Disaster */
- printf ("*cp = %08x, *cp1 = %08x\n", *cp, *cp1);
-
- if (*cp != 0xbe9a1cac) {
- fail ("float multiple 1");
- } else {
- pass ("float multiple 1");
- }
-
- if (*cp1 != 0xbe9a1cac) {
- fail ("float multiple 2");
- } else {
- pass ("float multiple 2");
- }
-}
-
-/*
- Positive integer divide Negative integer may get interesting result.
- For examples:
- EX1: 32760 / (-2) = -2147467268
- */
-test_2()
-{
- int value, i, j;
-
- i = 32760;
- j = -2;
- value = i / (j);
- printf ("%d / (%d) = %d\n", i, j, value);
-
- if (value != -16380) {
- fail ("float divide 1");
- } else {
- pass ("float divide 1");
- }
-}
-
-/*
- EX2: 32760 / (-1) = 32760
- */
-test_3()
-{
- int value, i, j;
-
- i = 32760;
- j = -1;
- value = i / (j);
- printf ("%d / (%d) = %d\n", i, j, value);
-
- if (value != -32760) {
- fail ("float divide 1");
- } else {
- pass ("float divide 1");
- }
-}
-
-/*
- The data output format %e, %E, %g, %G in printf() can not work.
- Please test the following example:
-
- 1.0 = 1.000000E+00, 0.3010 = 3.009999E-01, -1.0 = -1.000000E+00
- ans = 4.940656E-324, ans1 = -5.299809E-315, ans2 = 5.290504E-315
- */
-test_4()
-{
- float ans, ans1, ans2;
-
- ans = 1.0;
- ans1 = 0.3010;
- ans2 = -1.0;
-
- printf ("These test only pass if the output matches:\nCorrect output is\n1.0 = 1.000000E+00, 0.3010 = 3.000000E-01, -1.0 = -1.000000E+0\n");
- printf ("1.0 = %E, 0.3010 = %E, -1.0 = %E\n", 1.0, 0.3010, -1.0);
- printf ("These test only pass if the outut matches:\nCorrect output is\nans = 1.000000E+00, ans1 = 3.010000E-01, ans2 = -1.000000E+00\n");
- printf ("ans = %E, ans1 = %E, ans2 = %E\n", ans, ans1, ans2);
-}
-
-
-
-
-