45 for (
int i=0; i<sz; i++)
57 for (
int i=0; i<sz-1; i++)
70 for (
int i=0; i<sz-1; i++)
83 for (
int i=0; i<sz-1; i++)
96 for (
int i=0; i<sz-1; i++)
109 for (
int i=0; i<sz-1; i++)
122 for (
int i=0; i<sz-1; i++)
135 for (
int i=0; i<sz; i++)
142 for (
int i=0; i<sz; i++)
143 integer[i]=x.integer[i];
156 for (
int i=0; i<sz; i++)
157 integer[i]=x.integer[i];
169 for (
int i=sz-1; i>=0; i--)
170 r.integer[i]=integer[i] | x.integer[i];
183 for (
int i=sz-1; i>=0; i--)
184 r.integer[i]=integer[i] & x.integer[i];
201 int s=
CMath::min(shift, 8*((
int)
sizeof(T))-1);
203 for (
int i=0; i<sz; i++)
207 overflow = r.integer[i+1] >> (
sizeof(T)*8 - s);
208 r.integer[i]= (r.integer[i] << s) | overflow;
229 int s=
CMath::min(shift, 8*((
int)
sizeof(T))-1);
231 for (
int i=sz-1; i>=0; i--)
235 overflow = (r.integer[i-1] << (
sizeof(T)*8 - s));
236 r.integer[i]= (r.integer[i] >> s) | overflow;
253 for (
int i=sz-1; i>=0; i--)
254 r.integer[i]=integer[i] ^ x.integer[i];
268 for (
int i=sz-1; i>=0; i--)
270 r.integer[i]=integer[i]+x.integer[i]+overflow;
271 if (r.integer[i] <
CMath::max(integer[i], x.integer[i]))
349 for (
int i=sz-1; i>=0; i--)
351 if (integer[i]!=x.integer[i])
364 for (
int i=0; i<sz; i++)
366 if (integer[i]>x.integer[i])
368 if (integer[i]<x.integer[i])
378 bool operator<=(const CDynInt<T,sz> &x)
const
380 for (
int i=0; i<sz; i++)
382 if (integer[i]<x.integer[i])
384 if (integer[i]>x.integer[i])
396 for (
int i=0; i<sz; i++)
398 if (integer[i]>x.integer[i])
400 if (integer[i]<x.integer[i])
410 bool operator<(const CDynInt<T,sz> &x)
const
412 for (
int i=0; i<sz; i++)
414 if (integer[i]<x.integer[i])
416 if (integer[i]>x.integer[i])
428 for (
int i=sz-1; i>=0; i--)
430 if (integer[i]!=x.integer[i])
444 for (
int i=sz-1; i>=0; i--)
445 integer[i]|=x.integer[i];
458 for (
int i=sz-1; i>=0; i--)
459 integer[i]&=x.integer[i];
472 for (
int i=sz-1; i>=0; i--)
473 integer[i]^=x.integer[i];
505 for (
int i=sz-1; i>=0; i--)
506 integer[i]= ~integer[i];
511 operator T() {
return integer[sz-1]; }
517 for (
int i=sz-1; i>=0; i--)
519 T x = integer[i]-1-overflow;
532 for (
int i=sz-1; i>=0; i--)
534 T x = integer[i]+1+overflow;
546 for (
int i=0; i<sz; i++)
547 SG_SPRINT(
"%.16llx", (uint64_t) integer[i])
577 #endif // __DYNINT_H__