summaryrefslogtreecommitdiff
path: root/libs/numeric/odeint/test_external
diff options
context:
space:
mode:
Diffstat (limited to 'libs/numeric/odeint/test_external')
-rw-r--r--libs/numeric/odeint/test_external/eigen/Jamfile.v25
-rw-r--r--libs/numeric/odeint/test_external/eigen/fail_integrate.cpp47
-rw-r--r--libs/numeric/odeint/test_external/eigen/integrate.cpp69
-rw-r--r--libs/numeric/odeint/test_external/gmp/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/gsl/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/mkl/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/mpi/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/mtl4/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/nt2/Jamfile.v21
-rw-r--r--libs/numeric/odeint/test_external/thrust/Makefile32
-rw-r--r--libs/numeric/odeint/test_external/vexcl/Jamfile.v21
11 files changed, 134 insertions, 26 deletions
diff --git a/libs/numeric/odeint/test_external/eigen/Jamfile.v2 b/libs/numeric/odeint/test_external/eigen/Jamfile.v2
index 47b3a8811..489f67ce4 100644
--- a/libs/numeric/odeint/test_external/eigen/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/eigen/Jamfile.v2
@@ -17,10 +17,9 @@ project
: requirements
<library>/boost/test//boost_unit_test_framework
<define>BOOST_ALL_NO_LIB=1
- <include>../../../../..
<include>$(EIGEN_ROOT)
+ <include>../../test
<link>static
- <toolset>clang:<cxxflags>-Wno-unused-variable
# <cxxflags>-D_SCL_SECURE_NO_WARNINGS
;
@@ -31,5 +30,7 @@ test-suite "odeint"
[ run resize.cpp ]
[ run runge_kutta4.cpp ]
[ run runge_kutta_dopri5.cpp ]
+ [ run integrate.cpp ]
+ [ compile-fail fail_integrate.cpp ]
: <testing.launcher>valgrind
;
diff --git a/libs/numeric/odeint/test_external/eigen/fail_integrate.cpp b/libs/numeric/odeint/test_external/eigen/fail_integrate.cpp
new file mode 100644
index 000000000..4c71b0186
--- /dev/null
+++ b/libs/numeric/odeint/test_external/eigen/fail_integrate.cpp
@@ -0,0 +1,47 @@
+/*
+ [auto_generated]
+ fail_integrate.cpp
+
+ [begin_description]
+ tba.
+ [end_description]
+
+ Copyright 2009-2012 Karsten Ahnert
+ Copyright 2009-2012 Mario Mulansky
+
+ Distributed under 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/config.hpp>
+#ifdef BOOST_MSVC
+ #pragma warning(disable:4996)
+#endif
+
+#define BOOST_TEST_MODULE odeint_dummy
+
+#include <boost/numeric/odeint/integrate/integrate.hpp>
+#include <boost/numeric/odeint/external/eigen/eigen.hpp>
+
+#include <boost/test/unit_test.hpp>
+
+#include "dummy_odes.hpp"
+
+using namespace boost::unit_test;
+using namespace boost::numeric::odeint;
+
+
+BOOST_AUTO_TEST_SUITE( eigen_fail_integrate )
+
+BOOST_AUTO_TEST_CASE( test )
+{
+ typedef Eigen::Matrix< double , 1 , 1 > state_type;
+ state_type x;
+ x[0] = 10.0;
+ double t_start = 0.0 , t_end = 1.0 , dt = 0.1;
+ integrate( constant_system_functor_standard() , x , t_start , t_end , dt );
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
diff --git a/libs/numeric/odeint/test_external/eigen/integrate.cpp b/libs/numeric/odeint/test_external/eigen/integrate.cpp
new file mode 100644
index 000000000..c64496a83
--- /dev/null
+++ b/libs/numeric/odeint/test_external/eigen/integrate.cpp
@@ -0,0 +1,69 @@
+/*
+ [auto_generated]
+ integrate.cpp
+
+ [begin_description]
+ tba.
+ [end_description]
+
+ Copyright 2009-2012 Karsten Ahnert
+ Copyright 2009-2012 Mario Mulansky
+
+ Distributed under 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/config.hpp>
+#ifdef BOOST_MSVC
+ #pragma warning(disable:4996)
+#endif
+
+#define BOOST_TEST_MODULE odeint_eigen_integrate
+
+#include <boost/numeric/odeint/integrate/integrate.hpp>
+#include <boost/numeric/odeint/external/eigen/eigen.hpp>
+
+#include <boost/test/unit_test.hpp>
+
+#include "dummy_odes.hpp"
+
+
+using namespace boost::unit_test;
+using namespace boost::numeric::odeint;
+
+
+BOOST_AUTO_TEST_SUITE( eigen_integrate )
+
+BOOST_AUTO_TEST_CASE( test_const_sys )
+{
+ typedef Eigen::Matrix< double , 1 , 1 > state_type;
+ state_type x;
+ x[0] = 10.0;
+ double t_start = 0.0 , t_end = 1.0 , dt = 0.1;
+ integrate< double >( constant_system_functor_standard() , x , t_start , t_end , dt );
+ BOOST_CHECK_CLOSE( x[0] , 11.0 , 1.0e-13 );
+}
+
+BOOST_AUTO_TEST_CASE( test_lorenz )
+{
+ typedef Eigen::Matrix< double , 3 , 1 > state_type;
+ state_type x;
+ x[0] = 10.0;
+ x[1] = 10.0;
+ x[2] = 10.0;
+ double t_start = 0.0 , t_end = 1000.0 , dt = 0.1;
+ integrate< double >( lorenz() , x , t_start , t_end , dt );
+
+ std::vector< double > x2( 3 );
+ x2[0] = 10.0;
+ x2[1] = 10.0;
+ x2[2] = 10.0;
+ integrate( lorenz() , x2 , t_start , t_end , dt );
+
+ BOOST_CHECK_CLOSE( x[0] , x2[0] , 1.0e-13 );
+ BOOST_CHECK_CLOSE( x[1] , x2[1] , 1.0e-13 );
+ BOOST_CHECK_CLOSE( x[2] , x2[2] , 1.0e-13 );
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/libs/numeric/odeint/test_external/gmp/Jamfile.v2 b/libs/numeric/odeint/test_external/gmp/Jamfile.v2
index e4e603285..f0e6af02c 100644
--- a/libs/numeric/odeint/test_external/gmp/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/gmp/Jamfile.v2
@@ -11,7 +11,6 @@ use-project boost : $(BOOST_ROOT) ;
project gmp
: requirements
<library>/boost/test//boost_unit_test_framework
- <include>../../../../..
;
diff --git a/libs/numeric/odeint/test_external/gsl/Jamfile.v2 b/libs/numeric/odeint/test_external/gsl/Jamfile.v2
index 73595d30b..086edf6ea 100644
--- a/libs/numeric/odeint/test_external/gsl/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/gsl/Jamfile.v2
@@ -11,7 +11,6 @@ use-project boost : $(BOOST_ROOT) ;
project
: requirements
<library>/boost/test//boost_unit_test_framework
- <include>../../../../..
;
diff --git a/libs/numeric/odeint/test_external/mkl/Jamfile.v2 b/libs/numeric/odeint/test_external/mkl/Jamfile.v2
index 168d69c4c..f585fa83d 100644
--- a/libs/numeric/odeint/test_external/mkl/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/mkl/Jamfile.v2
@@ -11,7 +11,6 @@ use-project boost : $(BOOST_ROOT) ;
project
: requirements
<library>/boost/test//boost_unit_test_framework
- <include>../../../../..
;
diff --git a/libs/numeric/odeint/test_external/mpi/Jamfile.v2 b/libs/numeric/odeint/test_external/mpi/Jamfile.v2
index bb14ff575..0a02bccff 100644
--- a/libs/numeric/odeint/test_external/mpi/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/mpi/Jamfile.v2
@@ -15,7 +15,6 @@ project
<library>/boost//mpi
<link>static
<define>BOOST_ALL_NO_LIB=1
- <include>../../../../..
;
# mpi-test name : source : req : np=1 2 3 4 7 8 13 17
diff --git a/libs/numeric/odeint/test_external/mtl4/Jamfile.v2 b/libs/numeric/odeint/test_external/mtl4/Jamfile.v2
index c85c97fb1..3a8481ab9 100644
--- a/libs/numeric/odeint/test_external/mtl4/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/mtl4/Jamfile.v2
@@ -15,7 +15,6 @@ MTL4_INCLUDE = /home/mario/MTL4 ;
project
: requirements
<library>/boost/test//boost_unit_test_framework
- <include>../../../../..
<include>$(MTL4_INCLUDE)
<define>BOOST_ALL_NO_LIB=1
<link>static
diff --git a/libs/numeric/odeint/test_external/nt2/Jamfile.v2 b/libs/numeric/odeint/test_external/nt2/Jamfile.v2
index 9f9b142f6..26763da6e 100644
--- a/libs/numeric/odeint/test_external/nt2/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/nt2/Jamfile.v2
@@ -26,7 +26,6 @@ project
: requirements
<library>$(BOOST_ROOT)/boost/test/included/unit_test_framework.hpp
<define>BOOST_ALL_NO_LIB=1
- <include>../../../../..
<include>$(NT2_ROOT_PATH)/include/
<link>static
<toolset>gcc:<cxxflags>-DBOOST_SIMD_NO_STRICT_ALIASING
diff --git a/libs/numeric/odeint/test_external/thrust/Makefile b/libs/numeric/odeint/test_external/thrust/Makefile
index 5d7b7d389..49d9cd71a 100644
--- a/libs/numeric/odeint/test_external/thrust/Makefile
+++ b/libs/numeric/odeint/test_external/thrust/Makefile
@@ -1,36 +1,34 @@
-# Copyright 2010-2013 Mario Mulansky
+# Copyright 2010-2014 Mario Mulansky
# Copyright 2010-2012 Karsten Ahnert
#
# Distributed under 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)
+# make sure BOOST_ROOT is pointing to your boost directory
+# otherwise, set it here:
+# BOOST_ROOT = /path/to/boost
+# path to the cuda installation
+CUDA_ROOT = /usr/local/cuda
+# target architecture
+ARCH = sm_13
-CUDA_ROOT = /usr/local/cuda-5.0
-
-CC = gcc
-CXX = gcc
NVCC = $(CUDA_ROOT)/bin/nvcc
-INCLUDES += -I$(BOOST_ROOT) -I$(THRUST_ROOT) -I$(CUDA_ROOT)/include -I../../../../..
+INCLUDES += -I../../include/ -I$(BOOST_ROOT)
-NVCCFLAGS = -O3 $(INCLUDES) --compiler-bindir=/opt/gcc4.6.2/bin/
+NVCCFLAGS = -O3 $(INCLUDES) -arch $(ARCH)
-LDLIBS = -lcudart -lstdc++
-LDFLAGS = -L$(CUDA_ROOT)/lib64
+%.o : %.cu
+ $(NVCC) $(NVCCFLAGS) -c $< -o $@
-%.co : %.cu
- $(NVCC) $(NVCCFLAGS) -o $@ -c $<
+% : %.o
+ $(NVCC) $(NVCCFLAGS) -o $@ $<
all : check_thrust
-check_thrust : check_thrust.co
- $(CC) -o check_thrust $(LDFLAGS) $(LDLIBS) check_thrust.co
-check_thrust.co : check_thrust.cu
-
clean :
- -rm *~ *.o *.co check_thrust
-
+ -rm *~ *.o check_thrust
diff --git a/libs/numeric/odeint/test_external/vexcl/Jamfile.v2 b/libs/numeric/odeint/test_external/vexcl/Jamfile.v2
index dec9da634..9b76b4305 100644
--- a/libs/numeric/odeint/test_external/vexcl/Jamfile.v2
+++ b/libs/numeric/odeint/test_external/vexcl/Jamfile.v2
@@ -17,7 +17,6 @@ project
: requirements
<library>/boost/test//boost_unit_test_framework
<define>BOOST_ALL_NO_LIB=1
- <include>../../../../..
<include>$(VEXCL_INCLUDE)
<include>$(OPENCL_INCLUDE)
<cxxflags>-std=c++0x