begin porting the unittests to QTestLib. The first test, "selfTest"

already runs and succeeds.
Also expand this test by testing more types and sizes.
This commit is contained in:
Benoit Jacob 2007-06-08 07:39:51 +00:00
parent 681eb1ed7d
commit b155789aa7
8 changed files with 157 additions and 928 deletions

View File

@ -9,30 +9,30 @@ FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ) INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
SET(testsuite_SOURCES SET(testsuite_SOURCES
main.cc main.cpp
SelfTest.h SelfTest.cc selftest.cpp
TestNumericTraits.h TestNumericTraits.cc # TestNumericTraits.h TestNumericTraits.cc
TestNumericTraitsComplex.h TestNumericTraitsComplex.cc # TestNumericTraitsComplex.h TestNumericTraitsComplex.cc
TestConstruction.h TestConstruction.cc # TestConstruction.h TestConstruction.cc
TestComplexMatrix.h TestComplexMatrix.cc # TestComplexMatrix.h TestComplexMatrix.cc
TestComplexVector.h TestComplexVector.cc # TestComplexVector.h TestComplexVector.cc
TestDimension.h TestDimension.cc # TestDimension.h TestDimension.cc
TestMathOps.h TestMathOps.cc # TestMathOps.h TestMathOps.cc
TestMatrixEval.h TestMatrixEval.cc # TestMatrixEval.h TestMatrixEval.cc
TestMatrixFunctions.h TestMatrixFunctions.cc # TestMatrixFunctions.h TestMatrixFunctions.cc
TestMatrixOperators.h TestMatrixOperators.cc # TestMatrixOperators.h TestMatrixOperators.cc
TestSTL.h TestSTL.cc # TestSTL.h TestSTL.cc
TestUnFunc.h TestUnFunc.cc # TestUnFunc.h TestUnFunc.cc
TestVectorEval.h TestVectorEval.cc # TestVectorEval.h TestVectorEval.cc
TestVectorFunctions.h TestVectorFunctions.cc # TestVectorFunctions.h TestVectorFunctions.cc
TestVectorOperators.h TestVectorOperators.cc # TestVectorOperators.h TestVectorOperators.cc
TestXpr.h TestXpr.cc # TestXpr.h TestXpr.cc
TestXprMatrixFunctions.h TestXprMatrixFunctions.cc # TestXprMatrixFunctions.h TestXprMatrixFunctions.cc
TestXprMatrixOperators.h TestXprMatrixOperators.cc # TestXprMatrixOperators.h TestXprMatrixOperators.cc
TestXprVectorFunctions.h TestXprVectorFunctions.cc # TestXprVectorFunctions.h TestXprVectorFunctions.cc
TestXprVectorOperators.h TestXprVectorOperators.cc # TestXprVectorOperators.h TestXprVectorOperators.cc
TestUnloops.h TestUnloops.cc # TestUnloops.h TestUnloops.cc
TestMatrixElementwise.h TestMatrixElementwise.cc # TestMatrixElementwise.h TestMatrixElementwise.cc
) )
QT4_AUTOMOC(${testsuite_SOURCES}) QT4_AUTOMOC(${testsuite_SOURCES})

View File

