+ for (unsigned c = 0; c < cases; ++c)
+ {
+ Arbint aa(1u, rand());
+ Arbint bb(aa);
+ for (unsigned i = 0; i < 100*sizeof(Arbint::digit_t); ++i)
+ {
+ bb <<= i;
+ //Debug("i is %u bb is %c%s, a was %c%s", i, bb.SignChar(), bb.DigitStr().c_str(), aa.SignChar(), aa.DigitStr().c_str());
+ bb >>= i;
+ if (bb != aa)
+ {
+ Fatal("i is %u bb is %c%s, a was %c%s", i, bb.SignChar(), bb.DigitStr().c_str(), aa.SignChar(), aa.DigitStr().c_str());
+ }
+ }
+ }
+}