summaryrefslogtreecommitdiff
path: root/tests/headers/complex.c
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-15 14:42:29 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-15 14:42:29 +0100
commit7cd3b7caee10d62f7be674afb86a136bf30485d6 (patch)
tree121a8c79114174b765713387187d930b102f760f /tests/headers/complex.c
parent3b3325f761b09ebbfef04c44eed546cc4fdeb329 (diff)
Add mqueue rt api, add header tests
Diffstat (limited to 'tests/headers/complex.c')
-rw-r--r--tests/headers/complex.c117
1 files changed, 117 insertions, 0 deletions
diff --git a/tests/headers/complex.c b/tests/headers/complex.c
new file mode 100644
index 00000000..054d25ac
--- /dev/null
+++ b/tests/headers/complex.c
@@ -0,0 +1,117 @@
+// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/complex.h.html
+
+#include "core.h"
+
+#include <complex.h>
+
+#ifndef complex
+#error complex
+#endif
+
+#ifndef _Complex_I
+#error _Complex_I
+#endif
+
+#ifndef imaginary
+#error imaginary
+#endif
+
+#ifndef _Imaginary_I
+#error _Imaginary_I
+#endif
+
+#if !defined(I)
+#error I
+#endif
+
+TEST(complex_h)
+{
+ FUNCTION(cabs, double (*f)(double complex));
+ FUNCTION(cabsf, float (*f)(float complex));
+ FUNCTION(cabsl, long double (*f)(long double complex));
+
+ FUNCTION(cacos, double complex (*f)(double complex));
+ FUNCTION(cacosf, float complex (*f)(float complex));
+ FUNCTION(cacosl, long double complex (*f)(long double complex));
+
+ FUNCTION(cacosh, double complex (*f)(double complex));
+ FUNCTION(cacoshf, float complex (*f)(float complex));
+ FUNCTION(cacoshl, long double complex (*f)(long double complex));
+
+ FUNCTION(carg, double (*f)(double complex));
+ FUNCTION(cargf, float (*f)(float complex));
+ FUNCTION(cargl, long double (*f)(long double complex));
+
+ FUNCTION(casin, double complex (*f)(double complex));
+ FUNCTION(casinf, float complex (*f)(float complex));
+ FUNCTION(casinl, long double complex (*f)(long double complex));
+
+ FUNCTION(casinh, double complex (*f)(double complex));
+ FUNCTION(casinhf, float complex (*f)(float complex));
+ FUNCTION(casinhl, long double complex (*f)(long double complex));
+
+ FUNCTION(catan, double complex (*f)(double complex));
+ FUNCTION(catanf, float complex (*f)(float complex));
+ FUNCTION(catanl, long double complex (*f)(long double complex));
+
+ FUNCTION(catanh, double complex (*f)(double complex));
+ FUNCTION(catanhf, float complex (*f)(float complex));
+ FUNCTION(catanhl, long double complex (*f)(long double complex));
+
+ FUNCTION(ccos, double complex (*f)(double complex));
+ FUNCTION(ccosf, float complex (*f)(float complex));
+ FUNCTION(ccosl, long double complex (*f)(long double complex));
+
+ FUNCTION(ccosh, double complex (*f)(double complex));
+ FUNCTION(ccoshf, float complex (*f)(float complex));
+ FUNCTION(ccoshl, long double complex (*f)(long double complex));
+
+ FUNCTION(cexp, double complex (*f)(double complex));
+ FUNCTION(cexpf, float complex (*f)(float complex));
+ FUNCTION(cexpl, long double complex (*f)(long double complex));
+
+ FUNCTION(cimag, double (*f)(double complex));
+ FUNCTION(cimagf, float (*f)(float complex));
+ FUNCTION(cimagl, long double (*f)(long double complex));
+
+ FUNCTION(clog, double complex (*f)(double complex));
+ FUNCTION(clogf, float complex (*f)(float complex));
+ FUNCTION(clogl, long double complex (*f)(long double complex));
+
+ FUNCTION(conj, double complex (*f)(double complex));
+ FUNCTION(conjf, float complex (*f)(float complex));
+ FUNCTION(conjl, long double complex (*f)(long double complex));
+
+ FUNCTION(cpow, double complex (*f)(double complex, double complex));
+ FUNCTION(cpowf, float complex (*f)(float complex, float complex));
+ FUNCTION(cpowl, long double complex (*f)(long double complex,
+ long double complex));
+
+ FUNCTION(cproj, double complex (*f)(double complex));
+ FUNCTION(cprojf, float complex (*f)(float complex));
+ FUNCTION(cprojl, long double complex (*f)(long double complex));
+
+ FUNCTION(creal, double (*f)(double complex));
+ FUNCTION(crealf, float (*f)(float complex));
+ FUNCTION(creall, long double (*f)(long double complex));
+
+ FUNCTION(csin, double complex (*f)(double complex));
+ FUNCTION(csinf, float complex (*f)(float complex));
+ FUNCTION(csinl, long double complex (*f)(long double complex));
+
+ FUNCTION(csinh, double complex (*f)(double complex));
+ FUNCTION(csinhf, float complex (*f)(float complex));
+ FUNCTION(csinhl, long double complex (*f)(long double complex));
+
+ FUNCTION(csqrt, double complex (*f)(double complex));
+ FUNCTION(csqrtf, float complex (*f)(float complex));
+ FUNCTION(csqrtl, long double complex (*f)(long double complex));
+
+ FUNCTION(ctan, double complex (*f)(double complex));
+ FUNCTION(ctanf, float complex (*f)(float complex));
+ FUNCTION(ctanl, long double complex (*f)(long double complex));
+
+ FUNCTION(ctanh, double complex (*f)(double complex));
+ FUNCTION(ctanhf, float complex (*f)(float complex));
+ FUNCTION(ctanhl, long double complex (*f)(long double complex));
+}