@ -1,41 +0,0 @@
# $Id: Makefile.am,v 1.4 2005/03/09 11:06:21 opetzold Exp $
if CONFIG_CPPUNIT
TESTS = driver
check_PROGRAMS = driver
driver_SOURCES = \
main.cc \
SelfTest.h SelfTest.cc \
TestNumericTraits.h TestNumericTraits.cc \
TestNumericTraitsComplex.h TestNumericTraitsComplex.cc \
TestConstruction.h TestConstruction.cc \
TestComplexMatrix.h TestComplexMatrix.cc \
TestComplexVector.h TestComplexVector.cc \
TestDimension.h TestDimension.cc \
TestMathOps.h TestMathOps.cc \
TestMatrixEval.h TestMatrixEval.cc \
TestMatrixFunctions.h TestMatrixFunctions.cc \
TestMatrixOperators.h TestMatrixOperators.cc \
TestSTL.h TestSTL.cc \
TestUnFunc.h TestUnFunc.cc \
TestVectorEval.h TestVectorEval.cc \
TestVectorFunctions.h TestVectorFunctions.cc \
TestVectorOperators.h TestVectorOperators.cc \
TestXpr.h TestXpr.cc \
TestXprMatrixFunctions.h TestXprMatrixFunctions.cc \
TestXprMatrixOperators.h TestXprMatrixOperators.cc \
TestXprVectorFunctions.h TestXprVectorFunctions.cc \
TestXprVectorOperators.h TestXprVectorOperators.cc \
TestUnloops.h TestUnloops.cc \
TestMatrixElementwise.h TestMatrixElementwise.cc
AM_CXXFLAGS = $(CXX_DEBUG_FLAGS) $(CXX_WARN_FLAGS) \
-I$(top_srcdir)/include -I$(top_builddir)/include \
$(CPPUNIT_CFLAGS)
driver_LDADD = $(CPPUNIT_LIBS)
endif

View File

