9 #ifndef Tempus_Interpolator_hpp
10 #define Tempus_Interpolator_hpp
13 #include "Teuchos_VerboseObject.hpp"
14 #include "Teuchos_Describable.hpp"
15 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
16 #include "Teuchos_RCP.hpp"
17 #include "Teuchos_ScalarTraits.hpp"
20 #include "Tempus_SolutionState.hpp"
28 template<
class Scalar>
30 :
virtual public Teuchos::Describable,
31 virtual public Teuchos::ParameterListAcceptor,
32 virtual public Teuchos::VerboseObject<Interpolator<Scalar> >
64 virtual int order()
const = 0;
69 template<
class Scalar>
78 template<
class Scalar>
89 template <
typename Scalar>
93 typedef Teuchos::ScalarTraits<Scalar> ST;
94 typedef typename ST::magnitudeType mag_type;
96 const mag_type tol = ST::magnitude(scale)*ST::eps()*mag_type(1000.0);
97 const mag_type diff = ST::magnitude(a-b);
99 return diff <= tol || diff <= ST::sfmin();
104 #endif //Tempus_Interpolator_hpp