Skip to content

BitVecInsert

BitVecInsert

Description

Insert a bit at given index in bitvector. Shifts all bits at and after the index to the right.

Parameters

Name Direction Description
bv in Bitvector to insert bit into
idx in Index at which to insert bit (0-based)
value in Bit value to insert (true/false)

Usage example (from documentation)

  BitVecInsert(&flags, 5, true);

Usage example (Cross-references)

Usage examples (Cross-references)
    }
    
    void BitVecInsert(BitVec *bitvec, u64 idx, bool value) {
        ValidateBitVec(bitvec);
        if (idx > bitvec->length) {
        // Insert new pattern
        for (u64 i = 0; i < new_pattern->length; i++) {
            BitVecInsert(bv, pos + i, BitVecGet(new_pattern, i));
        }
            // Insert new pattern
            for (u64 i = 0; i < new_pattern->length; i++) {
                BitVecInsert(bv, match_pos + i, BitVecGet(new_pattern, i));
            }
    // Test BitVecInsert single bit function
    bool test_bitvec_insert_single(void) {
        WriteFmt("Testing BitVecInsert (single bit)\n");
    
        BitVec bv = BitVecInit();
    
        // Insert at index 0 (empty bitvector)
        BitVecInsert(&bv, 0, true);
    
        // Check first bit
    
        // Insert at the end
        BitVecInsert(&bv, 1, false);
    
        // Check bits
    
        // Insert in the middle
        BitVecInsert(&bv, 1, true);
    
        // Check all bits
Last updated on