|
(Note that these are not member functions.)
|
| template<class TimeType > |
| int | compareTimeValues (const TimeType &t1, const TimeType &t2) |
| | Compare two times taking into account floating point errors. More...
|
| |
| template<class TimeType > |
| TimeRange< TimeType > | timeRange (const TimeType my_lower, const TimeType my_upper) |
| | Nonmember constructor. More...
|
| |
| template<class TimeType > |
| TimeRange< TimeType > | invalidTimeRange () |
| | Nonmember constructor. More...
|
| |
| template<class TimeType > |
| std::ostream & | operator<< (std::ostream &out, const TimeRange< TimeType > &range) |
| | Output operator. More...
|
| |
| template<class TimeType > |
| bool | isInRange_cc (const TimeRange< TimeType > &tr, const TimeType &p) |
| | Nonmember isInRange function [closed, closed]. More...
|
| |
| template<class TimeType > |
| bool | isInRange_oc (const TimeRange< TimeType > &tr, const TimeType &p) |
| | Nonmember isInRange function (open, closed]. More...
|
| |
| template<class TimeType > |
| bool | isInRange_co (const TimeRange< TimeType > &tr, const TimeType &p) |
| | Nonmember isInRange function [closed, open). More...
|
| |
| template<class TimeType > |
| bool | isInRange_oo (const TimeRange< TimeType > &tr, const TimeType &p) |
| | Nonmember isInRange function (open, open). More...
|
| |
template<class Scalar>
class Rythmos::TimeRange< Scalar >
Represent a time range.
The compiler-generated default constructor, copy constructor, and assignment operators are allowed and perform correctly.
ToDo: Put in checks for the range if needed.
Definition at line 15 of file Rythmos_IntegrationControlStrategyBase.hpp.
template<class TimeType >
| int compareTimeValues |
( |
const TimeType & |
t1, |
|
|
const TimeType & |
t2 |
|
) |
| |
|
related |
Compare two times taking into account floating point errors.
- Returns
- Return
-1 if t1 < t2 , 0 if t1 == t2 and +1 if t1 > t2 .
Note that this function compares t1 to t2 and not the other way around.
This function is designed to solve the problem where in:
const TimeType timeStep = endTime - time;
const TimeType updatedEndTime = time + timeStep;
const bool isAtOrPastEndTime = ( updatedEndTime >= endTime );
the bool isAtOrPastEndTime may actually be false! This is especially a danger if IEEE floating point numerics are not being used (and there are many systems that do not for speed and other reasons).