/* * 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 <vector> using namespace std; struct rt_algebra { template< typename T , size_t dim > inline static void foreach( boost::array< T , dim > & x_tmp , const boost::array< T , dim > &x , //const vector< double > &a , const double* a , const boost::array< T , dim > *k_vector , const double dt , const size_t s ) { for( size_t i=0 ; i<dim ; ++i ) { x_tmp[i] = x[i]; for( size_t j = 0 ; j<s ; ++j ) x_tmp[i] += a[j]*dt*k_vector[j][i]; } } };