Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/group__gapfunc.html below:
NCBI C++ ToolKit: GAP functions
template<typename T , typename Func , typename SIZE_TYPE > int bm::for_each_gap_blk (const T *buf, SIZE_TYPE offset, Func &bit_functor) for-each visitor, calls a special visitor functor for each 1 bit range More...
template<typename T , typename Func , typename SIZE_TYPE > int bm::for_each_gap_blk_range (const T *buf, SIZE_TYPE offset, unsigned left, unsigned right, Func &bit_functor) for-each visitor, calls a special visitor functor for each 1 bit range More...
bool bm::gap_is_all_zero (const bm::gap_word_t *buf) noexcept Checks if GAP block is all-zero. More...
bool bm::gap_is_all_one (const bm::gap_word_t *buf) noexcept Checks if GAP block is all-one. More...
bm::gap_word_t bm::gap_length (const bm::gap_word_t *buf) noexcept Returs GAP block length. More...
template<typename T > unsigned bm::gap_capacity (const T *buf, const T *glevel_len) noexcept Returs GAP block capacity. More...
template<typename T > unsigned bm::gap_limit (const T *buf, const T *glevel_len) noexcept Returs GAP block capacity limit. More...
template<typename T > T bm::gap_level (const T *buf) noexcept Returs GAP blocks capacity level. More...
template<typename T > unsigned bm::gap_find_last (const T *buf, unsigned *last) noexcept GAP block find the last set bit. More...
template<typename T > unsigned bm::gap_find_first (const T *buf, unsigned *first) noexcept GAP block find the first set bit. More...
template<typename T > unsigned bm::gap_test (const T *buf, unsigned pos) noexcept Tests if bit = pos is true. More...
template<typename T > unsigned bm::gap_test_unr (const T *buf, const unsigned pos) noexcept Tests if bit = pos is true. Analog of bm::gap_test with SIMD unrolling. More...
template<typename T > bool bm::arr_calc_delta_min (const T *arr, unsigned arr_len, T &min0) noexcept calculate minimal delta between monotonic growing numbers More...
template<typename T > unsigned bm::arr_calc_delta_min_w (const T *arr, unsigned arr_len, unsigned wlen, unsigned min0, unsigned *wflags) noexcept calculate minimal delta between monotonic growing numbers with windows More...
template<typename T > void bm::arr_calc_delta_min (const T *arr, unsigned arr_len, T &min0, unsigned *hist, unsigned hist_len) noexcept calculate minimal delta between monotonic growing numbers More...
template<typename T > void bm::arr_delta1_split (T *arr_d1, unsigned &d1_len, T *arr_dst, unsigned &dst_len, const T *arr, unsigned arr_len, unsigned ex_max_delta) noexcept split array based on delta exceptions More...
template<typename T > void bm::gap_calc_mins (const T *buf, T &min0, T &min1) noexcept minimal delta sizes More...
template<typename T > void bm::gap_calc_hist (const T *buf, unsigned len, unsigned *hist0, unsigned *hist1, unsigned hist_len) noexcept compute histogram of exceptions on GAP block More...
template<typename T > bool bm::gap_split (const T *buf, unsigned len, unsigned h_limit, const unsigned *hist0, const unsigned *hist1, T *tbuf, T *ex0_arr, T *ex1_arr, unsigned &ex0_cnt, unsigned &ex1_cnt) noexcept split GAP block into pure GAPs and exceptions More...
template<typename T > T bm::gap_recalc_mins (T *tbuf, const T *buf, T min0, T min1) noexcept Recalculate GAP block using two minimal GAP lens. More...
template<typename T > void bm::gap_restore_mins (T *buf, T min0, T min1) noexcept Restore GAP block using two minimal GAP lens. More...
template<typename T > void bm::gap_validate (const T *buf, unsigned dsize=0) noexcept Validates GAP block. More...
template<typename T > unsigned bm::gap_bit_count (const T *buf, unsigned dsize=0) noexcept Calculates number of bits ON in GAP buffer. More...
template<typename T > unsigned bm::gap_bit_count_unr (const T *buf) noexcept Calculates number of bits ON in GAP buffer. Loop unrolled version. More...
template<typename T , bool RIGHT_END = false> unsigned bm::gap_bit_count_range (const T *const buf, unsigned left, unsigned right) noexcept Counts 1 bits in GAP buffer in the closed [left, right] range. More...
template<typename T > unsigned bm::gap_bit_count_range_hint (const T *const buf, unsigned left, unsigned right, unsigned hint) noexcept Counts 1 bits in GAP buffer in the closed [left, right] range using position hint to avoid bfind. More...
template<typename T > bool bm::gap_is_all_one_range (const T *const buf, unsigned left, unsigned right) noexcept Test if all bits are 1 in GAP buffer in the [left, right] range. More...
template<typename T > bool bm::gap_any_range (const T *const buf, unsigned left, unsigned right) noexcept Test if any bits are 1 in GAP buffer in the [left, right] range. More...
template<typename T > bool bm::gap_is_interval (const T *const buf, unsigned left, unsigned right) noexcept Test if any bits are 1 in GAP buffer in the [left, right] range and flanked with 0s. More...
template<typename T > bool bm::gap_find_interval_end (const T *const buf, unsigned nbit, unsigned *pos) noexcept Searches for the last 1 bit in the 111 interval of a GAP block. More...
template<typename T > bool bm::gap_find_interval_start (const T *const buf, unsigned nbit, unsigned *pos) noexcept Searches for the first 1 bit in the 111 interval of a GAP block. More...
template<typename T > bool bm::gap_find_prev (const T *const buf, unsigned nbit, unsigned *pos) noexcept reverse search for the first 1 bit of a GAP block More...
template<typename T , typename SIZE_TYPE > SIZE_TYPE bm::gap_find_rank (const T *const block, SIZE_TYPE rank, unsigned nbit_from, unsigned &nbit_pos) noexcept GAP block find position for the rank. More...
template<typename T > int bm::gapcmp (const T *buf1, const T *buf2) noexcept Lexicographical comparison of GAP buffers. More...
template<typename T > bool bm::gap_find_first_diff (const T *buf1, const T *buf2, unsigned *pos) noexcept Find first bit which is different between two GAP-blocks. More...
template<typename T , class F > unsigned bm::gap_buff_any_op (const T *vect1, unsigned vect1_mask, const T *vect2, unsigned vect2_mask) Abstract distance test operation for GAP buffers. Receives functor F as a template argument. More...
template<typename T , class F > unsigned bm::gap_buff_count_op (const T *vect1, const T *vect2) Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument. More...
template<typename T > unsigned bm::gap_set_value_cpos (unsigned val, T *buf, unsigned pos, unsigned *is_set, unsigned curr) noexcept Sets or clears bit in the GAP buffer. More...
template<typename T > unsigned bm::gap_set_value (unsigned val, T *buf, unsigned pos, unsigned *is_set) noexcept Sets or clears bit in the GAP buffer. More...
template<typename T > unsigned bm::gap_set_value (unsigned val, T *buf, unsigned pos) noexcept Sets or clears bit in the GAP buffer. More...
template<typename T > unsigned bm::gap_add_value (T *buf, unsigned pos) noexcept Add new value to the end of GAP buffer. More...
template<typename T > bool bm::gap_shift_r1 (T *buf, unsigned co_flag, unsigned *new_len) noexcept Right shift GAP block by 1 bit. More...
template<typename T > bool bm::gap_insert (T *buf, unsigned pos, unsigned val, unsigned *new_len) noexcept isnert bit into GAP compressed block More...
template<typename T > bool bm::gap_shift_l1 (T *buf, unsigned co_flag, unsigned *new_len) noexcept Left shift GAP block by 1 bit. More...
template<typename T > unsigned bm::gap_set_array (T *buf, const T *arr, unsigned len) noexcept Convert array to GAP buffer. More...
template<typename T > unsigned bm::bit_array_compute_gaps (const T *arr, unsigned len) noexcept Compute number of GAPs in bit-array. More...
template<typename T > unsigned bm::gap_block_find (const T *buf, unsigned nbit, bm::id_t *prev) noexcept Searches for the next 1 bit in the GAP block. More...
template<typename T > void bm::gap_sub_to_bitset (unsigned *dest, const T *pcurr) noexcept SUB (AND NOT) GAP block to bitblock. More...
template<typename T > bm::id64_t bm::gap_sub_to_bitset (unsigned *dest, const T *pcurr, bm::id64_t digest0) noexcept SUB (AND NOT) GAP block to bitblock with digest assist. More...
template<typename T > void bm::gap_xor_to_bitset (unsigned *dest, const T *pcurr) noexcept XOR GAP block to bitblock. More...
template<typename T > void bm::gap_add_to_bitset (unsigned *dest, const T *pcurr, unsigned len) noexcept Adds(OR) GAP block to bitblock. More...
template<typename T > void bm::gap_add_to_bitset (unsigned *dest, const T *pcurr) noexcept Adds(OR) GAP block to bitblock. More...
template<typename T > void bm::gap_and_to_bitset (unsigned *dest, const T *pcurr) noexcept ANDs GAP block to bitblock. More...
template<typename T > bm::id64_t bm::gap_and_to_bitset (unsigned *dest, const T *pcurr, bm::id64_t digest0) noexcept ANDs GAP block to bitblock with digest assist. More...
template<typename T > bm::id_t bm::gap_bitset_and_count (const unsigned *block, const T *pcurr) noexcept Compute bitcount of bit block AND masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_and_any (const unsigned *block, const T *pcurr) noexcept Bitcount test of bit block AND masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_sub_count (const unsigned *block, const T *buf) noexcept Compute bitcount of bit block SUB masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_sub_any (const unsigned *block, const T *buf) noexcept Compute bitcount test of bit block SUB masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_xor_count (const unsigned *block, const T *buf) noexcept Compute bitcount of bit block XOR masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_xor_any (const unsigned *block, const T *buf) noexcept Compute bitcount test of bit block XOR masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_or_count (const unsigned *block, const T *buf) noexcept Compute bitcount of bit block OR masked by GAP block. More...
template<typename T > bm::id_t bm::gap_bitset_or_any (const unsigned *block, const T *buf) noexcept Compute bitcount test of bit block OR masked by GAP block. More...
template<typename T > void bm::gap_convert_to_bitset (unsigned *dest, const T *buf, unsigned len=0) noexcept GAP block to bitblock conversion. More...
template<typename T > unsigned * bm::gap_convert_to_bitset_smart (unsigned *dest, const T *buf, id_t set_max) noexcept Smart GAP block to bitblock conversion. More...
template<typename T > unsigned bm::gap_control_sum (const T *buf) noexcept Calculates sum of all words in GAP block. (For debugging purposes) More...
template<class T > void bm::gap_set_all (T *buf, unsigned set_max, unsigned value) noexcept Sets all bits to 0 or 1 (GAP) More...
template<class T > void bm::gap_init_range_block (T *buf, T from, T to, T value) noexcept Init gap block so it has block in it (can be whole block) More...
template<typename T > void bm::gap_invert (T *buf) noexcept Inverts all bits in the GAP buffer. More...
template<typename T > void bm::set_gap_level (T *buf, int level) noexcept Sets GAP block capacity level. More...
template<typename T > int bm::gap_calc_level (unsigned len, const T *glevel_len) noexcept Calculates GAP block capacity level. More...
template<typename T > unsigned bm::gap_free_elements (const T *buf, const T *glevel_len) noexcept Returns number of free elements in GAP block array. Difference between GAP block capacity on this level and actual GAP length. More...
unsigned bm::bit_block_to_gap (gap_word_t *dest, const unsigned *block, unsigned dest_len) noexcept Converts bit block to GAP. More...
template<class T , class F > void bm::for_each_gap_dbit (const T *buf, F &func) Iterate gap block as delta-bits with a functor. More...
template<typename D , typename T > D bm::gap_convert_to_arr (D *dest, const T *buf, unsigned dest_len, bool invert=false) noexcept Convert gap block into array of ints corresponding to 1 bits. More...
gap_word_t * bm::gap_operation_and (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) noexcept GAP AND operation. More...
unsigned bm::gap_operation_any_and (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP AND operation test. More...
unsigned bm::gap_count_and (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP bitcount AND operation test. More...
gap_word_t * bm::gap_operation_xor (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) noexcept GAP XOR operation. More...
unsigned bm::gap_operation_any_xor (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP XOR operation test. More...
unsigned bm::gap_count_xor (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP bitcount XOR operation test. More...
gap_word_t * bm::gap_operation_or (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) noexcept GAP OR operation. More...
unsigned bm::gap_count_or (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP bitcount OR operation test. More...
gap_word_t * bm::gap_operation_sub (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) noexcept GAP SUB (AND NOT) operation. More...
unsigned bm::gap_operation_any_sub (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP SUB operation test. More...
unsigned bm::gap_count_sub (const gap_word_t *vect1, const gap_word_t *vect2) noexcept GAP bitcount SUB (AND NOT) operation test. More...
template<typename T > unsigned bm::gap_overhead (const T *length, const T *length_end, const T *glevel_len) noexcept Calculates memory overhead for number of gap blocks sharing the same memory allocation table (level lengths table). More...
template<typename T > bool bm::improve_gap_levels (const T *length, const T *length_end, T *glevel_len) noexcept Finds optimal gap blocks lengths. More...
template<typename T > unsigned bit_convert_to_gap (T *dest, const unsigned *src, bm::id_t bits, unsigned dest_len) Converts bit block to GAP. More...
GAP functions implement different opereations on GAP compressed blocks (internals) and serve as a minimal building blocks.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4