58 inline int128 () throw () : lo(0), hi(0) {};
59 inline int128 (
const int128 & a)
throw () : lo (a.lo), hi (a.hi) {};
61 inline int128 (
const unsigned int & a)
throw () : lo (a), hi (0ll) {};
62 inline int128 (
const signed int & a)
throw () : lo (a), hi (0ll) {
63 if (a < 0) this->hi = -1ll;
66 inline int128 (
const int64u & a)
throw () : lo (a), hi (0ll) {};
67 inline int128 (
const int64s & a)
throw () : lo (a), hi (0ll) {
68 if (a < 0) this->hi = -1ll;
71 int128 (
const float a)
throw ();
72 int128 (
const double & a)
throw ();
73 int128 (
const long double & a)
throw ();
75 int128 (
const char * sz)
throw ();
82 int128 (
const int64u & a,
const int64s & b)
throw ()
112 return *
this += (-b);
116 *
this = this->
div (b, dummy);
120 this->
div (b, *
this);
125 int toInt ()
const throw () {
return (
int) this->lo; };
126 int64s
toInt64 ()
const throw () {
return (int64s) this->lo; };
128 const char *
toString (
unsigned int radix = 10)
const throw ();
129 float toFloat ()
const throw ();
137 bool bit (
unsigned int n)
const throw ();
138 void bit (
unsigned int n,
bool val)
throw ();
141 __attribute__ ((__aligned__ (16), __packed__))
156 return int128 (a) += b; };
158 return int128 (a) -= b; };
160 return int128 (a) *= b; };
162 return int128 (a) /= b; };
164 return int128 (a) %= b; };
167 return int128 (a) >>= n; };
169 return int128 (a) <<= n; };
172 return int128 (a) &= b; };
174 return int128 (a) |= b; };
176 return int128 (a) ^= b; };
bool operator!=(const int128 &a, const int128 &b)
Definition: int128s.h:184
int128 & operator%=(const int128 &b)
Definition: int128s.h:119
int128 operator*(const int128 &a, const int128 &b)
Definition: int128s.h:159
int128 operator%(const int128 &a, const int128 &b)
Definition: int128s.h:163
int128()
Definition: int128s.h:58
int128 int128s
Definition: int128s.h:185
friend bool operator||(const int128 &, const int128 &)
int128(const int64u &a)
Definition: int128s.h:66
int128 & operator&=(const int128 &b)
int128 operator/(const int128 &a, const int128 &b)
Definition: int128s.h:161
int128 & operator<<=(unsigned int n)
bool operator>(const int128 &a, const int128 &b)
Definition: int128s.h:178
friend bool operator==(const int128 &, const int128 &)
int128 div(const int128 &, int128 &) const
long double toLongDouble() const
Definition: BitStream.h:23
bool bit(unsigned int n) const
int128 & operator*=(const int128 &b)
bool operator<=(const int128 &a, const int128 &b)
Definition: int128s.h:180
int128(const int128 &a)
Definition: int128s.h:59
int128 operator&(const int128 &a, const int128 &b)
Definition: int128s.h:171
int128 operator>>(const int128 &a, unsigned int n)
Definition: int128s.h:166
friend bool operator&&(const int128 &, const int128 &)
int128 operator|(const int128 &a, const int128 &b)
Definition: int128s.h:173
int128 & operator+=(const int128 &b)
int128(const int64s &a)
Definition: int128s.h:67
int128 & operator-=(const int128 &b)
Definition: int128s.h:111
const char * toString(unsigned int radix=10) const
int toInt() const
Definition: int128s.h:125
int128 operator^(const int128 &a, const int128 &b)
Definition: int128s.h:175
int128(const signed int &a)
Definition: int128s.h:62
int128 operator<<(const int128 &a, unsigned int n)
Definition: int128s.h:168
int128 & operator>>=(unsigned int n)
const int128 & operator+() const
Definition: int128s.h:108
int128 & operator/=(const int128 &b)
Definition: int128s.h:114
bool operator>=(const int128 &a, const int128 &b)
Definition: int128s.h:182
int64s toInt64() const
Definition: int128s.h:126
int128 & operator^=(const int128 &b)
int128(const unsigned int &a)
Definition: int128s.h:61
int128 & operator|=(const int128 &b)
friend bool operator<(const int128 &, const int128 &)