|  | 
| (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).