14
14
<li><a href="index.html"><span>Main Page</span></a></li>
15
15
<li><a href="modules.html"><span>Modules</span></a></li>
16
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
17
<li><a href="annotated.html"><span>Data Structures</span></a></li>
18
<li><a href="files.html"><span>Files</span></a></li>
18
<li class="current"><a href="files.html"><span>Files</span></a></li>
19
19
<li><a href="examples.html"><span>Examples</span></a></li>
24
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
25
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
24
<li><a href="files.html"><span>File List</span></a></li>
25
<li><a href="globals.html"><span>Globals</span></a></li>
29
29
<div class="contents">
30
<h1>bm Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
31
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
32
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html">bvector</a></td></tr>
33
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitvector with runtime compression of bits. <a href="a00043.html#_details">More...</a><br/></td></tr>
34
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html">bv_statistics</a></td></tr>
35
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure with statistical information about bitset's memory allocation details. <a href="a00042.html#_details">More...</a><br/></td></tr>
36
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">gap_len_table</a></td></tr>
37
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default GAP lengths table. <a href="a00066.html#_details">More...</a><br/></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">gap_len_table_min</a></td></tr>
39
<tr><td class="mdescLeft"> </td><td class="mdescRight">Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets. <a href="a00067.html#_details">More...</a><br/></td></tr>
40
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html">block_set_table</a></td></tr>
41
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure keeps all-left/right ON bits masks. <a href="a00040.html#_details">More...</a><br/></td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">all_set</a></td></tr>
43
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure carries pointer on bit block with all bits 1. <a href="a00011.html#_details">More...</a><br/></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">_copyright</a></td></tr>
45
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00010.html#_details">More...</a><br/></td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">globals</a></td></tr>
47
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00069.html#_details">More...</a><br/></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html">d_copy_func</a></td></tr>
49
<tr><td class="mdescLeft"> </td><td class="mdescRight">d-Gap copy functor <a href="a00049.html#_details">More...</a><br/></td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">copy_to_array_functor</a></td></tr>
51
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adaptor to copy 1 bits to array. <a href="a00046.html#_details">More...</a><br/></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">copy_to_array_functor_inc</a></td></tr>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adaptor to copy 1 bits to array with base increment. <a href="a00047.html#_details">More...</a><br/></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">bitblock_get_adapter</a></td></tr>
55
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block get adapter, takes bitblock and represents it as a <a class="el" href="a00035.html#a5fd937c34bcb5e5a2f6aa25333480db2">get_32()</a> accessor function /internal. <a href="a00035.html#_details">More...</a><br/></td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">bitblock_store_adapter</a></td></tr>
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block store adapter, takes bitblock and saves results into it /internal. <a href="a00036.html#_details">More...</a><br/></td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">bitblock_sum_adapter</a></td></tr>
59
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block sum adapter, takes values and sums it /internal. <a href="a00037.html#_details">More...</a><br/></td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">decoder_range_adapter</a></td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adapter to get words from a range stream (see range serialized bit-block). <a href="a00056.html#_details">More...</a><br/></td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">bit_AND</a></td></tr>
63
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit AND functor. <a href="a00013.html#_details">More...</a><br/></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">bit_OR</a></td></tr>
65
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit OR functor. <a href="a00029.html#_details">More...</a><br/></td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">bit_SUB</a></td></tr>
67
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB functor. <a href="a00031.html#_details">More...</a><br/></td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">bit_XOR</a></td></tr>
69
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit XOR functor. <a href="a00033.html#_details">More...</a><br/></td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">bit_ASSIGN</a></td></tr>
71
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit ASSIGN functor. <a href="a00014.html#_details">More...</a><br/></td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">bit_COUNT</a></td></tr>
73
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT functor. <a href="a00015.html#_details">More...</a><br/></td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">bit_COUNT_AND</a></td></tr>
75
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT AND functor. <a href="a00017.html#_details">More...</a><br/></td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">bit_COUNT_XOR</a></td></tr>
77
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT XOR functor. <a href="a00023.html#_details">More...</a><br/></td></tr>
78
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">bit_COUNT_OR</a></td></tr>
79
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT OR functor. <a href="a00019.html#_details">More...</a><br/></td></tr>
80
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html">bit_COUNT_SUB_AB</a></td></tr>
81
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT SUB AB functor. <a href="a00020.html#_details">More...</a><br/></td></tr>
82
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">bit_COUNT_SUB_BA</a></td></tr>
83
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB BA functor. <a href="a00021.html#_details">More...</a><br/></td></tr>
84
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">bit_COUNT_A</a></td></tr>
85
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT A functor. <a href="a00016.html#_details">More...</a><br/></td></tr>
86
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html">bit_COUNT_B</a></td></tr>
87
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT B functor. <a href="a00018.html#_details">More...</a><br/></td></tr>
88
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">operation_functions</a></td></tr>
89
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">miniset</a></td></tr>
90
<tr><td class="mdescLeft"> </td><td class="mdescRight">Template class implements memory saving set functionality. <a href="a00074.html#_details">More...</a><br/></td></tr>
91
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html">bvmini</a></td></tr>
92
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mini bitvector used in <a class="el" href="a00043.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags. <a href="a00045.html#_details">More...</a><br/></td></tr>
93
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html">bvector_mini</a></td></tr>
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitvector class with very limited functionality. <a href="a00044.html#_details">More...</a><br/></td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">encoder</a></td></tr>
96
<tr><td class="mdescLeft"> </td><td class="mdescRight">Memory encoding. <a href="a00061.html#_details">More...</a><br/></td></tr>
97
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">decoder_base</a></td></tr>
98
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for all decoding functionality. <a href="a00054.html#_details">More...</a><br/></td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">decoder</a></td></tr>
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="a00053.html#_details">More...</a><br/></td></tr>
101
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">decoder_little_endian</a></td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="a00055.html#_details">More...</a><br/></td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">bit_out</a></td></tr>
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte based writer for un-aligned bit streaming. <a href="a00030.html#_details">More...</a><br/></td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">bit_in</a></td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte based reader for un-aligned bit streaming. <a href="a00028.html#_details">More...</a><br/></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">gamma_encoder</a></td></tr>
108
<tr><td class="mdescLeft"> </td><td class="mdescRight">Functor for Elias Gamma encoding. <a href="a00065.html#_details">More...</a><br/></td></tr>
109
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">gamma_decoder</a></td></tr>
110
<tr><td class="mdescLeft"> </td><td class="mdescRight">Elias Gamma <a class="el" href="a00053.html" title="Class for decoding data from memory buffer.">decoder</a>. <a href="a00064.html#_details">More...</a><br/></td></tr>
111
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">DeBruijn_bit_position</a></td></tr>
112
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">first_bit_table</a></td></tr>
113
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure keeps index of first right 1 bit for every byte. <a href="a00063.html#_details">More...</a><br/></td></tr>
114
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bit_count_table</a></td></tr>
115
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers. <a href="a00022.html#_details">More...</a><br/></td></tr>
116
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">sse_empty_guard</a></td></tr>
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 reinitialization guard class. <a href="a00081.html#_details">More...</a><br/></td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">distance_metric_descriptor</a></td></tr>
119
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance metric descriptor, holds metric code and result. <a href="a00060.html#_details">More...</a><br/></td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">tmatrix</a></td></tr>
121
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mini-matrix for bit transposition purposes. <a href="a00083.html#_details">More...</a><br/></td></tr>
122
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">bit_grabber</a></td></tr>
123
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">bit_grabber< unsigned, 32 ></a></td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bit_grabber< unsigned short, 16 ></a></td></tr>
125
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">bit_grabber< unsigned char, 8 ></a></td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">bit_trans_grabber</a></td></tr>
127
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">gap_transpose_engine</a></td></tr>
128
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-plain splicing of a GAP block. <a href="a00068.html#_details">More...</a><br/></td></tr>
129
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">serializer</a></td></tr>
130
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-vector serialization class. <a href="a00080.html#_details">More...</a><br/></td></tr>
131
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">deseriaizer_base</a></td></tr>
132
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base deserialization class. <a href="a00057.html#_details">More...</a><br/></td></tr>
133
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">deserializer</a></td></tr>
134
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>. <a href="a00058.html#_details">More...</a><br/></td></tr>
135
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">iterator_deserializer</a></td></tr>
136
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterator to walk forward the serialized stream. <a href="a00072.html#_details">More...</a><br/></td></tr>
137
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">serial_stream_iterator</a></td></tr>
138
<tr><td class="mdescLeft"> </td><td class="mdescRight">Serialization stream iterator. <a href="a00079.html#_details">More...</a><br/></td></tr>
139
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">operation_deserializer</a></td></tr>
140
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector. <a href="a00075.html#_details">More...</a><br/></td></tr>
141
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">block_allocator</a></td></tr>
142
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00038.html#_details">More...</a><br/></td></tr>
143
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">ptr_allocator</a></td></tr>
144
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00077.html#_details">More...</a><br/></td></tr>
145
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">mem_alloc</a></td></tr>
146
<tr><td class="mdescLeft"> </td><td class="mdescRight">BM style allocator adapter. <a href="a00073.html#_details">More...</a><br/></td></tr>
147
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
148
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00074.html">bm::miniset</a><br class="typebreak"/>
149
< <a class="el" href="a00038.html">bm::block_allocator</a>, <br class="typebreak"/>
150
<a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac77813f2c2dfe40575830ba6a8373bcc">mem_save_set</a></td></tr>
151
<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> )(unsigned *, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td></tr>
152
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> )(const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, unsigned &)</td></tr>
153
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> )(const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td></tr>
154
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00053.html">decoder</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac36d9b78ebf78baf0b92dc61487d9847">decoder_big_endian</a></td></tr>
155
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="#ac36d9b78ebf78baf0b92dc61487d9847"></a><br/></td></tr>
156
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a></td></tr>
157
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">id_t</a></td></tr>
158
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a></td></tr>
159
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">short_t</a></td></tr>
160
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a></td></tr>
161
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">wordop_t</a></td></tr>
162
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00073.html">mem_alloc</a><br class="typebreak"/>
163
< <a class="el" href="a00038.html">block_allocator</a>, <br class="typebreak"/>
164
<a class="el" href="a00077.html">ptr_allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#gab9059bfb40a6588cdbacfd93901593c1">standard_allocator</a></td></tr>
165
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
166
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> { <br/>
167
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3">set_AND</a> = 0,
168
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780">set_OR</a> = 1,
169
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769">set_SUB</a> = 2,
170
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304">set_XOR</a> = 3,
172
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788">set_ASSIGN</a> = 4,
173
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e">set_COUNT</a> = 5,
174
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959">set_COUNT_AND</a> = 6,
175
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c">set_COUNT_XOR</a> = 7,
177
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb">set_COUNT_OR</a> = 8,
178
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1">set_COUNT_SUB_AB</a> = 9,
179
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b">set_COUNT_SUB_BA</a> = 10,
180
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29">set_COUNT_A</a> = 11,
182
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617">set_COUNT_B</a> = 12,
183
<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c">set_END</a>
186
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Nomenclature of set operations. </p>
187
<a href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">More...</a><br/></td></tr>
188
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1">operation</a> { <a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250">BM_AND</a> = set_AND,
189
<a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5">BM_OR</a> = set_OR,
190
<a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5">BM_SUB</a> = set_SUB,
191
<a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c">BM_XOR</a> = set_XOR
193
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Bit operations enumeration. </p>
194
<a href="a00110.html#a42405343976ec931388381cea4092bf1">More...</a><br/></td></tr>
195
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbb">ByteOrder</a> { <a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2">BigEndian</a> = 0,
196
<a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2">LittleEndian</a> = 1
198
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Byte orders recognized by the library. </p>
199
<a href="a00110.html#a577905b348676c2bc556b51793350dbb">More...</a><br/></td></tr>
200
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> { <a class="el" href="a00113.html#ggad0b87b3b7292383a864d27feaf1c9effa40920ae0ef7b4411d60463d8f576b5ba">BM_BIT</a> = 0,
201
<a class="el" href="a00113.html#ggad0b87b3b7292383a864d27feaf1c9effa7fe09d1d7c62a813db922c396c0cbc9c">BM_GAP</a> = 1
203
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Block allocation strategies. </p>
204
<a href="a00113.html#gad0b87b3b7292383a864d27feaf1c9eff">More...</a><br/></td></tr>
205
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> { <br/>
206
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce">COUNT_AND</a> = set_COUNT_AND,
207
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061">COUNT_XOR</a> = set_COUNT_XOR,
208
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb">COUNT_OR</a> = set_COUNT_OR,
209
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62">COUNT_SUB_AB</a> = set_COUNT_SUB_AB,
211
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400">COUNT_SUB_BA</a> = set_COUNT_SUB_BA,
212
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2">COUNT_A</a> = set_COUNT_A,
213
<a class="el" href="a00120.html#ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516">COUNT_B</a> = set_COUNT_B
216
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Distance metrics codes defined for vectors A and B. </p>
217
<a href="a00120.html#gac38d64c8b27b652413a664cddd4d40ab">More...</a><br/></td></tr>
218
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0">serialization_header_mask</a> { <br/>
219
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca">BM_HM_DEFAULT</a> = 1,
220
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27">BM_HM_RESIZE</a> = (1 << 1),
221
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47">BM_HM_ID_LIST</a> = (1 << 2),
222
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e">BM_HM_NO_BO</a> = (1 << 3),
224
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3">BM_HM_NO_GAPL</a> = (1 << 4)
227
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a> { <a class="el" href="a00121.html#gga537dfe6318f1f1fe18d86dac312be978acdd8c071c079589388c3ca7bd4f367c8">BM_NO_BYTE_ORDER</a> = 1,
228
<a class="el" href="a00121.html#gga537dfe6318f1f1fe18d86dac312be978a5521473081d341bc32ac59538e6a8096">BM_NO_GAP_LENGTH</a> = (1 << 1)
230
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Bit mask flags for serialization algorithm. </p>
231
<a href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">More...</a><br/></td></tr>
30
<h1>sample5.cpp File Reference</h1><code>#include <iostream></code><br/>
31
<code>#include <algorithm></code><br/>
32
<code>#include "<a class="el" href="a00087_source.html">bm.h</a>"</code><br/>
33
<div class="dynheader">
34
Include dependency graph for sample5.cpp:</div>
35
<div class="dynsection">
36
<div class="center"><img src="a00161.png" border="0" usemap="#sample5_8cpp_map" alt=""/></div>
37
<map name="sample5_8cpp_map" id="sample5_8cpp">
38
<area shape="rect" href="a00087.html" title="bm.h" alt="" coords="508,83,559,112"/><area shape="rect" href="a00091.html" title="bmconst.h" alt="" coords="99,315,181,344"/><area shape="rect" href="a00092.html" title="bmdef.h" alt="" coords="341,315,408,344"/><area shape="rect" href="a00098.html" title="bmsse4.h" alt="" coords="495,160,572,189"/><area shape="rect" href="a00093.html" title="bmfunc.h" alt="" coords="288,160,363,189"/><area shape="rect" href="a00103.html" title="bmvmin.h" alt="" coords="689,160,767,189"/><area shape="rect" href="a00104.html" title="encoding.h" alt="" coords="181,160,264,189"/><area shape="rect" href="a00090.html" title="bmalloc.h" alt="" coords="791,160,868,189"/><area shape="rect" href="a00101.html" title="bmundef.h" alt="" coords="1004,160,1087,189"/><area shape="rect" href="a00099.html" title="bmsse_util.h" alt="" coords="768,237,864,267"/><area shape="rect" href="a00102.html" title="bmutil.h" alt="" coords="141,237,208,267"/></map>
41
<p><a href="a00110_source.html">Go to the source code of this file.</a></p>
42
<table border="0" cellpadding="0" cellspacing="0">
232
43
<tr><td colspan="2"><h2>Functions</h2></td></tr>
233
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
234
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00043.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ac766cc15ae8feca9e21a36c49bf3b557">operator&</a> (const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v2)</td></tr>
235
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
236
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00043.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a5cc9411c5170df52c1c4ea436ef32745">operator|</a> (const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00043.html">bvector</a>< Alloc > &v2)</td></tr>
237
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
238
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00043.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a7042429992aec5891a3df1b0bddea05f">operator^</a> (const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v2)</td></tr>
239
<tr><td class="memTemplParams" colspan="2">template<class Alloc , class MS > </td></tr>
240
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00043.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#afe23d0ced66b48b9c4214e0b00dcc5ac">operator-</a> (const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00043.html">bvector</a>< Alloc, MS > &v2)</td></tr>
241
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaef40342b0c318391df3db2b891acf7c1">word_bitcount</a> (<a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> w)</td></tr>
242
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a447794fbcac5b6f4ab42b0795c665fea">parallel_popcnt_32</a> (unsigned b)</td></tr>
243
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3deb310cdf11bca948817f94adfec160">is_const_set_operation</a> (<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
244
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if set operation is constant (bitcount). <a href="#a3deb310cdf11bca948817f94adfec160"></a><br/></td></tr>
245
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1">bm::operation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7c192b64adb0590a09b5c2dad77c4b76">setop2op</a> (<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> op)</td></tr>
246
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation to operation. <a href="#a7c192b64adb0590a09b5c2dad77c4b76"></a><br/></td></tr>
247
<tr><td class="memTemplParams" colspan="2">template<typename W > </td></tr>
248
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#afb2c1acc56270abb381741a709a2b17c">xor_swap</a> (W &x, W &y)</td></tr>
249
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR swap two scalar variables. <a href="#afb2c1acc56270abb381741a709a2b17c"></a><br/></td></tr>
250
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
251
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gafee2e8361c2e90a67dbaf9c7559d50e4">wordcmp0</a> (T w1, T w2)</td></tr>
252
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. <a href="a00115.html#gafee2e8361c2e90a67dbaf9c7559d50e4"></a><br/></td></tr>
253
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
254
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga5847533a73b7a5125fe5c2888ec827bd">wordcmp</a> (T a, T b)</td></tr>
255
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. <a href="a00115.html#ga5847533a73b7a5125fe5c2888ec827bd"></a><br/></td></tr>
256
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
257
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#acebed8b533c2c9e17167617501477693">gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</td></tr>
258
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
259
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga866352ef5986a7d2b709795d127b666b">gap_test</a> (const T *buf, unsigned pos)</td></tr>
260
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if bit = pos is true. <a href="a00114.html#ga866352ef5986a7d2b709795d127b666b"></a><br/></td></tr>
261
<tr><td class="memTemplParams" colspan="2">template<class T , class F > </td></tr>
262
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ae8b342c25dc22d6cd26cb96d7ae796db">for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
263
<tr><td class="memTemplParams" colspan="2">template<class T , class F > </td></tr>
264
<tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a6f5cb8cbb105eae84d4b0f8a3bc1230f">for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
265
<tr><td class="memTemplParams" colspan="2">template<class T , class F > </td></tr>
266
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a86742a3e17527be5a9743f26b36a7691">for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
267
<tr><td class="memTemplParams" colspan="2">template<class T , class F > </td></tr>
268
<tr><td class="memTemplItemLeft" align="right" valign="top">F </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#abf587377ca70f11b8eb75f95494830b5">bmfor_each</a> (T first, T last, F f)</td></tr>
269
<tr><td class="memTemplParams" colspan="2">template<class T > </td></tr>
270
<tr><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ac8f3443ba8fcd1b28face4b09dfd21bf">sum_arr</a> (T *first, T *last)</td></tr>
271
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
272
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga570a6f573ffb9ac9e41a688d2bdc6004">gap_bit_count</a> (const T *buf, unsigned dsize=0)</td></tr>
273
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates number of bits ON in GAP buffer. <a href="a00114.html#ga570a6f573ffb9ac9e41a688d2bdc6004"></a><br/></td></tr>
274
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
275
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a7324ebded429e15361f62117a2ff18d1">gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
276
<tr><td class="mdescLeft"> </td><td class="mdescRight">Counts 1 bits in GAP buffer in the closed [left, right] diapason. <a href="#a7324ebded429e15361f62117a2ff18d1"></a><br/></td></tr>
277
<tr><td class="memTemplParams" colspan="2">template<class T , class Func > </td></tr>
278
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a6a7bfe8af49ed785f0e96c7ca37a2155">for_each_dgap</a> (const T *gap_buf, Func &func)</td></tr>
279
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
280
<tr><td class="memTemplItemLeft" align="right" valign="top">T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#afa6ea0cce0cdd88738a01fad393376b3">gap_2_dgap</a> (const T *gap_buf, T *dgap_buf, bool copy_head=true)</td></tr>
281
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert GAP buffer into D-GAP buffer. <a href="#afa6ea0cce0cdd88738a01fad393376b3"></a><br/></td></tr>
282
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
283
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a528894002dcd8edda28c8fb2b0aa8c64">dgap_2_gap</a> (const T *dgap_buf, T *gap_buf, T gap_header=0)</td></tr>
284
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert D-GAP buffer into GAP buffer. <a href="#a528894002dcd8edda28c8fb2b0aa8c64"></a><br/></td></tr>
285
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
286
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga406952734f1b05962941b32e37b3eb96">gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
287
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of GAP buffers. <a href="a00114.html#ga406952734f1b05962941b32e37b3eb96"></a><br/></td></tr>
288
<tr><td class="memTemplParams" colspan="2">template<typename T , class F > </td></tr>
289
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#aac0daaac2b5a7c88e6be726c77f52c68">gap_buff_op</a> (T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F &f, unsigned &dlen)</td></tr>
290
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract operation for GAP buffers. Receives functor F as a template argument. <a href="#aac0daaac2b5a7c88e6be726c77f52c68"></a><br/></td></tr>
291
<tr><td class="memTemplParams" colspan="2">template<typename T , class F > </td></tr>
292
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga5e3123c3c9d3587f470abdbe6c8c3ad3">gap_buff_any_op</a> (const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
293
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract distance test operation for GAP buffers. Receives functor F as a template argument. <a href="a00114.html#ga5e3123c3c9d3587f470abdbe6c8c3ad3"></a><br/></td></tr>
294
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
295
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga69186bd13bda27e04b3e33683ff884c2">gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
296
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument. <a href="a00114.html#ga69186bd13bda27e04b3e33683ff884c2"></a><br/></td></tr>
297
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
298
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gaa7df7193094353ea24b8519debf745be">gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
299
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches for the next 1 bit in the GAP block. <a href="a00114.html#gaa7df7193094353ea24b8519debf745be"></a><br/></td></tr>
300
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga2becf9a16ec20ab124ca8938e34b4aa8">set_bit</a> (unsigned *dest, unsigned bitpos)</td></tr>
301
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set 1 bit in a block. <a href="a00115.html#ga2becf9a16ec20ab124ca8938e34b4aa8"></a><br/></td></tr>
302
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga9bccc586aa791f98f1bec284b799102c">test_bit</a> (const unsigned *block, unsigned bitpos)</td></tr>
303
<tr><td class="mdescLeft"> </td><td class="mdescRight">Test 1 bit in a block. <a href="a00115.html#ga9bccc586aa791f98f1bec284b799102c"></a><br/></td></tr>
304
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gad698b5242f5b629aa28e7338b7150497">or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
305
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bits to 1 in the bitblock. <a href="a00115.html#gad698b5242f5b629aa28e7338b7150497"></a><br/></td></tr>
306
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaceaa54aa59b16299f5a87b925715e5e8">sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
307
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock. <a href="a00115.html#gaceaa54aa59b16299f5a87b925715e5e8"></a><br/></td></tr>
308
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga6191abb017003b633fab24e0c6357521">xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
309
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR bit interval to 1 in the bitblock. <a href="a00115.html#ga6191abb017003b633fab24e0c6357521"></a><br/></td></tr>
310
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
311
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga08e0ae8b2fd5869aa31cfad7d47177c4">gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
312
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock. <a href="a00114.html#ga08e0ae8b2fd5869aa31cfad7d47177c4"></a><br/></td></tr>
313
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
314
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gab939656d4ea54fd3868aa236cdb20b82">gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
315
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR GAP block to bitblock. <a href="a00114.html#gab939656d4ea54fd3868aa236cdb20b82"></a><br/></td></tr>
316
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
317
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga12615cd62f2e5367e1bc688d00a2188f">gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
318
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds(OR) GAP block to bitblock. <a href="a00114.html#ga12615cd62f2e5367e1bc688d00a2188f"></a><br/></td></tr>
319
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
320
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gafe6f72a009618290eeab3cddee869543">gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
321
<tr><td class="mdescLeft"> </td><td class="mdescRight">ANDs GAP block to bitblock. <a href="a00114.html#gafe6f72a009618290eeab3cddee869543"></a><br/></td></tr>
322
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
323
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gab87384cbf46a04d86c008ab2463d02cc">gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
324
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block. <a href="a00115.html#gab87384cbf46a04d86c008ab2463d02cc"></a><br/></td></tr>
325
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
326
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gad6e40898b8836ae1923b06a3d028fcaa">gap_bitset_and_any</a> (const unsigned *block, const T *buf)</td></tr>
327
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitcount test of bit block AND masked by GAP block. <a href="a00115.html#gad6e40898b8836ae1923b06a3d028fcaa"></a><br/></td></tr>
328
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
329
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga15a780da58d5aeb67ffc51c84fa6152e">gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
330
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block. <a href="a00115.html#ga15a780da58d5aeb67ffc51c84fa6152e"></a><br/></td></tr>
331
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
332
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gaab7c711122e8f189555dffd83a21111c">gap_bitset_sub_any</a> (const unsigned *block, const T *buf)</td></tr>
333
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block SUB masked by GAP block. <a href="a00115.html#gaab7c711122e8f189555dffd83a21111c"></a><br/></td></tr>
334
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
335
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga803fbc7c790f07b14175303e524bd2d8">gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
336
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block. <a href="a00115.html#ga803fbc7c790f07b14175303e524bd2d8"></a><br/></td></tr>
337
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
338
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gad0f7ee00f84ea357d55e6a2f507c8918">gap_bitset_xor_any</a> (const unsigned *block, const T *buf)</td></tr>
339
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block XOR masked by GAP block. <a href="a00115.html#gad0f7ee00f84ea357d55e6a2f507c8918"></a><br/></td></tr>
340
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
341
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga23733890861063a59f787e26763a734a">gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
342
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block. <a href="a00115.html#ga23733890861063a59f787e26763a734a"></a><br/></td></tr>
343
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
344
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gad15f1b92c70752cd3b97fa9e0c585f00">gap_bitset_or_any</a> (const unsigned *block, const T *buf)</td></tr>
345
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block OR masked by GAP block. <a href="a00115.html#gad15f1b92c70752cd3b97fa9e0c585f00"></a><br/></td></tr>
346
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaada8b13c35acd8df90129b45edcfc5de">bit_block_set</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
347
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock memset operation. <a href="a00115.html#gaada8b13c35acd8df90129b45edcfc5de"></a><br/></td></tr>
348
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
349
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga4862f4dcdcb7c0575e2e2db9e5f2a849">gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
350
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00114.html#ga4862f4dcdcb7c0575e2e2db9e5f2a849"></a><br/></td></tr>
351
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
352
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga9bb80c42ee0ecf8f2af8250d7f5d327b">gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
353
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00114.html#ga9bb80c42ee0ecf8f2af8250d7f5d327b"></a><br/></td></tr>
354
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
355
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga3f01bb7c1ae7983aa8c4ba82e1e3f54c">gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">id_t</a> set_max)</td></tr>
356
<tr><td class="mdescLeft"> </td><td class="mdescRight">Smart GAP block to bitblock conversion. <a href="a00114.html#ga3f01bb7c1ae7983aa8c4ba82e1e3f54c"></a><br/></td></tr>
357
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
358
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga14d29338ffd1387758810b3f9e3a72c6">gap_control_sum</a> (const T *buf)</td></tr>
359
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates sum of all words in GAP block. (For debugging purposes). <a href="a00114.html#ga14d29338ffd1387758810b3f9e3a72c6"></a><br/></td></tr>
360
<tr><td class="memTemplParams" colspan="2">template<class T > </td></tr>
361
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gaef53b2877ff369badd7bb25b26bb9029">gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
362
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets all bits to 0 or 1 (GAP). <a href="a00114.html#gaef53b2877ff369badd7bb25b26bb9029"></a><br/></td></tr>
363
<tr><td class="memTemplParams" colspan="2">template<class T > </td></tr>
364
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga5d49355eb9dd7947699e20f3a2a75ef5">gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
365
<tr><td class="mdescLeft"> </td><td class="mdescRight">Init gap block so it has block in it (can be whole block). <a href="a00114.html#ga5d49355eb9dd7947699e20f3a2a75ef5"></a><br/></td></tr>
366
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
367
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga3f22bfde5dfe06d6d77dc2598b8c0845">gap_invert</a> (T *buf)</td></tr>
368
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts all bits in the GAP buffer. <a href="a00114.html#ga3f22bfde5dfe06d6d77dc2598b8c0845"></a><br/></td></tr>
369
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
370
<tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga690ff7c8b16e1821a77663b7194267e7">gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
371
<tr><td class="mdescLeft"> </td><td class="mdescRight">Temporary inverts all bits in the GAP buffer. <a href="a00114.html#ga690ff7c8b16e1821a77663b7194267e7"></a><br/></td></tr>
372
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
373
<tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga1427d43e91872f981c6311fa76ab5633">gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
374
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if GAP block is all-one. <a href="a00114.html#ga1427d43e91872f981c6311fa76ab5633"></a><br/></td></tr>
375
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
376
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gad6bfb9da9950b0df8983a9faf9db5042">gap_length</a> (const T *buf)</td></tr>
377
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block length. <a href="a00114.html#gad6bfb9da9950b0df8983a9faf9db5042"></a><br/></td></tr>
378
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
379
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga0419ed06e2f0b7891e7d721546f5fb45">gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
380
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity. <a href="a00114.html#ga0419ed06e2f0b7891e7d721546f5fb45"></a><br/></td></tr>
381
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
382
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga94a5371b5dc6a1560d95d7c2dde88815">gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
383
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity limit. <a href="a00114.html#ga94a5371b5dc6a1560d95d7c2dde88815"></a><br/></td></tr>
384
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
385
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga1defe73aa4227a0e7204363ac6bb1ac1">gap_level</a> (const T *buf)</td></tr>
386
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP blocks capacity level. <a href="a00114.html#ga1defe73aa4227a0e7204363ac6bb1ac1"></a><br/></td></tr>
387
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
388
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga501aa9bf029e7f9ea9518e7003fe5549">set_gap_level</a> (T *buf, unsigned level)</td></tr>
389
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets GAP block capacity level. <a href="a00114.html#ga501aa9bf029e7f9ea9518e7003fe5549"></a><br/></td></tr>
390
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
391
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga3bfaebeeb4b2d479c5a9ac9d57607165">gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
392
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates GAP block capacity level. <a href="a00114.html#ga3bfaebeeb4b2d479c5a9ac9d57607165"></a><br/></td></tr>
393
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
394
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gafd76869eb44fac688da5e26e0e74f41f">gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
395
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns number of free elements in GAP block array. Difference between GAP block capacity on this level and actual GAP length. <a href="a00114.html#gafd76869eb44fac688da5e26e0e74f41f"></a><br/></td></tr>
396
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
397
<tr><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga91fe9566575d9d66e1bb9d030b3d29a0">bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
398
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of BIT buffers. <a href="a00115.html#ga91fe9566575d9d66e1bb9d030b3d29a0"></a><br/></td></tr>
399
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
400
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga80d09bb6ab244e68ab0c1fdccc17b95b">bit_convert_to_gap</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
401
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts bit block to GAP. <a href="a00114.html#ga80d09bb6ab244e68ab0c1fdccc17b95b"></a><br/></td></tr>
402
<tr><td class="memTemplParams" colspan="2">template<class T , class F > </td></tr>
403
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga11bc26da8533752bb23756632fd30a00">for_each_gap_dbit</a> (const T *buf, F &func)</td></tr>
404
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate gap block as delta-bits with a functor. <a href="a00114.html#ga11bc26da8533752bb23756632fd30a00"></a><br/></td></tr>
405
<tr><td class="memTemplParams" colspan="2">template<typename D , typename T > </td></tr>
406
<tr><td class="memTemplItemLeft" align="right" valign="top">D </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga5cd7e0cfee401da1b8f702151c083b27">gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len, bool invert=false)</td></tr>
407
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert gap block into array of ints corresponding to 1 bits. <a href="a00114.html#ga5cd7e0cfee401da1b8f702151c083b27"></a><br/></td></tr>
408
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gab30df14a61f036d690c091878feaff1c">bit_block_calc_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end)</td></tr>
409
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitcount for bit string. <a href="a00115.html#gab30df14a61f036d690c091878feaff1c"></a><br/></td></tr>
410
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaafc87c4764bb30d95ba4088064a404e3">bit_count_change</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
411
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaca91016aeb08ae1b610d6d407aae0e4c">bit_block_calc_count_change</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end, unsigned *bit_count)</td></tr>
412
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga2485f707b2629c5ce7681cf9fe385b91">bit_block_calc_count_range</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
413
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga503e0f3e79f819d9b58e4b0e905be116">bit_block_any_range</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
414
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
415
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga95854f9969985254a0f58b928da0eec6">bit_invert</a> (T *start, T *end)</td></tr>
416
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga97b1075250d4bf10f596ff2fbc334ceb">is_bits_one</a> (const <a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *start, const <a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *end)</td></tr>
417
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns "true" if all bits in the block are 1. <a href="a00115.html#ga97b1075250d4bf10f596ff2fbc334ceb"></a><br/></td></tr>
418
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gac6cfb9f92e4df6bb4c76f6efb2382860">bit_is_all_zero</a> (const <a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *start, const <a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *end)</td></tr>
419
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns "true" if all bits in the block are 0. <a href="a00115.html#gac6cfb9f92e4df6bb4c76f6efb2382860"></a><br/></td></tr>
420
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae081940471455763a912a94783833316">and_op</a> (unsigned v1, unsigned v2)</td></tr>
421
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP and functor. <a href="#ae081940471455763a912a94783833316"></a><br/></td></tr>
422
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2e0675b3474db845b3d5910ce81e6868">xor_op</a> (unsigned v1, unsigned v2)</td></tr>
423
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP xor functor. <a href="#a2e0675b3474db845b3d5910ce81e6868"></a><br/></td></tr>
424
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#ga1666464d22f7fd473db9aafcf2f77a63">gap_operation_and</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &dsize)</td></tr>
425
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation. <a href="a00114.html#ga1666464d22f7fd473db9aafcf2f77a63"></a><br/></td></tr>
426
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gafb24a1e2588c5670df6facc537594d9d">gap_operation_any_and</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
427
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation test. <a href="a00114.html#gafb24a1e2588c5670df6facc537594d9d"></a><br/></td></tr>
428
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gaa5e07ad0256bf784ad3397acbbd23bb2">gap_operation_xor</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &dsize)</td></tr>
429
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation. <a href="a00114.html#gaa5e07ad0256bf784ad3397acbbd23bb2"></a><br/></td></tr>
430
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gab46833bf0d7813f868a1608f70db12de">gap_operation_any_xor</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
431
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation test. <a href="a00114.html#gab46833bf0d7813f868a1608f70db12de"></a><br/></td></tr>
432
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gacda280af8910ae5fde37731a3a7a1226">gap_operation_or</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &dsize)</td></tr>
433
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP OR operation. <a href="a00114.html#gacda280af8910ae5fde37731a3a7a1226"></a><br/></td></tr>
434
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gabe4c83e5e162c38e297116dd1cd05ac4">gap_operation_sub</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &dsize)</td></tr>
435
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB (AND NOT) operation. <a href="a00114.html#gabe4c83e5e162c38e297116dd1cd05ac4"></a><br/></td></tr>
436
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#gae0b1d4aca0ddfa58d83e4b089a4f35d9">gap_operation_any_sub</a> (const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
437
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB operation test. <a href="a00114.html#gae0b1d4aca0ddfa58d83e4b089a4f35d9"></a><br/></td></tr>
438
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga9090de87d53e7f25eff96c8259b3485c">bit_block_copy</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
439
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock copy operation. <a href="a00115.html#ga9090de87d53e7f25eff96c8259b3485c"></a><br/></td></tr>
440
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga882f79df0a0175ad4ddf483c5f1eeb0e">bit_block_and</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
441
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock AND operation. Function does not analyse availability of source and destination blocks. <a href="a00115.html#ga882f79df0a0175ad4ddf483c5f1eeb0e"></a><br/></td></tr>
442
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga0070984bb1d332610150a9106ab8eb0a">bit_block_and_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
443
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ANDs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00115.html#ga0070984bb1d332610150a9106ab8eb0a"></a><br/></td></tr>
444
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga9fe2d12ddac5293fe53038c687c732f3">bit_block_and_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
445
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ANDs two bitblocks and tests for any bit. Function does not analyse availability of source blocks. <a href="a00115.html#ga9fe2d12ddac5293fe53038c687c732f3"></a><br/></td></tr>
446
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaf8af8cfe8b49407be1af7398da28c939">bit_block_xor_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
447
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function XORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00115.html#gaf8af8cfe8b49407be1af7398da28c939"></a><br/></td></tr>
448
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gafbc3ffafc859a503fdd2fc96e7fb60ce">bit_block_xor_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
449
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function XORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00115.html#gafbc3ffafc859a503fdd2fc96e7fb60ce"></a><br/></td></tr>
450
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gad34175255e9860a572fcf2e664a6de8e">bit_block_sub_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
451
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function SUBs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00115.html#gad34175255e9860a572fcf2e664a6de8e"></a><br/></td></tr>
452
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga3f51735d2ca08e5a9fae2c9c49138c5c">bit_block_sub_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
453
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function SUBs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00115.html#ga3f51735d2ca08e5a9fae2c9c49138c5c"></a><br/></td></tr>
454
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gacf4f8ab164277278448a541863c07517">bit_block_or_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
455
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00115.html#gacf4f8ab164277278448a541863c07517"></a><br/></td></tr>
456
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gab2047495f7844d3014ff697503669d24">bit_block_or_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
457
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00115.html#gab2047495f7844d3014ff697503669d24"></a><br/></td></tr>
458
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga869fce5348076d4c7b92adcc2f1a49ab">bit_operation_and</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
459
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock AND operation. <a href="a00115.html#ga869fce5348076d4c7b92adcc2f1a49ab"></a><br/></td></tr>
460
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga9765914087df2fc22ec18db8128f2a12">bit_operation_and_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
461
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result. <a href="a00115.html#ga9765914087df2fc22ec18db8128f2a12"></a><br/></td></tr>
462
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga0e7995f7d6c791f6ff27a8dd21d324e5">bit_operation_and_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
463
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock AND operation test. <a href="a00115.html#ga0e7995f7d6c791f6ff27a8dd21d324e5"></a><br/></td></tr>
464
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaabb39bf01bf973cb7bf3648873921ab7">bit_operation_sub_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
465
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result. <a href="a00115.html#gaabb39bf01bf973cb7bf3648873921ab7"></a><br/></td></tr>
466
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga53867faf377db72324b858a37063c0b8">bit_operation_sub_count_inv</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
467
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs inverted bitblock SUB operation and calculates bitcount of the result. <a href="a00115.html#ga53867faf377db72324b858a37063c0b8"></a><br/></td></tr>
468
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga847d5a84673b284be984f0db583e2723">bit_operation_sub_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
469
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock test of SUB operation. <a href="a00115.html#ga847d5a84673b284be984f0db583e2723"></a><br/></td></tr>
470
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga5a267aff3b56cc6dadf5a3a338e00a1d">bit_operation_or_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
471
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result. <a href="a00115.html#ga5a267aff3b56cc6dadf5a3a338e00a1d"></a><br/></td></tr>
472
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga6d26742bdc373074474a6932eab4f388">bit_operation_or_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
473
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock OR operation test. <a href="a00115.html#ga6d26742bdc373074474a6932eab4f388"></a><br/></td></tr>
474
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga3515d8eb5da7f9d41d63dc90ad9523a4">bit_block_or</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
475
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock OR operation. Function does not analyse availability of source and destination blocks. <a href="a00115.html#ga3515d8eb5da7f9d41d63dc90ad9523a4"></a><br/></td></tr>
476
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga0e945a9eaae699ad40f63b3f0632e6f9">bit_operation_or</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
477
<tr><td class="mdescLeft"> </td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL. <a href="a00115.html#ga0e945a9eaae699ad40f63b3f0632e6f9"></a><br/></td></tr>
478
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gafed81435f74c0542857842d4461686e4">bit_block_sub</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
479
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock SUB (AND NOT) operation. Function does not analyse availability of source and destination blocks. <a href="a00115.html#gafed81435f74c0542857842d4461686e4"></a><br/></td></tr>
480
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gad7afa9bce28a376360ca4826960d669f">bit_operation_sub</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
481
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock SUB operation. <a href="a00115.html#gad7afa9bce28a376360ca4826960d669f"></a><br/></td></tr>
482
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gae6a46c5e671ea1c9312219ceb41025ef">bit_block_xor</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
483
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock XOR operation. Function does not analyse availability of source and destination blocks. <a href="a00115.html#gae6a46c5e671ea1c9312219ceb41025ef"></a><br/></td></tr>
484
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ga179de722e87ccf8189d975ca6beed025">bit_operation_xor</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
485
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock XOR operation. <a href="a00115.html#ga179de722e87ccf8189d975ca6beed025"></a><br/></td></tr>
486
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gace08ab77feefb638daee164ee83118bc">bit_operation_xor_count</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
487
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result. <a href="a00115.html#gace08ab77feefb638daee164ee83118bc"></a><br/></td></tr>
488
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gaa86561b6d11c3f01dd772563c692f732">bit_operation_xor_any</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
489
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock XOR operation test. <a href="a00115.html#gaa86561b6d11c3f01dd772563c692f732"></a><br/></td></tr>
490
<tr><td class="memTemplParams" colspan="2">template<class T > </td></tr>
491
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga0ff158706f2e194be67fb8267641c30a">bit_count_nonzero_size</a> (const T *blk, unsigned data_size)</td></tr>
492
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inspects block for full zero words. <a href="a00115.html#ga0ff158706f2e194be67fb8267641c30a"></a><br/></td></tr>
493
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gad6a7c549a625df7aa7d68d43a57238c7">bit_find_in_block</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *data, unsigned nbit, <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
494
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches for the next 1 bit in the BIT block. <a href="a00115.html#gad6a7c549a625df7aa7d68d43a57238c7"></a><br/></td></tr>
495
<tr><td class="memTemplParams" colspan="2">template<typename T , typename F > </td></tr>
496
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gab9f80b3c898323ce77beb915e4c861f3">bit_for_each_4</a> (T w, F &func)</td></tr>
497
<tr><td class="mdescLeft"> </td><td class="mdescRight">Templated algorithm to unpacks octet based word into list of ON bit indexes. <a href="a00115.html#gab9f80b3c898323ce77beb915e4c861f3"></a><br/></td></tr>
498
<tr><td class="memTemplParams" colspan="2">template<typename T , typename F > </td></tr>
499
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga24be2ad5d8c2a8f18fdad142452aaae8">bit_for_each</a> (T w, F &func)</td></tr>
500
<tr><td class="mdescLeft"> </td><td class="mdescRight">Templated algorithm to unpacks word into list of ON bit indexes. <a href="a00115.html#ga24be2ad5d8c2a8f18fdad142452aaae8"></a><br/></td></tr>
501
<tr><td class="memTemplParams" colspan="2">template<typename T , typename B > </td></tr>
502
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga3c81f6bff8866ec3ed0a94903eee96b7">bit_list_4</a> (T w, B *bits)</td></tr>
503
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unpacks word into list of ON bit indexes (quad-bit based). <a href="a00115.html#ga3c81f6bff8866ec3ed0a94903eee96b7"></a><br/></td></tr>
504
<tr><td class="memTemplParams" colspan="2">template<typename T , typename B > </td></tr>
505
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gaae3ae537760044543f842363e4614e82">bit_list</a> (T w, B *bits)</td></tr>
506
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unpacks word into list of ON bit indexes. <a href="a00115.html#gaae3ae537760044543f842363e4614e82"></a><br/></td></tr>
507
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
508
<tr><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gaf24d85761f60877c2260f8160593f732">bit_convert_to_arr</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len, unsigned mask=0)</td></tr>
509
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits. <a href="a00115.html#gaf24d85761f60877c2260f8160593f732"></a><br/></td></tr>
510
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
511
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gacc578010f3700940829c600c812d23b1">gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
512
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits. <a href="a00114.html#gacc578010f3700940829c600c812d23b1"></a><br/></td></tr>
513
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
514
<tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#ga2daff3a0ceda6fef87d3b0e892da5813">improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
515
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds optimal gap blocks lengths. <a href="a00114.html#ga2daff3a0ceda6fef87d3b0e892da5813"></a><br/></td></tr>
516
<tr><td class="memTemplParams" colspan="2">template<class It1 , class It2 , class BinaryOp , class Encoder > </td></tr>
517
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a503fecc0ee281059897412d68f489e1e">bit_recomb</a> (It1 &it1, It2 &it2, BinaryOp &op, Encoder &enc, unsigned block_size=<a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>)</td></tr>
518
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga75c6ddeb0d8a279caa92341878309b50">sse2_xor_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
519
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR array elements to specified mask dst = *src ^ mask. <a href="a00118.html#ga75c6ddeb0d8a279caa92341878309b50"></a><br/></td></tr>
520
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#gab7b21f448684c4d84927792661e67ed5">sse2_andnot_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
521
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts array elements and NOT them to specified mask dst = ~*src & mask. <a href="a00118.html#gab7b21f448684c4d84927792661e67ed5"></a><br/></td></tr>
522
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga795b544f311409a55da4ee61a3cd939a">sse2_and_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
523
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND array elements against another array dst &= *src. <a href="a00118.html#ga795b544f311409a55da4ee61a3cd939a"></a><br/></td></tr>
524
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67">sse2_or_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
525
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst |= *src. <a href="a00118.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67"></a><br/></td></tr>
526
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#gaf1a5ad26557cc4d71d7421c35a8445fe">sse2_xor_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
527
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst ^= *src. <a href="a00118.html#gaf1a5ad26557cc4d71d7421c35a8445fe"></a><br/></td></tr>
528
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#gac99f3b138f8a5e8ffb1296b129f618f0">sse2_sub_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
529
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND-NOT (SUB) array elements against another array dst &= ~*src. <a href="a00118.html#gac99f3b138f8a5e8ffb1296b129f618f0"></a><br/></td></tr>
530
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga302f4fcd0abf355957b305d16d04f452">sse2_set_block</a> (__m128i *BMRESTRICT dst, __m128i *BMRESTRICT dst_end, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
531
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block memset dst = value. <a href="a00118.html#ga302f4fcd0abf355957b305d16d04f452"></a><br/></td></tr>
532
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga571dd54af5c555cad9dfa6bef4561777">sse2_copy_block</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
533
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block copy dst = *src. <a href="a00118.html#ga571dd54af5c555cad9dfa6bef4561777"></a><br/></td></tr>
534
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga8d506147673d88005f92caee7f5dd23a">sse2_invert_arr</a> (<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *first, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *last)</td></tr>
535
<tr><td class="mdescLeft"> </td><td class="mdescRight">Invert array elements dst = ~*dst or dst ^= *dst. <a href="a00118.html#ga8d506147673d88005f92caee7f5dd23a"></a><br/></td></tr>
536
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac0c75fb7b3dc61602843ac4e1b9b7ef5">sse2_and</a> (__m128i a, __m128i b)</td></tr>
537
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#adea798a9a95a04845c33876087a2f46b">sse2_or</a> (__m128i a, __m128i b)</td></tr>
538
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6f5de19ee3e1be05037908b4777c4da8">sse2_xor</a> (__m128i a, __m128i b)</td></tr>
539
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab3e6d46fcba1bc2a1a5390c10f571382">sse2_sub</a> (__m128i a, __m128i b)</td></tr>
540
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#ga266ed6594dc786e46c1f353443dc41fe">sse4_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
541
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6d8f327a7d19c11125ac77383a34e986">op_xor</a> (unsigned a, unsigned b)</td></tr>
542
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0ed9a1bcd143f7763b4b59ef442f6994">op_or</a> (unsigned a, unsigned b)</td></tr>
543
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a515b2862b33efd4e36d72e4ba7729199">op_and</a> (unsigned a, unsigned b)</td></tr>
544
<tr><td class="memTemplParams" colspan="2">template<class Func > </td></tr>
545
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a295c6323a972a90e28c36e6012427a26">sse4_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
546
<tr><td class="memTemplParams" colspan="2">template<class Func > </td></tr>
547
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ab297c48a2b5057f32db00a8e8631d7a3">sse4_bit_count_op2</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func op_func)</td></tr>
548
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#gad686391db4cdc6382ae6785f62981474">sse4_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
549
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#ga0f7e0b2eb9ac7b2c6a8cd3b8f15b071f">sse2_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
550
<tr><td class="memTemplParams" colspan="2">template<class Func > </td></tr>
551
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a8831a88ef538b3997d04d2ebf513160d">sse2_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
552
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0479b7b6704c6ab64396e2365b8b5fa7">sse2_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
553
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00120.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#ga158946ea41ca66c3e1bca62c92684788">operation2metric</a> (<a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
554
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation into compatible distance metric. <a href="a00120.html#ga158946ea41ca66c3e1bca62c92684788"></a><br/></td></tr>
555
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#abecd5b24d5e394fd46a9db514cfa659a">combine_count_operation_with_block</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
556
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different distance metrics. <a href="#abecd5b24d5e394fd46a9db514cfa659a"></a><br/></td></tr>
557
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a24069ced9ea689034ff51246ae707ecc">combine_any_operation_with_block</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
558
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different existense of distance metric. <a href="#a24069ced9ea689034ff51246ae707ecc"></a><br/></td></tr>
559
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2f81b8ce3d389973b4f867b0fcc98e7a">combine_count_operation_with_block</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00120.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
560
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a093f2dadce40f42a184928c9d1456592">combine_any_operation_with_block</a> (const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00120.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
561
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
562
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ad47cf2dce876dcbc25aef4c7a222c66f">distance_stage</a> (const BV &bv1, const <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit, const <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit_end, bool *is_all_and)</td></tr>
563
<tr><td class="mdescLeft"> </td><td class="mdescRight">Staging function for distance operation. <a href="#ad47cf2dce876dcbc25aef4c7a222c66f"></a><br/></td></tr>
564
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
565
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga815fef76f02576ab9ab58de0a45d8a4b">distance_operation</a> (const BV &bv1, const BV &bv2, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
566
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance computing template function. <a href="a00120.html#ga815fef76f02576ab9ab58de0a45d8a4b"></a><br/></td></tr>
567
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
568
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gaa66525fd7a3f823d73678252a235982e">distance_operation_any</a> (const BV &bv1, const BV &bv2, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00060.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
569
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance screening template function. <a href="a00120.html#gaa66525fd7a3f823d73678252a235982e"></a><br/></td></tr>
570
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
571
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gae451cb4b87e8c0859b0614d2ffb99737">count_and</a> (const BV &bv1, const BV &bv2)</td></tr>
572
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of AND operation of two bitsets. <a href="a00120.html#gae451cb4b87e8c0859b0614d2ffb99737"></a><br/></td></tr>
573
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
574
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga2d5393e05bcfc540840a4cee67fb771f">any_and</a> (const BV &bv1, const BV &bv2)</td></tr>
575
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets. <a href="a00120.html#ga2d5393e05bcfc540840a4cee67fb771f"></a><br/></td></tr>
576
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
577
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gafc64a082dcaee07f70f7faf3e24f844e">count_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
578
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets. <a href="a00120.html#gafc64a082dcaee07f70f7faf3e24f844e"></a><br/></td></tr>
579
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
580
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga2d63f41244b82d233acb53d88b326b82">any_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
581
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets. <a href="a00120.html#ga2d63f41244b82d233acb53d88b326b82"></a><br/></td></tr>
582
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
583
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga902d8c1cd1f8a2538cd47d47f5d8d605">count_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
584
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets. <a href="a00120.html#ga902d8c1cd1f8a2538cd47d47f5d8d605"></a><br/></td></tr>
585
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
586
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gabde2e210b9b1edd190e1f5a9ff22344c">any_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
587
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets. <a href="a00120.html#gabde2e210b9b1edd190e1f5a9ff22344c"></a><br/></td></tr>
588
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
589
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga803c564668703fc3bf80067570c2c905">count_or</a> (const BV &bv1, const BV &bv2)</td></tr>
590
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of OR operation of two bitsets. <a href="a00120.html#ga803c564668703fc3bf80067570c2c905"></a><br/></td></tr>
591
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
592
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gaeda4f0cf54aa464cec09e740100caa79">any_or</a> (const BV &bv1, const BV &bv2)</td></tr>
593
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets. <a href="a00120.html#gaeda4f0cf54aa464cec09e740100caa79"></a><br/></td></tr>
594
<tr><td class="memTemplParams" colspan="2">template<class It > </td></tr>
595
<tr><td class="memTemplItemLeft" align="right" valign="top">It </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a86d5d5ccdb79d2b2ad552bd1caf34b2f">block_range_scan</a> (It first, It last, unsigned nblock, unsigned *max_id)</td></tr>
596
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal algorithms scans the input for the block range limit. <a href="#a86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><br/></td></tr>
597
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
598
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#ga54ff78528c99ae3ca443eb99ba44785b">combine_or</a> (BV &bv, It first, It last)</td></tr>
599
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR Combine bitvector and the iterable sequence. <a href="a00119.html#ga54ff78528c99ae3ca443eb99ba44785b"></a><br/></td></tr>
600
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
601
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#ga3cb362aee03de6a321495100ae5c8375">combine_xor</a> (BV &bv, It first, It last)</td></tr>
602
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR Combine bitvector and the iterable sequence. <a href="a00119.html#ga3cb362aee03de6a321495100ae5c8375"></a><br/></td></tr>
603
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
604
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#gab88c5bf51484323e0139aa789d7f0b98">combine_sub</a> (BV &bv, It first, It last)</td></tr>
605
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB Combine bitvector and the iterable sequence. <a href="a00119.html#gab88c5bf51484323e0139aa789d7f0b98"></a><br/></td></tr>
606
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
607
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#ga22922f71bd1eec8a5b663dc77b90cf6c">combine_and_sorted</a> (BV &bv, It first, It last)</td></tr>
608
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00119.html#ga22922f71bd1eec8a5b663dc77b90cf6c"></a><br/></td></tr>
609
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
610
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#ga819bdab57a624a08456ea79161b9c5d2">combine_and</a> (BV &bv, It first, It last)</td></tr>
611
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00119.html#ga819bdab57a624a08456ea79161b9c5d2"></a><br/></td></tr>
612
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
613
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#gac7a59d3bc266310ec127cb3efadb0d33">count_intervals</a> (const BV &bv)</td></tr>
614
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector. <a href="a00119.html#gac7a59d3bc266310ec127cb3efadb0d33"></a><br/></td></tr>
615
<tr><td class="memTemplParams" colspan="2">template<class BV , class It > </td></tr>
616
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00119.html#gacd88ed9539553dd93419b7029e8a4584">export_array</a> (BV &bv, It first, It last)</td></tr>
617
<tr><td class="mdescLeft"> </td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector. <a href="a00119.html#gacd88ed9539553dd93419b7029e8a4584"></a><br/></td></tr>
618
<tr><td class="memTemplParams" colspan="2">template<typename T , unsigned BPC, unsigned BPS> </td></tr>
619
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a2e3af9c9f2eb481130d240ba4cd6fd68">vect_bit_transpose</a> (const T *arr, unsigned arr_size, T <a class="el" href="a00083.html">tmatrix</a>[BPC][BPS])</td></tr>
620
<tr><td class="mdescLeft"> </td><td class="mdescRight">Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size. <a href="#a2e3af9c9f2eb481130d240ba4cd6fd68"></a><br/></td></tr>
621
<tr><td class="memTemplParams" colspan="2">template<typename T , unsigned BPC, unsigned BPS> </td></tr>
622
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a089ac7cd17ddca4bf3c661c96f749f3f">vect_bit_trestore</a> (const T <a class="el" href="a00083.html">tmatrix</a>[BPC][BPS], T *arr)</td></tr>
623
<tr><td class="mdescLeft"> </td><td class="mdescRight">Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size. <a href="#a089ac7cd17ddca4bf3c661c96f749f3f"></a><br/></td></tr>
624
<tr><td class="memTemplParams" colspan="2">template<typename T , unsigned BPC, unsigned BPS> </td></tr>
625
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga3fe02492f64cd8a9dfbb1a00ec71c0ae">tmatrix_distance</a> (const T <a class="el" href="a00083.html">tmatrix</a>[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
626
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block. <a href="a00115.html#ga3fe02492f64cd8a9dfbb1a00ec71c0ae"></a><br/></td></tr>
627
<tr><td class="memTemplParams" colspan="2">template<typename T , unsigned BPC, unsigned BPS> </td></tr>
628
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gabdc11d48fda6a69873eefd219c4b7e75">bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
629
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< ibpc limiter <a href="a00115.html#gabdc11d48fda6a69873eefd219c4b7e75"></a><br/></td></tr>
630
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#adfae226f696ef821c7d351216c00fe0d">bit_iblock_pcv_stat</a> (const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)</td></tr>
631
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute number of ibpc codes in pc_vector. <a href="#adfae226f696ef821c7d351216c00fe0d"></a><br/></td></tr>
632
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a62808b64adfcf2a7e610a4f713f470c0">bit_iblock_reduce</a> (const unsigned <a class="el" href="a00083.html">tmatrix</a>[<a class="el" href="a00110.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00110.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[<a class="el" href="a00110.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00110.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
633
<tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix reduction based on transformation pc vector. <a href="#a62808b64adfcf2a7e610a4f713f470c0"></a><br/></td></tr>
634
<tr><td class="memTemplParams" colspan="2">template<typename GT , typename BT > </td></tr>
635
<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a76724fb233f93c15146641482311ce28">gap_2_bitblock</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)</td></tr>
636
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation. <a href="#a76724fb233f93c15146641482311ce28"></a><br/></td></tr>
637
<tr><td class="memTemplParams" colspan="2">template<typename TM > </td></tr>
638
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#af92597461aff2926f9adcbf51bac98f9">find_effective_columns</a> (const TM &<a class="el" href="a00083.html">tmatrix</a>)</td></tr>
639
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute effective right column border of the t-matrix. <a href="#af92597461aff2926f9adcbf51bac98f9"></a><br/></td></tr>
640
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
641
<tr><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a7267df2bcc9c575c50dd1c68589c6ac1">bit_scan_fwd</a> (T v)</td></tr>
642
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
643
<tr><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a46f258f92ab40e2a0c76aa775338faaa">ilog2</a> (T x)</td></tr>
644
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast loop-less function to find LOG2. <a href="#a46f258f92ab40e2a0c76aa775338faaa"></a><br/></td></tr>
645
<tr><td class="memTemplParams" colspan="2">template<> </td></tr>
646
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a5f818ac575622da8a9a75511e649ea90">ilog2</a> (<a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> x)</td></tr>
647
<tr><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
648
<tr><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a3ab126a6fd7ffd872a4001638819a330">ilog2_LUT</a> (T x)</td></tr>
649
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup table based integer LOG2. <a href="#a3ab126a6fd7ffd872a4001638819a330"></a><br/></td></tr>
650
<tr><td class="memTemplParams" colspan="2">template<> </td></tr>
651
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#a7074ee06dc4ee023170c2f85c78b50fe">ilog2_LUT< bm::gap_word_t ></a> (<a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> x)</td></tr>
652
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup table based short integer LOG2. <a href="#a7074ee06dc4ee023170c2f85c78b50fe"></a><br/></td></tr>
653
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
654
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga5210c3bda57254ef2e8c71e23306cc88">serialize</a> (const BV &bv, unsigned char *buf, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned <a class="el" href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
655
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. <a href="a00121.html#ga5210c3bda57254ef2e8c71e23306cc88"></a><br/></td></tr>
656
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
657
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga213033b5cc6add74aa4bd1d614b56192">serialize</a> (BV &bv, unsigned char *buf, unsigned <a class="el" href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
658
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00043.html" title="bitvector with runtime compression of bits.">bvector</a>. <a href="a00121.html#ga213033b5cc6add74aa4bd1d614b56192"></a><br/></td></tr>
659
<tr><td class="memTemplParams" colspan="2">template<class BV > </td></tr>
660
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gafbe633db8da3d867f098468269fd8d3d">deserialize</a> (BV &bv, const unsigned char *buf, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
661
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitvector deserialization from memory. <a href="a00121.html#gafbe633db8da3d867f098468269fd8d3d"></a><br/></td></tr>
662
<tr><td colspan="2"><h2>Variables</h2></td></tr>
663
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a104b924a1df81542db2a6296fbf26a65">id_max</a> = 0xFFFFFFFF</td></tr>
664
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> = 2048u</td></tr>
665
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad8723fbeea6290d3daa8917ea7ce9bb2">set_block_shift</a> = 16u</td></tr>
666
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a201fb8b1f81b7487f1c1c129fc3d6557">set_block_mask</a> = 0xFFFFu</td></tr>
667
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2d1bf97ae342a7759943e62090fcf5d3">set_blkblk_mask</a> = 0xFFFFFFu</td></tr>
668
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a35780565f6d8f2831ebff8877d3ba662">set_block_plain_size</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td></tr>
669
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3428cf384446982017ba9ee68152d238">set_block_plain_cnt</a> = sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td></tr>
670
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a83d76bccf6fe3770f32d5ba11d2a37ad">set_word_shift</a> = 5u</td></tr>
671
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#addbf345be3733d5e4575d71733ed1da8">set_word_mask</a> = 0x1Fu</td></tr>
672
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa5e01dfb650d168f9be0525e042af647">gap_max_buff_len</a> = 1280</td></tr>
673
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad0b8714080144ac70197840ff96752b7">gap_max_bits</a> = 65536</td></tr>
674
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9b1715d6d9164d56172e75bbbd0e3000">gap_equiv_len</a></td></tr>
675
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">gap_levels</a> = 4</td></tr>
676
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a13793ad631e2b2fcbaaae9000ea1a924">gap_max_level</a> = <a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td></tr>
677
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">set_array_size</a> = 256u</td></tr>
678
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac1ff8647a089c751ec330cecee01907e">set_array_shift</a> = 8u</td></tr>
679
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a00ffa7b38d7fcc7e522d864991a6de68">set_array_mask</a> = 0xFFu</td></tr>
680
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">set_total_blocks</a> = (<a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td></tr>
681
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bits_in_block</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td></tr>
682
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4dedd13a7b8a27c5067b20118002f025">bits_in_array</a> = <a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td></tr>
683
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad81dea46a256b93b2af3568ce409d40b">all_bits_mask</a> = 0xffffffff</td></tr>
684
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7049fd70220fc3a3072e9f82abf4ad66">set_block_size_op</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></td></tr>
685
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae34de9206be7a8aa05db9d5dc38bfc90">ibpc_uncompr</a> = 0</td></tr>
686
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aaca6d3c887b5b7b66a78e95471f9a326">ibpc_all_zero</a> = 1</td></tr>
687
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain uncompressed <a href="#aaca6d3c887b5b7b66a78e95471f9a326"></a><br/></td></tr>
688
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa6f59be0b838db693e0f081bcaf750f0">ibpc_all_one</a> = 2</td></tr>
689
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain ALL ZERO <a href="#aa6f59be0b838db693e0f081bcaf750f0"></a><br/></td></tr>
690
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a748d4095c39c9372a590b431e0ec17fe">ibpc_equiv</a> = 3</td></tr>
691
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain ALL ONE <a href="#a748d4095c39c9372a590b431e0ec17fe"></a><br/></td></tr>
692
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa61bf7691d32a9bc7c65c05bb62657e5">ibpc_close</a> = 4</td></tr>
693
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain is equal to plain M <a href="#aa61bf7691d32a9bc7c65c05bb62657e5"></a><br/></td></tr>
694
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae4f14f0c2c5a9ee277808d36fd94693f">ibpc_end</a> = 8</td></tr>
695
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain is close to plain M <a href="#ae4f14f0c2c5a9ee277808d36fd94693f"></a><br/></td></tr>
696
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa24e7c08930cf959d383c6b930fb0508">set_block_end</a> = 0</td></tr>
697
<tr><td class="mdescLeft"> </td><td class="mdescRight">End of serialization. <a href="#aa24e7c08930cf959d383c6b930fb0508"></a><br/></td></tr>
698
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">set_block_1zero</a> = 1</td></tr>
699
<tr><td class="mdescLeft"> </td><td class="mdescRight">One all-zero block. <a href="#a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br/></td></tr>
700
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a715131318a361bcccf59fc0b1e41d444">set_block_1one</a> = 2</td></tr>
701
<tr><td class="mdescLeft"> </td><td class="mdescRight">One block all-set (1111...). <a href="#a715131318a361bcccf59fc0b1e41d444"></a><br/></td></tr>
702
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac9b85b261ab49b37d5e15b84ed2d8b99">set_block_8zero</a> = 3</td></tr>
703
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 zero blocks. <a href="#ac9b85b261ab49b37d5e15b84ed2d8b99"></a><br/></td></tr>
704
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a57ad1090d6f380cf5de5f98c699b5a75">set_block_8one</a> = 4</td></tr>
705
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 all-set blocks. <a href="#a57ad1090d6f380cf5de5f98c699b5a75"></a><br/></td></tr>
706
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aef47eda6538ebf2624c1612d35694c01">set_block_16zero</a> = 5</td></tr>
707
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 65536 zero blocks. <a href="#aef47eda6538ebf2624c1612d35694c01"></a><br/></td></tr>
708
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3fad4a939708df59b1201910c7d37e30">set_block_16one</a> = 6</td></tr>
709
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 65536 all-set blocks. <a href="#a3fad4a939708df59b1201910c7d37e30"></a><br/></td></tr>
710
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac7dfbd94a0534df88849bbce9e6c419a">set_block_32zero</a> = 7</td></tr>
711
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 4G zero blocks. <a href="#ac7dfbd94a0534df88849bbce9e6c419a"></a><br/></td></tr>
712
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5b87c58ae617ad1f104b4c6bc3ed6447">set_block_32one</a> = 8</td></tr>
713
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 4G all-set blocks. <a href="#a5b87c58ae617ad1f104b4c6bc3ed6447"></a><br/></td></tr>
714
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae87b5c61d7ba6e2e592a279db0b21cc0">set_block_azero</a> = 9</td></tr>
715
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks zero. <a href="#ae87b5c61d7ba6e2e592a279db0b21cc0"></a><br/></td></tr>
716
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad506b63262c52870758432a95e71907e">set_block_aone</a> = 10</td></tr>
717
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks one. <a href="#ad506b63262c52870758432a95e71907e"></a><br/></td></tr>
718
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aef86ab2eb42c198272eea7cdfe42951b">set_block_bit</a> = 11</td></tr>
719
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bit block. <a href="#aef86ab2eb42c198272eea7cdfe42951b"></a><br/></td></tr>
720
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#afe4b1011b09271c5f3882b926e250d39">set_block_sgapbit</a> = 12</td></tr>
721
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed bitblock. <a href="#afe4b1011b09271c5f3882b926e250d39"></a><br/></td></tr>
722
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">set_block_sgapgap</a> = 13</td></tr>
723
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed GAP block. <a href="#ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><br/></td></tr>
724
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a09b8c4b17b7d6f613c237c46d04a9cd6">set_block_gap</a> = 14</td></tr>
725
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain GAP block. <a href="#a09b8c4b17b7d6f613c237c46d04a9cd6"></a><br/></td></tr>
726
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a77dc965397e31a1d39c3d8e628792779">set_block_gapbit</a> = 15</td></tr>
727
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP compressed bitblock. <a href="#a77dc965397e31a1d39c3d8e628792779"></a><br/></td></tr>
728
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6ec6acb175ce77a229003f088ecd3923">set_block_arrbit</a> = 16</td></tr>
729
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON. <a href="#a6ec6acb175ce77a229003f088ecd3923"></a><br/></td></tr>
730
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0f2d3289a95dc3bd224a6a73c3d3afce">set_block_bit_interval</a> = 17</td></tr>
731
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interval block. <a href="#a0f2d3289a95dc3bd224a6a73c3d3afce"></a><br/></td></tr>
732
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aae33ceefae804cdd94412beee8c52720">set_block_arrgap</a> = 18</td></tr>
733
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON (GAP block). <a href="#aae33ceefae804cdd94412beee8c52720"></a><br/></td></tr>
734
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad0e6607a9771fa49a658c3078208c2dc">set_block_bit_1bit</a> = 19</td></tr>
735
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with 1 bit ON. <a href="#ad0e6607a9771fa49a658c3078208c2dc"></a><br/></td></tr>
736
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac47dea3917e15264ed3ba0cf4055adbe">set_block_gap_egamma</a> = 20</td></tr>
737
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed GAP block. <a href="#ac47dea3917e15264ed3ba0cf4055adbe"></a><br/></td></tr>
738
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9674ddb1b9ee66948465249688708188">set_block_arrgap_egamma</a> = 21</td></tr>
739
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed delta GAP array. <a href="#a9674ddb1b9ee66948465249688708188"></a><br/></td></tr>
740
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5e21adca3bc6902f33e43e5cfd824f0e">set_block_bit_0runs</a> = 22</td></tr>
741
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with encoded zero intervals. <a href="#a5e21adca3bc6902f33e43e5cfd824f0e"></a><br/></td></tr>
742
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a1caddb62b332a568ba590794800610f6">set_block_arrgap_egamma_inv</a> = 23</td></tr>
743
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed inverted delta GAP array. <a href="#a1caddb62b332a568ba590794800610f6"></a><br/></td></tr>
744
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a746a03f6f5563cc8c75db93bba40095d">set_block_arrgap_inv</a> = 24</td></tr>
745
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits OFF (GAP block). <a href="#a746a03f6f5563cc8c75db93bba40095d"></a><br/></td></tr>
747
<hr/><h2>Typedef Documentation</h2>
748
<a class="anchor" id="ad93f96a77f223240b8c6b8f81c5db840"></a><!-- doxytag: member="bm::bit_operation_count_func_type" ref="ad93f96a77f223240b8c6b8f81c5db840" args=")(const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT)" -->
749
<div class="memitem">
750
<div class="memproto">
751
<table class="memname">
753
<td class="memname">typedef <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* <a class="el" href="a00110.html#ad93f96a77f223240b8c6b8f81c5db840">bm::bit_operation_count_func_type</a>)(const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td>
759
<p>Definition at line <a class="el" href="a00090_source.html#l04775">4775</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
763
<a class="anchor" id="ac36d9b78ebf78baf0b92dc61487d9847"></a><!-- doxytag: member="bm::decoder_big_endian" ref="ac36d9b78ebf78baf0b92dc61487d9847" args="" -->
764
<div class="memitem">
765
<div class="memproto">
766
<table class="memname">
768
<td class="memname">typedef <a class="el" href="a00053.html">decoder</a> <a class="el" href="a00053.html">bm::decoder_big_endian</a></td>
774
<p>Class for decoding data from memory buffer. </p>
775
<p>Properly handles aligment issues with integer data types. Converts data to big endian architecture (presumed it was encoded as little endian) </p>
777
<p>Definition at line <a class="el" href="a00100_source.html#l00114">114</a> of file <a class="el" href="a00100_source.html">encoding.h</a>.</p>
781
<a class="anchor" id="a8402de852093e5b23b5825f1974b9c12"></a><!-- doxytag: member="bm::gap_operation_func_type" ref="a8402de852093e5b23b5825f1974b9c12" args=")(const gap_word_t *BMRESTRICT, const gap_word_t *BMRESTRICT, gap_word_t *BMRESTRICT, unsigned &)" -->
782
<div class="memitem">
783
<div class="memproto">
784
<table class="memname">
786
<td class="memname">typedef <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a>*(* <a class="el" href="a00110.html#a8402de852093e5b23b5825f1974b9c12">bm::gap_operation_func_type</a>)(const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, unsigned &)</td>
792
<p>Definition at line <a class="el" href="a00090_source.html#l04769">4769</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
796
<a class="anchor" id="a18a8f03b151ca3a6d5e39e7709fb6c7c"></a><!-- doxytag: member="bm::gap_operation_to_bitset_func_type" ref="a18a8f03b151ca3a6d5e39e7709fb6c7c" args=")(unsigned *, const gap_word_t *)" -->
797
<div class="memitem">
798
<div class="memproto">
799
<table class="memname">
801
<td class="memname">typedef void(* <a class="el" href="a00110.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">bm::gap_operation_to_bitset_func_type</a>)(unsigned *, const <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td>
807
<p>Definition at line <a class="el" href="a00090_source.html#l04765">4765</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
811
<a class="anchor" id="ac654d6319039a86546d235a236fc7cf6"></a><!-- doxytag: member="bm::gap_word_t" ref="ac654d6319039a86546d235a236fc7cf6" args="" -->
812
<div class="memitem">
813
<div class="memproto">
814
<table class="memname">
816
<td class="memname">typedef unsigned short <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a></td>
822
<p>Definition at line <a class="el" href="a00088_source.html#l00068">68</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
826
<a class="anchor" id="a1f6a6dd108cd9e9f4fb284043ef518fe"></a><!-- doxytag: member="bm::id64_t" ref="a1f6a6dd108cd9e9f4fb284043ef518fe" args="" -->
827
<div class="memitem">
828
<div class="memproto">
829
<table class="memname">
831
<td class="memname">typedef unsigned long long <a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a></td>
837
<p>Definition at line <a class="el" href="a00088_source.html#l00038">38</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
841
<a class="anchor" id="aa3824d882a037396370b16f2f0a8bf37"></a><!-- doxytag: member="bm::id_t" ref="aa3824d882a037396370b16f2f0a8bf37" args="" -->
842
<div class="memitem">
843
<div class="memproto">
844
<table class="memname">
846
<td class="memname">typedef unsigned int <a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a></td>
852
<p>Definition at line <a class="el" href="a00088_source.html#l00042">42</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
856
<a class="anchor" id="ac77813f2c2dfe40575830ba6a8373bcc"></a><!-- doxytag: member="bm::mem_save_set" ref="ac77813f2c2dfe40575830ba6a8373bcc" args="" -->
857
<div class="memitem">
858
<div class="memproto">
859
<table class="memname">
861
<td class="memname">typedef <a class="el" href="a00074.html">bm::miniset</a><<a class="el" href="a00038.html">bm::block_allocator</a>, <a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a>> <a class="el" href="a00074.html">bm::mem_save_set</a></td>
867
<p>Definition at line <a class="el" href="a00084_source.html#l00093">93</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
871
<a class="anchor" id="ae64960202b691ae1b6efe5fec12cb5af"></a><!-- doxytag: member="bm::short_t" ref="ae64960202b691ae1b6efe5fec12cb5af" args="" -->
872
<div class="memitem">
873
<div class="memproto">
874
<table class="memname">
876
<td class="memname">typedef unsigned short <a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a></td>
882
<p>Definition at line <a class="el" href="a00088_source.html#l00044">44</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
886
<a class="anchor" id="a17fd5ba52db3ddda05e6f8dd5000a1a4"></a><!-- doxytag: member="bm::word_t" ref="a17fd5ba52db3ddda05e6f8dd5000a1a4" args="" -->
887
<div class="memitem">
888
<div class="memproto">
889
<table class="memname">
891
<td class="memname">typedef unsigned int <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a></td>
896
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a3">sample6.cpp</a>.</dd>
898
<p>Definition at line <a class="el" href="a00088_source.html#l00043">43</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
902
<a class="anchor" id="a7176bf7817550ca24cb6612bd8d7957d"></a><!-- doxytag: member="bm::wordop_t" ref="a7176bf7817550ca24cb6612bd8d7957d" args="" -->
903
<div class="memitem">
904
<div class="memproto">
905
<table class="memname">
907
<td class="memname">typedef <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> <a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a></td>
913
<p>Definition at line <a class="el" href="a00088_source.html#l00100">100</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
917
<hr/><h2>Enumeration Type Documentation</h2>
918
<a class="anchor" id="a577905b348676c2bc556b51793350dbb"></a><!-- doxytag: member="bm::ByteOrder" ref="a577905b348676c2bc556b51793350dbb" args="" -->
919
<div class="memitem">
920
<div class="memproto">
921
<table class="memname">
923
<td class="memname">enum <a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbb">bm::ByteOrder</a></td>
929
<p>Byte orders recognized by the library. </p>
930
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
931
<tr><td valign="top"><em><a class="anchor" id="a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2"></a><!-- doxytag: member="BigEndian" ref="a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2" args="" -->BigEndian</em> </td><td>
933
<tr><td valign="top"><em><a class="anchor" id="a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2"></a><!-- doxytag: member="LittleEndian" ref="a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2" args="" -->LittleEndian</em> </td><td>
939
<p>Definition at line <a class="el" href="a00090_source.html#l00362">362</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
943
<a class="anchor" id="a42405343976ec931388381cea4092bf1"></a><!-- doxytag: member="bm::operation" ref="a42405343976ec931388381cea4092bf1" args="" -->
944
<div class="memitem">
945
<div class="memproto">
946
<table class="memname">
948
<td class="memname">enum <a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1">bm::operation</a></td>
954
<p>Bit operations enumeration. </p>
955
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
956
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250"></a><!-- doxytag: member="BM_AND" ref="a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250" args="" -->BM_AND</em> </td><td>
958
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5"></a><!-- doxytag: member="BM_OR" ref="a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5" args="" -->BM_OR</em> </td><td>
960
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5"></a><!-- doxytag: member="BM_SUB" ref="a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5" args="" -->BM_SUB</em> </td><td>
962
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c"></a><!-- doxytag: member="BM_XOR" ref="a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c" args="" -->BM_XOR</em> </td><td>
968
<p>Definition at line <a class="el" href="a00090_source.html#l00239">239</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
972
<a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0"></a><!-- doxytag: member="bm::serialization_header_mask" ref="ab69f66b71d349b0757370f54318bb2c0" args="" -->
973
<div class="memitem">
974
<div class="memproto">
975
<table class="memname">
977
<td class="memname">enum <a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a></td>
982
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
983
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca"></a><!-- doxytag: member="BM_HM_DEFAULT" ref="ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca" args="" -->BM_HM_DEFAULT</em> </td><td>
985
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27"></a><!-- doxytag: member="BM_HM_RESIZE" ref="ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27" args="" -->BM_HM_RESIZE</em> </td><td>
986
<p>resized vector </p>
988
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47"></a><!-- doxytag: member="BM_HM_ID_LIST" ref="ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47" args="" -->BM_HM_ID_LIST</em> </td><td>
989
<p>id list stored </p>
991
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e"></a><!-- doxytag: member="BM_HM_NO_BO" ref="ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e" args="" -->BM_HM_NO_BO</em> </td><td>
992
<p>no byte-order </p>
994
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3"></a><!-- doxytag: member="BM_HM_NO_GAPL" ref="ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3" args="" -->BM_HM_NO_GAPL</em> </td><td>
995
<p>no GAP levels </p>
1001
<p>Definition at line <a class="el" href="a00092_source.html#l00095">95</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
1005
<a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109"></a><!-- doxytag: member="bm::set_operation" ref="a76b70d2b9182a6dcac151d1bd9ec6109" args="" -->
1006
<div class="memitem">
1007
<div class="memproto">
1008
<table class="memname">
1010
<td class="memname">enum <a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a></td>
1014
<div class="memdoc">
1016
<p>Nomenclature of set operations. </p>
1017
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
1018
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3"></a><!-- doxytag: member="set_AND" ref="a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3" args="" -->set_AND</em> </td><td>
1020
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780"></a><!-- doxytag: member="set_OR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780" args="" -->set_OR</em> </td><td>
1022
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769"></a><!-- doxytag: member="set_SUB" ref="a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769" args="" -->set_SUB</em> </td><td>
1024
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304"></a><!-- doxytag: member="set_XOR" ref="a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304" args="" -->set_XOR</em> </td><td>
1026
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788"></a><!-- doxytag: member="set_ASSIGN" ref="a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788" args="" -->set_ASSIGN</em> </td><td>
1028
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e"></a><!-- doxytag: member="set_COUNT" ref="a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e" args="" -->set_COUNT</em> </td><td>
1030
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959"></a><!-- doxytag: member="set_COUNT_AND" ref="a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959" args="" -->set_COUNT_AND</em> </td><td>
1032
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c"></a><!-- doxytag: member="set_COUNT_XOR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c" args="" -->set_COUNT_XOR</em> </td><td>
1034
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb"></a><!-- doxytag: member="set_COUNT_OR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb" args="" -->set_COUNT_OR</em> </td><td>
1036
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1"></a><!-- doxytag: member="set_COUNT_SUB_AB" ref="a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1" args="" -->set_COUNT_SUB_AB</em> </td><td>
1038
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b"></a><!-- doxytag: member="set_COUNT_SUB_BA" ref="a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b" args="" -->set_COUNT_SUB_BA</em> </td><td>
1040
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29"></a><!-- doxytag: member="set_COUNT_A" ref="a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29" args="" -->set_COUNT_A</em> </td><td>
1042
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617"></a><!-- doxytag: member="set_COUNT_B" ref="a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617" args="" -->set_COUNT_B</em> </td><td>
1044
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c"></a><!-- doxytag: member="set_END" ref="a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c" args="" -->set_END</em> </td><td>
1050
<p>Definition at line <a class="el" href="a00090_source.html#l00210">210</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
44
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a80085d7c877f4c6f36d10c67dc163845">Print</a> (unsigned n)</td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
1054
47
<hr/><h2>Function Documentation</h2>
1055
<a class="anchor" id="ae081940471455763a912a94783833316"></a><!-- doxytag: member="bm::and_op" ref="ae081940471455763a912a94783833316" args="(unsigned v1, unsigned v2)" -->
1056
<div class="memitem">
1057
<div class="memproto">
1058
<table class="memname">
1060
<td class="memname">unsigned bm::and_op </td>
1062
<td class="paramtype">unsigned </td>
1063
<td class="paramname"> <em>v1</em>, </td>
1066
<td class="paramkey"></td>
1068
<td class="paramtype">unsigned </td>
1069
<td class="paramname"> <em>v2</em></td><td> </td>
1074
<td></td><td></td><td><code> [inline]</code></td>
1078
<div class="memdoc">
1080
<p>GAP and functor. </p>
1082
<p>Definition at line <a class="el" href="a00090_source.html#l02883">2883</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1084
<p>Referenced by <a class="el" href="a00090_source.html#l02912">gap_operation_and()</a>, <a class="el" href="a00090_source.html#l02935">gap_operation_any_and()</a>, <a class="el" href="a00090_source.html#l03062">gap_operation_any_sub()</a>, <a class="el" href="a00090_source.html#l03008">gap_operation_or()</a>, and <a class="el" href="a00090_source.html#l03038">gap_operation_sub()</a>.</p>
1088
<a class="anchor" id="adfae226f696ef821c7d351216c00fe0d"></a><!-- doxytag: member="bm::bit_iblock_pcv_stat" ref="adfae226f696ef821c7d351216c00fe0d" args="(const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)" -->
1089
<div class="memitem">
1090
<div class="memproto">
1091
<table class="memname">
1093
<td class="memname">void bm::bit_iblock_pcv_stat </td>
1095
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1096
<td class="paramname"> <em>pc_vector</em>, </td>
1099
<td class="paramkey"></td>
1101
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1102
<td class="paramname"> <em>pc_vector_end</em>, </td>
1105
<td class="paramkey"></td>
1107
<td class="paramtype">unsigned *BMRESTRICT </td>
1108
<td class="paramname"> <em>pc_vector_stat</em></td><td> </td>
1113
<td></td><td></td><td><code> [inline]</code></td>
1117
<div class="memdoc">
1119
<p>Compute number of ibpc codes in pc_vector. </p>
1121
<p>Definition at line <a class="el" href="a00096_source.html#l00457">457</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
1123
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>.</p>
1127
<a class="anchor" id="a62808b64adfcf2a7e610a4f713f470c0"></a><!-- doxytag: member="bm::bit_iblock_reduce" ref="a62808b64adfcf2a7e610a4f713f470c0" args="(const unsigned tmatrix[bm::set_block_plain_cnt][bm::set_block_plain_size], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[bm::set_block_plain_cnt][bm::set_block_plain_size])" -->
1128
<div class="memitem">
1129
<div class="memproto">
1130
<table class="memname">
1132
<td class="memname">void bm::bit_iblock_reduce </td>
1134
<td class="paramtype">const unsigned </td>
1135
<td class="paramname"> <em>tmatrix</em>[bm::set_block_plain_cnt][bm::set_block_plain_size], </td>
1138
<td class="paramkey"></td>
1140
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1141
<td class="paramname"> <em>pc_vector</em>, </td>
1144
<td class="paramkey"></td>
1146
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1147
<td class="paramname"> <em>pc_vector_end</em>, </td>
1150
<td class="paramkey"></td>
1152
<td class="paramtype">unsigned </td>
1153
<td class="paramname"> <em>tmatrix_out</em>[bm::set_block_plain_cnt][bm::set_block_plain_size]</td><td> </td>
1158
<td></td><td></td><td><code> [inline]</code></td>
1162
<div class="memdoc">
1164
<p>Matrix reduction based on transformation pc vector. </p>
1166
<p>Definition at line <a class="el" href="a00096_source.html#l00478">478</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
1168
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00096_source.html#l00377">ibpc_all_one</a>, <a class="el" href="a00096_source.html#l00376">ibpc_all_zero</a>, <a class="el" href="a00096_source.html#l00379">ibpc_close</a>, <a class="el" href="a00096_source.html#l00378">ibpc_equiv</a>, and <a class="el" href="a00096_source.html#l00375">ibpc_uncompr</a>.</p>
1172
<a class="anchor" id="a503fecc0ee281059897412d68f489e1e"></a><!-- doxytag: member="bm::bit_recomb" ref="a503fecc0ee281059897412d68f489e1e" args="(It1 &it1, It2 &it2, BinaryOp &op, Encoder &enc, unsigned block_size=bm::set_block_size)" -->
1173
<div class="memitem">
1174
<div class="memproto">
1175
<div class="memtemplate">
1176
template<class It1 , class It2 , class BinaryOp , class Encoder > </div>
1177
<table class="memname">
1179
<td class="memname">void bm::bit_recomb </td>
1181
<td class="paramtype">It1 & </td>
1182
<td class="paramname"> <em>it1</em>, </td>
1185
<td class="paramkey"></td>
1187
<td class="paramtype">It2 & </td>
1188
<td class="paramname"> <em>it2</em>, </td>
1191
<td class="paramkey"></td>
1193
<td class="paramtype">BinaryOp & </td>
1194
<td class="paramname"> <em>op</em>, </td>
1197
<td class="paramkey"></td>
1199
<td class="paramtype">Encoder & </td>
1200
<td class="paramname"> <em>enc</em>, </td>
1203
<td class="paramkey"></td>
1205
<td class="paramtype">unsigned </td>
1206
<td class="paramname"> <em>block_size</em> = <code><a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></code></td><td> </td>
1211
<td></td><td></td><td><code> [inline]</code></td>
1215
<div class="memdoc">
1216
<p>Abstract recombination algorithm for two bit-blocks Bit blocks can come as dserialization decoders or bit-streams </p>
1218
<p>Definition at line <a class="el" href="a00090_source.html#l04631">4631</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1220
<p>Referenced by <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, and <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>.</p>
1224
<a class="anchor" id="a7267df2bcc9c575c50dd1c68589c6ac1"></a><!-- doxytag: member="bm::bit_scan_fwd" ref="a7267df2bcc9c575c50dd1c68589c6ac1" args="(T v)" -->
1225
<div class="memitem">
1226
<div class="memproto">
1227
<div class="memtemplate">
1228
template<typename T > </div>
1229
<table class="memname">
1231
<td class="memname">T bm::bit_scan_fwd </td>
1233
<td class="paramtype">T </td>
1234
<td class="paramname"> <em>v</em></td>
1235
<td> ) </td>
1236
<td><code> [inline]</code></td>
1240
<div class="memdoc">
1242
<p>Definition at line <a class="el" href="a00098_source.html#l00054">54</a> of file <a class="el" href="a00098_source.html">bmutil.h</a>.</p>
1244
<p>Referenced by <a class="el" href="a00100_source.html#l00343">bm::bit_in< TDecoder >::gamma()</a>.</p>
1248
<a class="anchor" id="a86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><!-- doxytag: member="bm::block_range_scan" ref="a86d5d5ccdb79d2b2ad552bd1caf34b2f" args="(It first, It last, unsigned nblock, unsigned *max_id)" -->
1249
<div class="memitem">
1250
<div class="memproto">
1251
<div class="memtemplate">
1252
template<class It > </div>
1253
<table class="memname">
1255
<td class="memname">It bm::block_range_scan </td>
1257
<td class="paramtype">It </td>
1258
<td class="paramname"> <em>first</em>, </td>
1261
<td class="paramkey"></td>
1263
<td class="paramtype">It </td>
1264
<td class="paramname"> <em>last</em>, </td>
1267
<td class="paramkey"></td>
1269
<td class="paramtype">unsigned </td>
1270
<td class="paramname"> <em>nblock</em>, </td>
1273
<td class="paramkey"></td>
1275
<td class="paramtype">unsigned * </td>
1276
<td class="paramname"> <em>max_id</em></td><td> </td>
1281
<td></td><td></td><td><code> [inline]</code></td>
1285
<div class="memdoc">
1287
<p>Internal algorithms scans the input for the block range limit. </p>
1289
<p>Definition at line <a class="el" href="a00086_source.html#l01075">1075</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1291
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00088_source.html#l00048">id_max</a>, and <a class="el" href="a00088_source.html#l00053">set_block_shift</a>.</p>
1293
<p>Referenced by <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, and <a class="el" href="a00086_source.html#l01184">combine_xor()</a>.</p>
1297
<a class="anchor" id="abf587377ca70f11b8eb75f95494830b5"></a><!-- doxytag: member="bm::bmfor_each" ref="abf587377ca70f11b8eb75f95494830b5" args="(T first, T last, F f)" -->
1298
<div class="memitem">
1299
<div class="memproto">
1300
<div class="memtemplate">
1301
template<class T , class F > </div>
1302
<table class="memname">
1304
<td class="memname">F bm::bmfor_each </td>
1306
<td class="paramtype">T </td>
1307
<td class="paramname"> <em>first</em>, </td>
1310
<td class="paramkey"></td>
1312
<td class="paramtype">T </td>
1313
<td class="paramname"> <em>last</em>, </td>
1316
<td class="paramkey"></td>
1318
<td class="paramtype">F </td>
1319
<td class="paramname"> <em>f</em></td><td> </td>
1324
<td></td><td></td><td><code> [inline]</code></td>
1328
<div class="memdoc">
1329
<p>Special BM optimized analog of STL for_each </p>
1331
<p>Definition at line <a class="el" href="a00090_source.html#l00586">586</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1335
<a class="anchor" id="a093f2dadce40f42a184928c9d1456592"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="a093f2dadce40f42a184928c9d1456592" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
1336
<div class="memitem">
1337
<div class="memproto">
1338
<table class="memname">
1340
<td class="memname">unsigned bm::combine_any_operation_with_block </td>
1342
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1343
<td class="paramname"> <em>blk</em>, </td>
1346
<td class="paramkey"></td>
1348
<td class="paramtype">unsigned </td>
1349
<td class="paramname"> <em>gap</em>, </td>
1352
<td class="paramkey"></td>
1354
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1355
<td class="paramname"> <em>arg_blk</em>, </td>
1358
<td class="paramkey"></td>
1360
<td class="paramtype">int </td>
1361
<td class="paramname"> <em>arg_gap</em>, </td>
1364
<td class="paramkey"></td>
1366
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1367
<td class="paramname"> <em>temp_blk</em>, </td>
1370
<td class="paramkey"></td>
1372
<td class="paramtype">distance_metric </td>
1373
<td class="paramname"> <em>metric</em></td><td> </td>
1378
<td></td><td></td><td><code> [inline]</code></td>
1382
<div class="memdoc">
1383
<p>Convenience internal function to compute combine any for one metric </p>
1385
<p>Definition at line <a class="el" href="a00086_source.html#l00619">619</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1387
<p>References <a class="el" href="a00086_source.html#l00343">combine_any_operation_with_block()</a>, and <a class="el" href="a00086_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1391
<a class="anchor" id="a24069ced9ea689034ff51246ae707ecc"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="a24069ced9ea689034ff51246ae707ecc" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
1392
<div class="memitem">
1393
<div class="memproto">
1394
<table class="memname">
1396
<td class="memname">void bm::combine_any_operation_with_block </td>
1398
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1399
<td class="paramname"> <em>blk</em>, </td>
1402
<td class="paramkey"></td>
1404
<td class="paramtype">unsigned </td>
1405
<td class="paramname"> <em>gap</em>, </td>
1408
<td class="paramkey"></td>
1410
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1411
<td class="paramname"> <em>arg_blk</em>, </td>
1414
<td class="paramkey"></td>
1416
<td class="paramtype">int </td>
1417
<td class="paramname"> <em>arg_gap</em>, </td>
1420
<td class="paramkey"></td>
1422
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1423
<td class="paramname"> <em>temp_blk</em>, </td>
1426
<td class="paramkey"></td>
1428
<td class="paramtype">distance_metric_descriptor * </td>
1429
<td class="paramname"> <em>dmit</em>, </td>
1432
<td class="paramkey"></td>
1434
<td class="paramtype">distance_metric_descriptor * </td>
1435
<td class="paramname"> <em>dmit_end</em></td><td> </td>
1440
<td></td><td></td><td><code> [inline]</code></td>
1444
<div class="memdoc">
1446
<p>Internal function computes different existense of distance metric. </p>
1448
<p>Definition at line <a class="el" href="a00086_source.html#l00343">343</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1450
<p>References <a class="el" href="a00090_source.html#l02863">bit_is_all_zero()</a>, <a class="el" href="a00090_source.html#l03487">bit_operation_and_any()</a>, <a class="el" href="a00090_source.html#l03625">bit_operation_or_any()</a>, <a class="el" href="a00090_source.html#l03563">bit_operation_sub_any()</a>, <a class="el" href="a00090_source.html#l03952">bit_operation_xor_any()</a>, <a class="el" href="a00089_source.html#l00092">BMGAP_PTR</a>, <a class="el" href="a00086_source.html#l00060">COUNT_A</a>, <a class="el" href="a00086_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00086_source.html#l00061">COUNT_B</a>, <a class="el" href="a00086_source.html#l00057">COUNT_OR</a>, <a class="el" href="a00086_source.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00086_source.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00086_source.html#l00056">COUNT_XOR</a>, <a class="el" href="a00090_source.html#l01596">gap_bitset_and_any()</a>, <a class="el" href="a00090_source.html#l01834">gap_bitset_or_any()</a>, <a class="el" href="a00090_source.html#l01668">gap_bitset_sub_any()</a>, <a class="el" href="a00090_source.html#l01744">gap_bitset_xor_any()</a>, <a class="el" href="a00090_source.html#l01903">gap_convert_to_bitset()</a>, <a class="el" href="a00090_source.html#l02096">gap_is_all_zero()</a>, <a class="el" href="a00088_source.html#l00071">gap_max_bits</a>, <a class="el" href="a00088_source.html#l00070">gap_max_buff_len</a>, <a class="el" href="a00090_source.html#l02935">gap_operation_any_and()</a>, <a class="el" href="a00090_source.html#l03062">gap_operation_any_sub()</a>, <a class="el" href="a00090_source.html#l02983">gap_operation_any_xor()</a>, <a class="el" href="a00090_source.html#l03008">gap_operation_or()</a>, <a class="el" href="a00086_source.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00086_source.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00088_source.html#l00052">set_block_size</a>.</p>
1452
<p>Referenced by <a class="el" href="a00086_source.html#l00619">combine_any_operation_with_block()</a>, and <a class="el" href="a00086_source.html#l00807">distance_operation_any()</a>.</p>
1456
<a class="anchor" id="a2f81b8ce3d389973b4f867b0fcc98e7a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="a2f81b8ce3d389973b4f867b0fcc98e7a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
1457
<div class="memitem">
1458
<div class="memproto">
1459
<table class="memname">
1461
<td class="memname">unsigned bm::combine_count_operation_with_block </td>
1463
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1464
<td class="paramname"> <em>blk</em>, </td>
1467
<td class="paramkey"></td>
1469
<td class="paramtype">unsigned </td>
1470
<td class="paramname"> <em>gap</em>, </td>
1473
<td class="paramkey"></td>
1475
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1476
<td class="paramname"> <em>arg_blk</em>, </td>
1479
<td class="paramkey"></td>
1481
<td class="paramtype">int </td>
1482
<td class="paramname"> <em>arg_gap</em>, </td>
1485
<td class="paramkey"></td>
1487
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1488
<td class="paramname"> <em>temp_blk</em>, </td>
1491
<td class="paramkey"></td>
1493
<td class="paramtype">distance_metric </td>
1494
<td class="paramname"> <em>metric</em></td><td> </td>
1499
<td></td><td></td><td><code> [inline]</code></td>
1503
<div class="memdoc">
1504
<p>Convenience internal function to compute combine count for one metric </p>
1506
<p>Definition at line <a class="el" href="a00086_source.html#l00597">597</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1508
<p>References <a class="el" href="a00086_source.html#l00114">combine_count_operation_with_block()</a>, and <a class="el" href="a00086_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1512
<a class="anchor" id="abecd5b24d5e394fd46a9db514cfa659a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="abecd5b24d5e394fd46a9db514cfa659a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
1513
<div class="memitem">
1514
<div class="memproto">
1515
<table class="memname">
1517
<td class="memname">void bm::combine_count_operation_with_block </td>
1519
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1520
<td class="paramname"> <em>blk</em>, </td>
1523
<td class="paramkey"></td>
1525
<td class="paramtype">unsigned </td>
1526
<td class="paramname"> <em>gap</em>, </td>
1529
<td class="paramkey"></td>
1531
<td class="paramtype">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1532
<td class="paramname"> <em>arg_blk</em>, </td>
1535
<td class="paramkey"></td>
1537
<td class="paramtype">int </td>
1538
<td class="paramname"> <em>arg_gap</em>, </td>
1541
<td class="paramkey"></td>
1543
<td class="paramtype"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1544
<td class="paramname"> <em>temp_blk</em>, </td>
1547
<td class="paramkey"></td>
1549
<td class="paramtype">distance_metric_descriptor * </td>
1550
<td class="paramname"> <em>dmit</em>, </td>
1553
<td class="paramkey"></td>
1555
<td class="paramtype">distance_metric_descriptor * </td>
1556
<td class="paramname"> <em>dmit_end</em></td><td> </td>
1561
<td></td><td></td><td><code> [inline]</code></td>
1565
<div class="memdoc">
1567
<p>Internal function computes different distance metrics. </p>
1569
<p>Definition at line <a class="el" href="a00086_source.html#l00114">114</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1571
<p>References <a class="el" href="a00090_source.html#l02470">bit_block_calc_count()</a>, <a class="el" href="a00090_source.html#l04803">bm::operation_functions< T >::bit_operation_count()</a>, <a class="el" href="a00090_source.html#l03512">bit_operation_sub_count()</a>, <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00089_source.html#l00092">BMGAP_PTR</a>, <a class="el" href="a00086_source.html#l00060">COUNT_A</a>, <a class="el" href="a00086_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00086_source.html#l00061">COUNT_B</a>, <a class="el" href="a00086_source.html#l00057">COUNT_OR</a>, <a class="el" href="a00086_source.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00086_source.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00086_source.html#l00056">COUNT_XOR</a>, <a class="el" href="a00090_source.html#l00618">gap_bit_count()</a>, <a class="el" href="a00090_source.html#l01560">gap_bitset_and_count()</a>, <a class="el" href="a00090_source.html#l01787">gap_bitset_or_count()</a>, <a class="el" href="a00090_source.html#l01635">gap_bitset_sub_count()</a>, <a class="el" href="a00090_source.html#l01706">gap_bitset_xor_count()</a>, <a class="el" href="a00090_source.html#l01903">gap_convert_to_bitset()</a>, <a class="el" href="a00088_source.html#l00072">gap_equiv_len</a>, <a class="el" href="a00090_source.html#l02912">gap_operation_and()</a>, <a class="el" href="a00090_source.html#l03008">gap_operation_or()</a>, <a class="el" href="a00090_source.html#l03038">gap_operation_sub()</a>, <a class="el" href="a00090_source.html#l02959">gap_operation_xor()</a>, <a class="el" href="a00086_source.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00086_source.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00088_source.html#l00052">set_block_size</a>.</p>
1573
<p>Referenced by <a class="el" href="a00086_source.html#l00597">combine_count_operation_with_block()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, and <a class="el" href="a00086_source.html#l00688">distance_operation()</a>.</p>
1577
<a class="anchor" id="a528894002dcd8edda28c8fb2b0aa8c64"></a><!-- doxytag: member="bm::dgap_2_gap" ref="a528894002dcd8edda28c8fb2b0aa8c64" args="(const T *dgap_buf, T *gap_buf, T gap_header=0)" -->
1578
<div class="memitem">
1579
<div class="memproto">
1580
<div class="memtemplate">
1581
template<typename T > </div>
1582
<table class="memname">
1584
<td class="memname">void bm::dgap_2_gap </td>
1586
<td class="paramtype">const T * </td>
1587
<td class="paramname"> <em>dgap_buf</em>, </td>
1590
<td class="paramkey"></td>
1592
<td class="paramtype">T * </td>
1593
<td class="paramname"> <em>gap_buf</em>, </td>
1596
<td class="paramkey"></td>
1598
<td class="paramtype">T </td>
1599
<td class="paramname"> <em>gap_header</em> = <code>0</code></td><td> </td>
1604
<td></td><td></td><td><code> [inline]</code></td>
1608
<div class="memdoc">
1610
<p>Convert D-GAP buffer into GAP buffer. </p>
1611
<p>GAP representation is GAP[N] = DGAP[N] + DGAP[N-1]</p>
1612
<dl><dt><b>Parameters:</b></dt><dd>
1613
<table border="0" cellspacing="2" cellpadding="0">
1614
<tr><td valign="top"></td><td valign="top"><em>dgap_buf</em> </td><td>- Delta-GAP buffer </td></tr>
1615
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
1620
<p>Definition at line <a class="el" href="a00090_source.html#l00766">766</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1624
<a class="anchor" id="ad47cf2dce876dcbc25aef4c7a222c66f"></a><!-- doxytag: member="bm::distance_stage" ref="ad47cf2dce876dcbc25aef4c7a222c66f" args="(const BV &bv1, const distance_metric_descriptor *dmit, const distance_metric_descriptor *dmit_end, bool *is_all_and)" -->
1625
<div class="memitem">
1626
<div class="memproto">
1627
<div class="memtemplate">
1628
template<class BV > </div>
1629
<table class="memname">
1631
<td class="memname"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>* bm::distance_stage </td>
1633
<td class="paramtype">const BV & </td>
1634
<td class="paramname"> <em>bv1</em>, </td>
1637
<td class="paramkey"></td>
1639
<td class="paramtype">const distance_metric_descriptor * </td>
1640
<td class="paramname"> <em>dmit</em>, </td>
1643
<td class="paramkey"></td>
1645
<td class="paramtype">const distance_metric_descriptor * </td>
1646
<td class="paramname"> <em>dmit_end</em>, </td>
1649
<td class="paramkey"></td>
1651
<td class="paramtype">bool * </td>
1652
<td class="paramname"> <em>is_all_and</em></td><td> </td>
1657
<td></td><td></td><td><code> [inline]</code></td>
1661
<div class="memdoc">
1663
<p>Staging function for distance operation. </p>
1664
<dl class="return"><dt><b>Returns:</b></dt><dd>temp block allocated (or NULL) </dd></dl>
1666
<p>Definition at line <a class="el" href="a00086_source.html#l00642">642</a> of file <a class="el" href="a00086_source.html">bmalgo_impl.h</a>.</p>
1668
<p>References <a class="el" href="a00086_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00086_source.html#l00058">COUNT_SUB_AB</a>, and <a class="el" href="a00086_source.html#l00059">COUNT_SUB_BA</a>.</p>
1670
<p>Referenced by <a class="el" href="a00086_source.html#l00688">distance_operation()</a>, and <a class="el" href="a00086_source.html#l00807">distance_operation_any()</a>.</p>
1674
<a class="anchor" id="af92597461aff2926f9adcbf51bac98f9"></a><!-- doxytag: member="bm::find_effective_columns" ref="af92597461aff2926f9adcbf51bac98f9" args="(const TM &tmatrix)" -->
1675
<div class="memitem">
1676
<div class="memproto">
1677
<div class="memtemplate">
1678
template<typename TM > </div>
1679
<table class="memname">
1681
<td class="memname">unsigned bm::find_effective_columns </td>
1683
<td class="paramtype">const TM & </td>
1684
<td class="paramname"> <em>tmatrix</em></td>
1685
<td> ) </td>
1686
<td><code> [inline]</code></td>
1690
<div class="memdoc">
1692
<p>Compute effective right column border of the t-matrix. </p>
1694
<p>Definition at line <a class="el" href="a00096_source.html#l00557">557</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
1696
<p>Referenced by <a class="el" href="a00096_source.html#l00602">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
1700
<a class="anchor" id="a86742a3e17527be5a9743f26b36a7691"></a><!-- doxytag: member="bm::for_each_block" ref="a86742a3e17527be5a9743f26b36a7691" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
1701
<div class="memitem">
1702
<div class="memproto">
1703
<div class="memtemplate">
1704
template<class T , class F > </div>
1705
<table class="memname">
1707
<td class="memname">void bm::for_each_block </td>
1709
<td class="paramtype">T *** </td>
1710
<td class="paramname"> <em>root</em>, </td>
1713
<td class="paramkey"></td>
1715
<td class="paramtype">unsigned </td>
1716
<td class="paramname"> <em>size1</em>, </td>
1719
<td class="paramkey"></td>
1721
<td class="paramtype">unsigned </td>
1722
<td class="paramname"> <em>size2</em>, </td>
1725
<td class="paramkey"></td>
1727
<td class="paramtype">F & </td>
1728
<td class="paramname"> <em>f</em></td><td> </td>
1733
<td></td><td></td><td><code> [inline]</code></td>
1737
<div class="memdoc">
1738
<p>For each block executes supplied function. </p>
1740
<p>Definition at line <a class="el" href="a00090_source.html#l00557">557</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1742
<p>Referenced by <a class="el" href="a00086_source.html#l01405">count_intervals()</a>, and <a class="el" href="a00084_source.html#l01775">bm::bvector< Alloc, MS >::invert()</a>.</p>
1746
<a class="anchor" id="a6a7bfe8af49ed785f0e96c7ca37a2155"></a><!-- doxytag: member="bm::for_each_dgap" ref="a6a7bfe8af49ed785f0e96c7ca37a2155" args="(const T *gap_buf, Func &func)" -->
1747
<div class="memitem">
1748
<div class="memproto">
1749
<div class="memtemplate">
1750
template<class T , class Func > </div>
1751
<table class="memname">
1753
<td class="memname">void bm::for_each_dgap </td>
1755
<td class="paramtype">const T * </td>
1756
<td class="paramname"> <em>gap_buf</em>, </td>
1759
<td class="paramkey"></td>
1761
<td class="paramtype">Func & </td>
1762
<td class="paramname"> <em>func</em></td><td> </td>
1767
<td></td><td></td><td><code> [inline]</code></td>
1771
<div class="memdoc">
1772
<p>D-GAP block for_each algorithm</p>
1773
<p>D-Gap Functor is called for each element but last one.</p>
1774
<dl><dt><b>Parameters:</b></dt><dd>
1775
<table border="0" cellspacing="2" cellpadding="0">
1776
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
1781
<p>Definition at line <a class="el" href="a00090_source.html#l00701">701</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1783
<p>Referenced by <a class="el" href="a00092_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>.</p>
1787
<a class="anchor" id="ae8b342c25dc22d6cd26cb96d7ae796db"></a><!-- doxytag: member="bm::for_each_nzblock" ref="ae8b342c25dc22d6cd26cb96d7ae796db" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
1788
<div class="memitem">
1789
<div class="memproto">
1790
<div class="memtemplate">
1791
template<class T , class F > </div>
1792
<table class="memname">
1794
<td class="memname">void bm::for_each_nzblock </td>
1796
<td class="paramtype">T *** </td>
1797
<td class="paramname"> <em>root</em>, </td>
1800
<td class="paramkey"></td>
1802
<td class="paramtype">unsigned </td>
1803
<td class="paramname"> <em>size1</em>, </td>
1806
<td class="paramkey"></td>
1808
<td class="paramtype">unsigned </td>
1809
<td class="paramname"> <em>size2</em>, </td>
1812
<td class="paramkey"></td>
1814
<td class="paramtype">F & </td>
1815
<td class="paramname"> <em>f</em></td><td> </td>
1820
<td></td><td></td><td><code> [inline]</code></td>
1824
<div class="memdoc">
1825
<p>For each non-zero block executes supplied function. </p>
1827
<p>Definition at line <a class="el" href="a00090_source.html#l00492">492</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1829
<p>Referenced by <a class="el" href="a00084_source.html#l01641">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00084_source.html#l01099">bm::bvector< Alloc, MS >::count_blocks()</a>, <a class="el" href="a00084_source.html#l01833">bm::bvector< Alloc, MS >::optimize()</a>, and <a class="el" href="a00084_source.html#l01896">bm::bvector< Alloc, MS >::set_gap_levels()</a>.</p>
1833
<a class="anchor" id="a6f5cb8cbb105eae84d4b0f8a3bc1230f"></a><!-- doxytag: member="bm::for_each_nzblock_if" ref="a6f5cb8cbb105eae84d4b0f8a3bc1230f" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
1834
<div class="memitem">
1835
<div class="memproto">
1836
<div class="memtemplate">
1837
template<class T , class F > </div>
1838
<table class="memname">
1840
<td class="memname">bool bm::for_each_nzblock_if </td>
1842
<td class="paramtype">T *** </td>
1843
<td class="paramname"> <em>root</em>, </td>
1846
<td class="paramkey"></td>
1848
<td class="paramtype">unsigned </td>
1849
<td class="paramname"> <em>size1</em>, </td>
1852
<td class="paramkey"></td>
1854
<td class="paramtype">unsigned </td>
1855
<td class="paramname"> <em>size2</em>, </td>
1858
<td class="paramkey"></td>
1860
<td class="paramtype">F & </td>
1861
<td class="paramname"> <em>f</em></td><td> </td>
1866
<td></td><td></td><td><code> [inline]</code></td>
1870
<div class="memdoc">
1871
<p>For each non-zero block executes supplied function-predicate. Function returns if function-predicate returns true </p>
1873
<p>Definition at line <a class="el" href="a00090_source.html#l00532">532</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1875
<p>References <a class="el" href="a00088_source.html#l00080">set_array_size</a>.</p>
1877
<p>Referenced by <a class="el" href="a00084_source.html#l01167">bm::bvector< Alloc, MS >::any()</a>.</p>
1881
<a class="anchor" id="a76724fb233f93c15146641482311ce28"></a><!-- doxytag: member="bm::gap_2_bitblock" ref="a76724fb233f93c15146641482311ce28" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)" -->
1882
<div class="memitem">
1883
<div class="memproto">
1884
<div class="memtemplate">
1885
template<typename GT , typename BT > </div>
1886
<table class="memname">
1888
<td class="memname">void bm::gap_2_bitblock </td>
1890
<td class="paramtype">const GT *BMRESTRICT </td>
1891
<td class="paramname"> <em>gap_buf</em>, </td>
1894
<td class="paramkey"></td>
1896
<td class="paramtype">BT *BMRESTRICT </td>
1897
<td class="paramname"> <em>block</em>, </td>
1900
<td class="paramkey"></td>
1902
<td class="paramtype">unsigned </td>
1903
<td class="paramname"> <em>block_size</em></td><td> </td>
1908
<td></td><td></td><td><code> [inline]</code></td>
1912
<div class="memdoc">
1914
<p>Copy GAP block body to bit block with DGap transformation. </p>
1916
<p>Definition at line <a class="el" href="a00096_source.html#l00535">535</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
1918
<p>Referenced by <a class="el" href="a00096_source.html#l00602">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
1922
<a class="anchor" id="afa6ea0cce0cdd88738a01fad393376b3"></a><!-- doxytag: member="bm::gap_2_dgap" ref="afa6ea0cce0cdd88738a01fad393376b3" args="(const T *gap_buf, T *dgap_buf, bool copy_head=true)" -->
1923
<div class="memitem">
1924
<div class="memproto">
1925
<div class="memtemplate">
1926
template<typename T > </div>
1927
<table class="memname">
1929
<td class="memname">T* bm::gap_2_dgap </td>
1931
<td class="paramtype">const T * </td>
1932
<td class="paramname"> <em>gap_buf</em>, </td>
1935
<td class="paramkey"></td>
1937
<td class="paramtype">T * </td>
1938
<td class="paramname"> <em>dgap_buf</em>, </td>
1941
<td class="paramkey"></td>
1943
<td class="paramtype">bool </td>
1944
<td class="paramname"> <em>copy_head</em> = <code>true</code></td><td> </td>
1949
<td></td><td></td><td><code> [inline]</code></td>
1953
<div class="memdoc">
1955
<p>Convert GAP buffer into D-GAP buffer. </p>
1956
<p>Delta GAP representation is DGAP[N] = GAP[N] - GAP[N-1]</p>
1957
<dl><dt><b>Parameters:</b></dt><dd>
1958
<table border="0" cellspacing="2" cellpadding="0">
1959
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
1960
<tr><td valign="top"></td><td valign="top"><em>dgap_buf</em> </td><td>- Delta-GAP buffer </td></tr>
1961
<tr><td valign="top"></td><td valign="top"><em>copy_head</em> </td><td>- flag to copy GAP header </td></tr>
1966
<p>Definition at line <a class="el" href="a00090_source.html#l00742">742</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
1968
<p>References <a class="el" href="a00090_source.html#l00725">bm::d_copy_func< T >::dgap_buf_</a>.</p>
1972
<a class="anchor" id="acebed8b533c2c9e17167617501477693"></a><!-- doxytag: member="bm::gap_bfind" ref="acebed8b533c2c9e17167617501477693" args="(const T *buf, unsigned pos, unsigned *is_set)" -->
1973
<div class="memitem">
1974
<div class="memproto">
1975
<div class="memtemplate">
1976
template<typename T > </div>
1977
<table class="memname">
1979
<td class="memname">unsigned bm::gap_bfind </td>
1981
<td class="paramtype">const T * </td>
1982
<td class="paramname"> <em>buf</em>, </td>
1985
<td class="paramkey"></td>
1987
<td class="paramtype">unsigned </td>
1988
<td class="paramname"> <em>pos</em>, </td>
1991
<td class="paramkey"></td>
1993
<td class="paramtype">unsigned * </td>
1994
<td class="paramname"> <em>is_set</em></td><td> </td>
1999
<td></td><td></td><td><code> [inline]</code></td>
2003
<div class="memdoc">
2005
<p>Definition at line <a class="el" href="a00090_source.html#l00426">426</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2007
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, and <a class="el" href="a00088_source.html#l00071">gap_max_bits</a>.</p>
2009
<p>Referenced by <a class="el" href="a00090_source.html#l00654">gap_bit_count_range()</a>, <a class="el" href="a00090_source.html#l01190">gap_find_in_block()</a>, and <a class="el" href="a00090_source.html#l01098">gap_set_value()</a>.</p>
2013
<a class="anchor" id="a7324ebded429e15361f62117a2ff18d1"></a><!-- doxytag: member="bm::gap_bit_count_range" ref="a7324ebded429e15361f62117a2ff18d1" args="(const T *buf, T left, T right)" -->
2014
<div class="memitem">
2015
<div class="memproto">
2016
<div class="memtemplate">
2017
template<typename T > </div>
2018
<table class="memname">
2020
<td class="memname">unsigned bm::gap_bit_count_range </td>
2022
<td class="paramtype">const T * </td>
2023
<td class="paramname"> <em>buf</em>, </td>
2026
<td class="paramkey"></td>
2028
<td class="paramtype">T </td>
2029
<td class="paramname"> <em>left</em>, </td>
2032
<td class="paramkey"></td>
2034
<td class="paramtype">T </td>
2035
<td class="paramname"> <em>right</em></td><td> </td>
2040
<td></td><td></td><td><code> [inline]</code></td>
2044
<div class="memdoc">
2046
<p>Counts 1 bits in GAP buffer in the closed [left, right] diapason. </p>
2047
<dl><dt><b>Parameters:</b></dt><dd>
2048
<table border="0" cellspacing="2" cellpadding="0">
2049
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>- GAP buffer pointer. </td></tr>
2050
<tr><td valign="top"></td><td valign="top"><em>left</em> </td><td>- leftmost bit index to start from </td></tr>
2051
<tr><td valign="top"></td><td valign="top"><em>right-</em> </td><td>rightmost bit index </td></tr>
2055
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of non-zero bits. </dd></dl>
2057
<p>Definition at line <a class="el" href="a00090_source.html#l00654">654</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2059
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, and <a class="el" href="a00090_source.html#l00426">gap_bfind()</a>.</p>
2061
<p>Referenced by <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>.</p>
2065
<a class="anchor" id="aac0daaac2b5a7c88e6be726c77f52c68"></a><!-- doxytag: member="bm::gap_buff_op" ref="aac0daaac2b5a7c88e6be726c77f52c68" args="(T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F &f, unsigned &dlen)" -->
2066
<div class="memitem">
2067
<div class="memproto">
2068
<div class="memtemplate">
2069
template<typename T , class F > </div>
2070
<table class="memname">
2072
<td class="memname">void bm::gap_buff_op </td>
2074
<td class="paramtype">T *BMRESTRICT </td>
2075
<td class="paramname"> <em>dest</em>, </td>
2078
<td class="paramkey"></td>
2080
<td class="paramtype">const T *BMRESTRICT </td>
2081
<td class="paramname"> <em>vect1</em>, </td>
2084
<td class="paramkey"></td>
2086
<td class="paramtype">unsigned </td>
2087
<td class="paramname"> <em>vect1_mask</em>, </td>
2090
<td class="paramkey"></td>
2092
<td class="paramtype">const T *BMRESTRICT </td>
2093
<td class="paramname"> <em>vect2</em>, </td>
2096
<td class="paramkey"></td>
2098
<td class="paramtype">unsigned </td>
2099
<td class="paramname"> <em>vect2_mask</em>, </td>
2102
<td class="paramkey"></td>
2104
<td class="paramtype">F & </td>
2105
<td class="paramname"> <em>f</em>, </td>
2108
<td class="paramkey"></td>
2110
<td class="paramtype">unsigned & </td>
2111
<td class="paramname"> <em>dlen</em></td><td> </td>
2116
<td></td><td></td><td><code> [inline]</code></td>
2120
<div class="memdoc">
2122
<p>Abstract operation for GAP buffers. Receives functor F as a template argument. </p>
2123
<dl><dt><b>Parameters:</b></dt><dd>
2124
<table border="0" cellspacing="2" cellpadding="0">
2125
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>- destination memory buffer. </td></tr>
2126
<tr><td valign="top"></td><td valign="top"><em>vect1</em> </td><td>- operand 1 GAP encoded buffer. </td></tr>
2127
<tr><td valign="top"></td><td valign="top"><em>vect1_mask</em> </td><td>- XOR mask for starting bitflag for vector1 can be 0 or 1 (1 inverts the vector) </td></tr>
2128
<tr><td valign="top"></td><td valign="top"><em>vect2</em> </td><td>- operand 2 GAP encoded buffer. </td></tr>
2129
<tr><td valign="top"></td><td valign="top"><em>vect2_mask</em> </td><td>- same as vect1_mask </td></tr>
2130
<tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>- operation functor. </td></tr>
2131
<tr><td valign="top"></td><td valign="top"><em>dlen</em> </td><td>- destination length after the operation</td></tr>
2135
<dl class="note"><dt><b>Note:</b></dt><dd>Internal function. </dd></dl>
2137
<p>Definition at line <a class="el" href="a00090_source.html#l00873">873</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2139
<p>References <a class="el" href="a00088_source.html#l00071">gap_max_bits</a>.</p>
2141
<p>Referenced by <a class="el" href="a00090_source.html#l02912">gap_operation_and()</a>, <a class="el" href="a00090_source.html#l03008">gap_operation_or()</a>, <a class="el" href="a00090_source.html#l03038">gap_operation_sub()</a>, and <a class="el" href="a00090_source.html#l02959">gap_operation_xor()</a>.</p>
2145
<a class="anchor" id="a5f818ac575622da8a9a75511e649ea90"></a><!-- doxytag: member="bm::ilog2" ref="a5f818ac575622da8a9a75511e649ea90" args="(gap_word_t x)" -->
2146
<div class="memitem">
2147
<div class="memproto">
2148
<div class="memtemplate">
2149
template<> </div>
2150
<table class="memname">
2152
<td class="memname"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2 </td>
2154
<td class="paramtype">gap_word_t </td>
2155
<td class="paramname"> <em>x</em></td>
2156
<td> ) </td>
2157
<td><code> [inline]</code></td>
2161
<div class="memdoc">
2163
<p>Definition at line <a class="el" href="a00098_source.html#l00077">77</a> of file <a class="el" href="a00098_source.html">bmutil.h</a>.</p>
2167
<a class="anchor" id="a46f258f92ab40e2a0c76aa775338faaa"></a><!-- doxytag: member="bm::ilog2" ref="a46f258f92ab40e2a0c76aa775338faaa" args="(T x)" -->
2168
<div class="memitem">
2169
<div class="memproto">
2170
<div class="memtemplate">
2171
template<typename T > </div>
2172
<table class="memname">
2174
<td class="memname">T bm::ilog2 </td>
2176
<td class="paramtype">T </td>
2177
<td class="paramname"> <em>x</em></td>
2178
<td> ) </td>
2179
<td><code> [inline]</code></td>
2183
<div class="memdoc">
2185
<p>Fast loop-less function to find LOG2. </p>
2187
<p>Definition at line <a class="el" href="a00098_source.html#l00065">65</a> of file <a class="el" href="a00098_source.html">bmutil.h</a>.</p>
2191
<a class="anchor" id="a3ab126a6fd7ffd872a4001638819a330"></a><!-- doxytag: member="bm::ilog2_LUT" ref="a3ab126a6fd7ffd872a4001638819a330" args="(T x)" -->
2192
<div class="memitem">
2193
<div class="memproto">
2194
<div class="memtemplate">
2195
template<typename T > </div>
2196
<table class="memname">
2198
<td class="memname">T bm::ilog2_LUT </td>
2200
<td class="paramtype">T </td>
2201
<td class="paramname"> <em>x</em></td>
2202
<td> ) </td>
2203
<td><code> [inline]</code></td>
2207
<div class="memdoc">
2209
<p>Lookup table based integer LOG2. </p>
2211
<p>Definition at line <a class="el" href="a00098_source.html#l00093">93</a> of file <a class="el" href="a00098_source.html">bmutil.h</a>.</p>
2213
<p>Referenced by <a class="el" href="a00100_source.html#l00229">bm::bit_out< TEncoder >::gamma()</a>.</p>
2217
<a class="anchor" id="a7074ee06dc4ee023170c2f85c78b50fe"></a><!-- doxytag: member="bm::ilog2_LUT< bm::gap_word_t >" ref="a7074ee06dc4ee023170c2f85c78b50fe" args="(bm::gap_word_t x)" -->
2218
<div class="memitem">
2219
<div class="memproto">
2220
<div class="memtemplate">
2221
template<> </div>
2222
<table class="memname">
2224
<td class="memname"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2_LUT< <a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> > </td>
2226
<td class="paramtype"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td>
2227
<td class="paramname"> <em>x</em></td>
2228
<td> ) </td>
2229
<td><code> [inline]</code></td>
2233
<div class="memdoc">
2235
<p>Lookup table based short integer LOG2. </p>
2239
<a class="anchor" id="a3deb310cdf11bca948817f94adfec160"></a><!-- doxytag: member="bm::is_const_set_operation" ref="a3deb310cdf11bca948817f94adfec160" args="(set_operation op)" -->
2240
<div class="memitem">
2241
<div class="memproto">
2242
<table class="memname">
2244
<td class="memname">bool bm::is_const_set_operation </td>
2246
<td class="paramtype">set_operation </td>
2247
<td class="paramname"> <em>op</em></td>
2248
<td> ) </td>
2249
<td><code> [inline]</code></td>
2253
<div class="memdoc">
2255
<p>Returns true if set operation is constant (bitcount). </p>
2257
<p>Definition at line <a class="el" href="a00090_source.html#l00231">231</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2259
<p>References <a class="el" href="a00090_source.html#l00217">set_COUNT</a>.</p>
2261
<p>Referenced by <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, and <a class="el" href="a00086_source.html#l00069">operation2metric()</a>.</p>
2265
<a class="anchor" id="a515b2862b33efd4e36d72e4ba7729199"></a><!-- doxytag: member="bm::op_and" ref="a515b2862b33efd4e36d72e4ba7729199" args="(unsigned a, unsigned b)" -->
2266
<div class="memitem">
2267
<div class="memproto">
2268
<table class="memname">
2270
<td class="memname">BMFORCEINLINE unsigned bm::op_and </td>
2272
<td class="paramtype">unsigned </td>
2273
<td class="paramname"> <em>a</em>, </td>
2276
<td class="paramkey"></td>
2278
<td class="paramtype">unsigned </td>
2279
<td class="paramname"> <em>b</em></td><td> </td>
2284
<td></td><td></td><td></td>
2288
<div class="memdoc">
2290
<p>Definition at line <a class="el" href="a00094_source.html#l00091">91</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
2294
<a class="anchor" id="a0ed9a1bcd143f7763b4b59ef442f6994"></a><!-- doxytag: member="bm::op_or" ref="a0ed9a1bcd143f7763b4b59ef442f6994" args="(unsigned a, unsigned b)" -->
2295
<div class="memitem">
2296
<div class="memproto">
2297
<table class="memname">
2299
<td class="memname">BMFORCEINLINE unsigned bm::op_or </td>
2301
<td class="paramtype">unsigned </td>
2302
<td class="paramname"> <em>a</em>, </td>
2305
<td class="paramkey"></td>
2307
<td class="paramtype">unsigned </td>
2308
<td class="paramname"> <em>b</em></td><td> </td>
2313
<td></td><td></td><td></td>
2317
<div class="memdoc">
2319
<p>Definition at line <a class="el" href="a00094_source.html#l00082">82</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
2323
<a class="anchor" id="a6d8f327a7d19c11125ac77383a34e986"></a><!-- doxytag: member="bm::op_xor" ref="a6d8f327a7d19c11125ac77383a34e986" args="(unsigned a, unsigned b)" -->
2324
<div class="memitem">
2325
<div class="memproto">
2326
<table class="memname">
2328
<td class="memname">BMFORCEINLINE unsigned bm::op_xor </td>
2330
<td class="paramtype">unsigned </td>
2331
<td class="paramname"> <em>a</em>, </td>
2334
<td class="paramkey"></td>
2336
<td class="paramtype">unsigned </td>
2337
<td class="paramname"> <em>b</em></td><td> </td>
2342
<td></td><td></td><td></td>
2346
<div class="memdoc">
2348
<p>Definition at line <a class="el" href="a00094_source.html#l00072">72</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
2352
<a class="anchor" id="ac766cc15ae8feca9e21a36c49bf3b557"></a><!-- doxytag: member="bm::operator&" ref="ac766cc15ae8feca9e21a36c49bf3b557" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2353
<div class="memitem">
2354
<div class="memproto">
2355
<div class="memtemplate">
2356
template<class Alloc , class MS > </div>
2357
<table class="memname">
2359
<td class="memname"><a class="el" href="a00043.html">bvector</a><Alloc, MS> bm::operator& </td>
2361
<td class="paramtype">const bvector< Alloc, MS > & </td>
2362
<td class="paramname"> <em>v1</em>, </td>
2365
<td class="paramkey"></td>
2367
<td class="paramtype">const bvector< Alloc, MS > & </td>
2368
<td class="paramname"> <em>v2</em></td><td> </td>
2373
<td></td><td></td><td><code> [inline]</code></td>
2377
<div class="memdoc">
2379
<p>Definition at line <a class="el" href="a00084_source.html#l01555">1555</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
2381
<p>References <a class="el" href="a00084_source.html#l01287">bm::bvector< Alloc, MS >::bit_and()</a>.</p>
2385
<a class="anchor" id="afe23d0ced66b48b9c4214e0b00dcc5ac"></a><!-- doxytag: member="bm::operator-" ref="afe23d0ced66b48b9c4214e0b00dcc5ac" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2386
<div class="memitem">
2387
<div class="memproto">
2388
<div class="memtemplate">
2389
template<class Alloc , class MS > </div>
2390
<table class="memname">
2392
<td class="memname"><a class="el" href="a00043.html">bvector</a><Alloc, MS> bm::operator- </td>
2394
<td class="paramtype">const bvector< Alloc, MS > & </td>
2395
<td class="paramname"> <em>v1</em>, </td>
2398
<td class="paramkey"></td>
2400
<td class="paramtype">const bvector< Alloc, MS > & </td>
2401
<td class="paramname"> <em>v2</em></td><td> </td>
2406
<td></td><td></td><td><code> [inline]</code></td>
2410
<div class="memdoc">
2412
<p>Definition at line <a class="el" href="a00084_source.html#l01600">1600</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
2414
<p>References <a class="el" href="a00084_source.html#l01309">bm::bvector< Alloc, MS >::bit_sub()</a>.</p>
2418
<a class="anchor" id="a7042429992aec5891a3df1b0bddea05f"></a><!-- doxytag: member="bm::operator^" ref="a7042429992aec5891a3df1b0bddea05f" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2419
<div class="memitem">
2420
<div class="memproto">
2421
<div class="memtemplate">
2422
template<class Alloc , class MS > </div>
2423
<table class="memname">
2425
<td class="memname"><a class="el" href="a00043.html">bvector</a><Alloc, MS> bm::operator^ </td>
2427
<td class="paramtype">const bvector< Alloc, MS > & </td>
2428
<td class="paramname"> <em>v1</em>, </td>
2431
<td class="paramkey"></td>
2433
<td class="paramtype">const bvector< Alloc, MS > & </td>
2434
<td class="paramname"> <em>v2</em></td><td> </td>
2439
<td></td><td></td><td><code> [inline]</code></td>
2443
<div class="memdoc">
2445
<p>Definition at line <a class="el" href="a00084_source.html#l01585">1585</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
2447
<p>References <a class="el" href="a00084_source.html#l01298">bm::bvector< Alloc, MS >::bit_xor()</a>.</p>
2451
<a class="anchor" id="a5cc9411c5170df52c1c4ea436ef32745"></a><!-- doxytag: member="bm::operator|" ref="a5cc9411c5170df52c1c4ea436ef32745" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc > &v2)" -->
2452
<div class="memitem">
2453
<div class="memproto">
2454
<div class="memtemplate">
2455
template<class Alloc , class MS > </div>
2456
<table class="memname">
2458
<td class="memname"><a class="el" href="a00043.html">bvector</a><Alloc, MS> bm::operator| </td>
2460
<td class="paramtype">const bvector< Alloc, MS > & </td>
2461
<td class="paramname"> <em>v1</em>, </td>
2464
<td class="paramkey"></td>
2466
<td class="paramtype">const bvector< Alloc > & </td>
2467
<td class="paramname"> <em>v2</em></td><td> </td>
2472
<td></td><td></td><td><code> [inline]</code></td>
2476
<div class="memdoc">
2478
<p>Definition at line <a class="el" href="a00084_source.html#l01570">1570</a> of file <a class="el" href="a00084_source.html">bm.h</a>.</p>
2480
<p>References <a class="el" href="a00084_source.html#l01276">bm::bvector< Alloc, MS >::bit_or()</a>.</p>
2484
<a class="anchor" id="a447794fbcac5b6f4ab42b0795c665fea"></a><!-- doxytag: member="bm::parallel_popcnt_32" ref="a447794fbcac5b6f4ab42b0795c665fea" args="(unsigned b)" -->
2485
<div class="memitem">
2486
<div class="memproto">
2487
<table class="memname">
2489
<td class="memname">unsigned bm::parallel_popcnt_32 </td>
2491
<td class="paramtype">unsigned </td>
2492
<td class="paramname"> <em>b</em></td>
2493
<td> ) </td>
2494
<td><code> [inline]</code></td>
2498
<div class="memdoc">
2500
<p>Definition at line <a class="el" href="a00090_source.html#l00175">175</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2504
<a class="anchor" id="a7c192b64adb0590a09b5c2dad77c4b76"></a><!-- doxytag: member="bm::setop2op" ref="a7c192b64adb0590a09b5c2dad77c4b76" args="(bm::set_operation op)" -->
2505
<div class="memitem">
2506
<div class="memproto">
2507
<table class="memname">
2509
<td class="memname"><a class="el" href="a00110.html#a42405343976ec931388381cea4092bf1">bm::operation</a> bm::setop2op </td>
2511
<td class="paramtype"><a class="el" href="a00110.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> </td>
2512
<td class="paramname"> <em>op</em></td>
2513
<td> ) </td>
2514
<td><code> [inline]</code></td>
2518
<div class="memdoc">
2520
<p>Convert set operation to operation. </p>
2522
<p>Definition at line <a class="el" href="a00090_source.html#l00251">251</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2524
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00090_source.html#l00212">set_AND</a>, <a class="el" href="a00090_source.html#l00213">set_OR</a>, <a class="el" href="a00090_source.html#l00214">set_SUB</a>, and <a class="el" href="a00090_source.html#l00215">set_XOR</a>.</p>
2526
<p>Referenced by <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>.</p>
2530
<a class="anchor" id="ac0c75fb7b3dc61602843ac4e1b9b7ef5"></a><!-- doxytag: member="bm::sse2_and" ref="ac0c75fb7b3dc61602843ac4e1b9b7ef5" args="(__m128i a, __m128i b)" -->
2531
<div class="memitem">
2532
<div class="memproto">
2533
<table class="memname">
2535
<td class="memname">BMFORCEINLINE __m128i bm::sse2_and </td>
2537
<td class="paramtype">__m128i </td>
2538
<td class="paramname"> <em>a</em>, </td>
2541
<td class="paramkey"></td>
2543
<td class="paramtype">__m128i </td>
2544
<td class="paramname"> <em>b</em></td><td> </td>
2549
<td></td><td></td><td></td>
2553
<div class="memdoc">
2555
<p>Definition at line <a class="el" href="a00095_source.html#l00379">379</a> of file <a class="el" href="a00095_source.html">bmsse_util.h</a>.</p>
2559
<a class="anchor" id="a0479b7b6704c6ab64396e2365b8b5fa7"></a><!-- doxytag: member="bm::sse2_bit_block_calc_count_change" ref="a0479b7b6704c6ab64396e2365b8b5fa7" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)" -->
2560
<div class="memitem">
2561
<div class="memproto">
2562
<table class="memname">
2564
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_block_calc_count_change </td>
2566
<td class="paramtype">const __m128i *BMRESTRICT </td>
2567
<td class="paramname"> <em>block</em>, </td>
2570
<td class="paramkey"></td>
2572
<td class="paramtype">const __m128i *BMRESTRICT </td>
2573
<td class="paramname"> <em>block_end</em>, </td>
2576
<td class="paramkey"></td>
2578
<td class="paramtype">unsigned *BMRESTRICT </td>
2579
<td class="paramname"> <em>bit_count</em></td><td> </td>
2584
<td></td><td></td><td><code> [inline]</code></td>
2588
<div class="memdoc">
2590
<p>Definition at line <a class="el" href="a00093_source.html#l00248">248</a> of file <a class="el" href="a00093_source.html">bmsse2.h</a>.</p>
2592
<p>References <a class="el" href="a00089_source.html#l00150">BM_ALIGN16ATTR</a>, and <a class="el" href="a00089_source.html#l00169">BM_INCWORD_BITCOUNT</a>.</p>
2594
<p>Referenced by <a class="el" href="a00090_source.html#l02569">bit_block_calc_count_change()</a>.</p>
2598
<a class="anchor" id="a8831a88ef538b3997d04d2ebf513160d"></a><!-- doxytag: member="bm::sse2_bit_count_op" ref="a8831a88ef538b3997d04d2ebf513160d" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
2599
<div class="memitem">
2600
<div class="memproto">
2601
<div class="memtemplate">
2602
template<class Func > </div>
2603
<table class="memname">
2605
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_count_op </td>
2607
<td class="paramtype">const __m128i *BMRESTRICT </td>
2608
<td class="paramname"> <em>block</em>, </td>
2611
<td class="paramkey"></td>
2613
<td class="paramtype">const __m128i *BMRESTRICT </td>
2614
<td class="paramname"> <em>block_end</em>, </td>
2617
<td class="paramkey"></td>
2619
<td class="paramtype">const __m128i *BMRESTRICT </td>
2620
<td class="paramname"> <em>mask_block</em>, </td>
2623
<td class="paramkey"></td>
2625
<td class="paramtype">Func </td>
2626
<td class="paramname"> <em>sse2_func</em></td><td> </td>
2631
<td></td><td></td><td><code> [inline]</code></td>
2635
<div class="memdoc">
2637
<p>Definition at line <a class="el" href="a00093_source.html#l00136">136</a> of file <a class="el" href="a00093_source.html">bmsse2.h</a>.</p>
2639
<p>References <a class="el" href="a00089_source.html#l00150">BM_ALIGN16ATTR</a>.</p>
2643
<a class="anchor" id="adea798a9a95a04845c33876087a2f46b"></a><!-- doxytag: member="bm::sse2_or" ref="adea798a9a95a04845c33876087a2f46b" args="(__m128i a, __m128i b)" -->
2644
<div class="memitem">
2645
<div class="memproto">
2646
<table class="memname">
2648
<td class="memname">BMFORCEINLINE __m128i bm::sse2_or </td>
2650
<td class="paramtype">__m128i </td>
2651
<td class="paramname"> <em>a</em>, </td>
2654
<td class="paramkey"></td>
2656
<td class="paramtype">__m128i </td>
2657
<td class="paramname"> <em>b</em></td><td> </td>
2662
<td></td><td></td><td></td>
2666
<div class="memdoc">
2668
<p>Definition at line <a class="el" href="a00095_source.html#l00385">385</a> of file <a class="el" href="a00095_source.html">bmsse_util.h</a>.</p>
2672
<a class="anchor" id="ab3e6d46fcba1bc2a1a5390c10f571382"></a><!-- doxytag: member="bm::sse2_sub" ref="ab3e6d46fcba1bc2a1a5390c10f571382" args="(__m128i a, __m128i b)" -->
2673
<div class="memitem">
2674
<div class="memproto">
2675
<table class="memname">
2677
<td class="memname">BMFORCEINLINE __m128i bm::sse2_sub </td>
2679
<td class="paramtype">__m128i </td>
2680
<td class="paramname"> <em>a</em>, </td>
2683
<td class="paramkey"></td>
2685
<td class="paramtype">__m128i </td>
2686
<td class="paramname"> <em>b</em></td><td> </td>
2691
<td></td><td></td><td></td>
2695
<div class="memdoc">
2697
<p>Definition at line <a class="el" href="a00095_source.html#l00398">398</a> of file <a class="el" href="a00095_source.html">bmsse_util.h</a>.</p>
2701
<a class="anchor" id="a6f5de19ee3e1be05037908b4777c4da8"></a><!-- doxytag: member="bm::sse2_xor" ref="a6f5de19ee3e1be05037908b4777c4da8" args="(__m128i a, __m128i b)" -->
2702
<div class="memitem">
2703
<div class="memproto">
2704
<table class="memname">
2706
<td class="memname">BMFORCEINLINE __m128i bm::sse2_xor </td>
2708
<td class="paramtype">__m128i </td>
2709
<td class="paramname"> <em>a</em>, </td>
2712
<td class="paramkey"></td>
2714
<td class="paramtype">__m128i </td>
2715
<td class="paramname"> <em>b</em></td><td> </td>
2720
<td></td><td></td><td></td>
2724
<div class="memdoc">
2726
<p>Definition at line <a class="el" href="a00095_source.html#l00392">392</a> of file <a class="el" href="a00095_source.html">bmsse_util.h</a>.</p>
2730
<a class="anchor" id="a295c6323a972a90e28c36e6012427a26"></a><!-- doxytag: member="bm::sse4_bit_count_op" ref="a295c6323a972a90e28c36e6012427a26" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
2731
<div class="memitem">
2732
<div class="memproto">
2733
<div class="memtemplate">
2734
template<class Func > </div>
2735
<table class="memname">
2737
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse4_bit_count_op </td>
2739
<td class="paramtype">const __m128i *BMRESTRICT </td>
2740
<td class="paramname"> <em>block</em>, </td>
2743
<td class="paramkey"></td>
2745
<td class="paramtype">const __m128i *BMRESTRICT </td>
2746
<td class="paramname"> <em>block_end</em>, </td>
2749
<td class="paramkey"></td>
2751
<td class="paramtype">const __m128i *BMRESTRICT </td>
2752
<td class="paramname"> <em>mask_block</em>, </td>
2755
<td class="paramkey"></td>
2757
<td class="paramtype">Func </td>
2758
<td class="paramname"> <em>sse2_func</em></td><td> </td>
2763
<td></td><td></td><td><code> [inline]</code></td>
2767
<div class="memdoc">
2769
<p>Definition at line <a class="el" href="a00094_source.html#l00098">98</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
2773
<a class="anchor" id="ab297c48a2b5057f32db00a8e8631d7a3"></a><!-- doxytag: member="bm::sse4_bit_count_op2" ref="ab297c48a2b5057f32db00a8e8631d7a3" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func op_func)" -->
2774
<div class="memitem">
2775
<div class="memproto">
2776
<div class="memtemplate">
2777
template<class Func > </div>
2778
<table class="memname">
2780
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse4_bit_count_op2 </td>
2782
<td class="paramtype">const __m128i *BMRESTRICT </td>
2783
<td class="paramname"> <em>block</em>, </td>
2786
<td class="paramkey"></td>
2788
<td class="paramtype">const __m128i *BMRESTRICT </td>
2789
<td class="paramname"> <em>block_end</em>, </td>
2792
<td class="paramkey"></td>
2794
<td class="paramtype">const __m128i *BMRESTRICT </td>
2795
<td class="paramname"> <em>mask_block</em>, </td>
2798
<td class="paramkey"></td>
2800
<td class="paramtype">Func </td>
2801
<td class="paramname"> <em>op_func</em></td><td> </td>
2806
<td></td><td></td><td><code> [inline]</code></td>
2810
<div class="memdoc">
2812
<p>Definition at line <a class="el" href="a00094_source.html#l00121">121</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
2816
<a class="anchor" id="ac8f3443ba8fcd1b28face4b09dfd21bf"></a><!-- doxytag: member="bm::sum_arr" ref="ac8f3443ba8fcd1b28face4b09dfd21bf" args="(T *first, T *last)" -->
2817
<div class="memitem">
2818
<div class="memproto">
2819
<div class="memtemplate">
2820
template<class T > </div>
2821
<table class="memname">
2823
<td class="memname">T bm::sum_arr </td>
2825
<td class="paramtype">T * </td>
2826
<td class="paramname"> <em>first</em>, </td>
2829
<td class="paramkey"></td>
2831
<td class="paramtype">T * </td>
2832
<td class="paramname"> <em>last</em></td><td> </td>
2837
<td></td><td></td><td><code> [inline]</code></td>
2841
<div class="memdoc">
2842
<p>Computes SUM of all elements of the sequence </p>
2844
<p>Definition at line <a class="el" href="a00090_source.html#l00598">598</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2848
<a class="anchor" id="a2e3af9c9f2eb481130d240ba4cd6fd68"></a><!-- doxytag: member="bm::vect_bit_transpose" ref="a2e3af9c9f2eb481130d240ba4cd6fd68" args="(const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])" -->
2849
<div class="memitem">
2850
<div class="memproto">
2851
<div class="memtemplate">
2852
template<typename T , unsigned BPC, unsigned BPS> </div>
2853
<table class="memname">
2855
<td class="memname">void bm::vect_bit_transpose </td>
2857
<td class="paramtype">const T * </td>
2858
<td class="paramname"> <em>arr</em>, </td>
2861
<td class="paramkey"></td>
2863
<td class="paramtype">unsigned </td>
2864
<td class="paramname"> <em>arr_size</em>, </td>
2867
<td class="paramkey"></td>
2869
<td class="paramtype">T </td>
2870
<td class="paramname"> <em>tmatrix</em>[BPC][BPS]</td><td> </td>
2875
<td></td><td></td><td><code> [inline]</code></td>
2879
<div class="memdoc">
2881
<p>Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size. </p>
2882
<dl><dt><b>Parameters:</b></dt><dd>
2883
<table border="0" cellspacing="2" cellpadding="0">
2884
<tr><td valign="top"></td><td valign="top"><em>arr</em> </td><td>- source array start </td></tr>
2885
<tr><td valign="top"></td><td valign="top"><em>arr_size</em> </td><td>- source array size </td></tr>
2886
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00083.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em> </td><td>- destination bit matrix </td></tr>
2891
<p>Definition at line <a class="el" href="a00096_source.html#l00274">274</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
2893
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>.</p>
2897
<a class="anchor" id="a089ac7cd17ddca4bf3c661c96f749f3f"></a><!-- doxytag: member="bm::vect_bit_trestore" ref="a089ac7cd17ddca4bf3c661c96f749f3f" args="(const T tmatrix[BPC][BPS], T *arr)" -->
2898
<div class="memitem">
2899
<div class="memproto">
2900
<div class="memtemplate">
2901
template<typename T , unsigned BPC, unsigned BPS> </div>
2902
<table class="memname">
2904
<td class="memname">void bm::vect_bit_trestore </td>
2906
<td class="paramtype">const T </td>
2907
<td class="paramname"> <em>tmatrix</em>[BPC][BPS], </td>
2910
<td class="paramkey"></td>
2912
<td class="paramtype">T * </td>
2913
<td class="paramname"> <em>arr</em></td><td> </td>
2918
<td></td><td></td><td><code> [inline]</code></td>
2922
<div class="memdoc">
2924
<p>Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size. </p>
2925
<dl><dt><b>Parameters:</b></dt><dd>
2926
<table border="0" cellspacing="2" cellpadding="0">
2927
<tr><td valign="top"></td><td valign="top"><em>arr</em> </td><td>- dest array </td></tr>
2928
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00083.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em> </td><td>- source bit-slice matrix </td></tr>
2933
<p>Definition at line <a class="el" href="a00096_source.html#l00307">307</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
2937
<a class="anchor" id="a2e0675b3474db845b3d5910ce81e6868"></a><!-- doxytag: member="bm::xor_op" ref="a2e0675b3474db845b3d5910ce81e6868" args="(unsigned v1, unsigned v2)" -->
2938
<div class="memitem">
2939
<div class="memproto">
2940
<table class="memname">
2942
<td class="memname">unsigned bm::xor_op </td>
2944
<td class="paramtype">unsigned </td>
2945
<td class="paramname"> <em>v1</em>, </td>
2948
<td class="paramkey"></td>
2950
<td class="paramtype">unsigned </td>
2951
<td class="paramname"> <em>v2</em></td><td> </td>
2956
<td></td><td></td><td><code> [inline]</code></td>
2960
<div class="memdoc">
2962
<p>GAP xor functor. </p>
2964
<p>Definition at line <a class="el" href="a00090_source.html#l02890">2890</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
2966
<p>Referenced by <a class="el" href="a00090_source.html#l02983">gap_operation_any_xor()</a>, and <a class="el" href="a00090_source.html#l02959">gap_operation_xor()</a>.</p>
2970
<a class="anchor" id="afb2c1acc56270abb381741a709a2b17c"></a><!-- doxytag: member="bm::xor_swap" ref="afb2c1acc56270abb381741a709a2b17c" args="(W &x, W &y)" -->
2971
<div class="memitem">
2972
<div class="memproto">
2973
<div class="memtemplate">
2974
template<typename W > </div>
2975
<table class="memname">
2977
<td class="memname">void bm::xor_swap </td>
2979
<td class="paramtype">W & </td>
2980
<td class="paramname"> <em>x</em>, </td>
2983
<td class="paramkey"></td>
2985
<td class="paramtype">W & </td>
2986
<td class="paramname"> <em>y</em></td><td> </td>
2991
<td></td><td></td><td><code> [inline]</code></td>
2995
<div class="memdoc">
2997
<p>XOR swap two scalar variables. </p>
2999
<p>Definition at line <a class="el" href="a00090_source.html#l00286">286</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
3001
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>.</p>
3003
<p>Referenced by <a class="el" href="a00084_source.html#l01212">bm::bvector< Alloc, MS >::swap()</a>.</p>
3007
<hr/><h2>Variable Documentation</h2>
3008
<a class="anchor" id="ad81dea46a256b93b2af3568ce409d40b"></a><!-- doxytag: member="bm::all_bits_mask" ref="ad81dea46a256b93b2af3568ce409d40b" args="" -->
3009
<div class="memitem">
3010
<div class="memproto">
3011
<table class="memname">
3013
<td class="memname">const <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> <a class="el" href="a00110.html#ad81dea46a256b93b2af3568ce409d40b">bm::all_bits_mask</a> = 0xffffffff</td>
3017
<div class="memdoc">
3019
<p>Definition at line <a class="el" href="a00088_source.html#l00101">101</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3021
<p>Referenced by <a class="el" href="a00090_source.html#l02842">is_bits_one()</a>.</p>
3025
<a class="anchor" id="a4dedd13a7b8a27c5067b20118002f025"></a><!-- doxytag: member="bm::bits_in_array" ref="a4dedd13a7b8a27c5067b20118002f025" args="" -->
3026
<div class="memitem">
3027
<div class="memproto">
3028
<table class="memname">
3030
<td class="memname">const unsigned <a class="el" href="a00110.html#a4dedd13a7b8a27c5067b20118002f025">bm::bits_in_array</a> = <a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td>
3034
<div class="memdoc">
3036
<p>Definition at line <a class="el" href="a00088_source.html#l00086">86</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3038
<p>Referenced by <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3042
<a class="anchor" id="ae9916f69ced0347d94472d7944ea0e45"></a><!-- doxytag: member="bm::bits_in_block" ref="ae9916f69ced0347d94472d7944ea0e45" args="" -->
3043
<div class="memitem">
3044
<div class="memproto">
3045
<table class="memname">
3047
<td class="memname">const unsigned <a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td>
3051
<div class="memdoc">
3053
<p>Definition at line <a class="el" href="a00088_source.html#l00085">85</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3055
<p>Referenced by <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3059
<a class="anchor" id="a9b1715d6d9164d56172e75bbbd0e3000"></a><!-- doxytag: member="bm::gap_equiv_len" ref="a9b1715d6d9164d56172e75bbbd0e3000" args="" -->
3060
<div class="memitem">
3061
<div class="memproto">
3062
<table class="memname">
3064
<td class="memname">const unsigned <a class="el" href="a00110.html#a9b1715d6d9164d56172e75bbbd0e3000">bm::gap_equiv_len</a></td>
3068
<div class="memdoc">
3069
<b>Initial value:</b><div class="fragment"><pre class="fragment">
3070
(<span class="keyword">sizeof</span>(<a class="code" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * <a class="code" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>) / <span class="keyword">sizeof</span>(<a class="code" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a>)
3072
<p>Definition at line <a class="el" href="a00088_source.html#l00072">72</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3074
<p>Referenced by <a class="el" href="a00086_source.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00092_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3078
<a class="anchor" id="a773e9f5341919d58000bd54d50038733"></a><!-- doxytag: member="bm::gap_levels" ref="a773e9f5341919d58000bd54d50038733" args="" -->
3079
<div class="memitem">
3080
<div class="memproto">
3081
<table class="memname">
3083
<td class="memname">const unsigned <a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> = 4</td>
3087
<div class="memdoc">
3089
<p>Definition at line <a class="el" href="a00088_source.html#l00074">74</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3091
<p>Referenced by <a class="el" href="a00087_source.html#l00193">bm::mem_alloc< BA, PA >::alloc_gap_block()</a>, <a class="el" href="a00084_source.html#l02042">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l00530">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00090_source.html#l02194">gap_calc_level()</a>, <a class="el" href="a00090_source.html#l04422">gap_overhead()</a>, <a class="el" href="a00090_source.html#l04450">improve_gap_levels()</a>, <a class="el" href="a00084_source.html#l01833">bm::bvector< Alloc, MS >::optimize()</a>, <a class="el" href="a00084_source.html#l01875">bm::bvector< Alloc, MS >::optimize_gap_size()</a>, <a class="el" href="a00092_source.html#l01705">bm::serial_stream_iterator< DEC >::serial_stream_iterator()</a>, and <a class="el" href="a00090_source.html#l02177">set_gap_level()</a>.</p>
3095
<a class="anchor" id="ad0b8714080144ac70197840ff96752b7"></a><!-- doxytag: member="bm::gap_max_bits" ref="ad0b8714080144ac70197840ff96752b7" args="" -->
3096
<div class="memitem">
3097
<div class="memproto">
3098
<table class="memname">
3100
<td class="memname">const unsigned <a class="el" href="a00110.html#ad0b8714080144ac70197840ff96752b7">bm::gap_max_bits</a> = 65536</td>
3104
<div class="memdoc">
3106
<p>Definition at line <a class="el" href="a00088_source.html#l00071">71</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3108
<p>Referenced by <a class="el" href="a00086_source.html#l00343">combine_any_operation_with_block()</a>, <a class="el" href="a00084_source.html#l01912">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00090_source.html#l00426">gap_bfind()</a>, <a class="el" href="a00090_source.html#l00955">gap_buff_any_op()</a>, <a class="el" href="a00090_source.html#l00873">gap_buff_op()</a>, <a class="el" href="a00090_source.html#l01190">gap_find_in_block()</a>, <a class="el" href="a00090_source.html#l01098">gap_set_value()</a>, <a class="el" href="a00090_source.html#l00454">gap_test()</a>, <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3112
<a class="anchor" id="aa5e01dfb650d168f9be0525e042af647"></a><!-- doxytag: member="bm::gap_max_buff_len" ref="aa5e01dfb650d168f9be0525e042af647" args="" -->
3113
<div class="memitem">
3114
<div class="memproto">
3115
<table class="memname">
3117
<td class="memname">const unsigned <a class="el" href="a00110.html#aa5e01dfb650d168f9be0525e042af647">bm::gap_max_buff_len</a> = 1280</td>
3121
<div class="memdoc">
3123
<p>Definition at line <a class="el" href="a00088_source.html#l00070">70</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3125
<p>Referenced by <a class="el" href="a00086_source.html#l00343">combine_any_operation_with_block()</a>, and <a class="el" href="a00090_source.html#l04450">improve_gap_levels()</a>.</p>
3129
<a class="anchor" id="a13793ad631e2b2fcbaaae9000ea1a924"></a><!-- doxytag: member="bm::gap_max_level" ref="a13793ad631e2b2fcbaaae9000ea1a924" args="" -->
3130
<div class="memitem">
3131
<div class="memproto">
3132
<table class="memname">
3134
<td class="memname">const unsigned <a class="el" href="a00110.html#a13793ad631e2b2fcbaaae9000ea1a924">bm::gap_max_level</a> = <a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td>
3138
<div class="memdoc">
3140
<p>Definition at line <a class="el" href="a00088_source.html#l00075">75</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3144
<a class="anchor" id="aa6f59be0b838db693e0f081bcaf750f0"></a><!-- doxytag: member="bm::ibpc_all_one" ref="aa6f59be0b838db693e0f081bcaf750f0" args="" -->
3145
<div class="memitem">
3146
<div class="memproto">
3147
<table class="memname">
3149
<td class="memname">const unsigned char <a class="el" href="a00110.html#aa6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2</td>
3153
<div class="memdoc">
3155
<p>!< plain ALL ZERO </p>
3157
<p>Definition at line <a class="el" href="a00096_source.html#l00377">377</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3159
<p>Referenced by <a class="el" href="a00096_source.html#l00405">bit_iblock_make_pcv()</a>, and <a class="el" href="a00096_source.html#l00478">bit_iblock_reduce()</a>.</p>
3163
<a class="anchor" id="aaca6d3c887b5b7b66a78e95471f9a326"></a><!-- doxytag: member="bm::ibpc_all_zero" ref="aaca6d3c887b5b7b66a78e95471f9a326" args="" -->
3164
<div class="memitem">
3165
<div class="memproto">
3166
<table class="memname">
3168
<td class="memname">const unsigned char <a class="el" href="a00110.html#aaca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1</td>
3172
<div class="memdoc">
3174
<p>!< plain uncompressed </p>
3176
<p>Definition at line <a class="el" href="a00096_source.html#l00376">376</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3178
<p>Referenced by <a class="el" href="a00096_source.html#l00405">bit_iblock_make_pcv()</a>, and <a class="el" href="a00096_source.html#l00478">bit_iblock_reduce()</a>.</p>
3182
<a class="anchor" id="aa61bf7691d32a9bc7c65c05bb62657e5"></a><!-- doxytag: member="bm::ibpc_close" ref="aa61bf7691d32a9bc7c65c05bb62657e5" args="" -->
3183
<div class="memitem">
3184
<div class="memproto">
3185
<table class="memname">
3187
<td class="memname">const unsigned char <a class="el" href="a00110.html#aa61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4</td>
3191
<div class="memdoc">
3193
<p>!< plain is equal to plain M </p>
3195
<p>Definition at line <a class="el" href="a00096_source.html#l00379">379</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3197
<p>Referenced by <a class="el" href="a00096_source.html#l00405">bit_iblock_make_pcv()</a>, and <a class="el" href="a00096_source.html#l00478">bit_iblock_reduce()</a>.</p>
3201
<a class="anchor" id="ae4f14f0c2c5a9ee277808d36fd94693f"></a><!-- doxytag: member="bm::ibpc_end" ref="ae4f14f0c2c5a9ee277808d36fd94693f" args="" -->
3202
<div class="memitem">
3203
<div class="memproto">
3204
<table class="memname">
3206
<td class="memname">const unsigned char <a class="el" href="a00110.html#ae4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8</td>
3210
<div class="memdoc">
3212
<p>!< plain is close to plain M </p>
3214
<p>Definition at line <a class="el" href="a00096_source.html#l00381">381</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3218
<a class="anchor" id="a748d4095c39c9372a590b431e0ec17fe"></a><!-- doxytag: member="bm::ibpc_equiv" ref="a748d4095c39c9372a590b431e0ec17fe" args="" -->
3219
<div class="memitem">
3220
<div class="memproto">
3221
<table class="memname">
3223
<td class="memname">const unsigned char <a class="el" href="a00110.html#a748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3</td>
3227
<div class="memdoc">
3229
<p>!< plain ALL ONE </p>
3231
<p>Definition at line <a class="el" href="a00096_source.html#l00378">378</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3233
<p>Referenced by <a class="el" href="a00096_source.html#l00405">bit_iblock_make_pcv()</a>, and <a class="el" href="a00096_source.html#l00478">bit_iblock_reduce()</a>.</p>
3237
<a class="anchor" id="ae34de9206be7a8aa05db9d5dc38bfc90"></a><!-- doxytag: member="bm::ibpc_uncompr" ref="ae34de9206be7a8aa05db9d5dc38bfc90" args="" -->
3238
<div class="memitem">
3239
<div class="memproto">
3240
<table class="memname">
3242
<td class="memname">const unsigned char <a class="el" href="a00110.html#ae34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0</td>
3246
<div class="memdoc">
3248
<p>Definition at line <a class="el" href="a00096_source.html#l00375">375</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
3250
<p>Referenced by <a class="el" href="a00096_source.html#l00405">bit_iblock_make_pcv()</a>, and <a class="el" href="a00096_source.html#l00478">bit_iblock_reduce()</a>.</p>
3254
<a class="anchor" id="a104b924a1df81542db2a6296fbf26a65"></a><!-- doxytag: member="bm::id_max" ref="a104b924a1df81542db2a6296fbf26a65" args="" -->
3255
<div class="memitem">
3256
<div class="memproto">
3257
<table class="memname">
3259
<td class="memname">const unsigned <a class="el" href="a00110.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a> = 0xFFFFFFFF</td>
3263
<div class="memdoc">
3265
<p>Definition at line <a class="el" href="a00088_source.html#l00048">48</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3267
<p>Referenced by <a class="el" href="a00086_source.html#l01075">block_range_scan()</a>, <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">combine_xor()</a>, <a class="el" href="a00092_source.html#l00530">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00084_source.html#l01253">bm::bvector< Alloc, MS >::extract_next()</a>, <a class="el" href="a00084_source.html#l01241">bm::bvector< Alloc, MS >::get_next()</a>, <a class="el" href="a00084_source.html#l00277">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>, <a class="el" href="a00084_source.html#l01775">bm::bvector< Alloc, MS >::invert()</a>, <a class="el" href="a00084_source.html#l00348">bm::bvector< Alloc, MS >::insert_iterator::operator=()</a>, and <a class="el" href="a00084_source.html#l00268">bm::bvector< Alloc, MS >::iterator_base::valid()</a>.</p>
3271
<a class="anchor" id="a00ffa7b38d7fcc7e522d864991a6de68"></a><!-- doxytag: member="bm::set_array_mask" ref="a00ffa7b38d7fcc7e522d864991a6de68" args="" -->
3272
<div class="memitem">
3273
<div class="memproto">
3274
<table class="memname">
3276
<td class="memname">const unsigned <a class="el" href="a00110.html#a00ffa7b38d7fcc7e522d864991a6de68">bm::set_array_mask</a> = 0xFFu</td>
3280
<div class="memdoc">
3282
<p>Definition at line <a class="el" href="a00088_source.html#l00082">82</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3284
<p>Referenced by <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3288
<a class="anchor" id="ac1ff8647a089c751ec330cecee01907e"></a><!-- doxytag: member="bm::set_array_shift" ref="ac1ff8647a089c751ec330cecee01907e" args="" -->
3289
<div class="memitem">
3290
<div class="memproto">
3291
<table class="memname">
3293
<td class="memname">const unsigned <a class="el" href="a00110.html#ac1ff8647a089c751ec330cecee01907e">bm::set_array_shift</a> = 8u</td>
3297
<div class="memdoc">
3299
<p>Definition at line <a class="el" href="a00088_source.html#l00081">81</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3301
<p>Referenced by <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3305
<a class="anchor" id="a40ad34d6c46a2fb20ba2baa7f95d80b4"></a><!-- doxytag: member="bm::set_array_size" ref="a40ad34d6c46a2fb20ba2baa7f95d80b4" args="" -->
3306
<div class="memitem">
3307
<div class="memproto">
3308
<table class="memname">
3310
<td class="memname">const unsigned <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> = 256u</td>
3314
<div class="memdoc">
3316
<p>Definition at line <a class="el" href="a00088_source.html#l00080">80</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3318
<p>Referenced by <a class="el" href="a00084_source.html#l01167">bm::bvector< Alloc, MS >::any()</a>, <a class="el" href="a00084_source.html#l02042">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00084_source.html#l02509">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00084_source.html#l01912">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00084_source.html#l01641">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00084_source.html#l01099">bm::bvector< Alloc, MS >::count_blocks()</a>, <a class="el" href="a00086_source.html#l01405">count_intervals()</a>, <a class="el" href="a00092_source.html#l02899">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00086_source.html#l00688">distance_operation()</a>, <a class="el" href="a00086_source.html#l00807">distance_operation_any()</a>, <a class="el" href="a00090_source.html#l00532">for_each_nzblock_if()</a>, <a class="el" href="a00084_source.html#l00426">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, <a class="el" href="a00084_source.html#l01775">bm::bvector< Alloc, MS >::invert()</a>, <a class="el" href="a00084_source.html#l01833">bm::bvector< Alloc, MS >::optimize()</a>, and <a class="el" href="a00084_source.html#l01896">bm::bvector< Alloc, MS >::set_gap_levels()</a>.</p>
3322
<a class="anchor" id="a2d1bf97ae342a7759943e62090fcf5d3"></a><!-- doxytag: member="bm::set_blkblk_mask" ref="a2d1bf97ae342a7759943e62090fcf5d3" args="" -->
3323
<div class="memitem">
3324
<div class="memproto">
3325
<table class="memname">
3327
<td class="memname">const unsigned <a class="el" href="a00110.html#a2d1bf97ae342a7759943e62090fcf5d3">bm::set_blkblk_mask</a> = 0xFFFFFFu</td>
3331
<div class="memdoc">
3333
<p>Definition at line <a class="el" href="a00088_source.html#l00055">55</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3337
<a class="anchor" id="a3fad4a939708df59b1201910c7d37e30"></a><!-- doxytag: member="bm::set_block_16one" ref="a3fad4a939708df59b1201910c7d37e30" args="" -->
3338
<div class="memitem">
3339
<div class="memproto">
3340
<table class="memname">
3342
<td class="memname">const unsigned char <a class="el" href="a00110.html#a3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6</td>
3346
<div class="memdoc">
3348
<p>UP to 65536 all-set blocks. </p>
3350
<p>Definition at line <a class="el" href="a00092_source.html#l00072">72</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3352
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3356
<a class="anchor" id="aef47eda6538ebf2624c1612d35694c01"></a><!-- doxytag: member="bm::set_block_16zero" ref="aef47eda6538ebf2624c1612d35694c01" args="" -->
3357
<div class="memitem">
3358
<div class="memproto">
3359
<table class="memname">
3361
<td class="memname">const unsigned char <a class="el" href="a00110.html#aef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5</td>
3365
<div class="memdoc">
3367
<p>Up to 65536 zero blocks. </p>
3369
<p>Definition at line <a class="el" href="a00092_source.html#l00071">71</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3371
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3375
<a class="anchor" id="a715131318a361bcccf59fc0b1e41d444"></a><!-- doxytag: member="bm::set_block_1one" ref="a715131318a361bcccf59fc0b1e41d444" args="" -->
3376
<div class="memitem">
3377
<div class="memproto">
3378
<table class="memname">
3380
<td class="memname">const unsigned char <a class="el" href="a00110.html#a715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2</td>
3384
<div class="memdoc">
3386
<p>One block all-set (1111...). </p>
3388
<p>Definition at line <a class="el" href="a00092_source.html#l00068">68</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3390
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3394
<a class="anchor" id="a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><!-- doxytag: member="bm::set_block_1zero" ref="a9e9cf918ca2ebec84eaf844d0e4c8bdb" args="" -->
3395
<div class="memitem">
3396
<div class="memproto">
3397
<table class="memname">
3399
<td class="memname">const unsigned char <a class="el" href="a00110.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1</td>
3403
<div class="memdoc">
3405
<p>One all-zero block. </p>
3407
<p>Definition at line <a class="el" href="a00092_source.html#l00067">67</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3409
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3413
<a class="anchor" id="a5b87c58ae617ad1f104b4c6bc3ed6447"></a><!-- doxytag: member="bm::set_block_32one" ref="a5b87c58ae617ad1f104b4c6bc3ed6447" args="" -->
3414
<div class="memitem">
3415
<div class="memproto">
3416
<table class="memname">
3418
<td class="memname">const unsigned char <a class="el" href="a00110.html#a5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8</td>
3422
<div class="memdoc">
3424
<p>UP to 4G all-set blocks. </p>
3426
<p>Definition at line <a class="el" href="a00092_source.html#l00074">74</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3428
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3432
<a class="anchor" id="ac7dfbd94a0534df88849bbce9e6c419a"></a><!-- doxytag: member="bm::set_block_32zero" ref="ac7dfbd94a0534df88849bbce9e6c419a" args="" -->
3433
<div class="memitem">
3434
<div class="memproto">
3435
<table class="memname">
3437
<td class="memname">const unsigned char <a class="el" href="a00110.html#ac7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7</td>
3441
<div class="memdoc">
3443
<p>Up to 4G zero blocks. </p>
3445
<p>Definition at line <a class="el" href="a00092_source.html#l00073">73</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3447
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3451
<a class="anchor" id="a57ad1090d6f380cf5de5f98c699b5a75"></a><!-- doxytag: member="bm::set_block_8one" ref="a57ad1090d6f380cf5de5f98c699b5a75" args="" -->
3452
<div class="memitem">
3453
<div class="memproto">
3454
<table class="memname">
3456
<td class="memname">const unsigned char <a class="el" href="a00110.html#a57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4</td>
3460
<div class="memdoc">
3462
<p>Up to 256 all-set blocks. </p>
3464
<p>Definition at line <a class="el" href="a00092_source.html#l00070">70</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3466
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3470
<a class="anchor" id="ac9b85b261ab49b37d5e15b84ed2d8b99"></a><!-- doxytag: member="bm::set_block_8zero" ref="ac9b85b261ab49b37d5e15b84ed2d8b99" args="" -->
3471
<div class="memitem">
3472
<div class="memproto">
3473
<table class="memname">
3475
<td class="memname">const unsigned char <a class="el" href="a00110.html#ac9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3</td>
3479
<div class="memdoc">
3481
<p>Up to 256 zero blocks. </p>
3483
<p>Definition at line <a class="el" href="a00092_source.html#l00069">69</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3485
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3489
<a class="anchor" id="ad506b63262c52870758432a95e71907e"></a><!-- doxytag: member="bm::set_block_aone" ref="ad506b63262c52870758432a95e71907e" args="" -->
3490
<div class="memitem">
3491
<div class="memproto">
3492
<table class="memname">
3494
<td class="memname">const unsigned char <a class="el" href="a00110.html#ad506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10</td>
3498
<div class="memdoc">
3500
<p>All other blocks one. </p>
3502
<p>Definition at line <a class="el" href="a00092_source.html#l00076">76</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3504
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3508
<a class="anchor" id="a6ec6acb175ce77a229003f088ecd3923"></a><!-- doxytag: member="bm::set_block_arrbit" ref="a6ec6acb175ce77a229003f088ecd3923" args="" -->
3509
<div class="memitem">
3510
<div class="memproto">
3511
<table class="memname">
3513
<td class="memname">const unsigned char <a class="el" href="a00110.html#a6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16</td>
3517
<div class="memdoc">
3519
<p>List of bits ON. </p>
3521
<p>Definition at line <a class="el" href="a00092_source.html#l00082">82</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3523
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l02732">bm::serial_stream_iterator< DEC >::get_arr_bit()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3527
<a class="anchor" id="aae33ceefae804cdd94412beee8c52720"></a><!-- doxytag: member="bm::set_block_arrgap" ref="aae33ceefae804cdd94412beee8c52720" args="" -->
3528
<div class="memitem">
3529
<div class="memproto">
3530
<table class="memname">
3532
<td class="memname">const unsigned char <a class="el" href="a00110.html#aae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18</td>
3536
<div class="memdoc">
3538
<p>List of bits ON (GAP block). </p>
3540
<p>Definition at line <a class="el" href="a00092_source.html#l00084">84</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3542
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3546
<a class="anchor" id="a9674ddb1b9ee66948465249688708188"></a><!-- doxytag: member="bm::set_block_arrgap_egamma" ref="a9674ddb1b9ee66948465249688708188" args="" -->
3547
<div class="memitem">
3548
<div class="memproto">
3549
<table class="memname">
3551
<td class="memname">const unsigned char <a class="el" href="a00110.html#a9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21</td>
3555
<div class="memdoc">
3557
<p>Gamma compressed delta GAP array. </p>
3559
<p>Definition at line <a class="el" href="a00092_source.html#l00087">87</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3561
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3565
<a class="anchor" id="a1caddb62b332a568ba590794800610f6"></a><!-- doxytag: member="bm::set_block_arrgap_egamma_inv" ref="a1caddb62b332a568ba590794800610f6" args="" -->
3566
<div class="memitem">
3567
<div class="memproto">
3568
<table class="memname">
3570
<td class="memname">const unsigned char <a class="el" href="a00110.html#a1caddb62b332a568ba590794800610f6">bm::set_block_arrgap_egamma_inv</a> = 23</td>
3574
<div class="memdoc">
3576
<p>Gamma compressed inverted delta GAP array. </p>
3578
<p>Definition at line <a class="el" href="a00092_source.html#l00089">89</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3580
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3584
<a class="anchor" id="a746a03f6f5563cc8c75db93bba40095d"></a><!-- doxytag: member="bm::set_block_arrgap_inv" ref="a746a03f6f5563cc8c75db93bba40095d" args="" -->
3585
<div class="memitem">
3586
<div class="memproto">
3587
<table class="memname">
3589
<td class="memname">const unsigned char <a class="el" href="a00110.html#a746a03f6f5563cc8c75db93bba40095d">bm::set_block_arrgap_inv</a> = 24</td>
3593
<div class="memdoc">
3595
<p>List of bits OFF (GAP block). </p>
3597
<p>Definition at line <a class="el" href="a00092_source.html#l00090">90</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3599
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00606">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3603
<a class="anchor" id="ae87b5c61d7ba6e2e592a279db0b21cc0"></a><!-- doxytag: member="bm::set_block_azero" ref="ae87b5c61d7ba6e2e592a279db0b21cc0" args="" -->
3604
<div class="memitem">
3605
<div class="memproto">
3606
<table class="memname">
3608
<td class="memname">const unsigned char <a class="el" href="a00110.html#ae87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9</td>
3612
<div class="memdoc">
3614
<p>All other blocks zero. </p>
3616
<p>Definition at line <a class="el" href="a00092_source.html#l00075">75</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3618
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3622
<a class="anchor" id="aef86ab2eb42c198272eea7cdfe42951b"></a><!-- doxytag: member="bm::set_block_bit" ref="aef86ab2eb42c198272eea7cdfe42951b" args="" -->
3623
<div class="memitem">
3624
<div class="memproto">
3625
<table class="memname">
3627
<td class="memname">const unsigned char <a class="el" href="a00110.html#aef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11</td>
3631
<div class="memdoc">
3633
<p>Plain bit block. </p>
3635
<p>Definition at line <a class="el" href="a00092_source.html#l00077">77</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3637
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3641
<a class="anchor" id="a5e21adca3bc6902f33e43e5cfd824f0e"></a><!-- doxytag: member="bm::set_block_bit_0runs" ref="a5e21adca3bc6902f33e43e5cfd824f0e" args="" -->
3642
<div class="memitem">
3643
<div class="memproto">
3644
<table class="memname">
3646
<td class="memname">const unsigned char <a class="el" href="a00110.html#a5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22</td>
3650
<div class="memdoc">
3652
<p>Bit block with encoded zero intervals. </p>
3654
<p>Definition at line <a class="el" href="a00092_source.html#l00088">88</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3656
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3660
<a class="anchor" id="ad0e6607a9771fa49a658c3078208c2dc"></a><!-- doxytag: member="bm::set_block_bit_1bit" ref="ad0e6607a9771fa49a658c3078208c2dc" args="" -->
3661
<div class="memitem">
3662
<div class="memproto">
3663
<table class="memname">
3665
<td class="memname">const unsigned char <a class="el" href="a00110.html#ad0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19</td>
3669
<div class="memdoc">
3671
<p>Bit block with 1 bit ON. </p>
3673
<p>Definition at line <a class="el" href="a00092_source.html#l00085">85</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3675
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l00653">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00092_source.html#l02732">bm::serial_stream_iterator< DEC >::get_arr_bit()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00092_source.html#l02771">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3679
<a class="anchor" id="a0f2d3289a95dc3bd224a6a73c3d3afce"></a><!-- doxytag: member="bm::set_block_bit_interval" ref="a0f2d3289a95dc3bd224a6a73c3d3afce" args="" -->
3680
<div class="memitem">
3681
<div class="memproto">
3682
<table class="memname">
3684
<td class="memname">const unsigned char <a class="el" href="a00110.html#a0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17</td>
3688
<div class="memdoc">
3690
<p>Interval block. </p>
3692
<p>Definition at line <a class="el" href="a00092_source.html#l00083">83</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3694
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3698
<a class="anchor" id="aa24e7c08930cf959d383c6b930fb0508"></a><!-- doxytag: member="bm::set_block_end" ref="aa24e7c08930cf959d383c6b930fb0508" args="" -->
3699
<div class="memitem">
3700
<div class="memproto">
3701
<table class="memname">
3703
<td class="memname">const unsigned char <a class="el" href="a00110.html#aa24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0</td>
3707
<div class="memdoc">
3709
<p>End of serialization. </p>
3711
<p>Definition at line <a class="el" href="a00092_source.html#l00066">66</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3713
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3717
<a class="anchor" id="a09b8c4b17b7d6f613c237c46d04a9cd6"></a><!-- doxytag: member="bm::set_block_gap" ref="a09b8c4b17b7d6f613c237c46d04a9cd6" args="" -->
3718
<div class="memitem">
3719
<div class="memproto">
3720
<table class="memname">
3722
<td class="memname">const unsigned char <a class="el" href="a00110.html#a09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14</td>
3726
<div class="memdoc">
3728
<p>Plain GAP block. </p>
3730
<p>Definition at line <a class="el" href="a00092_source.html#l00080">80</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3732
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3736
<a class="anchor" id="ac47dea3917e15264ed3ba0cf4055adbe"></a><!-- doxytag: member="bm::set_block_gap_egamma" ref="ac47dea3917e15264ed3ba0cf4055adbe" args="" -->
3737
<div class="memitem">
3738
<div class="memproto">
3739
<table class="memname">
3741
<td class="memname">const unsigned char <a class="el" href="a00110.html#ac47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20</td>
3745
<div class="memdoc">
3747
<p>Gamma compressed GAP block. </p>
3749
<p>Definition at line <a class="el" href="a00092_source.html#l00086">86</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3751
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l00569">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l01129">bm::deseriaizer_base< DEC >::read_gap_block()</a>.</p>
3755
<a class="anchor" id="a77dc965397e31a1d39c3d8e628792779"></a><!-- doxytag: member="bm::set_block_gapbit" ref="a77dc965397e31a1d39c3d8e628792779" args="" -->
3756
<div class="memitem">
3757
<div class="memproto">
3758
<table class="memname">
3760
<td class="memname">const unsigned char <a class="el" href="a00110.html#a77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15</td>
3764
<div class="memdoc">
3766
<p>GAP compressed bitblock. </p>
3768
<p>Definition at line <a class="el" href="a00092_source.html#l00081">81</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3770
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l01232">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, and <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3774
<a class="anchor" id="a201fb8b1f81b7487f1c1c129fc3d6557"></a><!-- doxytag: member="bm::set_block_mask" ref="a201fb8b1f81b7487f1c1c129fc3d6557" args="" -->
3775
<div class="memitem">
3776
<div class="memproto">
3777
<table class="memname">
3779
<td class="memname">const unsigned <a class="el" href="a00110.html#a201fb8b1f81b7487f1c1c129fc3d6557">bm::set_block_mask</a> = 0xFFFFu</td>
3783
<div class="memdoc">
3785
<p>Definition at line <a class="el" href="a00088_source.html#l00054">54</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3787
<p>Referenced by <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">combine_xor()</a>, <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00090_source.html#l01245">or_bit_block()</a>, <a class="el" href="a00090_source.html#l01215">set_bit()</a>, <a class="el" href="a00090_source.html#l01307">sub_bit_block()</a>, <a class="el" href="a00090_source.html#l01228">test_bit()</a>, and <a class="el" href="a00090_source.html#l01369">xor_bit_block()</a>.</p>
3791
<a class="anchor" id="a3428cf384446982017ba9ee68152d238"></a><!-- doxytag: member="bm::set_block_plain_cnt" ref="a3428cf384446982017ba9ee68152d238" args="" -->
3792
<div class="memitem">
3793
<div class="memproto">
3794
<table class="memname">
3796
<td class="memname">const unsigned <a class="el" href="a00110.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a> = sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td>
3800
<div class="memdoc">
3802
<p>Definition at line <a class="el" href="a00088_source.html#l00058">58</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3806
<a class="anchor" id="a35780565f6d8f2831ebff8877d3ba662"></a><!-- doxytag: member="bm::set_block_plain_size" ref="a35780565f6d8f2831ebff8877d3ba662" args="" -->
3807
<div class="memitem">
3808
<div class="memproto">
3809
<table class="memname">
3811
<td class="memname">const unsigned <a class="el" href="a00110.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td>
3815
<div class="memdoc">
3817
<p>Definition at line <a class="el" href="a00088_source.html#l00057">57</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3821
<a class="anchor" id="afe4b1011b09271c5f3882b926e250d39"></a><!-- doxytag: member="bm::set_block_sgapbit" ref="afe4b1011b09271c5f3882b926e250d39" args="" -->
3822
<div class="memitem">
3823
<div class="memproto">
3824
<table class="memname">
3826
<td class="memname">const unsigned char <a class="el" href="a00110.html#afe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12</td>
3830
<div class="memdoc">
3832
<p>SGAP compressed bitblock. </p>
3834
<p>Definition at line <a class="el" href="a00092_source.html#l00078">78</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3838
<a class="anchor" id="ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><!-- doxytag: member="bm::set_block_sgapgap" ref="ab3a8d57c0b898c3c5a23cd27a8f856ad" args="" -->
3839
<div class="memitem">
3840
<div class="memproto">
3841
<table class="memname">
3843
<td class="memname">const unsigned char <a class="el" href="a00110.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13</td>
3847
<div class="memdoc">
3849
<p>SGAP compressed GAP block. </p>
3851
<p>Definition at line <a class="el" href="a00092_source.html#l00079">79</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
3855
<a class="anchor" id="ad8723fbeea6290d3daa8917ea7ce9bb2"></a><!-- doxytag: member="bm::set_block_shift" ref="ad8723fbeea6290d3daa8917ea7ce9bb2" args="" -->
3856
<div class="memitem">
3857
<div class="memproto">
3858
<table class="memname">
3860
<td class="memname">const unsigned <a class="el" href="a00110.html#ad8723fbeea6290d3daa8917ea7ce9bb2">bm::set_block_shift</a> = 16u</td>
3864
<div class="memdoc">
3866
<p>Definition at line <a class="el" href="a00088_source.html#l00053">53</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3868
<p>Referenced by <a class="el" href="a00086_source.html#l01075">block_range_scan()</a>, <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">combine_xor()</a>, <a class="el" href="a00084_source.html#l01681">bm::bvector< Alloc, MS >::count_range()</a>, and <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>.</p>
3872
<a class="anchor" id="a91319dbc0d0e1bf3a3efc4d92bac7972"></a><!-- doxytag: member="bm::set_block_size" ref="a91319dbc0d0e1bf3a3efc4d92bac7972" args="" -->
3873
<div class="memitem">
3874
<div class="memproto">
3875
<table class="memname">
3877
<td class="memname">const unsigned <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> = 2048u</td>
3881
<div class="memdoc">
3883
<p>Definition at line <a class="el" href="a00088_source.html#l00052">52</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3885
<p>Referenced by <a class="el" href="a00090_source.html#l00066">bm::bv_statistics::add_bit_block()</a>, <a class="el" href="a00087_source.html#l00173">bm::mem_alloc< BA, PA >::alloc_bit_block()</a>, <a class="el" href="a00090_source.html#l03103">bit_block_and()</a>, <a class="el" href="a00090_source.html#l03083">bit_block_copy()</a>, <a class="el" href="a00090_source.html#l03657">bit_block_or()</a>, <a class="el" href="a00090_source.html#l01885">bit_block_set()</a>, <a class="el" href="a00090_source.html#l03753">bit_block_sub()</a>, <a class="el" href="a00090_source.html#l03849">bit_block_xor()</a>, <a class="el" href="a00090_source.html#l04059">bit_find_in_block()</a>, <a class="el" href="a00090_source.html#l03695">bit_operation_or()</a>, <a class="el" href="a00086_source.html#l00343">combine_any_operation_with_block()</a>, <a class="el" href="a00086_source.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00092_source.html#l00706">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00086_source.html#l01431">export_array()</a>, <a class="el" href="a00087_source.html#l00180">bm::mem_alloc< BA, PA >::free_bit_block()</a>, <a class="el" href="a00092_source.html#l02059">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00092_source.html#l01916">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00092_source.html#l02245">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00092_source.html#l02302">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00092_source.html#l02365">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00092_source.html#l02424">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00092_source.html#l02580">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00092_source.html#l02659">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00092_source.html#l02502">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00092_source.html#l01997">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00092_source.html#l02186">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00092_source.html#l02126">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00084_source.html#l00491">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3889
<a class="anchor" id="a7049fd70220fc3a3072e9f82abf4ad66"></a><!-- doxytag: member="bm::set_block_size_op" ref="a7049fd70220fc3a3072e9f82abf4ad66" args="" -->
3890
<div class="memitem">
3891
<div class="memproto">
3892
<table class="memname">
3894
<td class="memname">const unsigned <a class="el" href="a00110.html#a7049fd70220fc3a3072e9f82abf4ad66">bm::set_block_size_op</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></td>
3898
<div class="memdoc">
3900
<p>Definition at line <a class="el" href="a00088_source.html#l00104">104</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3902
<p>Referenced by <a class="el" href="a00084_source.html#l01912">bm::bvector< Alloc, MS >::compare()</a>.</p>
3906
<a class="anchor" id="a505011007f54598794e0b9477c0b0b11"></a><!-- doxytag: member="bm::set_total_blocks" ref="a505011007f54598794e0b9477c0b0b11" args="" -->
3907
<div class="memitem">
3908
<div class="memproto">
3909
<table class="memname">
3911
<td class="memname">const unsigned <a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> = (<a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td>
3915
<div class="memdoc">
3917
<p>Definition at line <a class="el" href="a00088_source.html#l00083">83</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3919
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00086_source.html#l01431">export_array()</a>, <a class="el" href="a00092_source.html#l01786">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00092_source.html#l00758">bm::serializer< BV >::serialize()</a>.</p>
3923
<a class="anchor" id="addbf345be3733d5e4575d71733ed1da8"></a><!-- doxytag: member="bm::set_word_mask" ref="addbf345be3733d5e4575d71733ed1da8" args="" -->
3924
<div class="memitem">
3925
<div class="memproto">
3926
<table class="memname">
3928
<td class="memname">const unsigned <a class="el" href="a00110.html#addbf345be3733d5e4575d71733ed1da8">bm::set_word_mask</a> = 0x1Fu</td>
3932
<div class="memdoc">
3934
<p>Definition at line <a class="el" href="a00088_source.html#l00063">63</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3936
<p>Referenced by <a class="el" href="a00090_source.html#l02756">bit_block_any_range()</a>, <a class="el" href="a00090_source.html#l02687">bit_block_calc_count_range()</a>, <a class="el" href="a00090_source.html#l04059">bit_find_in_block()</a>, <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">combine_xor()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00090_source.html#l01245">or_bit_block()</a>, <a class="el" href="a00099_source.html#l00237">bm::bvmini< N >::set()</a>, <a class="el" href="a00099_source.html#l00101">bm::miniset< A, N >::set()</a>, <a class="el" href="a00090_source.html#l01215">set_bit()</a>, <a class="el" href="a00090_source.html#l01307">sub_bit_block()</a>, <a class="el" href="a00099_source.html#l00232">bm::bvmini< N >::test()</a>, <a class="el" href="a00099_source.html#l00090">bm::miniset< A, N >::test()</a>, <a class="el" href="a00090_source.html#l01228">test_bit()</a>, and <a class="el" href="a00090_source.html#l01369">xor_bit_block()</a>.</p>
3940
<a class="anchor" id="a83d76bccf6fe3770f32d5ba11d2a37ad"></a><!-- doxytag: member="bm::set_word_shift" ref="a83d76bccf6fe3770f32d5ba11d2a37ad" args="" -->
3941
<div class="memitem">
3942
<div class="memproto">
3943
<table class="memname">
3945
<td class="memname">const unsigned <a class="el" href="a00110.html#a83d76bccf6fe3770f32d5ba11d2a37ad">bm::set_word_shift</a> = 5u</td>
3949
<div class="memdoc">
3951
<p>Definition at line <a class="el" href="a00088_source.html#l00062">62</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
3953
<p>Referenced by <a class="el" href="a00090_source.html#l02756">bit_block_any_range()</a>, <a class="el" href="a00090_source.html#l02687">bit_block_calc_count_range()</a>, <a class="el" href="a00090_source.html#l04059">bit_find_in_block()</a>, <a class="el" href="a00086_source.html#l01105">combine_or()</a>, <a class="el" href="a00086_source.html#l01268">combine_sub()</a>, <a class="el" href="a00086_source.html#l01184">combine_xor()</a>, <a class="el" href="a00084_source.html#l01799">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00090_source.html#l01245">or_bit_block()</a>, <a class="el" href="a00099_source.html#l00237">bm::bvmini< N >::set()</a>, <a class="el" href="a00099_source.html#l00101">bm::miniset< A, N >::set()</a>, <a class="el" href="a00090_source.html#l01215">set_bit()</a>, <a class="el" href="a00090_source.html#l01307">sub_bit_block()</a>, <a class="el" href="a00099_source.html#l00232">bm::bvmini< N >::test()</a>, <a class="el" href="a00099_source.html#l00090">bm::miniset< A, N >::test()</a>, <a class="el" href="a00090_source.html#l01228">test_bit()</a>, and <a class="el" href="a00090_source.html#l01369">xor_bit_block()</a>.</p>
3958
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:46 2009 for BitMagic by
48
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a><!-- doxytag: member="sample5.cpp::main" ref="a840291bc02cba5474a4cb46a9b9566fe" args="(void)" -->
50
<div class="memproto">
51
<table class="memname">
53
<td class="memname">int main </td>
55
<td class="paramtype">void </td>
56
<td class="paramname"></td>
57
<td> ) </td>
64
<p>Definition at line <a class="el" href="a00110_source.html#l00046">46</a> of file <a class="el" href="a00110_source.html">sample5.cpp</a>.</p>
66
<p>References <a class="el" href="a00087_source.html#l01449">bm::bvector< Alloc, MS >::end()</a>, <a class="el" href="a00087_source.html#l01439">bm::bvector< Alloc, MS >::first()</a>, and <a class="el" href="a00110_source.html#l00041">Print()</a>.</p>
70
<a class="anchor" id="a80085d7c877f4c6f36d10c67dc163845"></a><!-- doxytag: member="sample5.cpp::Print" ref="a80085d7c877f4c6f36d10c67dc163845" args="(unsigned n)" -->
72
<div class="memproto">
73
<table class="memname">
75
<td class="memname">void Print </td>
77
<td class="paramtype">unsigned </td>
78
<td class="paramname"> <em>n</em></td>
79
<td> ) </td>
85
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00005.html#a0">sample5.cpp</a>, and <a class="el" href="a00008.html#a0">sample8.cpp</a>.</dd>
87
<p>Definition at line <a class="el" href="a00110_source.html#l00041">41</a> of file <a class="el" href="a00110_source.html">sample5.cpp</a>.</p>
89
<p>Referenced by <a class="el" href="a00110_source.html#l00046">main()</a>.</p>
94
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:19 2010 for BitMagic by
3959
95
<a href="http://www.doxygen.org/index.html">
3960
96
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>