BitVecSuffixMatch

Table of Contents

BitVecSuffixMatch

Description

Match bitvector against an array of suffix patterns. Returns the index of the first matching suffix.

Parameters

NameDirectionDescription
bvinBitvector to check
patternsinVec(BitVec) to check suffices against

Usage example (from documentation)

  BitVec suffixes[3] = { pattern1, pattern2, pattern3 };
  u64 match = BitVecSuffixMatch(&data, suffixes, 3);

Usage example (Cross-references)

    }
    
    u64 BitVecSuffixMatch(BitVec *bv, BitVecs *patterns) {
    ValidateBitVec(bv);
    if (!patterns) {
    
    bool test_bitvec_suffix_match_null_source(void) {
    printf("Testing BitVecSuffixMatch(NULL, patterns, 1) - should fatal\n");
    BitVecs vp = VecInitWithDeepCopy(NULL, BitVecDeinit);
    BitVecPush(VecPtrAt(&vp, 0), true);
    BitVecs vp = VecInitWithDeepCopy(NULL, BitVecDeinit);
    BitVecPush(VecPtrAt(&vp, 0), true);
    BitVecSuffixMatch(NULL, &vp);
    VecDeinit(&vp);
    return true;
    
    bool test_bitvec_suffix_match_null_patterns(void) {
    printf("Testing BitVecSuffixMatch(source, NULL, 1) - should fatal\n");
    BitVec source = BitVecInit();
    BitVecPush(&source, true);
    BitVec source = BitVecInit();
    BitVecPush(&source, true);
    BitVecSuffixMatch(&source, NULL);
    BitVecDeinit(&source);
    return true;
    // BitVecSuffixMatch tests
    bool test_bitvec_suffix_match_basic(void) {
    printf("Testing BitVecSuffixMatch basic functionality\n");
    
    BitVec  source   = BitVecInit();
    BitVecPush(p2, false);
    
    u64 match_idx = BitVecSuffixMatch(&source, &patterns);
    result        = result && (match_idx == 1);
    // BitVecSuffixMatch tests
    bool test_bitvec_suffix_match_basic(void) {
    printf("Testing BitVecSuffixMatch basic functionality\n");
    
    BitVec source = BitVecInit();
    BitVecPush(&patterns[2], false);
    
    u64 match_idx = BitVecSuffixMatch(&source, patterns, 3);
    result        = result && (match_idx == 1);
    
    bool test_bitvec_suffix_match_null_source(void) {
    printf("Testing BitVecSuffixMatch(NULL, patterns, 1) - should fatal\n");
    BitVec patterns[1] = {BitVecInit()};
    BitVecPush(&patterns[0], true);
    BitVec patterns[1] = {BitVecInit()};
    BitVecPush(&patterns[0], true);
    BitVecSuffixMatch(NULL, patterns, 1);
    BitVecDeinit(&patterns[0]);
    return true;
    
    bool test_bitvec_suffix_match_null_patterns(void) {
    printf("Testing BitVecSuffixMatch(source, NULL, 1) - should fatal\n");
    BitVec source = BitVecInit();
    BitVecPush(&source, true);
    BitVec source = BitVecInit();
    BitVecPush(&source, true);
    BitVecSuffixMatch(&source, NULL, 1);
    BitVecDeinit(&source);
    return true;

Share :

Related Posts

BitVecRFindPattern

BitVecRFindPattern Description Search for a pattern starting from a specific position (reverse search).

Read More

BitVecFuzzyMatch

BitVecFuzzyMatch Description Fuzzy pattern matching allowing up to N mismatches. Useful for approximate pattern matching with error tolerance.

Read More

BitVecReplaceAll

BitVecReplaceAll Description Replace all occurrences of old pattern with new pattern.

Read More