bool Protoboard::unpackedWordAssignmentEqualsValue(const UnpackedWord& unpackedWord, const size_t expectedValue, const PrintOptions& printOption) const { bool retval = true; size_t expectedValueCopy = expectedValue; for(size_t i = 0; i < unpackedWord.size(); ++i) { if (val(unpackedWord[i]) != (expectedValueCopy & 1u)) { retval = false; break; } expectedValueCopy >>= 1; } if (expectedValueCopy != 0) { retval = false; } if (expectedToPrintValues(retval, printOption)) { cout << "Expected value for unpacked word \"" << unpackedWord.name() << "\" is: " << expectedValue << endl; cout << "Actual values are: " << endl; for(size_t i = 0; i < unpackedWord.size(); ++i) { cout << "bit " << i << ": " << val(unpackedWord[i]) << endl; } } return retval; }
size_t numBits() const { return unpacked_.size(); }