diff options
author | jofret | 2008-04-18 09:38:20 +0000 |
---|---|---|
committer | jofret | 2008-04-18 09:38:20 +0000 |
commit | 98bcc0f9668f9ad96ada5fc0cac339f72edd0226 (patch) | |
tree | bc4b4f82b3c1b1beb57b62757846fbf9d9b697f7 | |
parent | 52b89378bd2c98f37731097673e07daed473e2cf (diff) | |
download | scilab2c-98bcc0f9668f9ad96ada5fc0cac339f72edd0226.tar.gz scilab2c-98bcc0f9668f9ad96ada5fc0cac339f72edd0226.tar.bz2 scilab2c-98bcc0f9668f9ad96ada5fc0cac339f72edd0226.zip |
Double vs Float better management. Enable psycho warnings.
-rw-r--r-- | src/elementaryFunctions/sin/Makefile.am | 26 | ||||
-rw-r--r-- | src/elementaryFunctions/sin/Makefile.in | 93 | ||||
-rw-r--r-- | src/elementaryFunctions/sin/ssins.c | 22 | ||||
-rw-r--r-- | src/elementaryFunctions/sin/testDoubleSin.c | 88 | ||||
-rw-r--r-- | src/elementaryFunctions/sin/testFloatSin.c | 87 | ||||
-rw-r--r-- | src/elementaryFunctions/sin/testSin.c | 152 |
6 files changed, 264 insertions, 204 deletions
diff --git a/src/elementaryFunctions/sin/Makefile.am b/src/elementaryFunctions/sin/Makefile.am index 93c1592b..d350b85f 100644 --- a/src/elementaryFunctions/sin/Makefile.am +++ b/src/elementaryFunctions/sin/Makefile.am @@ -37,19 +37,25 @@ HEAD = ../includes/sin.h check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ -I $(top_builddir)/type -check_PROGRAMS = testSin - -TESTS = testSin - -# -# -*- Sine Tests -*- -# -testSin_SOURCES = testSin.c -testSin_CFLAGS = $(check_INCLUDES) -testSin_LDADD = $(top_builddir)/type/libDoubleComplex.la \ +check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/type/libFloatComplex.la \ $(top_builddir)/elementaryFunctions/sin/libSin.la \ $(top_builddir)/elementaryFunctions/cos/libCos.la \ $(top_builddir)/elementaryFunctions/sinh/libSinh.la \ $(top_builddir)/elementaryFunctions/cosh/libCosh.la \ @LIBMATH@ + +check_PROGRAMS = testFloatSin testDoubleSin + +TESTS = testFloatSin testDoubleSin + +# +# -*- Sine Tests -*- +# +testFloatSin_SOURCES = testFloatSin.c +testFloatSin_CFLAGS = $(check_INCLUDES) +testFloatSin_LDADD = $(check_LDADD) + +testDoubleSin_SOURCES = testDoubleSin.c +testDoubleSin_CFLAGS = $(check_INCLUDES) +testDoubleSin_LDADD = $(check_LDADD) diff --git a/src/elementaryFunctions/sin/Makefile.in b/src/elementaryFunctions/sin/Makefile.in index 076b85d8..99b78b53 100644 --- a/src/elementaryFunctions/sin/Makefile.in +++ b/src/elementaryFunctions/sin/Makefile.in @@ -32,8 +32,8 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -check_PROGRAMS = testSin$(EXEEXT) -TESTS = testSin$(EXEEXT) +check_PROGRAMS = testFloatSin$(EXEEXT) testDoubleSin$(EXEEXT) +TESTS = testFloatSin$(EXEEXT) testDoubleSin$(EXEEXT) subdir = elementaryFunctions/sin DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -62,17 +62,24 @@ libSin_la_OBJECTS = $(am_libSin_la_OBJECTS) libSin_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libSin_la_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am_testSin_OBJECTS = testSin-testSin.$(OBJEXT) -testSin_OBJECTS = $(am_testSin_OBJECTS) -testSin_DEPENDENCIES = $(top_builddir)/type/libDoubleComplex.la \ +am_testDoubleSin_OBJECTS = testDoubleSin-testDoubleSin.$(OBJEXT) +testDoubleSin_OBJECTS = $(am_testDoubleSin_OBJECTS) +am__DEPENDENCIES_1 = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/type/libFloatComplex.la \ $(top_builddir)/elementaryFunctions/sin/libSin.la \ $(top_builddir)/elementaryFunctions/cos/libCos.la \ $(top_builddir)/elementaryFunctions/sinh/libSinh.la \ $(top_builddir)/elementaryFunctions/cosh/libCosh.la -testSin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(testSin_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ +testDoubleSin_DEPENDENCIES = $(am__DEPENDENCIES_1) +testDoubleSin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleSin_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_testFloatSin_OBJECTS = testFloatSin-testFloatSin.$(OBJEXT) +testFloatSin_OBJECTS = $(am_testFloatSin_OBJECTS) +testFloatSin_DEPENDENCIES = $(am__DEPENDENCIES_1) +testFloatSin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatSin_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 = $(libSin_la_SOURCES) $(testSin_SOURCES) -DIST_SOURCES = $(libSin_la_SOURCES) $(testSin_SOURCES) +SOURCES = $(libSin_la_SOURCES) $(testDoubleSin_SOURCES) \ + $(testFloatSin_SOURCES) +DIST_SOURCES = $(libSin_la_SOURCES) $(testDoubleSin_SOURCES) \ + $(testFloatSin_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -221,13 +230,7 @@ HEAD = ../includes/sin.h check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ -I $(top_builddir)/type - -# -# -*- Sine Tests -*- -# -testSin_SOURCES = testSin.c -testSin_CFLAGS = $(check_INCLUDES) -testSin_LDADD = $(top_builddir)/type/libDoubleComplex.la \ +check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/type/libFloatComplex.la \ $(top_builddir)/elementaryFunctions/sin/libSin.la \ $(top_builddir)/elementaryFunctions/cos/libCos.la \ @@ -235,6 +238,16 @@ testSin_LDADD = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/elementaryFunctions/cosh/libCosh.la \ @LIBMATH@ + +# +# -*- Sine Tests -*- +# +testFloatSin_SOURCES = testFloatSin.c +testFloatSin_CFLAGS = $(check_INCLUDES) +testFloatSin_LDADD = $(check_LDADD) +testDoubleSin_SOURCES = testDoubleSin.c +testDoubleSin_CFLAGS = $(check_INCLUDES) +testDoubleSin_LDADD = $(check_LDADD) all: all-am .SUFFIXES: @@ -304,9 +317,12 @@ clean-checkPROGRAMS: echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done -testSin$(EXEEXT): $(testSin_OBJECTS) $(testSin_DEPENDENCIES) - @rm -f testSin$(EXEEXT) - $(testSin_LINK) $(testSin_OBJECTS) $(testSin_LDADD) $(LIBS) +testDoubleSin$(EXEEXT): $(testDoubleSin_OBJECTS) $(testDoubleSin_DEPENDENCIES) + @rm -f testDoubleSin$(EXEEXT) + $(testDoubleSin_LINK) $(testDoubleSin_OBJECTS) $(testDoubleSin_LDADD) $(LIBS) +testFloatSin$(EXEEXT): $(testFloatSin_OBJECTS) $(testFloatSin_DEPENDENCIES) + @rm -f testFloatSin$(EXEEXT) + $(testFloatSin_LINK) $(testFloatSin_OBJECTS) $(testFloatSin_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -322,7 +338,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSin_la-ssins.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSin_la-zsina.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSin_la-zsins.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testSin-testSin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleSin-testDoubleSin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatSin-testFloatSin.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -401,19 +418,33 @@ libSin_la-zsina.lo: zsina.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) $(libSin_la_CFLAGS) $(CFLAGS) -c -o libSin_la-zsina.lo `test -f 'zsina.c' || echo '$(srcdir)/'`zsina.c -testSin-testSin.o: testSin.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSin_CFLAGS) $(CFLAGS) -MT testSin-testSin.o -MD -MP -MF $(DEPDIR)/testSin-testSin.Tpo -c -o testSin-testSin.o `test -f 'testSin.c' || echo '$(srcdir)/'`testSin.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testSin-testSin.Tpo $(DEPDIR)/testSin-testSin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testSin.c' object='testSin-testSin.o' libtool=no @AMDEPBACKSLASH@ +testDoubleSin-testDoubleSin.o: testDoubleSin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSin_CFLAGS) $(CFLAGS) -MT testDoubleSin-testDoubleSin.o -MD -MP -MF $(DEPDIR)/testDoubleSin-testDoubleSin.Tpo -c -o testDoubleSin-testDoubleSin.o `test -f 'testDoubleSin.c' || echo '$(srcdir)/'`testDoubleSin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testDoubleSin-testDoubleSin.Tpo $(DEPDIR)/testDoubleSin-testDoubleSin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSin.c' object='testDoubleSin-testDoubleSin.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) $(testDoubleSin_CFLAGS) $(CFLAGS) -c -o testDoubleSin-testDoubleSin.o `test -f 'testDoubleSin.c' || echo '$(srcdir)/'`testDoubleSin.c + +testDoubleSin-testDoubleSin.obj: testDoubleSin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSin_CFLAGS) $(CFLAGS) -MT testDoubleSin-testDoubleSin.obj -MD -MP -MF $(DEPDIR)/testDoubleSin-testDoubleSin.Tpo -c -o testDoubleSin-testDoubleSin.obj `if test -f 'testDoubleSin.c'; then $(CYGPATH_W) 'testDoubleSin.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testDoubleSin-testDoubleSin.Tpo $(DEPDIR)/testDoubleSin-testDoubleSin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSin.c' object='testDoubleSin-testDoubleSin.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) $(testDoubleSin_CFLAGS) $(CFLAGS) -c -o testDoubleSin-testDoubleSin.obj `if test -f 'testDoubleSin.c'; then $(CYGPATH_W) 'testDoubleSin.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSin.c'; fi` + +testFloatSin-testFloatSin.o: testFloatSin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSin_CFLAGS) $(CFLAGS) -MT testFloatSin-testFloatSin.o -MD -MP -MF $(DEPDIR)/testFloatSin-testFloatSin.Tpo -c -o testFloatSin-testFloatSin.o `test -f 'testFloatSin.c' || echo '$(srcdir)/'`testFloatSin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFloatSin-testFloatSin.Tpo $(DEPDIR)/testFloatSin-testFloatSin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSin.c' object='testFloatSin-testFloatSin.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) $(testSin_CFLAGS) $(CFLAGS) -c -o testSin-testSin.o `test -f 'testSin.c' || echo '$(srcdir)/'`testSin.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSin_CFLAGS) $(CFLAGS) -c -o testFloatSin-testFloatSin.o `test -f 'testFloatSin.c' || echo '$(srcdir)/'`testFloatSin.c -testSin-testSin.obj: testSin.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testSin_CFLAGS) $(CFLAGS) -MT testSin-testSin.obj -MD -MP -MF $(DEPDIR)/testSin-testSin.Tpo -c -o testSin-testSin.obj `if test -f 'testSin.c'; then $(CYGPATH_W) 'testSin.c'; else $(CYGPATH_W) '$(srcdir)/testSin.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testSin-testSin.Tpo $(DEPDIR)/testSin-testSin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testSin.c' object='testSin-testSin.obj' libtool=no @AMDEPBACKSLASH@ +testFloatSin-testFloatSin.obj: testFloatSin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSin_CFLAGS) $(CFLAGS) -MT testFloatSin-testFloatSin.obj -MD -MP -MF $(DEPDIR)/testFloatSin-testFloatSin.Tpo -c -o testFloatSin-testFloatSin.obj `if test -f 'testFloatSin.c'; then $(CYGPATH_W) 'testFloatSin.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/testFloatSin-testFloatSin.Tpo $(DEPDIR)/testFloatSin-testFloatSin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSin.c' object='testFloatSin-testFloatSin.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) $(testSin_CFLAGS) $(CFLAGS) -c -o testSin-testSin.obj `if test -f 'testSin.c'; then $(CYGPATH_W) 'testSin.c'; else $(CYGPATH_W) '$(srcdir)/testSin.c'; fi` +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSin_CFLAGS) $(CFLAGS) -c -o testFloatSin-testFloatSin.obj `if test -f 'testFloatSin.c'; then $(CYGPATH_W) 'testFloatSin.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSin.c'; fi` mostlyclean-libtool: -rm -f *.lo diff --git a/src/elementaryFunctions/sin/ssins.c b/src/elementaryFunctions/sin/ssins.c index 18f5a9aa..2bc52da8 100644 --- a/src/elementaryFunctions/sin/ssins.c +++ b/src/elementaryFunctions/sin/ssins.c @@ -1,18 +1,18 @@ /* -** -*- C -*- -** -** ssins.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:39:20 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 "sin.h" float ssins(float x) { - return (sin(x)); + return (sinf(x)); } diff --git a/src/elementaryFunctions/sin/testDoubleSin.c b/src/elementaryFunctions/sin/testDoubleSin.c new file mode 100644 index 00000000..da92688f --- /dev/null +++ b/src/elementaryFunctions/sin/testDoubleSin.c @@ -0,0 +1,88 @@ +/* + * 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 "testSin.h" + +void dsinsTest() { + printf(">> Double scalar\n"); + printf("dsins(0) = %e\n", dsins((double) 0)); + printf("dsins(PI) = %e\n", dsins(DPI)); + printf("dsins(PI/2) = %e\n", dsins(DPI/2)); + printf("dsins(PI/3) = %e\n", dsins(DPI/3)); + printf("dsins(PI/4) = %e\n", dsins(DPI/4)); + printf("dsins(PI/6) = %e\n", dsins(DPI/6)); + printf("dsins(-PI) = %e\n", dsins(-DPI)); + printf("dsins(-PI/2) = %e\n", dsins(-DPI/2)); + printf("dsins(-PI/3) = %e\n", dsins(-DPI/3)); + printf("dsins(-PI/4) = %e\n", dsins(-DPI/4)); + printf("dsins(-PI/6) = %e\n", dsins(-DPI/6)); +} + +void zsinsTest(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 = zsins(pi_pi); + printf("zsins(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); + out = zsins(pi_2_pi_2); + printf("zsins(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); + out = zsins(pi_2_pi_3); + printf("zsins(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); + out = zsins(pi_2_pi_4); + printf("zsins(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); +} + +void dsinaTest(void) { + double out[5]; + double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; + int i = 0; + + printf(">> Double Array\n"); + dsina(in, 5, out); + for (i = 0 ; i < 5 ; ++i) + printf("ssina(array) = %f\n", out[i]); + +} + +void zsinaTest(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); + + zsina(in, 4, out); + printf(">> Double Complex Array\n"); + for (i = 0 ; i < 4 ; ++i) + printf("zsina(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); +} + +int testSin() { + printf("\n>>>> Double Sine Tests\n"); + dsinsTest(); + zsinsTest(); + dsinaTest(); + zsinaTest(); + return 0; +} + +int main(void) { + assert(testSin() == 0); + return 0; +} diff --git a/src/elementaryFunctions/sin/testFloatSin.c b/src/elementaryFunctions/sin/testFloatSin.c new file mode 100644 index 00000000..5127933e --- /dev/null +++ b/src/elementaryFunctions/sin/testFloatSin.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 "testSin.h" + +void ssinsTest() { + printf(">> Float scalar\n"); + printf("ssins(0) = %f\n", ssins((float) 0)); + printf("ssins(PI) = %f\n", ssins(FPI)); + printf("ssins(PI/2) = %f\n", ssins(FPI/2)); + printf("ssins(PI/3) = %f\n", ssins(FPI/3)); + printf("ssins(PI/4) = %f\n", ssins(FPI/4)); + printf("ssins(PI/6) = %f\n", ssins(FPI/6)); + printf("ssins(-PI) = %f\n", ssins(-FPI)); + printf("ssins(-PI/2) = %f\n", ssins(-FPI/2)); + printf("ssins(-PI/3) = %f\n", ssins(-FPI/3)); + printf("ssins(-PI/4) = %f\n", ssins(-FPI/4)); + printf("ssins(-PI/6) = %f\n", ssins(-FPI/6)); +} + +void csinsTest(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 = csins(pi_pi); + printf("csins(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); + out = csins(pi_2_pi_2); + printf("csins(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); + out = csins(pi_2_pi_3); + printf("csins(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); + out = csins(pi_2_pi_4); + printf("csins(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); +} + +void ssinaTest(void) { + float out[5]; + float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6}; + int i = 0; + + printf(">> Float array\n"); + ssina(in, 5, out); + for (i = 0 ; i < 5 ; ++i) + printf("ssina(array) = %f\n", out[i]); +} + +void csinaTest(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); + + csina(in, 4, out); + printf(">> Float Complex Array\n"); + for (i = 0 ; i < 4 ; ++i) + printf("csina(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); +} + +int testSin() { + printf("\n>>>> Float Sine Tests\n"); + ssinsTest(); + csinsTest(); + ssinaTest(); + csinaTest(); + return 0; +} + +int main(void) { + assert(testSin() == 0); + return 0; +} diff --git a/src/elementaryFunctions/sin/testSin.c b/src/elementaryFunctions/sin/testSin.c deleted file mode 100644 index b7bc9ca6..00000000 --- a/src/elementaryFunctions/sin/testSin.c +++ /dev/null @@ -1,152 +0,0 @@ -/* -** -*- C -*- -** -** testSin.c -** Made by Bruno JOFRET <bruno.jofret@inria.fr> -** -** Started on Fri Dec 8 15:06:16 2006 jofret -** Last update Mon Oct 22 12:05:02 2007 bruno -** -** Copyright INRIA 2006 -*/ - -#include "testSin.h" - -void ssinsTest() { - printf(">> Float scalar\n"); - printf("ssins(0) = %f\n", ssins((float) 0)); - printf("ssins(PI) = %f\n", ssins(PI)); - printf("ssins(PI/2) = %f\n", ssins(PI/2)); - printf("ssins(PI/3) = %f\n", ssins(PI/3)); - printf("ssins(PI/4) = %f\n", ssins(PI/4)); - printf("ssins(PI/6) = %f\n", ssins(PI/6)); - printf("ssins(-PI) = %f\n", ssins(-PI)); - printf("ssins(-PI/2) = %f\n", ssins(-PI/2)); - printf("ssins(-PI/3) = %f\n", ssins(-PI/3)); - printf("ssins(-PI/4) = %f\n", ssins(-PI/4)); - printf("ssins(-PI/6) = %f\n", ssins(-PI/6)); -} - -void dsinsTest() { - printf(">> Double scalar\n"); - printf("dsins(0) = %e\n", dsins((double) 0)); - printf("dsins(PI) = %e\n", dsins(PI)); - printf("dsins(PI/2) = %e\n", dsins(PI/2)); - printf("dsins(PI/3) = %e\n", dsins(PI/3)); - printf("dsins(PI/4) = %e\n", dsins(PI/4)); - printf("dsins(PI/6) = %e\n", dsins(PI/6)); - printf("dsins(-PI) = %e\n", dsins(-PI)); - printf("dsins(-PI/2) = %e\n", dsins(-PI/2)); - printf("dsins(-PI/3) = %e\n", dsins(-PI/3)); - printf("dsins(-PI/4) = %e\n", dsins(-PI/4)); - printf("dsins(-PI/6) = %e\n", dsins(-PI/6)); -} - -void csinsTest(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 = csins(pi_pi); - printf("csins(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); - out = csins(pi_2_pi_2); - printf("csins(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); - out = csins(pi_2_pi_3); - printf("csins(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); - out = csins(pi_2_pi_4); - printf("csins(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); -} - -void zsinsTest(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 = zsins(pi_pi); - printf("zsins(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zsins(pi_2_pi_2); - printf("zsins(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zsins(pi_2_pi_3); - printf("zsins(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zsins(pi_2_pi_4); - printf("zsins(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); -} - -void ssinaTest(void) { - float out[5]; - float in[5] = {PI, PI/2, PI/3, PI/4, PI/6}; - int i = 0; - - printf(">> Float array\n"); - ssina(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("ssina(array) = %f\n", out[i]); -} - -void dsinaTest(void) { - double out[5]; - double in[5] = {PI, PI/2, PI/3, PI/4, PI/6}; - int i = 0; - - printf(">> Double Array\n"); - dsina(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("ssina(array) = %f\n", out[i]); - -} - -void csinaTest(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); - - csina(in, 4, out); - printf(">> Float Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("csina(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); -} - -void zsinaTest(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); - - zsina(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zsina(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); -} - -int testSin() { - printf("\n>>>> Sine Tests\n"); - ssinsTest(); - dsinsTest(); - csinsTest(); - zsinsTest(); - ssinaTest(); - dsinaTest(); - csinaTest(); - zsinaTest(); - return 0; -} - -int main(void) { - assert(testSin() == 0); - return 0; -} |