BitVecAny
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);Returns
true if any bit matches the value
Usage example (Cross-references)
Usage examples (Cross-references)
- In
BitVec.c:1018:
}
bool BitVecAny(BitVec *bv, bool value) {
ValidateBitVec(bv);
return BitVecFind(bv, value) != SIZE_MAX;- In
BitVec.c:1024:
bool BitVecNone(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); // Test BitVecAll, BitVecAny, BitVecNone functions
bool test_bitvec_predicate_functions(void) {
WriteFmt("Testing BitVecAll, BitVecAny, BitVecNone functions\n");
BitVec bv = BitVecInit(); 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