54 inline int128 () throw () : lo(0), hi(0) {};
55 inline int128 (
const int128 & a)
throw () : lo (a.lo), hi (a.hi) {};
57 inline int128 (
const unsigned int & a)
throw () : lo (a), hi (0ll) {};
58 inline int128 (
const signed int & a)
throw () : lo (a), hi (0ll) {
59 if (a < 0) this->hi = -1ll;
62 inline int128 (
const int64u & a)
throw () : lo (a), hi (0ll) {};
63 inline int128 (
const int64s & a)
throw () : lo (a), hi (0ll) {
64 if (a < 0) this->hi = -1ll;
67 int128 (
const float a)
throw ();
68 int128 (
const double & a)
throw ();
69 int128 (
const long double & a)
throw ();
71 int128 (
const char * sz)
throw ();
78 int128 (
const int64u & a,
const int64s & b)
throw ()
85 int128 operator - () const throw ();
86 int128 operator ~ () const throw ();
96 int128 & operator >>= (
unsigned int n) throw ();
97 int128 & operator <<= (
unsigned int n) throw ();
104 inline const
int128 & operator + () const throw () {
return *
this; };
108 return *
this += (-b);
112 *
this = this->
div (b, dummy);
116 this->
div (b, *
this);
121 int toInt ()
const throw () {
return (
int) this->lo; };
122 int64s
toInt64 ()
const throw () {
return (int64s) this->lo; };
124 const char *
toString (
unsigned int radix = 10)
const throw ();
125 float toFloat () const throw ();
133 bool bit (
unsigned int n) const throw ();
134 void bit (
unsigned int n,
bool val) throw ();
137 __attribute__ ((__aligned__ (16), __packed__))
144 bool operator < (
const int128 & a,
const int128 & b)
throw ();
145 bool operator == (
const int128 & a,
const int128 & b)
throw ();
146 bool operator || (
const int128 & a,
const int128 & b)
throw ();
147 bool operator && (
const int128 & a,
const int128 & b)
throw ();
151 inline int128
operator + (
const int128 & a,
const int128 & b)
throw () {
152 return int128 (a) += b; };
153 inline int128
operator - (
const int128 & a,
const int128 & b)
throw () {
154 return int128 (a) -= b; };
155 inline int128
operator * (
const int128 & a,
const int128 & b)
throw () {
156 return int128 (a) *= b; };
157 inline int128
operator / (
const int128 & a,
const int128 & b)
throw () {
158 return int128 (a) /= b; };
159 inline int128
operator % (
const int128 & a,
const int128 & b)
throw () {
160 return int128 (a) %= b; };
162 inline int128
operator >> (
const int128 & a,
unsigned int n)
throw () {
163 return int128 (a) >>= n; };
164 inline int128
operator << (
const int128 & a,
unsigned int n)
throw () {
165 return int128 (a) <<= n; };
167 inline int128
operator & (
const int128 & a,
const int128 & b)
throw () {
168 return int128 (a) &= b; };
169 inline int128
operator | (
const int128 & a,
const int128 & b)
throw () {
170 return int128 (a) |= b; };
171 inline int128
operator ^ (
const int128 & a,
const int128 & b)
throw () {
172 return int128 (a) ^= b; };
174 inline bool operator > (
const int128 & a,
const int128 & b)
throw () {
176 inline bool operator <= (
const int128 & a,
const int128 & b)
throw () {
178 inline bool operator >= (
const int128 & a,
const int128 & b)
throw () {
180 inline bool operator != (
const int128 & a,
const int128 & b)
throw () {
bool operator!=(const int128 &a, const int128 &b)
Definition: int128s.h:180
int128 & operator%=(const int128 &b)
Definition: int128s.h:115
int128 operator*(const int128 &a, const int128 &b)
Definition: int128s.h:155
int128 operator%(const int128 &a, const int128 &b)
Definition: int128s.h:159
int128()
Definition: int128s.h:54
int128 int128s
Definition: int128s.h:181
friend bool operator||(const int128 &, const int128 &)
int128(const int64u &a)
Definition: int128s.h:62
int128 operator/(const int128 &a, const int128 &b)
Definition: int128s.h:157
bool operator>(const int128 &a, const int128 &b)
Definition: int128s.h:174
friend bool operator==(const int128 &, const int128 &)
int128 div(const int128 &, int128 &) const
long double toLongDouble() const
bool bit(unsigned int n) const
bool operator<=(const int128 &a, const int128 &b)
Definition: int128s.h:176
int128(const int128 &a)
Definition: int128s.h:55
int128 operator&(const int128 &a, const int128 &b)
Definition: int128s.h:167
int128 operator>>(const int128 &a, unsigned int n)
Definition: int128s.h:162
friend bool operator&&(const int128 &, const int128 &)
int128 operator|(const int128 &a, const int128 &b)
Definition: int128s.h:169
int128(const int64s &a)
Definition: int128s.h:63
int128 & operator-=(const int128 &b)
Definition: int128s.h:107
const char * toString(unsigned int radix=10) const
int toInt() const
Definition: int128s.h:121
int128 operator^(const int128 &a, const int128 &b)
Definition: int128s.h:171
int128(const signed int &a)
Definition: int128s.h:58
int128 operator<<(const int128 &a, unsigned int n)
Definition: int128s.h:164
const int128 & operator+() const
Definition: int128s.h:104
int128 & operator/=(const int128 &b)
Definition: int128s.h:110
bool operator>=(const int128 &a, const int128 &b)
Definition: int128s.h:178
int64s toInt64() const
Definition: int128s.h:122
int128(const unsigned int &a)
Definition: int128s.h:57
friend bool operator<(const int128 &, const int128 &)