|
Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Represent a time range. More...
#include <Rythmos_TimeRange_decl.hpp>

Public Member Functions | |
| TimeRange () | |
| Construct an invalid range. | |
| TimeRange (const TimeType &my_lower, const TimeType &my_upper) | |
| Construct a valid range. | |
| TimeRange (const TimeRange< TimeType > &tr) | |
| Copy constructor. | |
| virtual | ~TimeRange () |
| | |
| bool | isValid () const |
| | |
| TimeType | lower () const |
| | |
| TimeType | upper () const |
| | |
| TimeType | length () const |
| | |
| virtual bool | isInRange (const TimeType &t) const |
| | |
| TimeRange< TimeType > | copyAndScale (const TimeType &scale) const |
| | |
Related Functions | |
(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. | |
| template<class TimeType > | |
| TimeRange< TimeType > | timeRange (const TimeType my_lower, const TimeType my_upper) |
| Nonmember constructor. | |
| template<class TimeType > | |
| TimeRange< TimeType > | invalidTimeRange () |
| Nonmember constructor. | |
| template<class TimeType > | |
| std::ostream & | operator<< (std::ostream &out, const TimeRange< TimeType > &range) |
| Output operator. | |
| template<class TimeType > | |
| bool | isInRange_cc (const TimeRange< TimeType > &tr, const TimeType &p) |
| Nonmember isInRange function [closed, closed]. | |
| template<class TimeType > | |
| bool | isInRange_oc (const TimeRange< TimeType > &tr, const TimeType &p) |
| Nonmember isInRange function (open, closed]. | |
| template<class TimeType > | |
| bool | isInRange_co (const TimeRange< TimeType > &tr, const TimeType &p) |
| Nonmember isInRange function [closed, open). | |
| template<class TimeType > | |
| bool | isInRange_oo (const TimeRange< TimeType > &tr, const TimeType &p) |
| Nonmember isInRange function (open, open). | |
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 72 of file Rythmos_TimeRange_decl.hpp.
| Rythmos::TimeRange< TimeType >::TimeRange | ( | ) | [inline] |
Construct an invalid range.
Definition at line 76 of file Rythmos_TimeRange_decl.hpp.
| Rythmos::TimeRange< TimeType >::TimeRange | ( | const TimeType & | my_lower, |
| const TimeType & | my_upper | ||
| ) | [inline] |
Construct a valid range.
Definition at line 80 of file Rythmos_TimeRange_decl.hpp.
| Rythmos::TimeRange< TimeType >::TimeRange | ( | const TimeRange< TimeType > & | tr | ) | [inline] |
Copy constructor.
Definition at line 85 of file Rythmos_TimeRange_decl.hpp.
| virtual Rythmos::TimeRange< TimeType >::~TimeRange | ( | ) | [inline, virtual] |
Definition at line 90 of file Rythmos_TimeRange_decl.hpp.
| bool Rythmos::TimeRange< TimeType >::isValid | ( | ) | const [inline] |
Definition at line 92 of file Rythmos_TimeRange_decl.hpp.
| TimeType Rythmos::TimeRange< TimeType >::lower | ( | ) | const [inline] |
Definition at line 94 of file Rythmos_TimeRange_decl.hpp.
| TimeType Rythmos::TimeRange< TimeType >::upper | ( | ) | const [inline] |
Definition at line 96 of file Rythmos_TimeRange_decl.hpp.
| TimeType Rythmos::TimeRange< TimeType >::length | ( | ) | const [inline] |
Definition at line 98 of file Rythmos_TimeRange_decl.hpp.
| virtual bool Rythmos::TimeRange< TimeType >::isInRange | ( | const TimeType & | t | ) | const [inline, virtual] |
Definition at line 100 of file Rythmos_TimeRange_decl.hpp.
| TimeRange<TimeType> Rythmos::TimeRange< TimeType >::copyAndScale | ( | const TimeType & | scale | ) | const [inline] |
Definition at line 108 of file Rythmos_TimeRange_decl.hpp.
| int compareTimeValues | ( | const TimeType & | t1, |
| const TimeType & | t2 | ||
| ) | [related] |
Compare two times taking into account floating point errors.
-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).
| TimeRange< TimeType > timeRange | ( | const TimeType | my_lower, |
| const TimeType | my_upper | ||
| ) | [related] |
Nonmember constructor.
| TimeRange< TimeType > invalidTimeRange | ( | ) | [related] |
Nonmember constructor.
| std::ostream & operator<< | ( | std::ostream & | out, |
| const TimeRange< TimeType > & | range | ||
| ) | [related] |
Output operator.
| bool isInRange_cc | ( | const TimeRange< TimeType > & | tr, |
| const TimeType & | p | ||
| ) | [related] |
Nonmember isInRange function [closed, closed].
tr.lower() <= p <= tr.upper()
| bool isInRange_oc | ( | const TimeRange< TimeType > & | tr, |
| const TimeType & | p | ||
| ) | [related] |
Nonmember isInRange function (open, closed].
tr.lower() < p <= tr.upper()
| bool isInRange_co | ( | const TimeRange< TimeType > & | tr, |
| const TimeType & | p | ||
| ) | [related] |
Nonmember isInRange function [closed, open).
tr.lower() <= p < tr.upper()
| bool isInRange_oo | ( | const TimeRange< TimeType > & | tr, |
| const TimeType & | p | ||
| ) | [related] |
Nonmember isInRange function (open, open).
tr.lower() < p < tr.upper()
1.7.6.1