BitVecAny

Table of Contents

BitVecAny

Description

Check if any bit in bitvector matches the given value.

Parameters

NameDirectionDescription
bvinBitvector to check
valueinValue to check for (true or false)

Usage example (from documentation)

  bool any_set = BitVecAny(&flags, true);

Usage example (Cross-references)

    }
    
    bool BitVecAny(BitVec *bv, bool value) {
    ValidateBitVec(bv);
    return BitVecFind(bv, value) != SIZE_MAX;
    
    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);

Share :

Related Posts

BitVecCountOnes

BitVecCountOnes Description Count number of bits set to 1 in bitvector.

Read More

BitVecFindLast

BitVecFindLast Description Find index of last occurrence of a specific bit value.

Read More

BitVecIsSorted

BitVecIsSorted Description Check if bits in bitvector are in sorted order. Useful for certain algorithms and data structures.

Read More