@ -1,648 +0,0 @@
# Makefile.in generated by automake 1.8.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# $Id: Makefile.am,v 1.4 2005/03/09 11:06:21 opetzold Exp $
SOURCES = $(driver_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
@CONFIG_CPPUNIT_TRUE@check_PROGRAMS = driver$(EXEEXT)
subdir = testsuite
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_c_long_long.m4 \
$(top_srcdir)/config/ac_create_prefix_config_h.m4 \
$(top_srcdir)/config/ac_cxx_have_complex.m4 \
$(top_srcdir)/config/ac_cxx_have_complex_math1.m4 \
$(top_srcdir)/config/ac_cxx_have_complex_math2.m4 \
$(top_srcdir)/config/ac_cxx_have_ieee_math.m4 \
$(top_srcdir)/config/ac_cxx_have_mutable.m4 \
$(top_srcdir)/config/ac_cxx_have_namespaces.m4 \
$(top_srcdir)/config/ac_cxx_have_sysv_math.m4 \
$(top_srcdir)/config/ac_cxx_partial_specialization.m4 \
$(top_srcdir)/config/ac_cxx_typename.m4 \
$(top_srcdir)/config/ac_set_compiler.m4 \
$(top_srcdir)/config/op_doxygen_doc.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(mkdir_p)
CONFIG_HEADER = $(top_builddir)/config/config.h
CONFIG_CLEAN_FILES =
am__driver_SOURCES_DIST = main.cc SelfTest.h SelfTest.cc \
TestNumericTraits.h TestNumericTraits.cc \
TestNumericTraitsComplex.h TestNumericTraitsComplex.cc \
TestConstruction.h TestConstruction.cc TestComplexMatrix.h \
TestComplexMatrix.cc TestComplexVector.h TestComplexVector.cc \
TestDimension.h TestDimension.cc TestMathOps.h TestMathOps.cc \
TestMatrixEval.h TestMatrixEval.cc TestMatrixFunctions.h \
TestMatrixFunctions.cc TestMatrixOperators.h \
TestMatrixOperators.cc TestSTL.h TestSTL.cc TestUnFunc.h \
TestUnFunc.cc TestVectorEval.h TestVectorEval.cc \
TestVectorFunctions.h TestVectorFunctions.cc \
TestVectorOperators.h TestVectorOperators.cc TestXpr.h \
TestXpr.cc TestXprMatrixFunctions.h TestXprMatrixFunctions.cc \
TestXprMatrixOperators.h TestXprMatrixOperators.cc \
TestXprVectorFunctions.h TestXprVectorFunctions.cc \
TestXprVectorOperators.h TestXprVectorOperators.cc \
TestUnloops.h TestUnloops.cc TestMatrixElementwise.h \
TestMatrixElementwise.cc
@CONFIG_CPPUNIT_TRUE@am_driver_OBJECTS = main.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ SelfTest.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestNumericTraits.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestNumericTraitsComplex.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestConstruction.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestComplexMatrix.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestComplexVector.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestDimension.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestMathOps.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestMatrixEval.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestMatrixFunctions.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestMatrixOperators.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestSTL.$(OBJEXT) TestUnFunc.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestVectorEval.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestVectorFunctions.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestVectorOperators.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestXpr.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestXprMatrixFunctions.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestXprMatrixOperators.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestXprVectorFunctions.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestXprVectorOperators.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestUnloops.$(OBJEXT) \
@CONFIG_CPPUNIT_TRUE@ TestMatrixElementwise.$(OBJEXT)
driver_OBJECTS = $(am_driver_OBJECTS)
am__DEPENDENCIES_1 =
@CONFIG_CPPUNIT_TRUE@driver_DEPENDENCIES = $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/SelfTest.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestComplexMatrix.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestComplexVector.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestConstruction.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestDimension.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestMathOps.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestMatrixElementwise.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestMatrixEval.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestMatrixFunctions.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestMatrixOperators.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestNumericTraits.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestNumericTraitsComplex.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestSTL.Po ./$(DEPDIR)/TestUnFunc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestUnloops.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestVectorEval.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestVectorFunctions.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestVectorOperators.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestXpr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestXprMatrixFunctions.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestXprMatrixOperators.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestXprVectorFunctions.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/TestXprVectorOperators.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/main.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(driver_SOURCES)
DIST_SOURCES = $(am__driver_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_CPPUNIT_FALSE = @CONFIG_CPPUNIT_FALSE@
CONFIG_CPPUNIT_TRUE = @CONFIG_CPPUNIT_TRUE@
CONFIG_DOC_FALSE = @CONFIG_DOC_FALSE@
CONFIG_DOC_TRUE = @CONFIG_DOC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
CPPUNIT_LIBS = @CPPUNIT_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CXX_DEBUG_FLAGS = @CXX_DEBUG_FLAGS@
CXX_OPTIMIZE_FLAGS = @CXX_OPTIMIZE_FLAGS@
CXX_WARN_FLAGS = @CXX_WARN_FLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DOXYGEN = @DOXYGEN@
DOXYGEN_HAVE_DOT = @DOXYGEN_HAVE_DOT@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LATEX_BATCHMODE = @LATEX_BATCHMODE@
LATEX_MODE = @LATEX_MODE@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@CONFIG_CPPUNIT_TRUE@TESTS = driver
@CONFIG_CPPUNIT_TRUE@driver_SOURCES = \
@CONFIG_CPPUNIT_TRUE@ main.cc \
@CONFIG_CPPUNIT_TRUE@ SelfTest.h SelfTest.cc \
@CONFIG_CPPUNIT_TRUE@ TestNumericTraits.h TestNumericTraits.cc \
@CONFIG_CPPUNIT_TRUE@ TestNumericTraitsComplex.h TestNumericTraitsComplex.cc \
@CONFIG_CPPUNIT_TRUE@ TestConstruction.h TestConstruction.cc \
@CONFIG_CPPUNIT_TRUE@ TestComplexMatrix.h TestComplexMatrix.cc \
@CONFIG_CPPUNIT_TRUE@ TestComplexVector.h TestComplexVector.cc \
@CONFIG_CPPUNIT_TRUE@ TestDimension.h TestDimension.cc \
@CONFIG_CPPUNIT_TRUE@ TestMathOps.h TestMathOps.cc \
@CONFIG_CPPUNIT_TRUE@ TestMatrixEval.h TestMatrixEval.cc \
@CONFIG_CPPUNIT_TRUE@ TestMatrixFunctions.h TestMatrixFunctions.cc \
@CONFIG_CPPUNIT_TRUE@ TestMatrixOperators.h TestMatrixOperators.cc \
@CONFIG_CPPUNIT_TRUE@ TestSTL.h TestSTL.cc \
@CONFIG_CPPUNIT_TRUE@ TestUnFunc.h TestUnFunc.cc \
@CONFIG_CPPUNIT_TRUE@ TestVectorEval.h TestVectorEval.cc \
@CONFIG_CPPUNIT_TRUE@ TestVectorFunctions.h TestVectorFunctions.cc \
@CONFIG_CPPUNIT_TRUE@ TestVectorOperators.h TestVectorOperators.cc \
@CONFIG_CPPUNIT_TRUE@ TestXpr.h TestXpr.cc \
@CONFIG_CPPUNIT_TRUE@ TestXprMatrixFunctions.h TestXprMatrixFunctions.cc \
@CONFIG_CPPUNIT_TRUE@ TestXprMatrixOperators.h TestXprMatrixOperators.cc \
@CONFIG_CPPUNIT_TRUE@ TestXprVectorFunctions.h TestXprVectorFunctions.cc \
@CONFIG_CPPUNIT_TRUE@ TestXprVectorOperators.h TestXprVectorOperators.cc \
@CONFIG_CPPUNIT_TRUE@ TestUnloops.h TestUnloops.cc \
@CONFIG_CPPUNIT_TRUE@ TestMatrixElementwise.h TestMatrixElementwise.cc
@CONFIG_CPPUNIT_TRUE@AM_CXXFLAGS = $(CXX_DEBUG_FLAGS) $(CXX_WARN_FLAGS) \
@CONFIG_CPPUNIT_TRUE@ -I$(top_srcdir)/include -I$(top_builddir)/include \
@CONFIG_CPPUNIT_TRUE@ $(CPPUNIT_CFLAGS)
@CONFIG_CPPUNIT_TRUE@driver_LDADD = $(CPPUNIT_LIBS)
all: all-am
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu testsuite/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
driver$(EXEEXT): $(driver_OBJECTS) $(driver_DEPENDENCIES)
@rm -f driver$(EXEEXT)
$(CXXLINK) $(driver_LDFLAGS) $(driver_OBJECTS) $(driver_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelfTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestComplexMatrix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestComplexVector.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestConstruction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestDimension.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestMathOps.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestMatrixElementwise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestMatrixEval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestMatrixFunctions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestMatrixOperators.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestNumericTraits.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestNumericTraitsComplex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestSTL.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestUnFunc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestUnloops.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestVectorEval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestVectorFunctions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestVectorOperators.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestXpr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestXprMatrixFunctions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestXprMatrixOperators.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestXprVectorFunctions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestXprVectorOperators.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
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` -gt `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` -gt `echo "$$banner" | wc -c` && \
dashes="$$report"; \
fi; \
dashes=`echo "$$dashes" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
test -n "$$skipped" && echo "$$skipped"; \
test -n "$$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'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool 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-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,144 +0,0 @@
/*
* Tiny Vector Matrix Library
* Dense Vector Matrix Libary of Tiny size using Expression Templates
*
* Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: SelfTest.h,v 1.1 2004/04/24 11:55:15 opetzold Exp $
*/
#ifndef TVMET_SELFTEST_H
#define TVMET_SELFTEST_H
#include <cppunit/extensions/HelperMacros.h>
#include <tvmet/Vector.h>
#include <tvmet/Matrix.h>
#include <cassert>
template <class T>
class SelfTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( SelfTest );
CPPUNIT_TEST( basics1 );
CPPUNIT_TEST( basics2 );
CPPUNIT_TEST_SUITE_END();
private:
typedef tvmet::Vector<T, 3> vector_type;
typedef tvmet::Matrix<T, 3, 3> matrix_type;
public:
SelfTest()
: vZero(0), vOne(1), mZero(0), mOne(1) { }
public: // cppunit interface
/** cppunit hook for fixture set up. */
void setUp();
/** cppunit hook for fixture tear down. */
void tearDown();
protected:
void basics1();
void basics2();
private: // vectors
const vector_type vZero;
const vector_type vOne;
vector_type v1;
private: // matrizes
const matrix_type mZero;
const matrix_type mOne;
matrix_type m1;
};
/*****************************************************************************
* Implementation Part I (cppunit part)
****************************************************************************/
template <class T>
void SelfTest<T>::setUp () {
v1 = 1,2,3;
m1 = 1,4,7,
2,5,8,
3,6,9;
}
template <class T>
void SelfTest<T>::tearDown() { }
/*****************************************************************************
* Implementation Part II
* these are elemental - therefore we use std::assert
****************************************************************************/
/*
* We have to guarantee that the vectors and matrizes these are what
* they should be. E.g. vOne: all elements should be equal to 1.
* Implicit we check on right construction here due to the way of
* construction.
*/
template <class T>
void
SelfTest<T>::basics1()
{
// all elements of vZero have to be equal to zero:
assert(vZero(0) == T(0) && vZero(1) == T(0) && vZero(2) == T(0));
// all elements of vOne have to be equal to 1:
assert(vOne(0) == T(1) && vOne(1) == T(1) && vOne(2) == T(1));
// all elements of mZero have to be equal to zero:
assert(mZero(0,0) == T(0) && mZero(0,1) == T(0) && mZero(0,2) == T(0) &&
mZero(1,0) == T(0) && mZero(1,1) == T(0) && mZero(1,2) == T(0) &&
mZero(2,0) == T(0) && mZero(2,1) == T(0) && mZero(2,2) == T(0));
// all elements of mOne have to be equal to 1:
assert(mOne(0,0) == T(1) && mOne(0,1) == T(1) && mOne(0,2) == T(1) &&
mOne(1,0) == T(1) && mOne(1,1) == T(1) && mOne(1,2) == T(1) &&
mOne(2,0) == T(1) && mOne(2,1) == T(1) && mOne(2,2) == T(1));
}
/*
* We have to guarantee that the vectors and matrizes these are what
* they should be. E.g. v1: all elements should increase by 1.
* Implicit we check the CommaInitializer due to the way of
* construction.
*/
template <class T>
void
SelfTest<T>::basics2()
{
// all elements of v1 should increase
assert(v1(0) == T(1) && v1(1) == T(2) && v1(2) == T(3));
// all elements of m1 should increase column-wise
assert(m1(0,0) == T(1) && m1(0,1) == T(4) && m1(0,2) == T(7) &&
m1(1,0) == T(2) && m1(1,1) == T(5) && m1(1,2) == T(8) &&
m1(2,0) == T(3) && m1(2,1) == T(6) && m1(2,2) == T(9));
}
#endif // TVMET_SELFTEST_H
// Local Variables:
// mode:C++
// End:

View File

@ -1,50 +0,0 @@
/*
* Tiny Vector Matrix Library
* Dense Vector Matrix Libary of Tiny size using Expression Templates
*
* Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: main.cc,v 1.1 2004/04/24 11:55:15 opetzold Exp $
*/
#include <iostream>
#include <cppunit/TextTestResult.h>
#include <cppunit/TestSuite.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
using std::cout;
using std::endl;
int main()
{
CppUnit::TextUi::TestRunner runner;
// retreive the instance of the TestFactoryRegistry
CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
// obtain and add a new TestSuite created by the TestFactoryRegistry
runner.addTest( registry.makeTest() );
// Run the test.
bool wasSucessful = runner.run();
// Return error code 1 if the one of test failed; disturbs
// the distrib process due to the return error code -> no return code
return wasSucessful ? 0 : 1;
}

View File

@ -0,0 +1,25 @@
/* This file is part of Eigen, a C++ template library for linear algebra
* Copyright (C) 2007 Benoit Jacob <jacob@math.jussieu.fr>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: main.cc,v 1.1 2004/04/24 11:55:15 opetzold Exp $
*/
#include "main.h"
QTEST_APPLESS_MAIN( TvmetTestSuite )
#include "main.moc"

View File

@ -1,8 +1,5 @@
/* /* This file is part of Eigen, a C++ template library for linear algebra
* Tiny Vector Matrix Library * Copyright (C) 2007 Benoit Jacob <jacob@math.jussieu.fr>
* Dense Vector Matrix Libary of Tiny size using Expression Templates
*
* Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -17,24 +14,34 @@
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: SelfTest.cc,v 1.1 2004/04/24 11:55:15 opetzold Exp $
*/ */
#ifndef EIGEN_TESTSUITE_MAIN_H
#define EIGEN_TESTSUITE_MAIN_H
#include <QtTest/QtTest>
#include <iostream> #include <iostream>
#include <stdlib.h>
#include <time.h>
#ifdef TVMET_HAVE_COMPLEX
#include <complex> #include <complex>
#include <SelfTest.h>
#include <cppunit/extensions/HelperMacros.h>
/****************************************************************************
* instance
****************************************************************************/
CPPUNIT_TEST_SUITE_REGISTRATION( SelfTest<double> );
CPPUNIT_TEST_SUITE_REGISTRATION( SelfTest<int> );
#if defined(TVMET_HAVE_COMPLEX)
CPPUNIT_TEST_SUITE_REGISTRATION( SelfTest< std::complex<double> > );
#endif #endif
#include <tvmet/Vector.h>
#include <tvmet/Matrix.h>
using namespace tvmet;
using namespace std;
class TvmetTestSuite : public QObject
{
Q_OBJECT
public:
TvmetTestSuite() {};
private slots:
void selfTest();
};
#endif // EIGEN_TESTSUITE_MAIN_H

View File

@ -0,0 +1,80 @@
/* This file is part of Eigen, a C++ template library for linear algebra
* Copyright (C) 2007 Benoit Jacob <jacob@math.jussieu.fr>
*
* Based on Tvmet source code, http://tvmet.sourceforge.net,
* Copyright (C) 2001 - 2003 Olaf Petzold <opetzold@users.sourceforge.net>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: SelfTest.cc,v 1.1 2004/04/24 11:55:15 opetzold Exp $
*/
#include "main.h"
template<typename T, int n> static void basics1()
{
const Vector<T, n> vZero(0);
const Vector<T, n> vOne(1);
const Matrix<T, n, n> mZero(0);
const Matrix<T, n, n> mOne(1);
for(int i = 0; i < n; i++) {
QVERIFY(vZero(i) == T(0));
QVERIFY(vOne(i) == T(1));
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
QVERIFY(mZero(i,j) == T(0));
QVERIFY(mOne(i,j) == T(1));
}
}
}
template<typename T> static void basics2()
{
// test the CommaInitializer
Vector<T, 3> v1;
v1 = 1,2,3;
Matrix<T, 3, 3> m1;
m1 = 1,4,7,
2,5,8,
3,6,9;
// all elements of v1 should increase
assert(v1(0) == T(1) && v1(1) == T(2) && v1(2) == T(3));
// all elements of m1 should increase column-wise
assert(m1(0,0) == T(1) && m1(0,1) == T(4) && m1(0,2) == T(7) &&
m1(1,0) == T(2) && m1(1,1) == T(5) && m1(1,2) == T(8) &&
m1(2,0) == T(3) && m1(2,1) == T(6) && m1(2,2) == T(9));
}
void TvmetTestSuite::selfTest()
{
basics1<int, 1> ();
basics1<int, 3> ();
basics1<float, 4> ();
basics1<double, 4> ();
basics2<int> ();
basics2<double> ();
#ifdef TVMET_HAVE_COMPLEX
basics1<complex<float>, 4> ();
basics1<complex<double>, 4> ();
basics2<complex<int> > ();
basics2<complex<double> > ();
#endif
}