BitVecAny
Description
Check if any bit in bitvector matches the given value.
Parameters
| Name | Direction | Description |
|---|---|---|
bv |
in | Bitvector to check |
value |
in | Value to check for (true or false) |
Usage example (from documentation)
bool any_set = BitVecAny(&flags, true);Success
Returns true when at least one bit equals value. The bitvector is not modified.
Failure
Returns false when no bit matches (including an empty bitvector). The bitvector is not modified.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
BitVec.c:1216:
}
bool BitVecAny(const BitVec *bv, bool value) {
ValidateBitVec(bv);
return BitVecFind(bv, value) != SIZE_MAX;- In
BitVec.c:1222:
bool BitVecNone(const BitVec *bv, bool value) {
return !BitVecAny(bv, value);
} result = result && BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true); result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAll(&bv, true);
result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true); result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
// Test large bitvector with specific patterns
BitVecSet(&bv, 500, false);
result = result && !BitVecAll(&bv, true);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
BitVecDeinit(&bv); DefaultAllocator alloc = DefaultAllocatorInit();
WriteFmt("Testing BitVecAll, BitVecAny, BitVecNone functions\n");
BitVec bv = BitVecInit(ALLOCATOR_OF(&alloc)); result = result && BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true); result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
result = result && !BitVecNone(&bv, true);
result = result && !BitVecNone(&bv, false); result = result && BitVecAll(&bv, true);
result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true); result = result && BitVecAll(&bv, false);
result = result && !BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
result = result && BitVecNone(&bv, true);
result = result && BitVecNone(&bv, false); result = result && BitVecAll(&bv, true);
result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false); result = result && !BitVecAll(&bv, false);
result = result && BitVecAny(&bv, true);
result = result && !BitVecAny(&bv, false);
// Test large bitvector with specific patterns
BitVecSet(&bv, 500, false);
result = result && !BitVecAll(&bv, true);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false); result = result && !BitVecAll(&bv, true);
result = result && BitVecAny(&bv, true);
result = result && BitVecAny(&bv, false);
BitVecDeinit(&bv);
Last updated on