BitMagic-C++: bm::xor_scanner< BV > Class Template Reference

BitMagic-C++

Public Types | Public Member Functions
bm::xor_scanner< BV > Class Template Reference

XOR scanner to search for complement-similarities in collections of bit-vectors. More...

`#include <bmxor.h>`

Inheritance diagram for bm::xor_scanner< BV >:
[legend]

## Public Types
typedef bm::bv_ref_vector< BV > | bv_ref_vector_type
typedef BV | bvector_type
typedef bvector_type::size_type | size_type

## Public Member Functions
void | set_ref_vector (const bv_ref_vector_type *ref_vect) BMNOEXCEPT
const bv_ref_vector_type & | get_ref_vector () const BMNOEXCEPT
void | compute_x_block_stats (const bm::word_t *block) BMNOEXCEPT
| Compute statistics for the anchor search vector. More...
bool | search_best_xor_mask (const bm::word_t *block, size_type ridx_from, size_type ridx_to, unsigned i, unsigned j, bm::word_t *tb)
| Scan for all candidate bit-blocks to find mask or match. More...
bool | search_best_xor_gap (const bm::word_t *block, size_type ridx_from, size_type ridx_to, unsigned i, unsigned j)
| Scan all candidate gap-blocks to find best XOR match. More...
bool | validate_found (bm::word_t *xor_block, const bm::word_t *block) const BMNOEXCEPT
| Validate serialization target. More...
size_type | found_ridx () const BMNOEXCEPT
const bm::word_t * | get_found_block () const BMNOEXCEPT
unsigned | get_x_best_metric () const BMNOEXCEPT
bm::id64_t | get_xor_digest () const BMNOEXCEPT
bool | is_eq_found () const BMNOEXCEPT
| true if completely identical vector found More...
unsigned | get_x_bc () const BMNOEXCEPT
unsigned | get_x_gc () const BMNOEXCEPT
unsigned | get_x_block_best () const BMNOEXCEPT
bm::block_waves_xor_descr & | get_descr () BMNOEXCEPT

## Detailed Description

### template<typename BV>
class bm::xor_scanner< BV >

XOR scanner to search for complement-similarities in collections of bit-vectors.

Definition at line 330 of file bmxor.h.

## Member Typedef Documentation

## ◆ bv_ref_vector_type

template<typename BV >

typedef bm::bv_ref_vector<BV> bm::xor_scanner< BV >::bv_ref_vector_type

Definition at line 333 of file bmxor.h.

## ◆ bvector_type

template<typename BV >

typedef BV bm::xor_scanner< BV >::bvector_type

Definition at line 334 of file bmxor.h.

## ◆ size_type

template<typename BV >

typedef bvector_type::size_type bm::xor_scanner< BV >::size_type

Definition at line 335 of file bmxor.h.

## Member Function Documentation

## ◆ compute_x_block_stats()

template<typename BV >

void bm::xor_scanner< BV >::compute_x_block_stats | ( | const bm::word_t * | block | ) |

Compute statistics for the anchor search vector.

Parameters

  block | - bit-block target

Definition at line 411 of file bmxor.h.

## ◆ found_ridx()

template<typename BV >

size_type bm::xor_scanner< BV >::found_ridx | ( |  | ) | const
| inline

Definition at line 371 of file bmxor.h.

## ◆ get_descr()

template<typename BV >

bm::block_waves_xor_descr& bm::xor_scanner< BV >::get_descr | ( |  | ) |
| inline

Definition at line 387 of file bmxor.h.

## ◆ get_found_block()

template<typename BV >

const bm::word_t* bm::xor_scanner< BV >::get_found_block | ( |  | ) | const
| inline

Definition at line 372 of file bmxor.h.

## ◆ get_ref_vector()

template<typename BV >

const bv_ref_vector_type& bm::xor_scanner< BV >::get_ref_vector | ( |  | ) | const
| inline

Definition at line 341 of file bmxor.h.

## ◆ get_x_bc()

template<typename BV >

unsigned bm::xor_scanner< BV >::get_x_bc | ( |  | ) | const
| inline

Definition at line 381 of file bmxor.h.

## ◆ get_x_best_metric()

template<typename BV >

unsigned bm::xor_scanner< BV >::get_x_best_metric | ( |  | ) | const
| inline

Definition at line 374 of file bmxor.h.

## ◆ get_x_block_best()

template<typename BV >

unsigned bm::xor_scanner< BV >::get_x_block_best | ( |  | ) | const
| inline

Definition at line 383 of file bmxor.h.

## ◆ get_x_gc()

template<typename BV >

unsigned bm::xor_scanner< BV >::get_x_gc | ( |  | ) | const
| inline

Definition at line 382 of file bmxor.h.

## ◆ get_xor_digest()

template<typename BV >

bm::id64_t bm::xor_scanner< BV >::get_xor_digest | ( |  | ) | const
| inline

Definition at line 375 of file bmxor.h.

## ◆ is_eq_found()

template<typename BV >

bool bm::xor_scanner< BV >::is_eq_found | ( |  | ) | const
| inline

true if completely identical vector found

Definition at line 378 of file bmxor.h.

## ◆ search_best_xor_gap()

template<typename BV >

bool bm::xor_scanner< BV >::search_best_xor_gap | ( | const bm::word_t * | block,
|  | size_type | ridx_from,
|  | size_type | ridx_to,
|  | unsigned | i,
|  | unsigned | j
| ) |  |

Scan all candidate gap-blocks to find best XOR match.

Definition at line 512 of file bmxor.h.

## ◆ search_best_xor_mask()

template<typename BV >

bool bm::xor_scanner< BV >::search_best_xor_mask | ( | const bm::word_t * | block,
|  | size_type | ridx_from,
|  | size_type | ridx_to,
|  | unsigned | i,
|  | unsigned | j,
|  | bm::word_t * | tb
| ) |  |

Scan for all candidate bit-blocks to find mask or match.

Returns
  true if XOR complement or matching vector found

Definition at line 425 of file bmxor.h.

## ◆ set_ref_vector()

template<typename BV >

void bm::xor_scanner< BV >::set_ref_vector | ( | const bv_ref_vector_type * | ref_vect | ) |
| inline

Definition at line 338 of file bmxor.h.

## ◆ validate_found()

template<typename BV >

bool bm::xor_scanner< BV >::validate_found | ( | bm::word_t * | xor_block,
|  | const bm::word_t * | block
| ) |  | const

Validate serialization target.

Definition at line 566 of file bmxor.h.

The documentation for this class was generated from the following file:

- bmxor.h