summaryrefslogtreecommitdiffstats
path: root/testsuites/libtests/complex/docomplex.h
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/libtests/complex/docomplex.h')
-rw-r--r--testsuites/libtests/complex/docomplex.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/testsuites/libtests/complex/docomplex.h b/testsuites/libtests/complex/docomplex.h
new file mode 100644
index 0000000000..96ce9eb1a9
--- /dev/null
+++ b/testsuites/libtests/complex/docomplex.h
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2010, 2011 by
+ * Ralf Corsepius, Ulm/Germany. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software
+ * is freely granted, provided that this notice is preserved.
+ */
+
+#include <complex.h>
+#include <stdio.h>
+
+#define CONCAT(x, y) x ## y
+#define XCONCAT(x, y) CONCAT(x, y)
+
+#define STRINGIFY(x, y) # x # y
+#define XSTRINGIFY(x, y) STRINGIFY(x, y)
+
+#ifdef SUFFIX
+ #define FUNC(name) XCONCAT(name, SUFFIX)
+ #define STR(name) XSTRINGIFY(name, SUFFIX)
+#else
+ #define FUNC(name) XCONCAT(name, )
+ #define STR(name) XSTRINGIFY(name, ) " "
+#endif
+
+extern void FUNC(docomplex) (void);
+
+void
+FUNC(docomplex) (void)
+{
+#ifndef PROVIDE_EMPTY_FUNC
+ complex FTYPE ca, cb, cc;
+ FTYPE f1;
+
+ ca = 1.0 + 1.0 * I;
+ cb = 1.0 - 1.0 * I;
+
+ f1 = FUNC(cabs) (ca);
+ fprintf (stdout, STR(cabs) " : " PRI "\n", f1);
+
+ cc = FUNC(cacos) (ca);
+ fprintf (stdout, STR(cacos) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(cacosh) (ca);
+ fprintf (stdout, STR(cacosh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ f1 = FUNC(carg) (ca);
+ fprintf (stdout, STR(carg) " : " PRI "\n", f1);
+
+ cc = FUNC(casin) (ca);
+ fprintf (stdout, STR(casin) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(casinh) (ca);
+ fprintf (stdout, STR(casinh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(catan) (ca);
+ fprintf (stdout, STR(catan) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(catanh) (ca);
+ fprintf (stdout, STR(catanh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(ccos) (ca);
+ fprintf (stdout, STR(ccos) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(ccosh) (ca);
+ fprintf (stdout, STR(ccosh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(cexp) (ca);
+ fprintf (stdout, STR(cexp) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ f1 = FUNC(cimag) (ca);
+ fprintf (stdout, STR(cimag) " : " PRI "\n", f1);
+
+ cc = FUNC(clog) (ca);
+ fprintf (stdout, STR(clog) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(conj) (ca);
+ fprintf (stdout, STR(conj) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(cpow) (ca, cb);
+ fprintf (stdout, STR(cpow) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(cproj) (ca);
+ fprintf (stdout, STR(cproj) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ f1 = FUNC(creal) (ca);
+ fprintf (stdout, STR(creal) " : " PRI "\n", f1);
+
+ cc = FUNC(csin) (ca);
+ fprintf (stdout, STR(csin) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(csinh) (ca);
+ fprintf (stdout, STR(csinh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(csqrt) (ca);
+ fprintf (stdout, STR(csqrt) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(ctan) (ca);
+ fprintf (stdout, STR(ctan) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+
+ cc = FUNC(ctanh) (ca);
+ fprintf (stdout, STR(ctanh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
+ FUNC(cimag) (cc));
+#endif
+}