1 #include "ns3/core-config.h"
2 #if !defined(INT64X64_DOUBLE_H) && (defined (INT64X64_USE_DOUBLE) || defined(PYTHON_SCAN))
3 #define INT64X64_DOUBLE_H
15 inline int64x64_t (
double v)
17 inline int64x64_t (
int v)
19 inline int64x64_t (
long int v)
21 inline int64x64_t (
long long int v)
23 inline int64x64_t (
unsigned int v)
25 inline int64x64_t (
unsigned long int v)
27 inline int64x64_t (
unsigned long long int v)
29 inline int64x64_t (int64_t hi, uint64_t lo)
32 inline int64x64_t (
const int64x64_t &o)
34 inline int64x64_t &operator = (
const int64x64_t &o)
40 inline double GetDouble (
void)
const
44 inline int64_t GetHigh (
void)
const
46 return (int64_t)std::floor (_v);
48 inline uint64_t GetLow (
void)
const
54 inline void MulByInvert (
const int64x64_t &o)
59 static inline int64x64_t Invert (uint64_t v)
62 return int64x64_t (1/d);
66 friend bool operator == (
const int64x64_t &lhs,
const int64x64_t &rhs);
67 friend bool operator != (
const int64x64_t &lhs,
const int64x64_t &rhs);
68 friend bool operator <= (
const int64x64_t &lhs,
const int64x64_t &rhs);
69 friend bool operator >= (
const int64x64_t &lhs,
const int64x64_t &rhs);
70 friend bool operator < (
const int64x64_t &lhs,
const int64x64_t &rhs);
71 friend bool operator > (
const int64x64_t &lhs,
const int64x64_t &rhs);
72 friend int64x64_t &
operator += (int64x64_t &lhs,
const int64x64_t &rhs);
73 friend int64x64_t &
operator -= (int64x64_t &lhs,
const int64x64_t &rhs);
74 friend int64x64_t &
operator *= (int64x64_t &lhs,
const int64x64_t &rhs);
75 friend int64x64_t &
operator /= (int64x64_t &lhs,
const int64x64_t &rhs);
76 friend int64x64_t
operator + (
const int64x64_t &lhs,
const int64x64_t &rhs);
77 friend int64x64_t
operator - (
const int64x64_t &lhs,
const int64x64_t &rhs);
78 friend int64x64_t
operator * (
const int64x64_t &lhs,
const int64x64_t &rhs);
79 friend int64x64_t
operator / (
const int64x64_t &lhs,
const int64x64_t &rhs);
80 friend int64x64_t
operator + (
const int64x64_t &lhs);
81 friend int64x64_t
operator - (
const int64x64_t &lhs);
82 friend int64x64_t
operator ! (
const int64x64_t &lhs);
87 inline bool operator == (
const int64x64_t &lhs,
const int64x64_t &rhs)
89 return lhs._v == rhs._v;
92 inline bool operator != (
const int64x64_t &lhs,
const int64x64_t &rhs)
94 return lhs._v != rhs._v;
97 inline bool operator <= (
const int64x64_t &lhs,
const int64x64_t &rhs)
99 return lhs._v <= rhs._v;
102 inline bool operator >= (
const int64x64_t &lhs,
const int64x64_t &rhs)
104 return lhs._v >= rhs._v;
106 inline bool operator < (
const int64x64_t &lhs,
const int64x64_t &rhs)
108 return lhs._v < rhs._v;
110 inline bool operator > (
const int64x64_t &lhs,
const int64x64_t &rhs)
112 return lhs._v > rhs._v;
114 inline int64x64_t &
operator += (int64x64_t &lhs,
const int64x64_t &rhs)
118 lhs = int64x64_t (tmp);
121 inline int64x64_t &
operator -= (int64x64_t &lhs,
const int64x64_t &rhs)
125 lhs = int64x64_t (tmp);
128 inline int64x64_t &
operator *= (int64x64_t &lhs,
const int64x64_t &rhs)
132 lhs = int64x64_t (tmp);
135 inline int64x64_t &
operator /= (int64x64_t &lhs,
const int64x64_t &rhs)
139 lhs = int64x64_t (tmp);
143 inline int64x64_t
operator + (
const int64x64_t &lhs)
148 inline int64x64_t
operator - (
const int64x64_t &lhs)
150 return int64x64_t (-lhs._v);
153 inline int64x64_t
operator ! (
const int64x64_t &lhs)
155 return int64x64_t (!lhs._v);
TracedValue< T > operator!(const TracedValue< T > &lhs)
bool operator>(const Time &lhs, const Time &rhs)
TracedValue< T > operator*(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
bool operator<(const Room &a, const Room &b)
Time & operator+=(Time &lhs, const Time &rhs)
TracedValue< T > & operator*=(TracedValue< T > &lhs, const U &rhs)
Time operator+(const Time &lhs, const Time &rhs)
TracedValue< T > operator/(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
bool operator<=(const Time &lhs, const Time &rhs)
Time & operator-=(Time &lhs, const Time &rhs)
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test.
bool operator>=(const Time &lhs, const Time &rhs)
Time operator-(const Time &lhs, const Time &rhs)
TracedValue< T > & operator/=(TracedValue< T > &lhs, const U &rhs)
bool operator==(const EventId &a, const EventId &b)