diff options
author | jofret | 2007-04-20 08:29:42 +0000 |
---|---|---|
committer | jofret | 2007-04-20 08:29:42 +0000 |
commit | cfeba6e9408132a5fa76f0591f15a68339fd8a59 (patch) | |
tree | cd5ac709789c18254abfa3baa7b49788e61dd6de | |
parent | 8e7ea9e904a0e9c5760d2b05de5b3f0af31785de (diff) | |
download | scilab2c-cfeba6e9408132a5fa76f0591f15a68339fd8a59.tar.gz scilab2c-cfeba6e9408132a5fa76f0591f15a68339fd8a59.tar.bz2 scilab2c-cfeba6e9408132a5fa76f0591f15a68339fd8a59.zip |
Adding Automated tests.
-rw-r--r-- | src/elementaryFunctions/asin/Makefile.am | 23 | ||||
-rw-r--r-- | src/elementaryFunctions/asin/Makefile.in | 142 | ||||
-rw-r--r-- | src/elementaryFunctions/asin/testAsin.c | 150 | ||||
-rw-r--r-- | src/elementaryFunctions/asin/testAsin.h | 40 |
4 files changed, 344 insertions, 11 deletions
diff --git a/src/elementaryFunctions/asin/Makefile.am b/src/elementaryFunctions/asin/Makefile.am index 6454cd8a..0992ec71 100644 --- a/src/elementaryFunctions/asin/Makefile.am +++ b/src/elementaryFunctions/asin/Makefile.am @@ -5,7 +5,7 @@ ## Made by Bruno JOFRET <bruno.jofret@inria.fr> ## ## Started on Fri Jan 5 10:19:16 2007 jofret -## Last update Sun Mar 25 21:01:56 2007 bruno +## Last update Fri Apr 20 10:34:36 2007 jofret ## ## Copyright INRIA 2007 ## @@ -31,3 +31,24 @@ SRC = sasins.c \ zasina.c HEAD = ../includes/asin.h + +#### +# Checking Part +#### + +check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ + -I $(top_builddir)/type + +check_PROGRAMS = testAsin + +TESTS = testAsin + +# +# -*- ArcSine Tests -*- +# +testAsin_SOURCES = testAsin.c +testAsin_CFLAGS = $(check_INCLUDES) +testAsin_LDADD = $(top_builddir)/lib/libDoubleComplex.a \ + $(top_builddir)/lib/libFloatComplex.a \ + $(top_builddir)/lib/libAsin.a \ + @LIBMATH@
\ No newline at end of file diff --git a/src/elementaryFunctions/asin/Makefile.in b/src/elementaryFunctions/asin/Makefile.in index 4fb6426c..322768f8 100644 --- a/src/elementaryFunctions/asin/Makefile.in +++ b/src/elementaryFunctions/asin/Makefile.in @@ -36,6 +36,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +check_PROGRAMS = testAsin$(EXEEXT) subdir = elementaryFunctions/asin DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -65,6 +66,11 @@ am__objects_2 = sasins.$(OBJEXT) dasins.$(OBJEXT) casins.$(OBJEXT) \ casina.$(OBJEXT) zasina.$(OBJEXT) am_libAsin_a_OBJECTS = $(am__objects_1) $(am__objects_2) libAsin_a_OBJECTS = $(am_libAsin_a_OBJECTS) +am_testAsin_OBJECTS = testAsin-testAsin.$(OBJEXT) +testAsin_OBJECTS = $(am_testAsin_OBJECTS) +testAsin_DEPENDENCIES = $(top_builddir)/lib/libDoubleComplex.a \ + $(top_builddir)/lib/libFloatComplex.a \ + $(top_builddir)/lib/libAsin.a DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/includes depcomp = $(SHELL) $(top_srcdir)/config/depcomp am__depfiles_maybe = depfiles @@ -72,8 +78,8 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libAsin_a_SOURCES) -DIST_SOURCES = $(libAsin_a_SOURCES) +SOURCES = $(libAsin_a_SOURCES) $(testAsin_SOURCES) +DIST_SOURCES = $(libAsin_a_SOURCES) $(testAsin_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -189,6 +195,25 @@ SRC = sasins.c \ zasina.c HEAD = ../includes/asin.h + +#### +# Checking Part +#### +check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ + -I $(top_builddir)/type + +TESTS = testAsin + +# +# -*- ArcSine Tests -*- +# +testAsin_SOURCES = testAsin.c +testAsin_CFLAGS = $(check_INCLUDES) +testAsin_LDADD = $(top_builddir)/lib/libDoubleComplex.a \ + $(top_builddir)/lib/libFloatComplex.a \ + $(top_builddir)/lib/libAsin.a \ + @LIBMATH@ + all: all-am .SUFFIXES: @@ -259,6 +284,12 @@ libAsin.a: $(libAsin_a_OBJECTS) $(libAsin_a_DEPENDENCIES) $(libAsin_a_AR) libAsin.a $(libAsin_a_OBJECTS) $(libAsin_a_LIBADD) $(RANLIB) libAsin.a +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) +testAsin$(EXEEXT): $(testAsin_OBJECTS) $(testAsin_DEPENDENCIES) + @rm -f testAsin$(EXEEXT) + $(LINK) $(testAsin_LDFLAGS) $(testAsin_OBJECTS) $(testAsin_LDADD) $(LIBS) + mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -271,6 +302,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasins.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sasina.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sasins.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testAsin-testAsin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zasina.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zasins.Po@am__quote@ @@ -287,6 +319,20 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +testAsin-testAsin.o: testAsin.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testAsin_CFLAGS) $(CFLAGS) -MT testAsin-testAsin.o -MD -MP -MF "$(DEPDIR)/testAsin-testAsin.Tpo" -c -o testAsin-testAsin.o `test -f 'testAsin.c' || echo '$(srcdir)/'`testAsin.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/testAsin-testAsin.Tpo" "$(DEPDIR)/testAsin-testAsin.Po"; else rm -f "$(DEPDIR)/testAsin-testAsin.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testAsin.c' object='testAsin-testAsin.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) $(testAsin_CFLAGS) $(CFLAGS) -c -o testAsin-testAsin.o `test -f 'testAsin.c' || echo '$(srcdir)/'`testAsin.c + +testAsin-testAsin.obj: testAsin.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testAsin_CFLAGS) $(CFLAGS) -MT testAsin-testAsin.obj -MD -MP -MF "$(DEPDIR)/testAsin-testAsin.Tpo" -c -o testAsin-testAsin.obj `if test -f 'testAsin.c'; then $(CYGPATH_W) 'testAsin.c'; else $(CYGPATH_W) '$(srcdir)/testAsin.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/testAsin-testAsin.Tpo" "$(DEPDIR)/testAsin-testAsin.Po"; else rm -f "$(DEPDIR)/testAsin-testAsin.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testAsin.c' object='testAsin-testAsin.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) $(testAsin_CFLAGS) $(CFLAGS) -c -o testAsin-testAsin.obj `if test -f 'testAsin.c'; then $(CYGPATH_W) 'testAsin.c'; else $(CYGPATH_W) '$(srcdir)/testAsin.c'; fi` uninstall-info-am: ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -337,6 +383,79 @@ GTAGS: distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list='$(TESTS)'; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ + ;; \ + *) \ + echo "PASS: $$tst"; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + echo "FAIL: $$tst"; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + echo "SKIP: $$tst"; \ + fi; \ + done; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="All $$all tests passed"; \ + else \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all tests failed"; \ + else \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + skipped="($$skip tests were not run)"; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes"; \ + test "$$failed" -eq 0; \ + else :; fi + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ @@ -365,6 +484,8 @@ distdir: $(DISTFILES) fi; \ done check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LIBRARIES) installdirs: @@ -397,8 +518,8 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-instLIBRARIES clean-noinstLIBRARIES \ - mostlyclean-am +clean-am: clean-checkPROGRAMS clean-generic clean-instLIBRARIES \ + clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -445,12 +566,13 @@ ps-am: uninstall-am: uninstall-info-am uninstall-instLIBRARIES -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-instLIBRARIES clean-noinstLIBRARIES ctags distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-instLIBRARIES install-man \ +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-instLIBRARIES \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-instLIBRARIES install-man \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ diff --git a/src/elementaryFunctions/asin/testAsin.c b/src/elementaryFunctions/asin/testAsin.c new file mode 100644 index 00000000..5ac58411 --- /dev/null +++ b/src/elementaryFunctions/asin/testAsin.c @@ -0,0 +1,150 @@ +/* +** -*- C -*- +** +** testAsin.c +** Made by Bruno JOFRET <bruno.jofret@inria.fr> +** +** Started on Fri Dec 8 15:05:44 2006 jofret +** Last update Fri Apr 20 10:32:47 2007 jofret +** +** Copyright INRIA 2006 +*/ + +#include "testAsin.h" + +void sasinsTest(void) { + printf(">> Float scalar\n"); + printf("sasins(0) = %f\n", sasins((float) 0)); + printf("sasins(PI) = %f\n", sasins(PI)); + printf("sasins(PI/2) = %f\n", sasins(PI/2)); + printf("sasins(PI/3) = %f\n", sasins(PI/3)); + printf("sasins(PI/4) = %f\n", sasins(PI/4)); + printf("sasins(PI/6) = %f\n", sasins(PI/6)); + printf("sasins(-PI) = %f\n", sasins(-PI)); + printf("sasins(-PI/2) = %f\n", sasins(-PI/2)); + printf("sasins(-PI/3) = %f\n", sasins(-PI/3)); + printf("sasins(-PI/4) = %f\n", sasins(-PI/4)); + printf("sasins(-PI/6) = %f\n", sasins(-PI/6)); +} + +void dasinsTest(void) { + printf(">> Double scalar\n"); + printf("dasins(0) = %e\n", dasins((double) 0)); + printf("dasins(PI) = %e\n", dasins(PI)); + printf("dasins(PI/2) = %e\n", dasins(PI/2)); + printf("dasins(PI/3) = %e\n", dasins(PI/3)); + printf("dasins(PI/4) = %e\n", dasins(PI/4)); + printf("dasins(PI/6) = %e\n", dasins(PI/6)); + printf("dasins(-PI) = %e\n", dasins(-PI)); + printf("dasins(-PI/2) = %e\n", dasins(-PI/2)); + printf("dasins(-PI/3) = %e\n", dasins(-PI/3)); + printf("dasins(-PI/4) = %e\n", dasins(-PI/4)); + printf("dasins(-PI/6) = %e\n", dasins(-PI/6)); +} + +void casinsTest(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 = casins(pi_pi); + printf("casins(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); + out = casins(pi_2_pi_2); + printf("casins(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); + out = casins(pi_2_pi_3); + printf("casins(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); + out = casins(pi_2_pi_4); + printf("casins(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); +} + +void zasinsTest(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 = zasins(pi_pi); + printf("zasins(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); + out = zasins(pi_2_pi_2); + printf("zasins(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); + out = zasins(pi_2_pi_3); + printf("zasins(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); + out = zasins(pi_2_pi_4); + printf("zasins(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); +} + +void sasinaTest(void) { + float out[5]; + float in[5] = {PI, PI/2, PI/3, PI/4, PI/6}; + int i = 0; + + printf(">> Float array\n"); + sasina(in, out, 5); + for (i = 0 ; i < 5 ; ++i) + printf("sasina(array) = %f\n", out[i]); +} + +void dasinaTest(void) { + double out[5]; + double in[5] = {PI, PI/2, PI/3, PI/4, PI/6}; + int i = 0; + + printf(">> Double Array\n"); + dasina(in, out, 5); + for (i = 0 ; i < 5 ; ++i) + printf("sasina(array) = %f\n", out[i]); + +} + +void casinaTest(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 in[4] = {pi_pi, pi_2_pi_2, pi_2_pi_3, pi_2_pi_4}; + floatComplex out[4]; + int i = 0; + + casina(in, out, 4); + printf(">> Float Complex Array\n"); + for (i = 0 ; i < 4 ; ++i) + printf("casina(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); +} + +void zasinaTest(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 in[4] = {pi_pi, pi_2_pi_2, pi_2_pi_3, pi_2_pi_4 }; + doubleComplex out[4]; + int i = 0; + + zasina(in, out, 4); + printf(">> Double Complex Array\n"); + for (i = 0 ; i < 4 ; ++i) + printf("zasina(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); +} + +int testAsin(void) { + printf("\n>>>> ArcSine Tests\n"); + sasinsTest(); + dasinsTest(); + casinsTest(); + zasinsTest(); + sasinaTest(); + dasinaTest(); + casinaTest(); + zasinaTest(); + return 0; +} + +int main(void) { + assert(testAsin() == 0); + return 0; +} diff --git a/src/elementaryFunctions/asin/testAsin.h b/src/elementaryFunctions/asin/testAsin.h new file mode 100644 index 00000000..e81b206c --- /dev/null +++ b/src/elementaryFunctions/asin/testAsin.h @@ -0,0 +1,40 @@ +/* +** -*- C -*- +** +** testAsin.h +** Made by Bruno JOFRET <bruno.jofret@inria.fr> +** +** Started on Mon Mar 26 16:33:11 2007 jofret +** Last update Fri Apr 20 10:33:11 2007 jofret +** +** Copyright INRIA 2007 +*/ + +#ifndef _TESTASIN_H_ +#define _TESTASIN_H_ + +#include <stdio.h> +#include <assert.h> +#include "asin.h" +#include "constant.h" + + +void sasinsTest(void); + +void dasinsTest(void); + +void casinsTest(void); + +void zasinsTest(void); + +void sasinaTest(void); + +void dasinaTest(void); + +void casinaTest(void); + +void zasinaTest(void); + +int testAsin(void); + +#endif /* ! _TESTASIN_H_ */ |