48 friend
bool operator == (const
uint128 &, const uint128 &) throw ();
49 friend
bool operator || (const uint128 &, const uint128 &) throw ();
50 friend
bool operator && (const uint128 &, const uint128 &) throw ();
54 inline uint128 () throw () :
lo(0),
hi(0) {};
57 inline uint128 (
const int & a)
throw () :
lo (a),
hi (0ull) {};
58 inline uint128 (
const unsigned int & a)
throw () :
lo (a),
hi (0ull) {};
59 inline uint128 (
const int64u & a)
throw () :
lo (a),
hi (0ull) {};
61 uint128 (
const float a)
throw ();
62 uint128 (
const double & a)
throw ();
63 uint128 (
const long double & a)
throw ();
65 uint128 (
const char * sz)
throw ();
72 uint128 (
const int64u & a,
const int64u & b)
throw ()
79 uint128 operator - () const throw ();
80 uint128 operator ~ () const throw ();
90 uint128 & operator >>= (
unsigned int n) throw ();
91 uint128 & operator <<= (
unsigned int n) throw ();
98 inline const
uint128 & operator + () const throw () {
return *
this; };
102 return *
this += (-b);
106 *
this = this->
div (b, dummy);
110 this->
div (b, *
this);
116 return (
unsigned int) this->
lo; };
118 return (int64u) this->
lo; };
119 const char *
toString (
unsigned int radix = 10)
const throw ();
120 float toFloat () const throw ();
128 bool bit (
unsigned int n) const throw ();
129 void bit (
unsigned int n,
bool val) throw ();
132 __attribute__ ((__aligned__ (16), __packed__))
139 bool operator < (
const uint128 & a,
const uint128 & b)
throw ();
140 bool operator == (
const uint128 & a,
const uint128 & b)
throw ();
141 bool operator || (
const uint128 & a,
const uint128 & b)
throw ();
142 bool operator && (
const uint128 & a,
const uint128 & b)
throw ();
146 inline uint128
operator + (
const uint128 & a,
const uint128 & b)
throw () {
148 inline uint128
operator - (
const uint128 & a,
const uint128 & b)
throw () {
150 inline uint128
operator * (
const uint128 & a,
const uint128 & b)
throw () {
152 inline uint128
operator / (
const uint128 & a,
const uint128 & b)
throw () {
154 inline uint128
operator % (
const uint128 & a,
const uint128 & b)
throw () {
157 inline uint128
operator >> (
const uint128 & a,
unsigned int n)
throw () {
159 inline uint128
operator << (
const uint128 & a,
unsigned int n)
throw () {
162 inline uint128
operator & (
const uint128 & a,
const uint128 & b)
throw () {
164 inline uint128
operator | (
const uint128 & a,
const uint128 & b)
throw () {
166 inline uint128
operator ^ (
const uint128 & a,
const uint128 & b)
throw () {
169 inline bool operator > (
const uint128 & a,
const uint128 & b)
throw () {
171 inline bool operator <= (
const uint128 & a,
const uint128 & b)
throw () {
173 inline bool operator >= (
const uint128 & a,
const uint128 & b)
throw () {
175 inline bool operator != (
const uint128 & a,
const uint128 & b)
throw () {