summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/mingwex/complex/cexp.c
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/mingwex/complex/cexp.c')
-rw-r--r--winsup/mingw/mingwex/complex/cexp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/winsup/mingw/mingwex/complex/cexp.c b/winsup/mingw/mingwex/complex/cexp.c
new file mode 100644
index 000000000..43ac9ab9e
--- /dev/null
+++ b/winsup/mingw/mingwex/complex/cexp.c
@@ -0,0 +1,19 @@
+/*
+ cexp.c
+ Contributed by Danny Smith
+ 2003-10-20
+*/
+
+#include <math.h>
+#include <complex.h>
+
+/* cexp (x + I * y) = exp (x) * cos (y) + I * exp (x) * sin (y) */
+
+double complex cexp (double complex Z)
+{
+ double complex Res;
+ long double rho = exp (__real__ Z);
+ __real__ Res = rho * cos(__imag__ Z);
+ __imag__ Res = rho * sin(__imag__ Z);
+ return Res;
+}