summaryrefslogtreecommitdiff
path: root/newlib/libm/test/test.h
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/test/test.h')
-rw-r--r--newlib/libm/test/test.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/newlib/libm/test/test.h b/newlib/libm/test/test.h
new file mode 100644
index 00000000000..f58fcc96d72
--- /dev/null
+++ b/newlib/libm/test/test.h
@@ -0,0 +1,145 @@
+#define HAVE_FLOAT 1
+#define X(x) (char *)x
+
+#include <_ansi.h>
+#include <math.h>
+#include <float.h>
+#include <ieeefp.h>
+#include <stdio.h>
+
+void checkf();
+void enter();
+
+
+double translate_from();
+
+typedef struct
+{
+ long msw, lsw;
+} question_struct_type;
+
+
+typedef struct
+{
+ char error_bit;
+ char errno_val;
+ char merror;
+ int line;
+
+ question_struct_type qs[3];
+} one_line_type;
+
+
+#define MVEC_START(x) one_line_type x[] = {
+#define MVEC_END 0,};
+
+
+int _EXFUN(mag_of_error,(double, double));
+
+
+#define ERROR_PERFECT 20
+#define ERROR_FAIL -1
+
+#define AAAA 15
+#define AAA 10
+#define AA 6
+#define A 5
+#define B 3
+#define C 1
+#define VECOPEN(x,f) \
+{\
+ char buffer[100];\
+ sprintf(buffer,"%s_vec.c",x);\
+ f = fopen(buffer,"w");\
+ fprintf(f,"#include \"test.h\"\n");\
+ fprintf(f," one_line_type %s_vec[] = {\n", x);\
+}
+
+#define VECCLOSE(f,name,args)\
+{\
+ fprintf(f,"0,};\n"); \
+ fprintf(f,"test_%s(m) {run_vector_1(m,%s_vec,(char *)(%s),\"%s\",\"%s\"); } \n",\
+ name,\
+ name,name,name,args);\
+ fclose(f);\
+}
+
+
+
+typedef struct
+{
+ int line;
+
+ char *string;
+ double value;
+ int endscan;
+} double_type;
+
+
+typedef struct {
+ long int value;
+ char end;
+ char errno_val;
+} int_scan_type;
+
+typedef struct
+{
+ int line;
+ int_scan_type octal;
+ int_scan_type decimal;
+ int_scan_type hex;
+ int_scan_type normal;
+ int_scan_type alphabetical;
+ char *string;
+} int_type;
+
+
+typedef struct
+{
+ int line;
+ double value;
+ char *estring;
+ int e1;
+ int e2;
+ int e3;
+ char *fstring;
+ int f1;
+ int f2;
+ int f3;
+ char *gstring;
+ int g1;
+} ddouble_type;
+
+typedef struct
+{
+ int line;
+ double value;
+ char *result;
+ char *format_string;
+} sprint_double_type;
+
+
+typedef struct
+{
+ int line;
+ int value;
+ char *result;
+ char *format_string;
+} sprint_int_type;
+
+
+void _EXFUN(test_ieee,(void));
+void _EXFUN(test_math2,(void));
+void _EXFUN(test_math,(void));
+void _EXFUN(test_string,(void));
+void _EXFUN(test_is,(void));
+void _EXFUN(test_cvt,(void));
+
+void _EXFUN(line,(int));
+
+void _EXFUN(test_mok, (double, double, int));
+void _EXFUN(test_iok, (int, int));
+void _EXFUN(test_eok, (int, int));
+void _EXFUN(test_sok, (char *, char*));
+void _EXFUN(test_scok, (char *, char*, int));
+void _EXFUN(newfunc,(_CONST char *));