63 friend
bool operator == (const
uint128 &, const uint128 &) throw ();
64 friend
bool operator || (const uint128 &, const uint128 &) throw ();
65 friend
bool operator && (const uint128 &, const uint128 &) throw ();
69 inline uint128 () throw () {};
72 inline uint128 (
const int & a)
throw () :
lo (a),
hi (0ull) {};
73 inline uint128 (
const unsigned int & a)
throw () :
lo (a),
hi (0ull) {};
74 inline uint128 (
const int64u & a)
throw () :
lo (a),
hi (0ull) {};
76 uint128 (
const float a)
throw ();
77 uint128 (
const double & a)
throw ();
78 uint128 (
const long double & a)
throw ();
80 uint128 (
const char * sz)
throw ();
87 uint128 (
const int64u & a,
const int64u & b)
throw ()
94 uint128 operator - () const throw ();
95 uint128 operator ~ () const throw ();
105 uint128 & operator >>= (
unsigned int n) throw ();
106 uint128 & operator <<= (
unsigned int n) throw ();
113 inline const
uint128 & operator + () const throw () {
return *
this; };
117 return *
this += (-b);
121 *
this = this->
div (b, dummy);
125 this->
div (b, *
this);
131 return (
unsigned int) this->
lo; };
133 return (int64u) this->
lo; };
134 const char *
toString (
unsigned int radix = 10)
const throw ();
135 float toFloat () const throw ();
143 bool bit (
unsigned int n) const throw ();
144 void bit (
unsigned int n,
bool val) throw ();
147 __attribute__ ((__aligned__ (16), __packed__))
154 bool operator < (
const uint128 & a,
const uint128 & b)
throw ();
155 bool operator == (
const uint128 & a,
const uint128 & b)
throw ();
156 bool operator || (
const uint128 & a,
const uint128 & b)
throw ();
157 bool operator && (
const uint128 & a,
const uint128 & b)
throw ();
161 inline uint128
operator + (
const uint128 & a,
const uint128 & b)
throw () {
163 inline uint128
operator - (
const uint128 & a,
const uint128 & b)
throw () {
165 inline uint128
operator * (
const uint128 & a,
const uint128 & b)
throw () {
167 inline uint128
operator / (
const uint128 & a,
const uint128 & b)
throw () {
169 inline uint128
operator % (
const uint128 & a,
const uint128 & b)
throw () {
172 inline uint128
operator >> (
const uint128 & a,
unsigned int n)
throw () {
174 inline uint128
operator << (
const uint128 & a,
unsigned int n)
throw () {
177 inline uint128
operator & (
const uint128 & a,
const uint128 & b)
throw () {
179 inline uint128
operator | (
const uint128 & a,
const uint128 & b)
throw () {
181 inline uint128
operator ^ (
const uint128 & a,
const uint128 & b)
throw () {
184 inline bool operator > (
const uint128 & a,
const uint128 & b)
throw () {
186 inline bool operator <= (
const uint128 & a,
const uint128 & b)
throw () {
188 inline bool operator >= (
const uint128 & a,
const uint128 & b)
throw () {
190 inline bool operator != (
const uint128 & a,
const uint128 & b)
throw () {