Changeset 63926


Ignore:
Timestamp:
Jul 12, 2010, 2:44:23 PM (8 years ago)
Author:
mariomulansky
Message:

named adjust_size2 back to adjust_size

Location:
sandbox/odeint/branches/karsten/boost/numeric/odeint
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/odeint/branches/karsten/boost/numeric/odeint/algebra/standard_algebra.hpp

    r63749 r63926  
    4646                        op( *first1++ , *first2++ );
    4747        }
     48
     49
     50        template< class StateType1 , class StateType2 , class StateType3 , class Operation >
     51        static void transform3( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , Operation op )
     52        {
     53                // ToDo : check that number of arguments of the operation is equal 3
     54
     55                // ToDo : generate macro
     56                BOOST_STATIC_ASSERT(( boost::is_same< typename boost::remove_const< StateType1 >::type , container_type >::value ));
     57                BOOST_STATIC_ASSERT(( boost::is_same< typename boost::remove_const< StateType2 >::type , container_type >::value ));
     58                BOOST_STATIC_ASSERT(( boost::is_same< typename boost::remove_const< StateType3 >::type , container_type >::value ));
     59
     60                // ToDo : pack into detail namespace
     61                transform2(     boost::begin( s1 ) , boost::end( s1 ) ,
     62                                        boost::begin( s2 ) ,
     63                                        boost::begin( s3 ) ,
     64                                        op      );
     65        }
     66
     67        // ToDo : pack into namespace detail
     68        template< class Iterator1 , class Iterator2 , class Iterator3 , class Operation >
     69        static void transform3( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Operation op )
     70        {
     71                for( ; first1 != last1 ; )
     72                        op( *first1++ , *first2++ , *first3++ );
     73        }
     74
    4875};
    4976
  • sandbox/odeint/branches/karsten/boost/numeric/odeint/algebra/standard_operations.hpp

    r63749 r63926  
    3939                }
    4040        };
     41
     42        struct scale_sum2
     43        {
     44                time_type m_alpha1;
     45                time_type m_alpha2;
     46
     47                scale_sum2( time_type alpha1 , time_type alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { }
     48
     49                template< class T1 , class T2 , class T3 >
     50                void operator()( T1 &t1 , const T2 &t2 , const T3 &t3) const
     51                {
     52                        t1 = m_alpha1 * t2 + m_alpha2 * t3;
     53                }
     54        };
    4155};
    4256
  • sandbox/odeint/branches/karsten/boost/numeric/odeint/algebra/standard_resize.hpp

    r63920 r63926  
    4141
    4242template< class Container >
    43 void adjust_size2( const Container &x1 , Container &x2 )
     43void adjust_size( const Container &x1 , Container &x2 )
    4444{
    4545        if( !same_size( x1 , x2 ) ) resize( x1 , x2 );
  • sandbox/odeint/branches/karsten/boost/numeric/odeint/stepper/explicit_euler.hpp

    r63920 r63926  
    7474        void adjust_size_impl( const state_type &x )
    7575        {
    76                 adjust_size2( x , m_dxdt );
     76                adjust_size( x , m_dxdt );
    7777        }
    7878
Note: See TracChangeset for help on using the changeset viewer.