21 template <
typename Real,
typename TVector>
28 std::function<TVector(Real, TVector
const&)>
const& F);
32 virtual void Update(Real tIn, TVector
const& xIn, Real& tOut,
37 template <
typename Real,
typename TVector>
42 template <
typename Real,
typename TVector>
44 std::function<TVector(Real, TVector
const&)>
const& F)
50 template <
typename Real,
typename TVector>
52 Real& tOut, TVector& xOut)
55 Real halfTDelta = ((Real)0.5) * this->
mTDelta;
56 TVector fVector = this->
mFunction(tIn, xIn);
57 TVector xTemp = xIn + halfTDelta * fVector;
60 Real halfT = tIn + halfTDelta;
63 xOut = xIn + this->mTDelta * fVector;
std::function< TVector(Real, TVector const &)> mFunction
OdeMidpoint(Real tDelta, std::function< TVector(Real, TVector const &)> const &F)
virtual void Update(Real tIn, TVector const &xIn, Real &tOut, TVector &xOut)