diff options
Diffstat (limited to 'src/elementaryFunctions')
-rw-r--r-- | src/elementaryFunctions/sinh/Makefile.am | 26 | ||||
-rw-r--r-- | src/elementaryFunctions/sinh/Makefile.in | 93 | ||||
-rw-r--r-- | src/elementaryFunctions/sinh/ssinhs.c | 22 | ||||
-rw-r--r-- | src/elementaryFunctions/sinh/testDoubleSinh.c | 87 | ||||
-rw-r--r-- | src/elementaryFunctions/sinh/testFloatSinh.c | 87 | ||||
-rw-r--r-- | src/elementaryFunctions/sinh/testSinh.c | 152 |
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; -} |