summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/asinh/casinhs.c
diff options
context:
space:
mode:
authorjofret2008-05-15 09:45:12 +0000
committerjofret2008-05-15 09:45:12 +0000
commitc5b6fb6f4fb83302d15a6bd7723a6815e6a2b56c (patch)
treebf0949e992fcbe39687d856ce6e29879c084877e /src/elementaryFunctions/asinh/casinhs.c
parent9cbfc0bb63f940f5f0e096e2c2d45e7ebbf54ba3 (diff)
downloadscilab2c-c5b6fb6f4fb83302d15a6bd7723a6815e6a2b56c.tar.gz
scilab2c-c5b6fb6f4fb83302d15a6bd7723a6815e6a2b56c.tar.bz2
scilab2c-c5b6fb6f4fb83302d15a6bd7723a6815e6a2b56c.zip
* ASINH Mapped to emulate scilab behaviour
this mean it does not call the C library if scilab use another algorithm instead.
Diffstat (limited to 'src/elementaryFunctions/asinh/casinhs.c')
-rw-r--r--src/elementaryFunctions/asinh/casinhs.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/elementaryFunctions/asinh/casinhs.c b/src/elementaryFunctions/asinh/casinhs.c
index c191de36..c2647ea8 100644
--- a/src/elementaryFunctions/asinh/casinhs.c
+++ b/src/elementaryFunctions/asinh/casinhs.c
@@ -1,18 +1,26 @@
/*
-** -*- C -*-
-**
-** casinhs.c
-** Made by Bruno JOFRET <bruno.jofret@inria.fr>
-**
-** Started on Fri Jan 5 11:29:45 2007 jofret
-** Last update Thu Sep 6 11:23:00 2007 bruno
-**
-** Copyright INRIA 2007
-*/
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+//
+// METHOD
+// based on the formula asinh(z) = -i asin(i z)
+//
#include "asinh.h"
+#include "asin.h"
floatComplex casinhs(floatComplex z) {
- /* FIXME: Dummy... */
- return z;
+ floatComplex i_z = FloatComplex(-cimags(z), creals(z));
+ floatComplex asin_i_z = casins(i_z);
+
+ return FloatComplex(cimags(asin_i_z), creals(asin_i_z));
}