summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions')
-rw-r--r--src/elementaryFunctions/sinh/Makefile.am26
-rw-r--r--src/elementaryFunctions/sinh/Makefile.in93
-rw-r--r--src/elementaryFunctions/sinh/ssinhs.c22
-rw-r--r--src/elementaryFunctions/sinh/testDoubleSinh.c87
-rw-r--r--src/elementaryFunctions/sinh/testFloatSinh.c87
-rw-r--r--src/elementaryFunctions/sinh/testSinh.c152
6 files changed, 263 insertions, 204 deletions
diff --git a/src/elementaryFunctions/sinh/Makefile.am b/src/elementaryFunctions/sinh/Makefile.am
index 128e0ad2..84c72283 100644
--- a/src/elementaryFunctions/sinh/Makefile.am
+++ b/src/elementaryFunctions/sinh/Makefile.am
@@ -37,19 +37,25 @@ HEAD = ../includes/sinh.h
check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \
-I $(top_builddir)/type
-check_PROGRAMS = testSinh
-
-TESTS = testSinh
-
-#
-# -*- Hyperbolic Sine Tests -*-
-#
-testSinh_SOURCES = testSinh.c
-testSinh_CFLAGS = $(check_INCLUDES)
-testSinh_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
$(top_builddir)/type/libFloatComplex.la \
$(top_builddir)/elementaryFunctions/sinh/libSinh.la \
$(top_builddir)/elementaryFunctions/sin/libSin.la \
$(top_builddir)/elementaryFunctions/cosh/libCosh.la \
$(top_builddir)/elementaryFunctions/cos/libCos.la \
@LIBMATH@
+
+check_PROGRAMS = testFloatSinh testDoubleSinh
+
+TESTS = testFloatSinh testDoubleSinh
+
+#
+# -*- Hyperbolic Sine Tests -*-
+#
+testFloatSinh_SOURCES = testFloatSinh.c
+testFloatSinh_CFLAGS = $(check_INCLUDES)
+testFloatSinh_LDADD = $(check_LDADD)
+
+testDoubleSinh_SOURCES = testDoubleSinh.c
+testDoubleSinh_CFLAGS = $(check_INCLUDES)
+testDoubleSinh_LDADD = $(check_LDADD)
diff --git a/src/elementaryFunctions/sinh/Makefile.in b/src/elementaryFunctions/sinh/Makefile.in
index 18c43f2e..dfc62300 100644
--- a/src/elementaryFunctions/sinh/Makefile.in
+++ b/src/elementaryFunctions/sinh/Makefile.in
@@ -32,8 +32,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-check_PROGRAMS = testSinh$(EXEEXT)
-TESTS = testSinh$(EXEEXT)
+check_PROGRAMS = testFloatSinh$(EXEEXT) testDoubleSinh$(EXEEXT)
+TESTS = testFloatSinh$(EXEEXT) testDoubleSinh$(EXEEXT)
subdir = elementaryFunctions/sinh
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -62,17 +62,24 @@ libSinh_la_OBJECTS = $(am_libSinh_la_OBJECTS)
libSinh_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libSinh_la_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_testSinh_OBJECTS = testSinh-testSinh.$(OBJEXT)
-testSinh_OBJECTS = $(am_testSinh_OBJECTS)
-testSinh_DEPENDENCIES = $(top_builddir)/type/libDoubleComplex.la \
+am_testDoubleSinh_OBJECTS = testDoubleSinh-testDoubleSinh.$(OBJEXT)
+testDoubleSinh_OBJECTS = $(am_testDoubleSinh_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/type/libDoubleComplex.la \
$(top_builddir)/type/libFloatComplex.la \
$(top_builddir)/elementaryFunctions/sinh/libSinh.la \
$(top_builddir)/elementaryFunctions/sin/libSin.la \
$(top_builddir)/elementaryFunctions/cosh/libCosh.la \
$(top_builddir)/elementaryFunctions/cos/libCos.la
-testSinh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(testSinh_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+testDoubleSinh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleSinh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleSinh_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatSinh_OBJECTS = testFloatSinh-testFloatSinh.$(OBJEXT)
+testFloatSinh_OBJECTS = $(am_testFloatSinh_OBJECTS)
+testFloatSinh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatSinh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatSinh_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. -I$(top_builddir)/includes@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@@ -85,8 +92,10 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(libSinh_la_SOURCES) $(testSinh_SOURCES)
-DIST_SOURCES = $(libSinh_la_SOURCES) $(testSinh_SOURCES)
+SOURCES = $(libSinh_la_SOURCES) $(testDoubleSinh_SOURCES) \
+ $(testFloatSinh_SOURCES)
+DIST_SOURCES = $(libSinh_la_SOURCES) $(testDoubleSinh_SOURCES) \
+ $(testFloatSinh_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -221,13 +230,7 @@ HEAD = ../includes/sinh.h
check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \
-I $(top_builddir)/type
-
-#
-# -*- Hyperbolic Sine Tests -*-
-#
-testSinh_SOURCES = testSinh.c
-testSinh_CFLAGS = $(check_INCLUDES)
-testSinh_LDADD = $(top_builddir)/type/libDoubleComplex.la \
+check_LDADD = $(top_builddir)/type/libDoubleComplex.la \
$(top_builddir)/type/libFloatComplex.la \
$(top_builddir)/elementaryFunctions/sinh/libSinh.la \
$(top_builddir)/elementaryFunctions/sin/libSin.la \
@@ -235,6 +238,16 @@ testSinh_LDADD = $(top_builddir)/type/libDoubleComplex.la \
$(top_builddir)/elementaryFunctions/cos/libCos.la \
@LIBMATH@
+
+#
+# -*- Hyperbolic Sine Tests -*-
+#
+testFloatSinh_SOURCES = testFloatSinh.c
+testFloatSinh_CFLAGS = $(check_INCLUDES)
+testFloatSinh_LDADD = $(check_LDADD)
+testDoubleSinh_SOURCES = testDoubleSinh.c
+testDoubleSinh_CFLAGS = $(check_INCLUDES)
+testDoubleSinh_LDADD = $(check_LDADD)
all: all-am
.SUFFIXES:
@@ -304,9 +317,12 @@ clean-checkPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
-testSinh$(EXEEXT): $(testSinh_OBJECTS) $(testSinh_DEPENDENCIES)
- @rm -f testSinh$(EXEEXT)
- $(testSinh_LINK) $(testSinh_OBJECTS) $(testSinh_LDADD) $(LIBS)
+testDoubleSinh$(EXEEXT): $(testDoubleSinh_OBJECTS) $(testDoubleSinh_DEPENDENCIES)
+ @rm -f testDoubleSinh$(EXEEXT)
+ $(testDoubleSinh_LINK) $(testDoubleSinh_OBJECTS) $(testDoubleSinh_LDADD) $(LIBS)
+testFloatSinh$(EXEEXT): $(testFloatSinh_OBJECTS) $(testFloatSinh_DEPENDENCIES)
+ @rm -f testFloatSinh$(EXEEXT)
+ $(testFloatSinh_LINK) $(testFloatSinh_OBJECTS) $(testFloatSinh_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -322,7 +338,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSinh_la-ssinhs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSinh_la-zsinha.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSinh_la-zsinhs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testSinh-testSinh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleSinh-testDoubleSinh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatSinh-testFloatSinh.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -401,19 +418,33 @@ libSinh_la-zsinha.lo: zsinha.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSinh_la_CFLAGS) $(CFLAGS) -c -o libSinh_la-zsinha.lo `test -f 'zsinha.c' || echo '$(srcdir)/'`zsinha.c
-testSinh-testSinh.o: testSinh.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSinh_CFLAGS) $(CFLAGS) -MT testSinh-testSinh.o -MD -MP -MF $(DEPDIR)/testSinh-testSinh.Tpo -c -o testSinh-testSinh.o `test -f 'testSinh.c' || echo '$(srcdir)/'`testSinh.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testSinh-testSinh.Tpo $(DEPDIR)/testSinh-testSinh.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testSinh.c' object='testSinh-testSinh.o' libtool=no @AMDEPBACKSLASH@
+testDoubleSinh-testDoubleSinh.o: testDoubleSinh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSinh_CFLAGS) $(CFLAGS) -MT testDoubleSinh-testDoubleSinh.o -MD -MP -MF $(DEPDIR)/testDoubleSinh-testDoubleSinh.Tpo -c -o testDoubleSinh-testDoubleSinh.o `test -f 'testDoubleSinh.c' || echo '$(srcdir)/'`testDoubleSinh.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testDoubleSinh-testDoubleSinh.Tpo $(DEPDIR)/testDoubleSinh-testDoubleSinh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSinh.c' object='testDoubleSinh-testDoubleSinh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSinh_CFLAGS) $(CFLAGS) -c -o testDoubleSinh-testDoubleSinh.o `test -f 'testDoubleSinh.c' || echo '$(srcdir)/'`testDoubleSinh.c
+
+testDoubleSinh-testDoubleSinh.obj: testDoubleSinh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSinh_CFLAGS) $(CFLAGS) -MT testDoubleSinh-testDoubleSinh.obj -MD -MP -MF $(DEPDIR)/testDoubleSinh-testDoubleSinh.Tpo -c -o testDoubleSinh-testDoubleSinh.obj `if test -f 'testDoubleSinh.c'; then $(CYGPATH_W) 'testDoubleSinh.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSinh.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testDoubleSinh-testDoubleSinh.Tpo $(DEPDIR)/testDoubleSinh-testDoubleSinh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSinh.c' object='testDoubleSinh-testDoubleSinh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSinh_CFLAGS) $(CFLAGS) -c -o testDoubleSinh-testDoubleSinh.obj `if test -f 'testDoubleSinh.c'; then $(CYGPATH_W) 'testDoubleSinh.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSinh.c'; fi`
+
+testFloatSinh-testFloatSinh.o: testFloatSinh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSinh_CFLAGS) $(CFLAGS) -MT testFloatSinh-testFloatSinh.o -MD -MP -MF $(DEPDIR)/testFloatSinh-testFloatSinh.Tpo -c -o testFloatSinh-testFloatSinh.o `test -f 'testFloatSinh.c' || echo '$(srcdir)/'`testFloatSinh.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFloatSinh-testFloatSinh.Tpo $(DEPDIR)/testFloatSinh-testFloatSinh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSinh.c' object='testFloatSinh-testFloatSinh.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSinh_CFLAGS) $(CFLAGS) -c -o testSinh-testSinh.o `test -f 'testSinh.c' || echo '$(srcdir)/'`testSinh.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSinh_CFLAGS) $(CFLAGS) -c -o testFloatSinh-testFloatSinh.o `test -f 'testFloatSinh.c' || echo '$(srcdir)/'`testFloatSinh.c
-testSinh-testSinh.obj: testSinh.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSinh_CFLAGS) $(CFLAGS) -MT testSinh-testSinh.obj -MD -MP -MF $(DEPDIR)/testSinh-testSinh.Tpo -c -o testSinh-testSinh.obj `if test -f 'testSinh.c'; then $(CYGPATH_W) 'testSinh.c'; else $(CYGPATH_W) '$(srcdir)/testSinh.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testSinh-testSinh.Tpo $(DEPDIR)/testSinh-testSinh.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testSinh.c' object='testSinh-testSinh.obj' libtool=no @AMDEPBACKSLASH@
+testFloatSinh-testFloatSinh.obj: testFloatSinh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSinh_CFLAGS) $(CFLAGS) -MT testFloatSinh-testFloatSinh.obj -MD -MP -MF $(DEPDIR)/testFloatSinh-testFloatSinh.Tpo -c -o testFloatSinh-testFloatSinh.obj `if test -f 'testFloatSinh.c'; then $(CYGPATH_W) 'testFloatSinh.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSinh.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFloatSinh-testFloatSinh.Tpo $(DEPDIR)/testFloatSinh-testFloatSinh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSinh.c' object='testFloatSinh-testFloatSinh.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSinh_CFLAGS) $(CFLAGS) -c -o testSinh-testSinh.obj `if test -f 'testSinh.c'; then $(CYGPATH_W) 'testSinh.c'; else $(CYGPATH_W) '$(srcdir)/testSinh.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSinh_CFLAGS) $(CFLAGS) -c -o testFloatSinh-testFloatSinh.obj `if test -f 'testFloatSinh.c'; then $(CYGPATH_W) 'testFloatSinh.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSinh.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
diff --git a/src/elementaryFunctions/sinh/ssinhs.c b/src/elementaryFunctions/sinh/ssinhs.c
index 82cfb852..326b5804 100644
--- a/src/elementaryFunctions/sinh/ssinhs.c
+++ b/src/elementaryFunctions/sinh/ssinhs.c
@@ -1,18 +1,18 @@
/*
-** -*- C -*-
-**
-** ssinhs.c
-** Made by Bruno JOFRET <bruno.jofret@inria.fr>
-**
-** Started on Fri Dec 8 10:45:34 2006 jofret
-** Last update Fri Apr 20 14:41:18 2007 jofret
-**
-** Copyright INRIA 2006
-*/
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-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
+ *
+ */
#include <math.h>
#include "sinh.h"
float ssinhs(float x) {
- return (sinh(x));
+ return (sinhf(x));
}
diff --git a/src/elementaryFunctions/sinh/testDoubleSinh.c b/src/elementaryFunctions/sinh/testDoubleSinh.c
new file mode 100644
index 00000000..0bb9da8e
--- /dev/null
+++ b/src/elementaryFunctions/sinh/testDoubleSinh.c
@@ -0,0 +1,87 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-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
+ *
+ */
+
+#include "testSinh.h"
+
+void dsinhsTest() {
+ printf(">> Double scalar\n");
+ printf("dsinhs(0) = %e\n", dsinhs((double) 0));
+ printf("dsinhs(PI) = %e\n", dsinhs(DPI));
+ printf("dsinhs(PI/2) = %e\n", dsinhs(DPI/2));
+ printf("dsinhs(PI/3) = %e\n", dsinhs(DPI/3));
+ printf("dsinhs(PI/4) = %e\n", dsinhs(DPI/4));
+ printf("dsinhs(PI/6) = %e\n", dsinhs(DPI/6));
+ printf("dsinhs(-PI) = %e\n", dsinhs(-DPI));
+ printf("dsinhs(-PI/2) = %e\n", dsinhs(-DPI/2));
+ printf("dsinhs(-PI/3) = %e\n", dsinhs(-DPI/3));
+ printf("dsinhs(-PI/4) = %e\n", dsinhs(-DPI/4));
+ printf("dsinhs(-PI/6) = %e\n", dsinhs(-DPI/6));
+}
+
+void zsinhsTest(void) {
+ doubleComplex pi_pi = DoubleComplex(DPI, DPI);
+ doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2);
+ doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3);
+ doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4);
+ doubleComplex out;
+
+ printf(">> Double Complex scalar\n");
+ out = zsinhs(pi_pi);
+ printf("zsinhs(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out));
+ out = zsinhs(pi_2_pi_2);
+ printf("zsinhs(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out));
+ out = zsinhs(pi_2_pi_3);
+ printf("zsinhs(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out));
+ out = zsinhs(pi_2_pi_4);
+ printf("zsinhs(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out));
+}
+
+void dsinhaTest(void) {
+ double out[5];
+ double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6};
+ int i = 0;
+
+ printf(">> Double array\n");
+ dsinha(in, 5, out);
+ for (i = 0 ; i < 5 ; ++i)
+ printf("dsinha(array) = %f\n", out[i]);
+}
+
+void zsinhaTest(void) {
+ doubleComplex in[4];
+ doubleComplex out[4];
+ int i = 0;
+
+ in[0] = DoubleComplex(DPI, DPI);
+ in[1] = DoubleComplex(DPI/2, DPI/2);
+ in[2] = DoubleComplex(DPI/2, DPI/3);
+ in[3] = DoubleComplex(DPI/2, DPI/4);
+
+ zsinha(in, 4, out);
+ printf(">> Double Complex Array\n");
+ for (i = 0 ; i < 4 ; ++i)
+ printf("zsinha(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i]));
+}
+
+int testSinh() {
+ printf("\n>>>> Double Hyperbolic Sine Tests\n");
+ dsinhsTest();
+ zsinhsTest();
+ dsinhaTest();
+ zsinhaTest();
+ return 0;
+}
+
+int main() {
+ assert(testSinh() == 0);
+ return 0;
+}
diff --git a/src/elementaryFunctions/sinh/testFloatSinh.c b/src/elementaryFunctions/sinh/testFloatSinh.c
new file mode 100644
index 00000000..9e99addc
--- /dev/null
+++ b/src/elementaryFunctions/sinh/testFloatSinh.c
@@ -0,0 +1,87 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-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
+ *
+ */
+
+#include "testSinh.h"
+
+void ssinhsTest() {
+ printf(">> Float scalar\n");
+ printf("ssinhs(0) = %f\n", ssinhs(0.0f));
+ printf("ssinhs(PI) = %f\n", ssinhs(FPI));
+ printf("ssinhs(PI/2) = %f\n", ssinhs(FPI/2));
+ printf("ssinhs(PI/3) = %f\n", ssinhs(FPI/3));
+ printf("ssinhs(PI/4) = %f\n", ssinhs(FPI/4));
+ printf("ssinhs(PI/6) = %f\n", ssinhs(FPI/6));
+ printf("ssinhs(-PI) = %f\n", ssinhs(-FPI));
+ printf("ssinhs(-PI/2) = %f\n", ssinhs(-FPI/2));
+ printf("ssinhs(-PI/3) = %f\n", ssinhs(-FPI/3));
+ printf("ssinhs(-PI/4) = %f\n", ssinhs(-FPI/4));
+ printf("ssinhs(-PI/6) = %f\n", ssinhs(-FPI/6));
+}
+
+void csinhsTest(void) {
+ floatComplex pi_pi = FloatComplex(FPI, FPI);
+ floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2);
+ floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3);
+ floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4);
+ floatComplex out;
+
+ printf(">> Float Complex scalar\n");
+ out = csinhs(pi_pi);
+ printf("csinhs(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out));
+ out = csinhs(pi_2_pi_2);
+ printf("csinhs(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out));
+ out = csinhs(pi_2_pi_3);
+ printf("csinhs(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out));
+ out = csinhs(pi_2_pi_4);
+ printf("csinhs(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out));
+}
+
+void ssinhaTest(void) {
+ float out[5];
+ float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6};
+ int i = 0;
+
+ printf(">> Float array\n");
+ ssinha(in, 5, out);
+ for (i = 0 ; i < 5 ; ++i)
+ printf("ssinha(array) = %f\n", out[i]);
+}
+
+void csinhaTest(void) {
+ floatComplex in[4];
+ floatComplex out[4];
+ int i = 0;
+
+ in[0] = FloatComplex(FPI, FPI);
+ in[1] = FloatComplex(FPI/2, FPI/2);
+ in[2] = FloatComplex(FPI/2, FPI/3);
+ in[3] = FloatComplex(FPI/2, FPI/4);
+
+ csinha(in, 4, out);
+ printf(">> Float Complex Array\n");
+ for (i = 0 ; i < 4 ; ++i)
+ printf("csinha(array) = %e + I * %e\n", creals(out[i]), cimags(out[i]));
+}
+
+int testSinh() {
+ printf("\n>>>> Hyperbolic Sine Tests\n");
+ ssinhsTest();
+ csinhsTest();
+ ssinhaTest();
+ csinhaTest();
+ return 0;
+}
+
+int main() {
+ assert(testSinh() == 0);
+ return 0;
+}
diff --git a/src/elementaryFunctions/sinh/testSinh.c b/src/elementaryFunctions/sinh/testSinh.c
deleted file mode 100644
index 7fe00e6d..00000000
--- a/src/elementaryFunctions/sinh/testSinh.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-** -*- C -*-
-**
-** testSinh.c
-** Made by Bruno JOFRET <bruno.jofret@inria.fr>
-**
-** Started on Fri Dec 8 15:06:16 2006 jofret
-** Last update Mon Oct 22 13:39:10 2007 bruno
-**
-** Copyright INRIA 2006
-*/
-
-#include "testSinh.h"
-
-void ssinhsTest() {
- printf(">> Float scalar\n");
- printf("ssinhs(0) = %f\n", ssinhs((float) 0));
- printf("ssinhs(PI) = %f\n", ssinhs(PI));
- printf("ssinhs(PI/2) = %f\n", ssinhs(PI/2));
- printf("ssinhs(PI/3) = %f\n", ssinhs(PI/3));
- printf("ssinhs(PI/4) = %f\n", ssinhs(PI/4));
- printf("ssinhs(PI/6) = %f\n", ssinhs(PI/6));
- printf("ssinhs(-PI) = %f\n", ssinhs(-PI));
- printf("ssinhs(-PI/2) = %f\n", ssinhs(-PI/2));
- printf("ssinhs(-PI/3) = %f\n", ssinhs(-PI/3));
- printf("ssinhs(-PI/4) = %f\n", ssinhs(-PI/4));
- printf("ssinhs(-PI/6) = %f\n", ssinhs(-PI/6));
-}
-
-void dsinhsTest() {
- printf(">> Double scalar\n");
- printf("dsinhs(0) = %e\n", dsinhs((double) 0));
- printf("dsinhs(PI) = %e\n", dsinhs(PI));
- printf("dsinhs(PI/2) = %e\n", dsinhs(PI/2));
- printf("dsinhs(PI/3) = %e\n", dsinhs(PI/3));
- printf("dsinhs(PI/4) = %e\n", dsinhs(PI/4));
- printf("dsinhs(PI/6) = %e\n", dsinhs(PI/6));
- printf("dsinhs(-PI) = %e\n", dsinhs(-PI));
- printf("dsinhs(-PI/2) = %e\n", dsinhs(-PI/2));
- printf("dsinhs(-PI/3) = %e\n", dsinhs(-PI/3));
- printf("dsinhs(-PI/4) = %e\n", dsinhs(-PI/4));
- printf("dsinhs(-PI/6) = %e\n", dsinhs(-PI/6));
-}
-
-void csinhsTest(void) {
- floatComplex pi_pi = FloatComplex(PI, PI);
- floatComplex pi_2_pi_2 = FloatComplex(PI/2, PI/2);
- floatComplex pi_2_pi_3 = FloatComplex(PI/2, PI/3);
- floatComplex pi_2_pi_4 = FloatComplex(PI/2, PI/4);
- floatComplex out;
-
- printf(">> Float Complex scalar\n");
- out = csinhs(pi_pi);
- printf("csinhs(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out));
- out = csinhs(pi_2_pi_2);
- printf("csinhs(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out));
- out = csinhs(pi_2_pi_3);
- printf("csinhs(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out));
- out = csinhs(pi_2_pi_4);
- printf("csinhs(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out));
-}
-
-void zsinhsTest(void) {
- doubleComplex pi_pi = DoubleComplex(PI, PI);
- doubleComplex pi_2_pi_2 = DoubleComplex(PI/2, PI/2);
- doubleComplex pi_2_pi_3 = DoubleComplex(PI/2, PI/3);
- doubleComplex pi_2_pi_4 = DoubleComplex(PI/2, PI/4);
- doubleComplex out;
-
- printf(">> Double Complex scalar\n");
- out = zsinhs(pi_pi);
- printf("zsinhs(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out));
- out = zsinhs(pi_2_pi_2);
- printf("zsinhs(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out));
- out = zsinhs(pi_2_pi_3);
- printf("zsinhs(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out));
- out = zsinhs(pi_2_pi_4);
- printf("zsinhs(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out));
-}
-
-void ssinhaTest(void) {
- float out[5];
- float in[5] = {PI, PI/2, PI/3, PI/4, PI/6};
- int i = 0;
-
- printf(">> Float array\n");
- ssinha(in, 5, out);
- for (i = 0 ; i < 5 ; ++i)
- printf("ssinha(array) = %f\n", out[i]);
-}
-
-void dsinhaTest(void) {
- double out[5];
- double in[5] = {PI, PI/2, PI/3, PI/4, PI/6};
- int i = 0;
-
- printf(">> Double Array\n");
- dsinha(in, 5, out);
- for (i = 0 ; i < 5 ; ++i)
- printf("ssinha(array) = %f\n", out[i]);
-
-}
-
-void csinhaTest(void) {
- floatComplex in[4];
- floatComplex out[4];
- int i = 0;
-
- in[0] = FloatComplex(PI, PI);
- in[1] = FloatComplex(PI/2, PI/2);
- in[2] = FloatComplex(PI/2, PI/3);
- in[3] = FloatComplex(PI/2, PI/4);
-
- csinha(in, 4, out);
- printf(">> Float Complex Array\n");
- for (i = 0 ; i < 4 ; ++i)
- printf("csinha(array) = %e + I * %e\n", creals(out[i]), cimags(out[i]));
-}
-
-void zsinhaTest(void) {
- doubleComplex in[4];
- doubleComplex out[4];
- int i = 0;
-
- in[0] = DoubleComplex(PI, PI);
- in[1] = DoubleComplex(PI/2, PI/2);
- in[2] = DoubleComplex(PI/2, PI/3);
- in[3] = DoubleComplex(PI/2, PI/4);
-
- zsinha(in, 4, out);
- printf(">> Double Complex Array\n");
- for (i = 0 ; i < 4 ; ++i)
- printf("zsinha(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i]));
-}
-
-int testSinh() {
- printf("\n>>>> Hyperbolic Sine Tests\n");
- ssinhsTest();
- dsinhsTest();
- csinhsTest();
- zsinhsTest();
- ssinhaTest();
- dsinhaTest();
- csinhaTest();
- zsinhaTest();
- return 0;
-}
-
-int main() {
- assert(testSinh() == 0);
- return 0;
-}