summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjofret2008-04-18 09:38:20 +0000
committerjofret2008-04-18 09:38:20 +0000
commit98bcc0f9668f9ad96ada5fc0cac339f72edd0226 (patch)
treebc4b4f82b3c1b1beb57b62757846fbf9d9b697f7
parent52b89378bd2c98f37731097673e07daed473e2cf (diff)
downloadscilab2c-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.am26
-rw-r--r--src/elementaryFunctions/sin/Makefile.in93
-rw-r--r--src/elementaryFunctions/sin/ssins.c22
-rw-r--r--src/elementaryFunctions/sin/testDoubleSin.c88
-rw-r--r--src/elementaryFunctions/sin/testFloatSin.c87
-rw-r--r--src/elementaryFunctions/sin/testSin.c152
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;
-}