mirror of
https://github.com/corda/corda.git
synced 2025-06-15 05:38:14 +00:00
remove lingering 32-count limits on registers, refactor iteration, improve constants, ...
This commit is contained in:
@ -23,14 +23,25 @@ TEST(RegisterIterator)
|
||||
assertEqual<unsigned>(0, regs.start);
|
||||
assertEqual<unsigned>(7, regs.limit);
|
||||
|
||||
RegisterIterator it(regs);
|
||||
assertTrue(it.hasNext());
|
||||
assertEqual<unsigned>(0, it.next().index());
|
||||
assertTrue(it.hasNext());
|
||||
assertEqual<unsigned>(2, it.next().index());
|
||||
assertTrue(it.hasNext());
|
||||
assertEqual<unsigned>(4, it.next().index());
|
||||
assertTrue(it.hasNext());
|
||||
assertEqual<unsigned>(6, it.next().index());
|
||||
assertFalse(it.hasNext());
|
||||
for(int i = 0; i < 64; i++) {
|
||||
assertEqual<unsigned>(i, BoundedRegisterMask(static_cast<uint64_t>(1) << i).start);
|
||||
assertEqual<unsigned>(i + 1, BoundedRegisterMask(static_cast<uint64_t>(1) << i).limit);
|
||||
}
|
||||
|
||||
auto it = regs.begin();
|
||||
auto end = regs.end();
|
||||
|
||||
assertTrue(it != end);
|
||||
assertEqual<unsigned>(6, (*it).index());
|
||||
++it;
|
||||
assertTrue(it != end);
|
||||
assertEqual<unsigned>(4, (*it).index());
|
||||
++it;
|
||||
assertTrue(it != end);
|
||||
assertEqual<unsigned>(2, (*it).index());
|
||||
++it;
|
||||
assertTrue(it != end);
|
||||
assertEqual<unsigned>(0, (*it).index());
|
||||
++it;
|
||||
assertFalse(it != end);
|
||||
}
|
||||
|
Reference in New Issue
Block a user