added fold test and simplified repetition in the Makefile

[SVN r49456]
This commit is contained in:
Dan Marsden
2008-10-26 14:39:59 +00:00
parent 38147bb4d6
commit d3f057e88c
2 changed files with 43 additions and 8 deletions

View File

@ -9,16 +9,20 @@
CXX=g++ CXX=g++
CXXFLAGS=-I$(BOOST_ROOT) CXXFLAGS=-I$(BOOST_ROOT)
all: vector_construction vector_iteration vector_intrinsic TEST_SRCS=\
vector_construction.cpp\
vector_iteration.cpp\
vector_intrinsic.cpp\
fold.cpp
vector_construction: vector_construction.cpp TEST_OBJS=$(TEST_SRCS:.cpp=.o)
time $(CXX) $(CXXFLAGS) vector_construction.cpp -o vector_construction
vector_iteration: vector_iteration.cpp TEST_TARGETS=$(TEST_SRCS:.cpp=.test)
time $(CXX) $(CXXFLAGS) vector_iteration.cpp -o vector_iteration
vector_intrinsic: vector_intrinsic.cpp all: $(TEST_TARGETS)
time $(CXX) $(CXXFLAGS) vector_intrinsic.cpp -o vector_intrinsic
%.test : %.cpp
time $(CXX) $(CXXFLAGS) $< -o $@
clean: clean:
rm -f vector_construction vector_construction.o vector_iteration vector_iteration.o vector_intrinsic vector_intrinsic.o rm -f $(TEST_TARGETS) $(TEST_OBJS)

View File

@ -0,0 +1,31 @@
/*=============================================================================
Copyright (c) 2008 Dan Marsden
Use modification and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
#include <boost/fusion/include/fold.hpp>
#include <boost/fusion/include/vector.hpp>
namespace fusion = boost::fusion;
namespace
{
template<int n, int batch>
struct distinct
{
static const int value = n;
};
template<int batch>
void test()
{
fusion::vector<
distinct<0, batch>, distinct<1, batch>, distinct<2, batch>, distinct<3, batch>, distinct<4, batch>,
distinct<5, batch>, distinct<6, batch>, distinct<7, batch>, distinct<8, batch>, distinct<9, batch> > v;
}
}
#include "./driver.hpp"