[Boost-bugs] [Boost C++ Libraries] #9030: Should pass steppers by reference in integrate functions

Subject: [Boost-bugs] [Boost C++ Libraries] #9030: Should pass steppers by reference in integrate functions
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-22 05:53:43


#9030: Should pass steppers by reference in integrate functions
------------------------------+-------------------------
 Reporter: anikin@… | Owner: karsten
     Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: odeint
  Version: Boost 1.54.0 | Severity: Showstopper
 Keywords: st |
------------------------------+-------------------------
 The ''integrate'' family of functions takes steppers by value, but
 steppers like the most useful '''runge_kutta_dopri5''' may contain state
 which is not the best type to copy around. The worst happens if you try to
 use SSE-aligned vector for state type, e.g. Eigen::Array. Passing aligned
 struct by value cannot preserve the alignment and the program crashes.
 Which makes it impossible to use SSE vectorization with odeint. I think
 you need to change to passing steppers by reference or add
 odeint::unwrap_reference< Stepper > wherever steppers are passed, so that
 boost::ref could be used with them.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9030>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC