MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HLAfloat64IntervalImpl1516e.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*********************************************************************
6 ** $RCSfile: logicalTimeImplFloat.cxx,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifdef DtIFSPEC1516E
10 
11 #include "rtiMsConfig.h"
12 #include <RTI/time/HLAfloat64Interval.h>
13 
14 // Old deprecated stuff, keeping it here in case we support these platforms again
15 // #if !WIN32 && !VXWORKS && !VMS && !__darwin__
16 // #include <values.h>
17 // #else
18 // #if VMS
19 // #include <limits>
20 // #define MAXDOUBLE numeric_limits<double>::max()
21 // #endif
22 
23 #include <float.h>
24 #define FLOAT64_POSITIVE_INFINITY (DBL_MAX)
25 #define FLOAT64_NEGATIVE_INFINITY (-DBL_MAX)
26 #define FLOAT64_EPSILON (DBL_MIN)
27 #define FLOAT64_ZERO (0.0)
28 
29 #ifdef _WIN32
30 #define nextafter _nextafter
31 #endif
32 
33 namespace rti1516e
34 {
35  class DT_DLL_LRC HLAfloat64IntervalImpl
36  {
37  public:
38 
40  HLAfloat64IntervalImpl();
41  HLAfloat64IntervalImpl(double const & value);
42  HLAfloat64IntervalImpl(HLAfloat64IntervalImpl const & value);
43 
45  virtual ~HLAfloat64IntervalImpl ();
46 
48  virtual void setZero ();
49  virtual bool isZero () const;
50  virtual void setEpsilon ();
51  virtual bool isEpsilon () const;
52 
54  virtual rti1516e::HLAfloat64IntervalImpl& operator= (double value);
55  virtual rti1516e::HLAfloat64IntervalImpl& operator= (const rti1516e::HLAfloat64IntervalImpl& value);
56 
58  virtual rti1516e::HLAfloat64IntervalImpl& operator+= (double addend)
59  throw (rti1516e::IllegalTimeArithmetic);
60 
61  virtual rti1516e::HLAfloat64IntervalImpl& operator-= (double subtrahend)
62  throw (rti1516e::IllegalTimeArithmetic);
63 
64  virtual bool operator> (double value) const;
65 
66  virtual bool operator< (double value) const;
67 
68  virtual bool operator== (double value) const;
69 
70  virtual bool operator>= (double value) const;
71 
72  virtual bool operator<= (double value) const;
73 
74  virtual void setToDifference (double minuend, double subtrahend)
75  throw (rti1516e::IllegalTimeArithmetic);
76 
78  virtual double getInterval () const;
79  virtual void setInterval (double value);
80 
81  protected:
82 
83  double myInterval;
84  static const double theZero;
85  static const double theEpsilon;
86  static const double thePositiveInfinity;
87  };
88 }
89 
90 #endif // DtIFSPEC1516E
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)