BitVecNone
Description
Check if no bits in bitvector match the given value.
Parameters
| Name | Direction | Description |
|---|---|---|
bv |
in | Bitvector to check |
value |
in | Value to check against (true or false) |
Usage example (from documentation)
bool none_set = BitVecNone(&flags, true);Success
Returns true when no bit equals value (vacuously true on an empty bitvector). The bitvector is not modified.
Failure
Returns false when at least one bit equals value. The bitvector is not modified.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
BitVec.c:1221:
}
bool BitVecNone(const BitVec *bv, bool value) {
return !BitVecAny(bv, value);
} result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false);
// Test with all false
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false);
// Test with mixed values
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false);
BitVecDeinit(&bv); result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false);
// Test single element bitvector
DefaultAllocator alloc = DefaultAllocatorInit();
WriteFmt("Testing BitVecAll, BitVecAny, BitVecNone functions\n");
BitVec bv = BitVecInit(ALLOCATOR_OF(&alloc)); result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false);
// Test with all false bits
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false);
// Test with mixed bits
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false);
BitVecDeinit(&bv); result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false);
// Test single element bitvector
Last updated on