initial cmath code and minor libm.h update
[libm] / src / cmath / cproj.c
diff --git a/src/cmath/cproj.c b/src/cmath/cproj.c
new file mode 100644 (file)
index 0000000..cc12e46
--- /dev/null
@@ -0,0 +1,10 @@
+#include "libm.h"
+
+double complex cproj(double complex z)
+{
+       union dcomplex u = {z};
+
+       if (isinf(u.a[0]) || isinf(u.a[1]))
+               return cpack(INFINITY, copysign(0.0, u.a[1]));
+       return z;
+}