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} )
SET(testsuite_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
main.cpp
selftest.cpp
# 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
)
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 @@
/*
* 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 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
@ -17,24 +14,34 @@
* 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 $
*/
#ifndef EIGEN_TESTSUITE_MAIN_H
#define EIGEN_TESTSUITE_MAIN_H
#include <QtTest/QtTest>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#ifdef TVMET_HAVE_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
#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
}