aboutsummaryrefslogtreecommitdiffhomepage
path: root/tvmet-1.7.1/examples
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2007-05-30 06:24:51 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2007-05-30 06:24:51 +0000
commit3036eeca0abfee39d2a0feab4ae3ff1d28975999 (patch)
tree7b67231f2da28a358ef8d056994dff582d6b191a /tvmet-1.7.1/examples
Starting Eigen 2 development. The current plan is to use the last
release of tvmet (inactive for 2 years and developer unreachable) as the basis for eigen2, because it provides seemingly good expression template mechanisms, we want that, and it would take years to reinvent that wheel. We'll see. So this commit imports the last tvmet release.
Diffstat (limited to 'tvmet-1.7.1/examples')
-rw-r--r--tvmet-1.7.1/examples/Makefile.am59
-rw-r--r--tvmet-1.7.1/examples/Makefile.in651
-rw-r--r--tvmet-1.7.1/examples/alias.cc33
-rw-r--r--tvmet-1.7.1/examples/aliasing.cc44
-rw-r--r--tvmet-1.7.1/examples/cmm.cc29
-rw-r--r--tvmet-1.7.1/examples/cmv.cc36
-rw-r--r--tvmet-1.7.1/examples/diag.cc32
-rw-r--r--tvmet-1.7.1/examples/frob_matrix_norm.cc191
-rw-r--r--tvmet-1.7.1/examples/hspiess.cc37
-rw-r--r--tvmet-1.7.1/examples/matrix_col.cc44
-rw-r--r--tvmet-1.7.1/examples/mm.cc30
-rw-r--r--tvmet-1.7.1/examples/mv.cc36
-rw-r--r--tvmet-1.7.1/examples/ray.cc103
-rw-r--r--tvmet-1.7.1/examples/redwards.cc25
-rw-r--r--tvmet-1.7.1/examples/xpr_print_m1.cc21
-rw-r--r--tvmet-1.7.1/examples/xpr_print_m2.cc21
-rw-r--r--tvmet-1.7.1/examples/xpr_print_m3.cc21
-rw-r--r--tvmet-1.7.1/examples/xpr_print_m4.cc21
-rw-r--r--tvmet-1.7.1/examples/xpr_print_mv1.cc26
-rw-r--r--tvmet-1.7.1/examples/xpr_print_mv2.cc26
-rw-r--r--tvmet-1.7.1/examples/xpr_print_v1.cc19
-rw-r--r--tvmet-1.7.1/examples/xpr_print_v2.cc19
-rw-r--r--tvmet-1.7.1/examples/xpr_print_v3.cc19
-rw-r--r--tvmet-1.7.1/examples/xpr_print_v4.cc19
24 files changed, 1562 insertions, 0 deletions
diff --git a/tvmet-1.7.1/examples/Makefile.am b/tvmet-1.7.1/examples/Makefile.am
new file mode 100644
index 000000000..6d0c25234
--- /dev/null
+++ b/tvmet-1.7.1/examples/Makefile.am
@@ -0,0 +1,59 @@
+# $Id: Makefile.am,v 1.12 2004/04/28 21:59:40 opetzold Exp $
+
+AM_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
+
+EXTRA_PROGRAMS = \
+ xpr_print_v1 \
+ xpr_print_v2 \
+ xpr_print_v3 \
+ xpr_print_v4 \
+ xpr_print_m1 \
+ xpr_print_m2 \
+ xpr_print_m3 \
+ xpr_print_m4 \
+ xpr_print_mv1 \
+ xpr_print_mv2 \
+ mv \
+ mm \
+ cmv \
+ cmm \
+ matrix_col \
+ diag \
+ ray \
+ hspiess \
+ redwards \
+ frob_matrix_norm \
+ alias \
+ aliasing
+
+DISTCLEANFILES = $(EXTRA_PROGRAMS)
+
+xpr_print_v1_SOURCES = xpr_print_v1.cc
+xpr_print_v2_SOURCES = xpr_print_v2.cc
+xpr_print_v3_SOURCES = xpr_print_v3.cc
+xpr_print_v4_SOURCES = xpr_print_v4.cc
+xpr_print_m1_SOURCES = xpr_print_m1.cc
+xpr_print_m2_SOURCES = xpr_print_m2.cc
+xpr_print_m3_SOURCES = xpr_print_m3.cc
+xpr_print_m4_SOURCES = xpr_print_m4.cc
+xpr_print_mv1_SOURCES = xpr_print_mv1.cc
+xpr_print_mv2_SOURCES = xpr_print_mv2.cc
+
+mv_SOURCES = mv.cc
+mm_SOURCES = mm.cc
+cmv_SOURCES = cmv.cc
+cmm_SOURCES = cmm.cc
+matrix_col_SOURCES = matrix_col.cc
+diag_SOURCES = diag.cc
+
+ray_SOURCES = ray.cc
+
+redwards_SOURCES = redwards.cc
+hspiess_SOURCES = hspiess.cc
+
+frob_matrix_norm_SOURCES = frob_matrix_norm.cc
+
+alias_SOURCES = alias.cc
+aliasing_SOURCES = aliasing.cc
+
+examples: $(EXTRA_PROGRAMS)
diff --git a/tvmet-1.7.1/examples/Makefile.in b/tvmet-1.7.1/examples/Makefile.in
new file mode 100644
index 000000000..ce43f3ac7
--- /dev/null
+++ b/tvmet-1.7.1/examples/Makefile.in
@@ -0,0 +1,651 @@
+# 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.12 2004/04/28 21:59:40 opetzold Exp $
+SOURCES = $(alias_SOURCES) $(aliasing_SOURCES) $(cmm_SOURCES) $(cmv_SOURCES) $(diag_SOURCES) $(frob_matrix_norm_SOURCES) $(hspiess_SOURCES) $(matrix_col_SOURCES) $(mm_SOURCES) $(mv_SOURCES) $(ray_SOURCES) $(redwards_SOURCES) $(xpr_print_m1_SOURCES) $(xpr_print_m2_SOURCES) $(xpr_print_m3_SOURCES) $(xpr_print_m4_SOURCES) $(xpr_print_mv1_SOURCES) $(xpr_print_mv2_SOURCES) $(xpr_print_v1_SOURCES) $(xpr_print_v2_SOURCES) $(xpr_print_v3_SOURCES) $(xpr_print_v4_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@
+EXTRA_PROGRAMS = xpr_print_v1$(EXEEXT) xpr_print_v2$(EXEEXT) \
+ xpr_print_v3$(EXEEXT) xpr_print_v4$(EXEEXT) \
+ xpr_print_m1$(EXEEXT) xpr_print_m2$(EXEEXT) \
+ xpr_print_m3$(EXEEXT) xpr_print_m4$(EXEEXT) \
+ xpr_print_mv1$(EXEEXT) xpr_print_mv2$(EXEEXT) mv$(EXEEXT) \
+ mm$(EXEEXT) cmv$(EXEEXT) cmm$(EXEEXT) matrix_col$(EXEEXT) \
+ diag$(EXEEXT) ray$(EXEEXT) hspiess$(EXEEXT) redwards$(EXEEXT) \
+ frob_matrix_norm$(EXEEXT) alias$(EXEEXT) aliasing$(EXEEXT)
+subdir = examples
+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_alias_OBJECTS = alias.$(OBJEXT)
+alias_OBJECTS = $(am_alias_OBJECTS)
+alias_LDADD = $(LDADD)
+am_aliasing_OBJECTS = aliasing.$(OBJEXT)
+aliasing_OBJECTS = $(am_aliasing_OBJECTS)
+aliasing_LDADD = $(LDADD)
+am_cmm_OBJECTS = cmm.$(OBJEXT)
+cmm_OBJECTS = $(am_cmm_OBJECTS)
+cmm_LDADD = $(LDADD)
+am_cmv_OBJECTS = cmv.$(OBJEXT)
+cmv_OBJECTS = $(am_cmv_OBJECTS)
+cmv_LDADD = $(LDADD)
+am_diag_OBJECTS = diag.$(OBJEXT)
+diag_OBJECTS = $(am_diag_OBJECTS)
+diag_LDADD = $(LDADD)
+am_frob_matrix_norm_OBJECTS = frob_matrix_norm.$(OBJEXT)
+frob_matrix_norm_OBJECTS = $(am_frob_matrix_norm_OBJECTS)
+frob_matrix_norm_LDADD = $(LDADD)
+am_hspiess_OBJECTS = hspiess.$(OBJEXT)
+hspiess_OBJECTS = $(am_hspiess_OBJECTS)
+hspiess_LDADD = $(LDADD)
+am_matrix_col_OBJECTS = matrix_col.$(OBJEXT)
+matrix_col_OBJECTS = $(am_matrix_col_OBJECTS)
+matrix_col_LDADD = $(LDADD)
+am_mm_OBJECTS = mm.$(OBJEXT)
+mm_OBJECTS = $(am_mm_OBJECTS)
+mm_LDADD = $(LDADD)
+am_mv_OBJECTS = mv.$(OBJEXT)
+mv_OBJECTS = $(am_mv_OBJECTS)
+mv_LDADD = $(LDADD)
+am_ray_OBJECTS = ray.$(OBJEXT)
+ray_OBJECTS = $(am_ray_OBJECTS)
+ray_LDADD = $(LDADD)
+am_redwards_OBJECTS = redwards.$(OBJEXT)
+redwards_OBJECTS = $(am_redwards_OBJECTS)
+redwards_LDADD = $(LDADD)
+am_xpr_print_m1_OBJECTS = xpr_print_m1.$(OBJEXT)
+xpr_print_m1_OBJECTS = $(am_xpr_print_m1_OBJECTS)
+xpr_print_m1_LDADD = $(LDADD)
+am_xpr_print_m2_OBJECTS = xpr_print_m2.$(OBJEXT)
+xpr_print_m2_OBJECTS = $(am_xpr_print_m2_OBJECTS)
+xpr_print_m2_LDADD = $(LDADD)
+am_xpr_print_m3_OBJECTS = xpr_print_m3.$(OBJEXT)
+xpr_print_m3_OBJECTS = $(am_xpr_print_m3_OBJECTS)
+xpr_print_m3_LDADD = $(LDADD)
+am_xpr_print_m4_OBJECTS = xpr_print_m4.$(OBJEXT)
+xpr_print_m4_OBJECTS = $(am_xpr_print_m4_OBJECTS)
+xpr_print_m4_LDADD = $(LDADD)
+am_xpr_print_mv1_OBJECTS = xpr_print_mv1.$(OBJEXT)
+xpr_print_mv1_OBJECTS = $(am_xpr_print_mv1_OBJECTS)
+xpr_print_mv1_LDADD = $(LDADD)
+am_xpr_print_mv2_OBJECTS = xpr_print_mv2.$(OBJEXT)
+xpr_print_mv2_OBJECTS = $(am_xpr_print_mv2_OBJECTS)
+xpr_print_mv2_LDADD = $(LDADD)
+am_xpr_print_v1_OBJECTS = xpr_print_v1.$(OBJEXT)
+xpr_print_v1_OBJECTS = $(am_xpr_print_v1_OBJECTS)
+xpr_print_v1_LDADD = $(LDADD)
+am_xpr_print_v2_OBJECTS = xpr_print_v2.$(OBJEXT)
+xpr_print_v2_OBJECTS = $(am_xpr_print_v2_OBJECTS)
+xpr_print_v2_LDADD = $(LDADD)
+am_xpr_print_v3_OBJECTS = xpr_print_v3.$(OBJEXT)
+xpr_print_v3_OBJECTS = $(am_xpr_print_v3_OBJECTS)
+xpr_print_v3_LDADD = $(LDADD)
+am_xpr_print_v4_OBJECTS = xpr_print_v4.$(OBJEXT)
+xpr_print_v4_OBJECTS = $(am_xpr_print_v4_OBJECTS)
+xpr_print_v4_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/config
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/alias.Po ./$(DEPDIR)/aliasing.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/cmm.Po ./$(DEPDIR)/cmv.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/diag.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/frob_matrix_norm.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/hspiess.Po ./$(DEPDIR)/matrix_col.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/mm.Po ./$(DEPDIR)/mv.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/ray.Po ./$(DEPDIR)/redwards.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_m1.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_m2.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_m3.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_m4.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_mv1.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_mv2.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_v1.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_v2.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_v3.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xpr_print_v4.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 $@
+SOURCES = $(alias_SOURCES) $(aliasing_SOURCES) $(cmm_SOURCES) \
+ $(cmv_SOURCES) $(diag_SOURCES) $(frob_matrix_norm_SOURCES) \
+ $(hspiess_SOURCES) $(matrix_col_SOURCES) $(mm_SOURCES) \
+ $(mv_SOURCES) $(ray_SOURCES) $(redwards_SOURCES) \
+ $(xpr_print_m1_SOURCES) $(xpr_print_m2_SOURCES) \
+ $(xpr_print_m3_SOURCES) $(xpr_print_m4_SOURCES) \
+ $(xpr_print_mv1_SOURCES) $(xpr_print_mv2_SOURCES) \
+ $(xpr_print_v1_SOURCES) $(xpr_print_v2_SOURCES) \
+ $(xpr_print_v3_SOURCES) $(xpr_print_v4_SOURCES)
+DIST_SOURCES = $(alias_SOURCES) $(aliasing_SOURCES) $(cmm_SOURCES) \
+ $(cmv_SOURCES) $(diag_SOURCES) $(frob_matrix_norm_SOURCES) \
+ $(hspiess_SOURCES) $(matrix_col_SOURCES) $(mm_SOURCES) \
+ $(mv_SOURCES) $(ray_SOURCES) $(redwards_SOURCES) \
+ $(xpr_print_m1_SOURCES) $(xpr_print_m2_SOURCES) \
+ $(xpr_print_m3_SOURCES) $(xpr_print_m4_SOURCES) \
+ $(xpr_print_mv1_SOURCES) $(xpr_print_mv2_SOURCES) \
+ $(xpr_print_v1_SOURCES) $(xpr_print_v2_SOURCES) \
+ $(xpr_print_v3_SOURCES) $(xpr_print_v4_SOURCES)
+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@
+AM_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
+DISTCLEANFILES = $(EXTRA_PROGRAMS)
+xpr_print_v1_SOURCES = xpr_print_v1.cc
+xpr_print_v2_SOURCES = xpr_print_v2.cc
+xpr_print_v3_SOURCES = xpr_print_v3.cc
+xpr_print_v4_SOURCES = xpr_print_v4.cc
+xpr_print_m1_SOURCES = xpr_print_m1.cc
+xpr_print_m2_SOURCES = xpr_print_m2.cc
+xpr_print_m3_SOURCES = xpr_print_m3.cc
+xpr_print_m4_SOURCES = xpr_print_m4.cc
+xpr_print_mv1_SOURCES = xpr_print_mv1.cc
+xpr_print_mv2_SOURCES = xpr_print_mv2.cc
+mv_SOURCES = mv.cc
+mm_SOURCES = mm.cc
+cmv_SOURCES = cmv.cc
+cmm_SOURCES = cmm.cc
+matrix_col_SOURCES = matrix_col.cc
+diag_SOURCES = diag.cc
+ray_SOURCES = ray.cc
+redwards_SOURCES = redwards.cc
+hspiess_SOURCES = hspiess.cc
+frob_matrix_norm_SOURCES = frob_matrix_norm.cc
+alias_SOURCES = alias.cc
+aliasing_SOURCES = aliasing.cc
+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 examples/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/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
+alias$(EXEEXT): $(alias_OBJECTS) $(alias_DEPENDENCIES)
+ @rm -f alias$(EXEEXT)
+ $(CXXLINK) $(alias_LDFLAGS) $(alias_OBJECTS) $(alias_LDADD) $(LIBS)
+aliasing$(EXEEXT): $(aliasing_OBJECTS) $(aliasing_DEPENDENCIES)
+ @rm -f aliasing$(EXEEXT)
+ $(CXXLINK) $(aliasing_LDFLAGS) $(aliasing_OBJECTS) $(aliasing_LDADD) $(LIBS)
+cmm$(EXEEXT): $(cmm_OBJECTS) $(cmm_DEPENDENCIES)
+ @rm -f cmm$(EXEEXT)
+ $(CXXLINK) $(cmm_LDFLAGS) $(cmm_OBJECTS) $(cmm_LDADD) $(LIBS)
+cmv$(EXEEXT): $(cmv_OBJECTS) $(cmv_DEPENDENCIES)
+ @rm -f cmv$(EXEEXT)
+ $(CXXLINK) $(cmv_LDFLAGS) $(cmv_OBJECTS) $(cmv_LDADD) $(LIBS)
+diag$(EXEEXT): $(diag_OBJECTS) $(diag_DEPENDENCIES)
+ @rm -f diag$(EXEEXT)
+ $(CXXLINK) $(diag_LDFLAGS) $(diag_OBJECTS) $(diag_LDADD) $(LIBS)
+frob_matrix_norm$(EXEEXT): $(frob_matrix_norm_OBJECTS) $(frob_matrix_norm_DEPENDENCIES)
+ @rm -f frob_matrix_norm$(EXEEXT)
+ $(CXXLINK) $(frob_matrix_norm_LDFLAGS) $(frob_matrix_norm_OBJECTS) $(frob_matrix_norm_LDADD) $(LIBS)
+hspiess$(EXEEXT): $(hspiess_OBJECTS) $(hspiess_DEPENDENCIES)
+ @rm -f hspiess$(EXEEXT)
+ $(CXXLINK) $(hspiess_LDFLAGS) $(hspiess_OBJECTS) $(hspiess_LDADD) $(LIBS)
+matrix_col$(EXEEXT): $(matrix_col_OBJECTS) $(matrix_col_DEPENDENCIES)
+ @rm -f matrix_col$(EXEEXT)
+ $(CXXLINK) $(matrix_col_LDFLAGS) $(matrix_col_OBJECTS) $(matrix_col_LDADD) $(LIBS)
+mm$(EXEEXT): $(mm_OBJECTS) $(mm_DEPENDENCIES)
+ @rm -f mm$(EXEEXT)
+ $(CXXLINK) $(mm_LDFLAGS) $(mm_OBJECTS) $(mm_LDADD) $(LIBS)
+mv$(EXEEXT): $(mv_OBJECTS) $(mv_DEPENDENCIES)
+ @rm -f mv$(EXEEXT)
+ $(CXXLINK) $(mv_LDFLAGS) $(mv_OBJECTS) $(mv_LDADD) $(LIBS)
+ray$(EXEEXT): $(ray_OBJECTS) $(ray_DEPENDENCIES)
+ @rm -f ray$(EXEEXT)
+ $(CXXLINK) $(ray_LDFLAGS) $(ray_OBJECTS) $(ray_LDADD) $(LIBS)
+redwards$(EXEEXT): $(redwards_OBJECTS) $(redwards_DEPENDENCIES)
+ @rm -f redwards$(EXEEXT)
+ $(CXXLINK) $(redwards_LDFLAGS) $(redwards_OBJECTS) $(redwards_LDADD) $(LIBS)
+xpr_print_m1$(EXEEXT): $(xpr_print_m1_OBJECTS) $(xpr_print_m1_DEPENDENCIES)
+ @rm -f xpr_print_m1$(EXEEXT)
+ $(CXXLINK) $(xpr_print_m1_LDFLAGS) $(xpr_print_m1_OBJECTS) $(xpr_print_m1_LDADD) $(LIBS)
+xpr_print_m2$(EXEEXT): $(xpr_print_m2_OBJECTS) $(xpr_print_m2_DEPENDENCIES)
+ @rm -f xpr_print_m2$(EXEEXT)
+ $(CXXLINK) $(xpr_print_m2_LDFLAGS) $(xpr_print_m2_OBJECTS) $(xpr_print_m2_LDADD) $(LIBS)
+xpr_print_m3$(EXEEXT): $(xpr_print_m3_OBJECTS) $(xpr_print_m3_DEPENDENCIES)
+ @rm -f xpr_print_m3$(EXEEXT)
+ $(CXXLINK) $(xpr_print_m3_LDFLAGS) $(xpr_print_m3_OBJECTS) $(xpr_print_m3_LDADD) $(LIBS)
+xpr_print_m4$(EXEEXT): $(xpr_print_m4_OBJECTS) $(xpr_print_m4_DEPENDENCIES)
+ @rm -f xpr_print_m4$(EXEEXT)
+ $(CXXLINK) $(xpr_print_m4_LDFLAGS) $(xpr_print_m4_OBJECTS) $(xpr_print_m4_LDADD) $(LIBS)
+xpr_print_mv1$(EXEEXT): $(xpr_print_mv1_OBJECTS) $(xpr_print_mv1_DEPENDENCIES)
+ @rm -f xpr_print_mv1$(EXEEXT)
+ $(CXXLINK) $(xpr_print_mv1_LDFLAGS) $(xpr_print_mv1_OBJECTS) $(xpr_print_mv1_LDADD) $(LIBS)
+xpr_print_mv2$(EXEEXT): $(xpr_print_mv2_OBJECTS) $(xpr_print_mv2_DEPENDENCIES)
+ @rm -f xpr_print_mv2$(EXEEXT)
+ $(CXXLINK) $(xpr_print_mv2_LDFLAGS) $(xpr_print_mv2_OBJECTS) $(xpr_print_mv2_LDADD) $(LIBS)
+xpr_print_v1$(EXEEXT): $(xpr_print_v1_OBJECTS) $(xpr_print_v1_DEPENDENCIES)
+ @rm -f xpr_print_v1$(EXEEXT)
+ $(CXXLINK) $(xpr_print_v1_LDFLAGS) $(xpr_print_v1_OBJECTS) $(xpr_print_v1_LDADD) $(LIBS)
+xpr_print_v2$(EXEEXT): $(xpr_print_v2_OBJECTS) $(xpr_print_v2_DEPENDENCIES)
+ @rm -f xpr_print_v2$(EXEEXT)
+ $(CXXLINK) $(xpr_print_v2_LDFLAGS) $(xpr_print_v2_OBJECTS) $(xpr_print_v2_LDADD) $(LIBS)
+xpr_print_v3$(EXEEXT): $(xpr_print_v3_OBJECTS) $(xpr_print_v3_DEPENDENCIES)
+ @rm -f xpr_print_v3$(EXEEXT)
+ $(CXXLINK) $(xpr_print_v3_LDFLAGS) $(xpr_print_v3_OBJECTS) $(xpr_print_v3_LDADD) $(LIBS)
+xpr_print_v4$(EXEEXT): $(xpr_print_v4_OBJECTS) $(xpr_print_v4_DEPENDENCIES)
+ @rm -f xpr_print_v4$(EXEEXT)
+ $(CXXLINK) $(xpr_print_v4_LDFLAGS) $(xpr_print_v4_OBJECTS) $(xpr_print_v4_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alias.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aliasing.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frob_matrix_norm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hspiess.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_col.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redwards.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_m1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_m2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_m3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_m4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_mv1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_mv2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_v1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_v2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_v3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpr_print_v4.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
+
+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
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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-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-am clean 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
+
+
+examples: $(EXTRA_PROGRAMS)
+# 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:
diff --git a/tvmet-1.7.1/examples/alias.cc b/tvmet-1.7.1/examples/alias.cc
new file mode 100644
index 000000000..01f02eccc
--- /dev/null
+++ b/tvmet-1.7.1/examples/alias.cc
@@ -0,0 +1,33 @@
+/*
+ * $Id: alias.cc,v 1.1 2004/03/26 07:56:32 opetzold Exp $
+ *
+ * This example shows the solution of the problem with aliasing
+ * mentioned at
+ * http://tvmet.sourceforge.net/notes.html#alias
+ */
+
+#include <iostream>
+#include <algorithm>
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+#include <tvmet/util/Incrementor.h>
+
+using namespace std;
+
+
+int main()
+{
+ typedef tvmet::Matrix<double, 3, 3> matrix_type;
+
+ matrix_type M;
+
+ std::generate(M.begin(), M.end(),
+ tvmet::util::Incrementor<matrix_type::value_type>());
+
+ std::cout << "M = " << M << std::endl;
+
+ alias(M) = M * trans(M);
+
+ std::cout << M << std::endl;
+
+}
diff --git a/tvmet-1.7.1/examples/aliasing.cc b/tvmet-1.7.1/examples/aliasing.cc
new file mode 100644
index 000000000..4ba87d8d3
--- /dev/null
+++ b/tvmet-1.7.1/examples/aliasing.cc
@@ -0,0 +1,44 @@
+/*
+ * $Id: aliasing.cc,v 1.2 2004/03/26 07:58:06 opetzold Exp $
+ *
+ * This example shows the problem with aliasing mentioned at
+ * http://tvmet.sourceforge.net/notes.html#alias
+ */
+
+#include <iostream>
+#include <algorithm>
+#include <tvmet/Matrix.h>
+#include <tvmet/util/Incrementor.h>
+
+using std::cout; using std::endl;
+using namespace tvmet;
+
+typedef Matrix<double,3,3> matrix_type;
+
+int main()
+{
+ matrix_type A, B;
+ matrix_type C;
+
+ std::generate(A.begin(), A.end(),
+ tvmet::util::Incrementor<matrix_type::value_type>());
+ std::generate(B.begin(), B.end(),
+ tvmet::util::Incrementor<matrix_type::value_type>());
+
+ cout << "A = " << A << endl;
+ cout << "B = " << B << endl;
+
+ // matrix prod without aliasing
+ C = A * B;
+ cout << "C = A * B = " << C << endl;
+
+ // work around for aliasing
+ matrix_type temp_A(A);
+ A = temp_A * B;
+ cout << "matrix_type temp_A(A);\n"
+ << "A = temp_A * B = " << A << endl;
+
+ // this shows the aliasing problem
+ A = A * B;
+ cout << "A = A * B = " << A << endl;
+}
diff --git a/tvmet-1.7.1/examples/cmm.cc b/tvmet-1.7.1/examples/cmm.cc
new file mode 100644
index 000000000..bd470aacd
--- /dev/null
+++ b/tvmet-1.7.1/examples/cmm.cc
@@ -0,0 +1,29 @@
+#include <iostream>
+#include <complex>
+
+#include <tvmet/Matrix.h>
+
+using namespace tvmet;
+using std::cout;
+using std::endl;
+
+typedef Matrix<std::complex<double>,3,3> matrix33d;
+
+void testMM(matrix33d& res, const matrix33d& m1, const matrix33d& m2) {
+ res = m1 * m2;
+}
+
+int main()
+{
+ matrix33d m1, m2, m3;
+
+ m1 = 1,4,7,
+ 2,5,8,
+ 3,6,9;
+ m2 = m1;
+
+ testMM(m3, m1, m2);
+
+ cout << m1 << "\n*\n" << m2 << "\n=";
+ cout << m3 << endl;
+}
diff --git a/tvmet-1.7.1/examples/cmv.cc b/tvmet-1.7.1/examples/cmv.cc
new file mode 100644
index 000000000..4ea55ad13
--- /dev/null
+++ b/tvmet-1.7.1/examples/cmv.cc
@@ -0,0 +1,36 @@
+#include <iostream>
+#include <complex>
+
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+
+using namespace tvmet;
+using std::cout;
+using std::endl;
+
+typedef Vector<std::complex<double>,3> vector3d;
+typedef Matrix<std::complex<double>,3,3> matrix33d;
+
+#if (defined __ICC )
+#pragma warning(disable:1418) // external definition with no prior declaration
+#endif
+
+void testMV(vector3d& res, const matrix33d& m, const vector3d& v) {
+ res = m * v;
+}
+
+int main()
+{
+ vector3d v1, vr;
+ matrix33d m1;
+
+ v1 = 1,2,3;
+ m1 = 1,4,7,
+ 2,5,8,
+ 3,6,9;
+
+ testMV(vr, m1, v1);
+
+ cout << m1 << " * " << v1 << " =\n";
+ cout << vr << endl;
+}
diff --git a/tvmet-1.7.1/examples/diag.cc b/tvmet-1.7.1/examples/diag.cc
new file mode 100644
index 000000000..40a4c1825
--- /dev/null
+++ b/tvmet-1.7.1/examples/diag.cc
@@ -0,0 +1,32 @@
+/* Version: $Id: diag.cc,v 1.1 2003/02/12 19:03:48 opetzold Exp $ */
+
+
+#include <iostream>
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+
+
+using namespace std;
+using namespace tvmet;
+
+typedef Matrix<double,3,3> matrix33d;
+typedef Vector<double,3> vector3d;
+
+
+int main()
+{
+ matrix33d m1, m2(0);
+ vector3d v1, v2;
+
+ m1 = 1,4,7,
+ 2,5,8,
+ 3,6,9;
+ v1 = diag(m1);
+
+ // not yet, since we need to assign an expression/scalar to an expression
+ // diag(m2) = 1.0;
+
+ cout << "M1 = " << m1 << endl;
+ cout << "diag(M1) = " << v1 << endl;
+ cout << "identity(M2) = " << m2 << endl;
+}
diff --git a/tvmet-1.7.1/examples/frob_matrix_norm.cc b/tvmet-1.7.1/examples/frob_matrix_norm.cc
new file mode 100644
index 000000000..8267aa99d
--- /dev/null
+++ b/tvmet-1.7.1/examples/frob_matrix_norm.cc
@@ -0,0 +1,191 @@
+/*
+ * 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: frob_matrix_norm.cc,v 1.3 2003/11/30 08:26:25 opetzold Exp $
+ */
+
+#include <iostream>
+#include <tvmet/Matrix.h>
+#include <tvmet/xpr/Vector.h>
+
+using namespace std;
+
+template<class T, std::size_t Rows, std::size_t Cols>
+double
+frob_norm(const tvmet::Matrix<T, Rows, Cols>& M) {
+ return std::sqrt(M(0,0)*M(0,0) + M(1,0)*M(1,0) + M(2,0)*M(2,0)
+ + M(0,1)*M(0,1) + M(1,1)*M(1,1) + M(2,1)*M(2,1)
+ + M(0,2)*M(0,2) + M(1,2)*M(1,2) + M(2,2)*M(2,2));
+}
+
+namespace tvmet {
+ template<class T, std::size_t Rows, std::size_t Cols>
+ typename NumericTraits<T>::float_type
+ norm(const Matrix<T, Rows, Cols>& M) {
+ return std::sqrt( sum( diag( MtM_prod(M,M) ) ) );
+ }
+}
+
+int main()
+{
+ typedef tvmet::Matrix<double,3,3> matrix_type;
+
+ matrix_type M;
+
+ M = 1,2,3,4,5,6,7,8,9;
+ cout << M << endl;
+
+ cout << "handopt norm = " << frob_norm(M) << endl;
+ cout << "tvmet::norm = " << tvmet::norm(M) << endl;
+}
+
+/*
+ gcc 3.3 produce for the hand optimized frob_norm:
+
+_Z9frob_normIdLj3ELj3EEdRKN5tvmet6MatrixIT_XT0_EXT1_EEE:
+.LFB3210:
+ pushl %ebp
+.LCFI6:
+ movl %esp, %ebp
+.LCFI7:
+ subl $8, %esp
+.LCFI8:
+ movl 8(%ebp), %eax
+ fldl (%eax)
+ fldl 24(%eax)
+ fxch %st(1)
+ fmul %st(0), %st
+ fxch %st(1)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 48(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 8(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 32(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 56(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 16(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 40(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fldl 64(%eax)
+ fmul %st(0), %st
+ faddp %st, %st(1)
+ fld %st(0)
+ fsqrt
+ fucom %st(0)
+ fnstsw %ax
+ sahf
+ jp .L189
+ jne .L189
+ fstp %st(1)
+.L186:
+ leave
+ ret
+
+*/
+
+/*
+ gcc 3.3 produce the norm function using tvmet 1.3.0:
+
+_ZN5tvmet4normIdLj3ELj3EEENS_13NumericTraitsIT_E10float_typeERKNS_6MatrixIS2_XT0_EXT1_EEE:
+.LFB3252:
+.L194:
+.L198:
+.L203:
+.L207:
+.L212:
+.L225:
+.L238:
+.L251:
+ pushl %ebp
+.LCFI9:
+ movl %esp, %ebp
+.LCFI10:
+ subl $56, %esp
+.LCFI11:
+ movl 8(%ebp), %edx
+ leal -24(%ebp), %eax
+ movl %eax, -12(%ebp)
+ leal -12(%ebp), %eax
+ fldl 24(%edx)
+ fldl 48(%edx)
+ fldl (%edx)
+ fxch %st(2)
+ fmul %st(0), %st
+ fxch %st(1)
+ movl %eax, -28(%ebp)
+ fmul %st(0), %st
+ fxch %st(2)
+ movl %edx, -24(%ebp)
+ movl %edx, -20(%ebp)
+ fmul %st(0), %st
+ fldl 8(%edx)
+ fxch %st(2)
+ faddp %st, %st(3)
+ fldl 56(%edx)
+ fxch %st(2)
+ fmul %st(0), %st
+ fxch %st(1)
+ faddp %st, %st(3)
+ fldl 32(%edx)
+ fxch %st(2)
+ fmul %st(0), %st
+ fxch %st(2)
+ fmul %st(0), %st
+ fldl 16(%edx)
+ fxch %st(1)
+ faddp %st, %st(3)
+ fmul %st(0), %st
+ fldl 64(%edx)
+ fxch %st(2)
+ faddp %st, %st(3)
+ fldl 40(%edx)
+ fxch %st(2)
+ fmul %st(0), %st
+ fxch %st(2)
+ fmul %st(0), %st
+ faddp %st, %st(2)
+ faddp %st, %st(1)
+ faddp %st, %st(1)
+ faddp %st, %st(1)
+ fld %st(0)
+ fsqrt
+ fucom %st(0)
+ fnstsw %ax
+ sahf
+ jp .L265
+ jne .L265
+ fstp %st(1)
+.L261:
+ fstpl -8(%ebp)
+ fldl -8(%ebp)
+ leave
+ ret
+
+*/
diff --git a/tvmet-1.7.1/examples/hspiess.cc b/tvmet-1.7.1/examples/hspiess.cc
new file mode 100644
index 000000000..129c4f0c0
--- /dev/null
+++ b/tvmet-1.7.1/examples/hspiess.cc
@@ -0,0 +1,37 @@
+#include <iostream>
+
+#include <tvmet/Matrix.h>
+
+using namespace std;
+
+int main()
+{
+ tvmet::Matrix<double,3,2> B;
+ tvmet::Matrix<double,3,3> D;
+
+ B =
+ -0.05, 0,
+ 0, 0.05,
+ 0.05, -0.05;
+ D =
+ 2000, 1000, 0,
+ 1000, 2000, 0,
+ 0, 0, 500;
+
+ cout << "B = " << B << endl;
+ cout << "D = " << D << endl;
+
+ {
+ tvmet::Matrix<double,2,2> K;
+
+ K = trans(B) * D * B;
+ cout << "K = " << K << endl;
+ }
+
+ {
+ tvmet::Matrix<double,2,2> K;
+
+ K = tvmet::Matrix<double,2,3>(trans(B) * D) * B;
+ cout << "K = " << K << endl;
+ }
+}
diff --git a/tvmet-1.7.1/examples/matrix_col.cc b/tvmet-1.7.1/examples/matrix_col.cc
new file mode 100644
index 000000000..a807dbb5f
--- /dev/null
+++ b/tvmet-1.7.1/examples/matrix_col.cc
@@ -0,0 +1,44 @@
+#include <iostream>
+#include <iomanip>
+#include <algorithm>
+
+#include <cstdlib>
+
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+typedef Vector<double,3> vector3d;
+typedef Matrix<double,3,3> matrix33d;
+
+int main()
+{
+ matrix33d m1;
+
+ std::generate(m1.begin(), m1.end(), std::rand);
+
+ vector3d vc0( col(m1, 0) );
+ vector3d vc1( col(m1, 1) );
+ vector3d vc2( col(m1, 2) );
+
+ vector3d vr0( row(m1, 0) );
+ vector3d vr1( row(m1, 1) );
+ vector3d vr2( row(m1, 2) );
+
+
+ cout << std::setw(12) << m1 << endl;
+
+ cout << "col vectors:" << endl;
+ cout << vc0 << endl;
+ cout << vc1 << endl;
+ cout << vc2 << endl;
+
+ cout << "row vectors:" << endl;
+ cout << vr0 << endl;
+ cout << vr1 << endl;
+ cout << vr2 << endl;
+
+}
+
diff --git a/tvmet-1.7.1/examples/mm.cc b/tvmet-1.7.1/examples/mm.cc
new file mode 100644
index 000000000..f251e6133
--- /dev/null
+++ b/tvmet-1.7.1/examples/mm.cc
@@ -0,0 +1,30 @@
+#include <iostream>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+typedef Matrix<double,3,3> matrix33d;
+
+#if (defined __ICC )
+#pragma warning(disable:1418) // external definition with no prior declaration
+#endif
+
+void testMM(matrix33d& res, const matrix33d& m1, const matrix33d& m2) {
+ res = m1 * m2;
+}
+
+int main()
+{
+ matrix33d m1, m2, m3;
+
+ m1 = 1,4,7,
+ 2,5,8,
+ 3,6,9;
+ m2 = m1;
+
+ testMM(m3, m1, m2);
+
+ cout << m1 << "\n*\n" << m2 << "\n=";
+ cout << m3 << endl;
+}
diff --git a/tvmet-1.7.1/examples/mv.cc b/tvmet-1.7.1/examples/mv.cc
new file mode 100644
index 000000000..9665409e4
--- /dev/null
+++ b/tvmet-1.7.1/examples/mv.cc
@@ -0,0 +1,36 @@
+#include <iostream>
+#include <iomanip>
+#include <algorithm>
+
+#include <cstdlib>
+
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+typedef Vector<double,3> vector3d;
+typedef Matrix<double,3,3> matrix33d;
+
+#if (defined __ICC )
+#pragma warning(disable:1418) // external definition with no prior declaration
+#endif
+
+void testMV(vector3d& res, const matrix33d& m, const vector3d& v) {
+ res = m * v;
+}
+
+int main()
+{
+ vector3d v1, vr;
+ matrix33d m1;
+
+ std::generate(v1.begin(), v1.end(), std::rand);
+ std::generate(m1.begin(), m1.end(), std::rand);
+
+ testMV(vr, m1, v1);
+
+ cout << std::setw(12) << m1 << " * " << std::setw(12) << v1 << " =\n";
+ cout << std::setw(12) << vr << endl;
+}
diff --git a/tvmet-1.7.1/examples/ray.cc b/tvmet-1.7.1/examples/ray.cc
new file mode 100644
index 000000000..6ab07b926
--- /dev/null
+++ b/tvmet-1.7.1/examples/ray.cc
@@ -0,0 +1,103 @@
+#include <iostream>
+#include <cmath>
+
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+typedef Vector<double,3> vector3d;
+
+void reflect(vector3d& reflection, const vector3d& ray, const vector3d& surfaceNormal)
+{
+ // The surface normal must be unit length to use this equation.
+ reflection = ray - 2 * dot(ray,surfaceNormal) * surfaceNormal;
+
+ // expression printing
+ // cout << (ray - 2 * dot(ray,surfaceNormal) * surfaceNormal) << endl;
+}
+
+int main()
+{
+ vector3d x, y, z;
+
+ // y will be the incident ray
+ y[0] = 1;
+ y[1] = 0;
+ y[2] = -1;
+
+ // z is the surface normal
+ z[0] = 0;
+ z[1] = 0;
+ z[2] = 1;
+
+ reflect(x, y, z);
+
+ cout << "Reflected ray is: [ " << x[0] << " " << x[1] << " " << x[2]
+ << " ]" << endl;
+}
+
+/*****************************************************************************************
+gcc 3.2.0 produce this code (i586) using tvmet 1.3.0:
+
+_Z7reflectRN5tvmet6VectorIdLj3EEERKS1_S4_:
+.LFB2757:
+.L8:
+.L18:
+.L22:
+.L28:
+.L32:
+.L38:
+.L44:
+.L48:
+ pushl %ebp
+.LCFI0:
+ movl %esp, %ebp
+.LCFI1:
+ leal -32(%ebp), %eax
+ pushl %ebx
+.LCFI2:
+ subl $52, %esp
+.LCFI3:
+ movl 16(%ebp), %edx
+ movl %eax, -24(%ebp)
+ movl 12(%ebp), %ecx
+ leal -36(%ebp), %eax
+ movl %eax, -20(%ebp)
+ movl 8(%ebp), %ebx
+ leal -24(%ebp), %eax
+ fldl 8(%edx)
+ fldl 16(%edx)
+ fmull 16(%ecx)
+ fxch %st(1)
+ movl %eax, -12(%ebp)
+ leal -52(%ebp), %eax
+ fmull 8(%ecx)
+ movl %eax, -48(%ebp)
+ leal -12(%ebp), %eax
+ fldl (%edx)
+ fmull (%ecx)
+ fxch %st(1)
+ movl %eax, -44(%ebp)
+ faddp %st, %st(2)
+ faddp %st, %st(1)
+ fadd %st(0), %st
+ fld %st(0)
+ fstl -32(%ebp)
+ fxch %st(1)
+ fmull (%edx)
+ fsubrl (%ecx)
+ fstpl (%ebx)
+ fld %st(0)
+ fmull 8(%edx)
+ fsubrl 8(%ecx)
+ fstpl 8(%ebx)
+ fmull 16(%edx)
+ fsubrl 16(%ecx)
+ fstpl 16(%ebx)
+ addl $52, %esp
+ popl %ebx
+ popl %ebp
+ ret
+
+*****************************************************************************************/
diff --git a/tvmet-1.7.1/examples/redwards.cc b/tvmet-1.7.1/examples/redwards.cc
new file mode 100644
index 000000000..46a525d6e
--- /dev/null
+++ b/tvmet-1.7.1/examples/redwards.cc
@@ -0,0 +1,25 @@
+/*
+ * This is a reused case study used as example from Rusell Edwards.
+ * Works only with > release-1-2-0 due to a missed
+ * product/operator*(Matrix,XprVector) on releases prior.
+ * It shows a possible use of chained expressions.
+ */
+#include <iostream>
+
+#include <tvmet/Matrix.h>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ Matrix<float,3,3> eigenvecs;
+ Matrix<float,3,3> M;
+
+ eigenvecs = 1,2,3,4,5,6,7,8,9;
+ M = 10,20,30,40,50,60,70,80,90;
+
+ Vector<float,3> ev0( M * col(eigenvecs, 0));
+
+ cout << "ev0 = " << ev0 << endl;
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_m1.cc b/tvmet-1.7.1/examples/xpr_print_m1.cc
new file mode 100644
index 000000000..f48fe10fe
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_m1.cc
@@ -0,0 +1,21 @@
+#include <iostream>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix stuff I
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << m1 << "\n*\n" << m2 <<"\nresults into:\n";
+ cout << m1*m2 << endl;
+ cout << "The result =\n";
+ m3 = m1*m2;
+ cout << m3 << endl << endl;
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_m2.cc b/tvmet-1.7.1/examples/xpr_print_m2.cc
new file mode 100644
index 000000000..c9151fdc3
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_m2.cc
@@ -0,0 +1,21 @@
+#include <iostream>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix stuff II (unary functions)
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << "sqrt(\n" << m1 <<"):\n";
+ cout << sqrt(m1) << endl;
+ cout << "The result = \n";
+ m3 = sqrt(m1);
+ cout << m3 << endl << endl;
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_m3.cc b/tvmet-1.7.1/examples/xpr_print_m3.cc
new file mode 100644
index 000000000..69f6451be
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_m3.cc
@@ -0,0 +1,21 @@
+#include <iostream>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix stuff III (binary functions)
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << "pow(\n" << m1 << ", " << m2 << "):\n";
+ cout << pow(m1, m2) << endl;
+ cout << "The result = \n";
+ m3 = pow(m1, m2);
+ cout << m3 << endl << endl;
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_m4.cc b/tvmet-1.7.1/examples/xpr_print_m4.cc
new file mode 100644
index 000000000..a2499813a
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_m4.cc
@@ -0,0 +1,21 @@
+#include <iostream>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix stuff IV (binary functions with pod)
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << "pow(\n" << m1 << ", " << 3 << "):\n";
+ cout << pow(m1, 3) << endl;
+ cout << "The result = \n";
+ m3 = pow(m1, 3);
+ cout << m3 << endl << endl;
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_mv1.cc b/tvmet-1.7.1/examples/xpr_print_mv1.cc
new file mode 100644
index 000000000..c48629586
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_mv1.cc
@@ -0,0 +1,26 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix Vector stuff I
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << m1 << "\n* " << v1 <<"\nresults into:\n";
+ cout << m1*v1 << endl;
+ cout << "The result =\n";
+ v3 = m1*v1;
+ cout << v3 << endl << endl;
+
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_mv2.cc b/tvmet-1.7.1/examples/xpr_print_mv2.cc
new file mode 100644
index 000000000..4d51e5401
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_mv2.cc
@@ -0,0 +1,26 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+#include <tvmet/Matrix.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Matrix Vector stuff II
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ Matrix<double,3,3> m1, m2, m3;
+ m1 = 1,2,3,
+ 4,5,6,
+ 7,8,9;
+ m2 = trans(m1);
+
+ cout << "Xpr Level printing of "
+ << "sqrt(\n" << m1 << "\n* " << v1 << ")\nresults into:\n";
+ cout << sqrt(m1*v1) << endl;
+ cout << "The result =\n";
+ v3 = sqrt(m1*v1);
+ cout << v3 << endl << endl;
+
+}
diff --git a/tvmet-1.7.1/examples/xpr_print_v1.cc b/tvmet-1.7.1/examples/xpr_print_v1.cc
new file mode 100644
index 000000000..98a64b5d1
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_v1.cc
@@ -0,0 +1,19 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Vector stuff I
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ cout << "Xpr Level printing of "
+ << v1 << " * " << v2 <<":\n";
+ cout << v1*v2 << endl;
+ cout << "The result = \n";
+ v3 = v1*v2;
+ cout << v3 << endl << endl;
+}
+
diff --git a/tvmet-1.7.1/examples/xpr_print_v2.cc b/tvmet-1.7.1/examples/xpr_print_v2.cc
new file mode 100644
index 000000000..f670beb0f
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_v2.cc
@@ -0,0 +1,19 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Vector stuff II (unary functions)
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ cout << "Xpr Level printing of "
+ << "sqrt(" << v1 <<"):\n";
+ cout << sqrt(v1) << endl;
+ cout << "The result = \n";
+ v3 = sqrt(v1);
+ cout << v3 << endl << endl;
+}
+
diff --git a/tvmet-1.7.1/examples/xpr_print_v3.cc b/tvmet-1.7.1/examples/xpr_print_v3.cc
new file mode 100644
index 000000000..40167b3e2
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_v3.cc
@@ -0,0 +1,19 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Vector stuff III (binary functions)
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ cout << "Xpr Level printing of "
+ << "pow(" << v1 << ", " << v2 << "):\n";
+ cout << pow(v1, v2) << endl;
+ cout << "The result = \n";
+ v3 = pow(v1, v2);
+ cout << v3 << endl << endl;
+}
+
diff --git a/tvmet-1.7.1/examples/xpr_print_v4.cc b/tvmet-1.7.1/examples/xpr_print_v4.cc
new file mode 100644
index 000000000..1253db814
--- /dev/null
+++ b/tvmet-1.7.1/examples/xpr_print_v4.cc
@@ -0,0 +1,19 @@
+#include <iostream>
+#include <tvmet/Vector.h>
+
+using namespace std;
+using namespace tvmet;
+
+int main() {
+ // Vector stuff IV (binary functions with pod)
+ Vector<double,3> v1(1,2,3), v2(v1);
+ Vector<double,3> v3(0);
+
+ cout << "Xpr Level printing of "
+ << "pow(" << v1 << ", " << 3 << "):\n";
+ cout << pow(v1, 3) << endl;
+ cout << "The result = \n";
+ v3 = pow(v1, 3);
+ cout << v3 << endl << endl;
+}
+