summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/atanh/zatanhs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions/atanh/zatanhs.c')
-rw-r--r--src/elementaryFunctions/atanh/zatanhs.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/elementaryFunctions/atanh/zatanhs.c b/src/elementaryFunctions/atanh/zatanhs.c
index 1bb6c82d..7fb81126 100644
--- a/src/elementaryFunctions/atanh/zatanhs.c
+++ b/src/elementaryFunctions/atanh/zatanhs.c
@@ -10,9 +10,16 @@
*
*/
+/*
+// METHOD
+// based on the formula atanh(z) = i atan(-i z)
+*/
+
#include "atanh.h"
+#include "atan.h"
doubleComplex zatanhs(doubleComplex z) {
- /* FIXME: Dummy... */
- return z;
+ doubleComplex minus_i_z = DoubleComplex(zimags(z), -zreals(z));
+ doubleComplex atan_minus_i_z = zatans(minus_i_z);
+ return DoubleComplex(-zimags(atan_minus_i_z), zreals(atan_minus_i_z));
}