summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/asinh/zasinhs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions/asinh/zasinhs.c')
-rw-r--r--src/elementaryFunctions/asinh/zasinhs.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/elementaryFunctions/asinh/zasinhs.c b/src/elementaryFunctions/asinh/zasinhs.c
index 58dac9c7..320e185b 100644
--- a/src/elementaryFunctions/asinh/zasinhs.c
+++ b/src/elementaryFunctions/asinh/zasinhs.c
@@ -10,9 +10,17 @@
*
*/
+//
+// METHOD
+// based on the formula asinh(z) = -i asin(i z)
+//
+
#include "asinh.h"
+#include "asin.h"
doubleComplex zasinhs(doubleComplex z) {
- /* FIXME: Dummy... */
- return z;
+ doubleComplex i_z = DoubleComplex(-zimags(z), zreals(z));
+ doubleComplex asin_i_z = zasins(i_z);
+
+ return DoubleComplex(zimags(asin_i_z), zreals(asin_i_z));
}