~ubuntu-branches/ubuntu/trusty/bmagic/trusty

« back to all changes in this revision

Viewing changes to doc/html/a00106.html

  • Committer: Bazaar Package Importer
  • Author(s): Roberto C. Sanchez
  • Date: 2009-12-09 16:02:55 UTC
  • mfrom: (4.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20091209160255-hu2bnjrbncl92z5w
Tags: 3.6.1-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
 
<title>BitMagic: bm Namespace Reference</title>
4
 
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
 
<link href="tabs.css" rel="stylesheet" type="text/css">
6
 
</head><body>
7
 
<!-- Generated by Doxygen 1.5.5 -->
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml">
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 
5
<title>BitMagic: sample6.cpp File Reference</title>
 
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
 
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
 
8
</head>
 
9
<body>
 
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
9
12
  <div class="tabs">
10
13
    <ul>
11
14
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
15
      <li><a href="modules.html"><span>Modules</span></a></li>
13
 
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
14
 
      <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
15
 
      <li><a href="files.html"><span>Files</span></a></li>
 
16
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
 
17
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
 
18
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
19
      <li><a href="examples.html"><span>Examples</span></a></li>
17
20
    </ul>
18
21
  </div>
19
22
  <div class="tabs">
20
23
    <ul>
21
 
      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
22
 
      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
 
24
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
 
25
      <li><a href="globals.html"><span>Globals</span></a></li>
23
26
    </ul>
24
27
  </div>
25
28
</div>
26
29
<div class="contents">
27
 
<h1>bm Namespace Reference</h1>
28
 
<p>
 
30
<h1>sample6.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br/>
 
31
<code>#include &lt;assert.h&gt;</code><br/>
 
32
<code>#include &quot;<a class="el" href="a00084_source.html">bm.h</a>&quot;</code><br/>
 
33
<div class="dynheader">
 
34
Include dependency graph for sample6.cpp:</div>
 
35
<div class="dynsection">
 
36
<div class="center"><img src="a00154.png" border="0" usemap="#sample6_8cpp_map" alt=""/></div>
 
37
<map name="sample6_8cpp_map" id="sample6_8cpp">
 
38
<area shape="rect" href="a00084.html" title="bm.h" alt="" coords="451,83,501,112"/><area shape="rect" href="a00088.html" title="bmconst.h" alt="" coords="99,315,181,344"/><area shape="rect" href="a00089.html" title="bmdef.h" alt="" coords="341,315,408,344"/><area shape="rect" href="a00093.html" title="bmsse2.h" alt="" coords="437,160,515,189"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="288,160,363,189"/><area shape="rect" href="a00099.html" title="bmvmin.h" alt="" coords="632,160,709,189"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="181,160,264,189"/><area shape="rect" href="a00087.html" title="bmalloc.h" alt="" coords="733,160,811,189"/><area shape="rect" href="a00097.html" title="bmundef.h" alt="" coords="947,160,1029,189"/><area shape="rect" href="a00095.html" title="bmsse_util.h" alt="" coords="707,237,803,267"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="141,237,208,267"/></map>
 
39
</div>
 
40
 
 
41
<p><a href="a00106_source.html">Go to the source code of this file.</a></p>
29
42
<table border="0" cellpadding="0" cellspacing="0">
30
 
<tr><td></td></tr>
31
 
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
32
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html">bvector</a></td></tr>
33
 
 
34
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitvector with runtime compression of bits.  <a href="a00040.html#_details">More...</a><br></td></tr>
35
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">bv_statistics</a></td></tr>
36
 
 
37
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure with statistical information about bitset's memory allocation details.  <a href="a00039.html#_details">More...</a><br></td></tr>
38
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">gap_len_table</a></td></tr>
39
 
 
40
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default GAP lengths table.  <a href="a00067.html#_details">More...</a><br></td></tr>
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">gap_len_table_min</a></td></tr>
42
 
 
43
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets.  <a href="a00068.html#_details">More...</a><br></td></tr>
44
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bit_count_table</a></td></tr>
45
 
 
46
 
<tr><td class="mdescLeft">&nbsp;</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>
47
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">block_set_table</a></td></tr>
48
 
 
49
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps all-left/right ON bits masks.  <a href="a00038.html#_details">More...</a><br></td></tr>
50
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">all_set</a></td></tr>
51
 
 
52
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure carries pointer on bit block with all bits 1.  <a href="a00011.html#_details">More...</a><br></td></tr>
53
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">_copyright</a></td></tr>
54
 
 
55
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure.  <a href="a00010.html#_details">More...</a><br></td></tr>
56
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">globals</a></td></tr>
57
 
 
58
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure.  <a href="a00070.html#_details">More...</a><br></td></tr>
59
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">d_copy_func</a></td></tr>
60
 
 
61
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">d-Gap copy functor  <a href="a00054.html#_details">More...</a><br></td></tr>
62
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">copy_to_array_functor</a></td></tr>
63
 
 
64
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adaptor to copy 1 bits to array.  <a href="a00052.html#_details">More...</a><br></td></tr>
65
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">copy_to_array_functor_inc</a></td></tr>
66
 
 
67
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adaptor to copy 1 bits to array with base increment.  <a href="a00053.html#_details">More...</a><br></td></tr>
68
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">bitblock_get_adapter</a></td></tr>
69
 
 
70
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block get adapter, takes bitblock and represents it as a <a class="el" href="a00034.html#5fd937c34bcb5e5a2f6aa25333480db2">get_32()</a> accessor function /internal.  <a href="a00034.html#_details">More...</a><br></td></tr>
71
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">bitblock_store_adapter</a></td></tr>
72
 
 
73
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block store adapter, takes bitblock and saves results into it /internal.  <a href="a00035.html#_details">More...</a><br></td></tr>
74
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">bitblock_sum_adapter</a></td></tr>
75
 
 
76
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block sum adapter, takes values and sums it /internal.  <a href="a00036.html#_details">More...</a><br></td></tr>
77
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">decoder_range_adapter</a></td></tr>
78
 
 
79
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adapter to get words from a range stream (see range serialized bit-block).  <a href="a00060.html#_details">More...</a><br></td></tr>
80
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">bit_AND</a></td></tr>
81
 
 
82
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit AND functor.  <a href="a00013.html#_details">More...</a><br></td></tr>
83
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">bit_OR</a></td></tr>
84
 
 
85
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit OR functor.  <a href="a00029.html#_details">More...</a><br></td></tr>
86
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">bit_SUB</a></td></tr>
87
 
 
88
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit SUB functor.  <a href="a00031.html#_details">More...</a><br></td></tr>
89
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">bit_XOR</a></td></tr>
90
 
 
91
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit XOR functor.  <a href="a00033.html#_details">More...</a><br></td></tr>
92
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">bit_ASSIGN</a></td></tr>
93
 
 
94
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit ASSIGN functor.  <a href="a00014.html#_details">More...</a><br></td></tr>
95
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">bit_COUNT</a></td></tr>
96
 
 
97
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT functor.  <a href="a00015.html#_details">More...</a><br></td></tr>
98
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">bit_COUNT_AND</a></td></tr>
99
 
 
100
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT AND functor.  <a href="a00017.html#_details">More...</a><br></td></tr>
101
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">bit_COUNT_XOR</a></td></tr>
102
 
 
103
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT XOR functor.  <a href="a00023.html#_details">More...</a><br></td></tr>
104
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">bit_COUNT_OR</a></td></tr>
105
 
 
106
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT OR functor.  <a href="a00019.html#_details">More...</a><br></td></tr>
107
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html">bit_COUNT_SUB_AB</a></td></tr>
108
 
 
109
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT SUB AB functor.  <a href="a00020.html#_details">More...</a><br></td></tr>
110
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">bit_COUNT_SUB_BA</a></td></tr>
111
 
 
112
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit SUB BA functor.  <a href="a00021.html#_details">More...</a><br></td></tr>
113
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">bit_COUNT_A</a></td></tr>
114
 
 
115
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT A functor.  <a href="a00016.html#_details">More...</a><br></td></tr>
116
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html">bit_COUNT_B</a></td></tr>
117
 
 
118
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT B functor.  <a href="a00018.html#_details">More...</a><br></td></tr>
119
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">operation_functions</a></td></tr>
120
 
 
121
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">miniset</a></td></tr>
122
 
 
123
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class implements memory saving set functionality.  <a href="a00074.html#_details">More...</a><br></td></tr>
124
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">bvmini</a></td></tr>
125
 
 
126
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini bitvector used in <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags.  <a href="a00051.html#_details">More...</a><br></td></tr>
127
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">bvector_mini</a></td></tr>
128
 
 
129
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitvector class with very limited functionality.  <a href="a00050.html#_details">More...</a><br></td></tr>
130
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">encoder</a></td></tr>
131
 
 
132
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Memory encoding.  <a href="a00063.html#_details">More...</a><br></td></tr>
133
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">decoder_base</a></td></tr>
134
 
 
135
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for all decoding functionality.  <a href="a00058.html#_details">More...</a><br></td></tr>
136
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">decoder</a></td></tr>
137
 
 
138
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="a00057.html#_details">More...</a><br></td></tr>
139
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">decoder_little_endian</a></td></tr>
140
 
 
141
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="a00059.html#_details">More...</a><br></td></tr>
142
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">bit_out</a></td></tr>
143
 
 
144
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte based writer for un-aligned bit streaming.  <a href="a00030.html#_details">More...</a><br></td></tr>
145
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">bit_in</a></td></tr>
146
 
 
147
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte based reader for un-aligned bit streaming.  <a href="a00028.html#_details">More...</a><br></td></tr>
148
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">gamma_encoder</a></td></tr>
149
 
 
150
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Functor for Elias Gamma encoding.  <a href="a00066.html#_details">More...</a><br></td></tr>
151
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">first_bit_table</a></td></tr>
152
 
 
153
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps index of first ON bit for every byte.  <a href="a00064.html#_details">More...</a><br></td></tr>
154
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">sse2_empty_guard</a></td></tr>
155
 
 
156
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 reinitialization guard class.  <a href="a00080.html#_details">More...</a><br></td></tr>
157
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">distance_metric_descriptor</a></td></tr>
158
 
 
159
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance metric descriptor, holds metric code and result.  <a href="a00062.html#_details">More...</a><br></td></tr>
160
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">gamma_decoder</a></td></tr>
161
 
 
162
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Elias Gamma <a class="el" href="a00057.html" title="Class for decoding data from memory buffer.">decoder</a>.  <a href="a00065.html#_details">More...</a><br></td></tr>
163
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">tmatrix</a></td></tr>
164
 
 
165
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini-matrix for bit transposition purposes.  <a href="a00081.html#_details">More...</a><br></td></tr>
166
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">bit_grabber</a></td></tr>
167
 
 
168
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">bm::bit_grabber&lt; unsigned, 32 &gt;</a></td></tr>
169
 
 
170
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bm::bit_grabber&lt; unsigned short, 16 &gt;</a></td></tr>
171
 
 
172
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">bm::bit_grabber&lt; unsigned char, 8 &gt;</a></td></tr>
173
 
 
174
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">bit_trans_grabber</a></td></tr>
175
 
 
176
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">gap_transpose_engine</a></td></tr>
177
 
 
178
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-plain splicing of a GAP block.  <a href="a00069.html#_details">More...</a><br></td></tr>
179
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">serializer</a></td></tr>
180
 
 
181
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-vector serialization class.  <a href="a00079.html#_details">More...</a><br></td></tr>
182
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">serial_stream_iterator</a></td></tr>
183
 
 
184
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialization stream iterator.  <a href="a00078.html#_details">More...</a><br></td></tr>
185
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">operation_deserializer</a></td></tr>
186
 
 
187
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00061.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>
188
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">iterator_deserializer</a></td></tr>
189
 
 
190
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator to walk forward the serialized stream.  <a href="a00072.html#_details">More...</a><br></td></tr>
191
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">deserializer</a></td></tr>
192
 
 
193
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00061.html" title="Class deserializer.">deserializer</a>.  <a href="a00061.html#_details">More...</a><br></td></tr>
194
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">block_allocator</a></td></tr>
195
 
 
196
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default malloc based bitblock allocator class.  <a href="a00037.html#_details">More...</a><br></td></tr>
197
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">ptr_allocator</a></td></tr>
198
 
 
199
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default malloc based bitblock allocator class.  <a href="a00077.html#_details">More...</a><br></td></tr>
200
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">mem_alloc</a></td></tr>
201
 
 
202
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BM style allocator adapter.  <a href="a00073.html#_details">More...</a><br></td></tr>
203
 
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
204
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00074.html">bm::miniset</a><br>
205
 
&lt; <a class="el" href="a00037.html">bm::block_allocator</a>, <br>
206
 
<a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c77813f2c2dfe40575830ba6a8373bcc">mem_save_set</a></td></tr>
207
 
 
208
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> )(unsigned *, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td></tr>
209
 
 
210
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9a7bc970eaa1179eb83bd14e21643da2">gap_operation_func_type</a> )(const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT)</td></tr>
211
 
 
212
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> )(const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td></tr>
213
 
 
214
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00057.html">decoder</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c36d9b78ebf78baf0b92dc61487d9847">decoder_big_endian</a></td></tr>
215
 
 
216
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="#c36d9b78ebf78baf0b92dc61487d9847"></a><br></td></tr>
217
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a></td></tr>
218
 
 
219
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">id_t</a></td></tr>
220
 
 
221
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a></td></tr>
222
 
 
223
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e64960202b691ae1b6efe5fec12cb5af">short_t</a></td></tr>
224
 
 
225
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a></td></tr>
226
 
 
227
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">wordop_t</a></td></tr>
228
 
 
229
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00073.html">mem_alloc</a><br>
230
 
&lt; <a class="el" href="a00037.html">block_allocator</a>, <br>
231
 
<a class="el" href="a00077.html">ptr_allocator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#gb9059bfb40a6588cdbacfd93901593c1">standard_allocator</a></td></tr>
232
 
 
233
 
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
234
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> { <br>
235
 
&nbsp;&nbsp;<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3">set_AND</a> =  0, 
236
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780">set_OR</a> =  1, 
237
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769">set_SUB</a> =  2, 
238
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304">set_XOR</a> =  3, 
239
 
<br>
240
 
&nbsp;&nbsp;<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788">set_ASSIGN</a> =  4, 
241
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e">set_COUNT</a> =  5, 
242
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959">set_COUNT_AND</a> =  6, 
243
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c">set_COUNT_XOR</a> =  7, 
244
 
<br>
245
 
&nbsp;&nbsp;<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb">set_COUNT_OR</a> =  8, 
246
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1">set_COUNT_SUB_AB</a> =  9, 
247
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b">set_COUNT_SUB_BA</a> =  10, 
248
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29">set_COUNT_A</a> =  11, 
249
 
<br>
250
 
&nbsp;&nbsp;<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617">set_COUNT_B</a> =  12, 
251
 
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c">set_END</a>
252
 
<br>
253
 
 }</td></tr>
254
 
 
255
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nomenclature of set operations.  <a href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">More...</a><br></td></tr>
256
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">operation</a> { <a class="el" href="a00106.html#42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250">BM_AND</a> =  set_AND, 
257
 
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5">BM_OR</a> =  set_OR, 
258
 
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5">BM_SUB</a> =  set_SUB, 
259
 
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c">BM_XOR</a> =  set_XOR
260
 
 }</td></tr>
261
 
 
262
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit operations enumeration.  <a href="a00106.html#42405343976ec931388381cea4092bf1">More...</a><br></td></tr>
263
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb">ByteOrder</a> { <a class="el" href="a00106.html#577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2">BigEndian</a> =  0, 
264
 
<a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2">LittleEndian</a> =  1
265
 
 }</td></tr>
266
 
 
267
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte orders recognized by the library.  <a href="a00106.html#577905b348676c2bc556b51793350dbb">More...</a><br></td></tr>
268
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#gd0b87b3b7292383a864d27feaf1c9eff">strategy</a> { <a class="el" href="a00109.html#ggd0b87b3b7292383a864d27feaf1c9eff40920ae0ef7b4411d60463d8f576b5ba">BM_BIT</a> =  0, 
269
 
<a class="el" href="a00109.html#ggd0b87b3b7292383a864d27feaf1c9eff7fe09d1d7c62a813db922c396c0cbc9c">BM_GAP</a> =  1
270
 
 }</td></tr>
271
 
 
272
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block allocation strategies.  <a href="a00109.html#gd0b87b3b7292383a864d27feaf1c9eff">More...</a><br></td></tr>
273
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> { <br>
274
 
&nbsp;&nbsp;<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abcb39376469ba778e9a9099ddbae5e7ce">COUNT_AND</a> =  set_COUNT_AND, 
275
 
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40ab3e4861dde6e1179457ee0d3502ae8061">COUNT_XOR</a> =  set_COUNT_XOR, 
276
 
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abd0bd2d56c8ebd03f55c01b3cc6faaaeb">COUNT_OR</a> =  set_COUNT_OR, 
277
 
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40ab9c101dab8904c0432f72ccce0a207e62">COUNT_SUB_AB</a> =  set_COUNT_SUB_AB, 
278
 
<br>
279
 
&nbsp;&nbsp;<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abfa036fb9d54bc659ed3c9e4185ccf400">COUNT_SUB_BA</a> =  set_COUNT_SUB_BA, 
280
 
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abac7947d53eb3acf81251ee4130e6a4a2">COUNT_A</a> =  set_COUNT_A, 
281
 
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abc6dbadf2ab9405daa47dc0f10d082516">COUNT_B</a> =  set_COUNT_B
282
 
<br>
283
 
 }</td></tr>
284
 
 
285
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance metrics codes defined for vectors A and B.  <a href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">More...</a><br></td></tr>
286
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0">serialization_header_mask</a> { <br>
287
 
&nbsp;&nbsp;<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca">BM_HM_DEFAULT</a> =  1, 
288
 
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27">BM_HM_RESIZE</a> =  (1 &lt;&lt; 1), 
289
 
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47">BM_HM_ID_LIST</a> =  (1 &lt;&lt; 2), 
290
 
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e">BM_HM_NO_BO</a> =  (1 &lt;&lt; 3), 
291
 
<br>
292
 
&nbsp;&nbsp;<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3">BM_HM_NO_GAPL</a> =  (1 &lt;&lt; 4)
293
 
<br>
294
 
 }</td></tr>
295
 
 
296
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a> { <a class="el" href="a00116.html#gg537dfe6318f1f1fe18d86dac312be978cdd8c071c079589388c3ca7bd4f367c8">BM_NO_BYTE_ORDER</a> =  1, 
297
 
<a class="el" href="a00116.html#gg537dfe6318f1f1fe18d86dac312be9785521473081d341bc32ac59538e6a8096">BM_NO_GAP_LENGTH</a> =  (1 &lt;&lt; 1)
298
 
 }</td></tr>
299
 
 
300
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit mask flags for serialization algorithm.  <a href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">More...</a><br></td></tr>
301
 
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
302
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Alloc, class MS&gt; </td></tr>
303
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5adb1bbecea75c18eba72aab5fc5db7c">operator &amp;</a> (const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
304
 
 
305
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Alloc, class MS&gt; </td></tr>
306
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5cc9411c5170df52c1c4ea436ef32745">operator|</a> (const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00040.html">bvector</a>&lt; Alloc &gt; &amp;v2)</td></tr>
307
 
 
308
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Alloc, class MS&gt; </td></tr>
309
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7042429992aec5891a3df1b0bddea05f">operator^</a> (const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
310
 
 
311
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Alloc, class MS&gt; </td></tr>
312
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fe23d0ced66b48b9c4214e0b00dcc5ac">operator-</a> (const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00040.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
313
 
 
314
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gef40342b0c318391df3db2b891acf7c1">word_bitcount</a> (<a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> w)</td></tr>
315
 
 
316
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#447794fbcac5b6f4ab42b0795c665fea">parallel_popcnt_32</a> (unsigned b)</td></tr>
317
 
 
318
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6db64a80e9d66e4338c6cfdd38464d77">word_bitcount64</a> (<a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a> w)</td></tr>
319
 
 
320
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3deb310cdf11bca948817f94adfec160">is_const_set_operation</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
321
 
 
322
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if set operation is constant (bitcount).  <a href="#3deb310cdf11bca948817f94adfec160"></a><br></td></tr>
323
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#7c192b64adb0590a09b5c2dad77c4b76">setop2op</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> op)</td></tr>
324
 
 
325
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert set operation to operation.  <a href="#7c192b64adb0590a09b5c2dad77c4b76"></a><br></td></tr>
326
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename W&gt; </td></tr>
327
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fb2c1acc56270abb381741a709a2b17c">xor_swap</a> (W &amp;x, W &amp;y)</td></tr>
328
 
 
329
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR swap two scalar variables.  <a href="#fb2c1acc56270abb381741a709a2b17c"></a><br></td></tr>
330
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
331
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gfee2e8361c2e90a67dbaf9c7559d50e4">wordcmp0</a> (T w1, T w2)</td></tr>
332
 
 
333
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes.  <a href="a00111.html#gfee2e8361c2e90a67dbaf9c7559d50e4"></a><br></td></tr>
334
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
335
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g5847533a73b7a5125fe5c2888ec827bd">wordcmp</a> (T a, T b)</td></tr>
336
 
 
337
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes.  <a href="a00111.html#g5847533a73b7a5125fe5c2888ec827bd"></a><br></td></tr>
338
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
339
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#cebed8b533c2c9e17167617501477693">gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</td></tr>
340
 
 
341
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
342
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g866352ef5986a7d2b709795d127b666b">gap_test</a> (const T *buf, unsigned pos)</td></tr>
343
 
 
344
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if bit = pos is true.  <a href="a00110.html#g866352ef5986a7d2b709795d127b666b"></a><br></td></tr>
345
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
346
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#e8b342c25dc22d6cd26cb96d7ae796db">for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
347
 
 
348
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
349
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6f5cb8cbb105eae84d4b0f8a3bc1230f">for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
350
 
 
351
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
352
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#86742a3e17527be5a9743f26b36a7691">for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
353
 
 
354
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
355
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#bf587377ca70f11b8eb75f95494830b5">bmfor_each</a> (T first, T last, F f)</td></tr>
356
 
 
357
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
358
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#c8f3443ba8fcd1b28face4b09dfd21bf">sum_arr</a> (T *first, T *last)</td></tr>
359
 
 
360
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
361
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g226273a798a07069564e73eb98d06838">gap_bit_count</a> (const T *buf)</td></tr>
362
 
 
363
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates number of bits ON in GAP buffer.  <a href="a00110.html#g226273a798a07069564e73eb98d06838"></a><br></td></tr>
364
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
365
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7324ebded429e15361f62117a2ff18d1">gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
366
 
 
367
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts 1 bits in GAP buffer in the closed [left, right] diapason.  <a href="#7324ebded429e15361f62117a2ff18d1"></a><br></td></tr>
368
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class Func&gt; </td></tr>
369
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6a7bfe8af49ed785f0e96c7ca37a2155">for_each_dgap</a> (const T *gap_buf, Func &amp;func)</td></tr>
370
 
 
371
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
372
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fa6ea0cce0cdd88738a01fad393376b3">gap_2_dgap</a> (const T *gap_buf, T *dgap_buf, bool copy_head=true)</td></tr>
373
 
 
374
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert GAP buffer into D-GAP buffer.  <a href="#fa6ea0cce0cdd88738a01fad393376b3"></a><br></td></tr>
375
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
376
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#528894002dcd8edda28c8fb2b0aa8c64">dgap_2_gap</a> (const T *dgap_buf, T *gap_buf, T gap_header=0)</td></tr>
377
 
 
378
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert D-GAP buffer into GAP buffer.  <a href="#528894002dcd8edda28c8fb2b0aa8c64"></a><br></td></tr>
379
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
380
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g406952734f1b05962941b32e37b3eb96">gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
381
 
 
382
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of GAP buffers.  <a href="a00110.html#g406952734f1b05962941b32e37b3eb96"></a><br></td></tr>
383
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, class F&gt; </td></tr>
384
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g871d779996e976755140eb7dc1553e23">gap_buff_op</a> (T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
385
 
 
386
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract operation for GAP buffers. Receives functor F as a template argument.  <a href="a00110.html#g871d779996e976755140eb7dc1553e23"></a><br></td></tr>
387
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, class F&gt; </td></tr>
388
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5e3123c3c9d3587f470abdbe6c8c3ad3">gap_buff_any_op</a> (const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
389
 
 
390
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract distance test operation for GAP buffers. Receives functor F as a template argument.  <a href="a00110.html#g5e3123c3c9d3587f470abdbe6c8c3ad3"></a><br></td></tr>
391
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
392
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g69186bd13bda27e04b3e33683ff884c2">gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
393
 
 
394
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument.  <a href="a00110.html#g69186bd13bda27e04b3e33683ff884c2"></a><br></td></tr>
395
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
396
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ga7df7193094353ea24b8519debf745be">gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
397
 
 
398
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the GAP block.  <a href="a00110.html#ga7df7193094353ea24b8519debf745be"></a><br></td></tr>
399
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8">set_bit</a> (unsigned *dest, unsigned bitpos)</td></tr>
400
 
 
401
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set 1 bit in a block.  <a href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8"></a><br></td></tr>
402
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9bccc586aa791f98f1bec284b799102c">test_bit</a> (const unsigned *block, unsigned bitpos)</td></tr>
403
 
 
404
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test 1 bit in a block.  <a href="a00111.html#g9bccc586aa791f98f1bec284b799102c"></a><br></td></tr>
405
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd698b5242f5b629aa28e7338b7150497">or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
406
 
 
407
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bits to 1 in the bitblock.  <a href="a00111.html#gd698b5242f5b629aa28e7338b7150497"></a><br></td></tr>
408
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gceaa54aa59b16299f5a87b925715e5e8">sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
409
 
 
410
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock.  <a href="a00111.html#gceaa54aa59b16299f5a87b925715e5e8"></a><br></td></tr>
411
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6191abb017003b633fab24e0c6357521">xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
412
 
 
413
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR bit interval to 1 in the bitblock.  <a href="a00111.html#g6191abb017003b633fab24e0c6357521"></a><br></td></tr>
414
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
415
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4">gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
416
 
 
417
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock.  <a href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4"></a><br></td></tr>
418
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
419
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82">gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
420
 
 
421
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR GAP block to bitblock.  <a href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82"></a><br></td></tr>
422
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
423
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f">gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
424
 
 
425
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds(OR) GAP block to bitblock.  <a href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f"></a><br></td></tr>
426
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
427
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfe6f72a009618290eeab3cddee869543">gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
428
 
 
429
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ANDs GAP block to bitblock.  <a href="a00110.html#gfe6f72a009618290eeab3cddee869543"></a><br></td></tr>
430
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
431
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gb87384cbf46a04d86c008ab2463d02cc">gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
432
 
 
433
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block.  <a href="a00111.html#gb87384cbf46a04d86c008ab2463d02cc"></a><br></td></tr>
434
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
435
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd6e40898b8836ae1923b06a3d028fcaa">gap_bitset_and_any</a> (const unsigned *block, const T *buf)</td></tr>
436
 
 
437
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount test of bit block AND masked by GAP block.  <a href="a00111.html#gd6e40898b8836ae1923b06a3d028fcaa"></a><br></td></tr>
438
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
439
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g15a780da58d5aeb67ffc51c84fa6152e">gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
440
 
 
441
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block.  <a href="a00111.html#g15a780da58d5aeb67ffc51c84fa6152e"></a><br></td></tr>
442
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
443
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gab7c711122e8f189555dffd83a21111c">gap_bitset_sub_any</a> (const unsigned *block, const T *buf)</td></tr>
444
 
 
445
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block SUB masked by GAP block.  <a href="a00111.html#gab7c711122e8f189555dffd83a21111c"></a><br></td></tr>
446
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
447
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g803fbc7c790f07b14175303e524bd2d8">gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
448
 
 
449
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block.  <a href="a00111.html#g803fbc7c790f07b14175303e524bd2d8"></a><br></td></tr>
450
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
451
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd0f7ee00f84ea357d55e6a2f507c8918">gap_bitset_xor_any</a> (const unsigned *block, const T *buf)</td></tr>
452
 
 
453
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block XOR masked by GAP block.  <a href="a00111.html#gd0f7ee00f84ea357d55e6a2f507c8918"></a><br></td></tr>
454
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
455
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g23733890861063a59f787e26763a734a">gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
456
 
 
457
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block.  <a href="a00111.html#g23733890861063a59f787e26763a734a"></a><br></td></tr>
458
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
459
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd15f1b92c70752cd3b97fa9e0c585f00">gap_bitset_or_any</a> (const unsigned *block, const T *buf)</td></tr>
460
 
 
461
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block OR masked by GAP block.  <a href="a00111.html#gd15f1b92c70752cd3b97fa9e0c585f00"></a><br></td></tr>
462
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gada8b13c35acd8df90129b45edcfc5de">bit_block_set</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
463
 
 
464
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock memset operation.  <a href="a00111.html#gada8b13c35acd8df90129b45edcfc5de"></a><br></td></tr>
465
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
466
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849">gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
467
 
 
468
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849"></a><br></td></tr>
469
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
470
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b">gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
471
 
 
472
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b"></a><br></td></tr>
473
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
474
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c">gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">id_t</a> set_max)</td></tr>
475
 
 
476
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart GAP block to bitblock conversion.  <a href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c"></a><br></td></tr>
477
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
478
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g14d29338ffd1387758810b3f9e3a72c6">gap_control_sum</a> (const T *buf)</td></tr>
479
 
 
480
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates sum of all words in GAP block. (For debugging purposes).  <a href="a00110.html#g14d29338ffd1387758810b3f9e3a72c6"></a><br></td></tr>
481
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
482
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gef53b2877ff369badd7bb25b26bb9029">gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
483
 
 
484
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all bits to 0 or 1 (GAP).  <a href="a00110.html#gef53b2877ff369badd7bb25b26bb9029"></a><br></td></tr>
485
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
486
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5d49355eb9dd7947699e20f3a2a75ef5">gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
487
 
 
488
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Init gap block so it has block in it (can be whole block).  <a href="a00110.html#g5d49355eb9dd7947699e20f3a2a75ef5"></a><br></td></tr>
489
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
490
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845">gap_invert</a> (T *buf)</td></tr>
491
 
 
492
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts all bits in the GAP buffer.  <a href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845"></a><br></td></tr>
493
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
494
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g690ff7c8b16e1821a77663b7194267e7">gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
495
 
 
496
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporary inverts all bits in the GAP buffer.  <a href="a00110.html#g690ff7c8b16e1821a77663b7194267e7"></a><br></td></tr>
497
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
498
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1427d43e91872f981c6311fa76ab5633">gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
499
 
 
500
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if GAP block is all-one.  <a href="a00110.html#g1427d43e91872f981c6311fa76ab5633"></a><br></td></tr>
501
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
502
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042">gap_length</a> (const T *buf)</td></tr>
503
 
 
504
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block length.  <a href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042"></a><br></td></tr>
505
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
506
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45">gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
507
 
 
508
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity.  <a href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45"></a><br></td></tr>
509
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
510
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815">gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
511
 
 
512
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity limit.  <a href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815"></a><br></td></tr>
513
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
514
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1">gap_level</a> (const T *buf)</td></tr>
515
 
 
516
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP blocks capacity level.  <a href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1"></a><br></td></tr>
517
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
518
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549">set_gap_level</a> (T *buf, unsigned level)</td></tr>
519
 
 
520
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets GAP block capacity level.  <a href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549"></a><br></td></tr>
521
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
522
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165">gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
523
 
 
524
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates GAP block capacity level.  <a href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165"></a><br></td></tr>
525
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
526
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfd76869eb44fac688da5e26e0e74f41f">gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
527
 
 
528
 
<tr><td class="mdescLeft">&nbsp;</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="a00110.html#gfd76869eb44fac688da5e26e0e74f41f"></a><br></td></tr>
529
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
530
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0">bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
531
 
 
532
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of BIT buffers.  <a href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0"></a><br></td></tr>
533
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
534
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b">bit_convert_to_gap</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
535
 
 
536
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts bit block to GAP.  <a href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b"></a><br></td></tr>
537
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
538
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g11bc26da8533752bb23756632fd30a00">for_each_gap_dbit</a> (const T *buf, F &amp;func)</td></tr>
539
 
 
540
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterate gap block as delta-bits with a functor.  <a href="a00110.html#g11bc26da8533752bb23756632fd30a00"></a><br></td></tr>
541
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename D, typename T&gt; </td></tr>
542
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">D&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3cc68fe9724e63403d15899bc17da3a1">gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len)</td></tr>
543
 
 
544
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert gap block into array of ints corresponding to 1 bits.  <a href="a00110.html#g3cc68fe9724e63403d15899bc17da3a1"></a><br></td></tr>
545
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gb30df14a61f036d690c091878feaff1c">bit_block_calc_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end)</td></tr>
546
 
 
547
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount for bit string.  <a href="a00111.html#gb30df14a61f036d690c091878feaff1c"></a><br></td></tr>
548
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gafc87c4764bb30d95ba4088064a404e3">bit_count_change</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
549
 
 
550
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gca91016aeb08ae1b610d6d407aae0e4c">bit_block_calc_count_change</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end, unsigned *bit_count)</td></tr>
551
 
 
552
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g2485f707b2629c5ce7681cf9fe385b91">bit_block_calc_count_range</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
553
 
 
554
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g503e0f3e79f819d9b58e4b0e905be116">bit_block_any_range</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
555
 
 
556
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
557
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g95854f9969985254a0f58b928da0eec6">bit_invert</a> (T *start, T *end)</td></tr>
558
 
 
559
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g97b1075250d4bf10f596ff2fbc334ceb">is_bits_one</a> (const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *start, const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *end)</td></tr>
560
 
 
561
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 1.  <a href="a00111.html#g97b1075250d4bf10f596ff2fbc334ceb"></a><br></td></tr>
562
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gc6cfb9f92e4df6bb4c76f6efb2382860">bit_is_all_zero</a> (const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *start, const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *end)</td></tr>
563
 
 
564
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 0.  <a href="a00111.html#gc6cfb9f92e4df6bb4c76f6efb2382860"></a><br></td></tr>
565
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e081940471455763a912a94783833316">and_op</a> (unsigned v1, unsigned v2)</td></tr>
566
 
 
567
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP and functor.  <a href="#e081940471455763a912a94783833316"></a><br></td></tr>
568
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2e0675b3474db845b3d5910ce81e6868">xor_op</a> (unsigned v1, unsigned v2)</td></tr>
569
 
 
570
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP xor functor.  <a href="#2e0675b3474db845b3d5910ce81e6868"></a><br></td></tr>
571
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g85662839207d06d07ae026c72b1f01c2">gap_operation_and</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
572
 
 
573
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP AND operation.  <a href="a00110.html#g85662839207d06d07ae026c72b1f01c2"></a><br></td></tr>
574
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gfb24a1e2588c5670df6facc537594d9d">gap_operation_any_and</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
575
 
 
576
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP AND operation test.  <a href="a00110.html#gfb24a1e2588c5670df6facc537594d9d"></a><br></td></tr>
577
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g77553da699f68743fb12ebc6f6b0e477">gap_operation_xor</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
578
 
 
579
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP XOR operation.  <a href="a00110.html#g77553da699f68743fb12ebc6f6b0e477"></a><br></td></tr>
580
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gb46833bf0d7813f868a1608f70db12de">gap_operation_any_xor</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
581
 
 
582
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP XOR operation test.  <a href="a00110.html#gb46833bf0d7813f868a1608f70db12de"></a><br></td></tr>
583
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4">gap_operation_or</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
584
 
 
585
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP OR operation.  <a href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4"></a><br></td></tr>
586
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f">gap_operation_sub</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
587
 
 
588
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP SUB (AND NOT) operation.  <a href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f"></a><br></td></tr>
589
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9">gap_operation_any_sub</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
590
 
 
591
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP SUB operation test.  <a href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9"></a><br></td></tr>
592
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9090de87d53e7f25eff96c8259b3485c">bit_block_copy</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
593
 
 
594
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock copy operation.  <a href="a00111.html#g9090de87d53e7f25eff96c8259b3485c"></a><br></td></tr>
595
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g882f79df0a0175ad4ddf483c5f1eeb0e">bit_block_and</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
596
 
 
597
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock AND operation. Function does not analyse availability of source and destination blocks.  <a href="a00111.html#g882f79df0a0175ad4ddf483c5f1eeb0e"></a><br></td></tr>
598
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0070984bb1d332610150a9106ab8eb0a">bit_block_and_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
599
 
 
600
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ANDs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="a00111.html#g0070984bb1d332610150a9106ab8eb0a"></a><br></td></tr>
601
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9fe2d12ddac5293fe53038c687c732f3">bit_block_and_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
602
 
 
603
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ANDs two bitblocks and tests for any bit. Function does not analyse availability of source blocks.  <a href="a00111.html#g9fe2d12ddac5293fe53038c687c732f3"></a><br></td></tr>
604
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gf8af8cfe8b49407be1af7398da28c939">bit_block_xor_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
605
 
 
606
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function XORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="a00111.html#gf8af8cfe8b49407be1af7398da28c939"></a><br></td></tr>
607
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfbc3ffafc859a503fdd2fc96e7fb60ce">bit_block_xor_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
608
 
 
609
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function XORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks.  <a href="a00111.html#gfbc3ffafc859a503fdd2fc96e7fb60ce"></a><br></td></tr>
610
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd34175255e9860a572fcf2e664a6de8e">bit_block_sub_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
611
 
 
612
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function SUBs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="a00111.html#gd34175255e9860a572fcf2e664a6de8e"></a><br></td></tr>
613
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3f51735d2ca08e5a9fae2c9c49138c5c">bit_block_sub_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
614
 
 
615
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function SUBs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks.  <a href="a00111.html#g3f51735d2ca08e5a9fae2c9c49138c5c"></a><br></td></tr>
616
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gcf4f8ab164277278448a541863c07517">bit_block_or_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
617
 
 
618
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="a00111.html#gcf4f8ab164277278448a541863c07517"></a><br></td></tr>
619
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gb2047495f7844d3014ff697503669d24">bit_block_or_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
620
 
 
621
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks.  <a href="a00111.html#gb2047495f7844d3014ff697503669d24"></a><br></td></tr>
622
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g869fce5348076d4c7b92adcc2f1a49ab">bit_operation_and</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
623
 
 
624
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock AND operation.  <a href="a00111.html#g869fce5348076d4c7b92adcc2f1a49ab"></a><br></td></tr>
625
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9765914087df2fc22ec18db8128f2a12">bit_operation_and_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
626
 
 
627
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result.  <a href="a00111.html#g9765914087df2fc22ec18db8128f2a12"></a><br></td></tr>
628
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0e7995f7d6c791f6ff27a8dd21d324e5">bit_operation_and_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
629
 
 
630
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation test.  <a href="a00111.html#g0e7995f7d6c791f6ff27a8dd21d324e5"></a><br></td></tr>
631
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gabb39bf01bf973cb7bf3648873921ab7">bit_operation_sub_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
632
 
 
633
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result.  <a href="a00111.html#gabb39bf01bf973cb7bf3648873921ab7"></a><br></td></tr>
634
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g53867faf377db72324b858a37063c0b8">bit_operation_sub_count_inv</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
635
 
 
636
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs inverted bitblock SUB operation and calculates bitcount of the result.  <a href="a00111.html#g53867faf377db72324b858a37063c0b8"></a><br></td></tr>
637
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g847d5a84673b284be984f0db583e2723">bit_operation_sub_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
638
 
 
639
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock test of SUB operation.  <a href="a00111.html#g847d5a84673b284be984f0db583e2723"></a><br></td></tr>
640
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g5a267aff3b56cc6dadf5a3a338e00a1d">bit_operation_or_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
641
 
 
642
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result.  <a href="a00111.html#g5a267aff3b56cc6dadf5a3a338e00a1d"></a><br></td></tr>
643
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6d26742bdc373074474a6932eab4f388">bit_operation_or_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
644
 
 
645
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation test.  <a href="a00111.html#g6d26742bdc373074474a6932eab4f388"></a><br></td></tr>
646
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3515d8eb5da7f9d41d63dc90ad9523a4">bit_block_or</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
647
 
 
648
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock OR operation. Function does not analyse availability of source and destination blocks.  <a href="a00111.html#g3515d8eb5da7f9d41d63dc90ad9523a4"></a><br></td></tr>
649
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0e945a9eaae699ad40f63b3f0632e6f9">bit_operation_or</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
650
 
 
651
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL.  <a href="a00111.html#g0e945a9eaae699ad40f63b3f0632e6f9"></a><br></td></tr>
652
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfed81435f74c0542857842d4461686e4">bit_block_sub</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
653
 
 
654
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock SUB (AND NOT) operation. Function does not analyse availability of source and destination blocks.  <a href="a00111.html#gfed81435f74c0542857842d4461686e4"></a><br></td></tr>
655
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd7afa9bce28a376360ca4826960d669f">bit_operation_sub</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
656
 
 
657
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock SUB operation.  <a href="a00111.html#gd7afa9bce28a376360ca4826960d669f"></a><br></td></tr>
658
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#ge6a46c5e671ea1c9312219ceb41025ef">bit_block_xor</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
659
 
 
660
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock XOR operation. Function does not analyse availability of source and destination blocks.  <a href="a00111.html#ge6a46c5e671ea1c9312219ceb41025ef"></a><br></td></tr>
661
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g179de722e87ccf8189d975ca6beed025">bit_operation_xor</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
662
 
 
663
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock XOR operation.  <a href="a00111.html#g179de722e87ccf8189d975ca6beed025"></a><br></td></tr>
664
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gce08ab77feefb638daee164ee83118bc">bit_operation_xor_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
665
 
 
666
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result.  <a href="a00111.html#gce08ab77feefb638daee164ee83118bc"></a><br></td></tr>
667
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#ga86561b6d11c3f01dd772563c692f732">bit_operation_xor_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
668
 
 
669
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation test.  <a href="a00111.html#ga86561b6d11c3f01dd772563c692f732"></a><br></td></tr>
670
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
671
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g0ff158706f2e194be67fb8267641c30a">bit_count_nonzero_size</a> (const T *blk, unsigned data_size)</td></tr>
672
 
 
673
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inspects block for full zero words.  <a href="a00111.html#g0ff158706f2e194be67fb8267641c30a"></a><br></td></tr>
674
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd6a7c549a625df7aa7d68d43a57238c7">bit_find_in_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *data, unsigned nbit, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
675
 
 
676
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the BIT block.  <a href="a00111.html#gd6a7c549a625df7aa7d68d43a57238c7"></a><br></td></tr>
677
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename F&gt; </td></tr>
678
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gb9f80b3c898323ce77beb915e4c861f3">bit_for_each_4</a> (T w, F &amp;func)</td></tr>
679
 
 
680
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated algorithm to unpacks octet based word into list of ON bit indexes.  <a href="a00111.html#gb9f80b3c898323ce77beb915e4c861f3"></a><br></td></tr>
681
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename F&gt; </td></tr>
682
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g24be2ad5d8c2a8f18fdad142452aaae8">bit_for_each</a> (T w, F &amp;func)</td></tr>
683
 
 
684
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated algorithm to unpacks word into list of ON bit indexes.  <a href="a00111.html#g24be2ad5d8c2a8f18fdad142452aaae8"></a><br></td></tr>
685
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename B&gt; </td></tr>
686
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3c81f6bff8866ec3ed0a94903eee96b7">bit_list_4</a> (T w, B *bits)</td></tr>
687
 
 
688
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes (quad-bit based).  <a href="a00111.html#g3c81f6bff8866ec3ed0a94903eee96b7"></a><br></td></tr>
689
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename B&gt; </td></tr>
690
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gae3ae537760044543f842363e4614e82">bit_list</a> (T w, B *bits)</td></tr>
691
 
 
692
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes.  <a href="a00111.html#gae3ae537760044543f842363e4614e82"></a><br></td></tr>
693
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
694
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g16a7495c47bdcd1b0c7208e29e40bb81">bit_convert_to_arr</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
695
 
 
696
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="a00111.html#g16a7495c47bdcd1b0c7208e29e40bb81"></a><br></td></tr>
697
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
698
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gcc578010f3700940829c600c812d23b1">gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
699
 
 
700
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="a00110.html#gcc578010f3700940829c600c812d23b1"></a><br></td></tr>
701
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
702
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813">improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
703
 
 
704
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds optimal gap blocks lengths.  <a href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813"></a><br></td></tr>
705
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class It1, class It2, class BinaryOp, class Encoder&gt; </td></tr>
706
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#503fecc0ee281059897412d68f489e1e">bit_recomb</a> (It1 &amp;it1, It2 &amp;it2, BinaryOp &amp;op, Encoder &amp;enc, unsigned block_size=<a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>)</td></tr>
707
 
 
708
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g75c6ddeb0d8a279caa92341878309b50">sse2_xor_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
709
 
 
710
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR array elements to specified mask dst = *src ^ mask.  <a href="a00113.html#g75c6ddeb0d8a279caa92341878309b50"></a><br></td></tr>
711
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gb7b21f448684c4d84927792661e67ed5">sse2_andnot_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
712
 
 
713
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts array elements and NOT them to specified mask dst = ~*src &amp; mask.  <a href="a00113.html#gb7b21f448684c4d84927792661e67ed5"></a><br></td></tr>
714
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g795b544f311409a55da4ee61a3cd939a">sse2_and_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
715
 
 
716
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND array elements against another array dst &amp;= *src.  <a href="a00113.html#g795b544f311409a55da4ee61a3cd939a"></a><br></td></tr>
717
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g3a7d61e4e8ad8791ab38fd1c3436aa67">sse2_or_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
718
 
 
719
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR array elements against another array dst |= *src.  <a href="a00113.html#g3a7d61e4e8ad8791ab38fd1c3436aa67"></a><br></td></tr>
720
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gf1a5ad26557cc4d71d7421c35a8445fe">sse2_xor_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
721
 
 
722
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR array elements against another array dst |= *src.  <a href="a00113.html#gf1a5ad26557cc4d71d7421c35a8445fe"></a><br></td></tr>
723
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gc99f3b138f8a5e8ffb1296b129f618f0">sse2_sub_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
724
 
 
725
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND-NOT (SUB) array elements against another array dst &amp;= ~*src.  <a href="a00113.html#gc99f3b138f8a5e8ffb1296b129f618f0"></a><br></td></tr>
726
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g302f4fcd0abf355957b305d16d04f452">sse2_set_block</a> (__m128i *BMRESTRICT dst, __m128i *BMRESTRICT dst_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
727
 
 
728
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 block memset dst = value.  <a href="a00113.html#g302f4fcd0abf355957b305d16d04f452"></a><br></td></tr>
729
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g571dd54af5c555cad9dfa6bef4561777">sse2_copy_block</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
730
 
 
731
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 block copy dst = *src.  <a href="a00113.html#g571dd54af5c555cad9dfa6bef4561777"></a><br></td></tr>
732
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g8d506147673d88005f92caee7f5dd23a">sse2_invert_arr</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *first, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *last)</td></tr>
733
 
 
734
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert array elements dst = ~*dst or dst ^= *dst.  <a href="a00113.html#g8d506147673d88005f92caee7f5dd23a"></a><br></td></tr>
735
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g0f7e0b2eb9ac7b2c6a8cd3b8f15b071f">sse2_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
736
 
 
737
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c0c75fb7b3dc61602843ac4e1b9b7ef5">sse2_and</a> (__m128i a, __m128i b)</td></tr>
738
 
 
739
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dea798a9a95a04845c33876087a2f46b">sse2_or</a> (__m128i a, __m128i b)</td></tr>
740
 
 
741
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#6f5de19ee3e1be05037908b4777c4da8">sse2_xor</a> (__m128i a, __m128i b)</td></tr>
742
 
 
743
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b3e6d46fcba1bc2a1a5390c10f571382">sse2_sub</a> (__m128i a, __m128i b)</td></tr>
744
 
 
745
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Func&gt; </td></tr>
746
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#8831a88ef538b3997d04d2ebf513160d">sse2_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
747
 
 
748
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#g158946ea41ca66c3e1bca62c92684788">operation2metric</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
749
 
 
750
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert set operation into compatible distance metric.  <a href="a00115.html#g158946ea41ca66c3e1bca62c92684788"></a><br></td></tr>
751
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#becd5b24d5e394fd46a9db514cfa659a">combine_count_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
752
 
 
753
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal function computes different distance metrics.  <a href="#becd5b24d5e394fd46a9db514cfa659a"></a><br></td></tr>
754
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#24069ced9ea689034ff51246ae707ecc">combine_any_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
755
 
 
756
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal function computes different existense of distance metric.  <a href="#24069ced9ea689034ff51246ae707ecc"></a><br></td></tr>
757
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2f81b8ce3d389973b4f867b0fcc98e7a">combine_count_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
758
 
 
759
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#093f2dadce40f42a184928c9d1456592">combine_any_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
760
 
 
761
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
762
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#d47cf2dce876dcbc25aef4c7a222c66f">distance_stage</a> (const BV &amp;bv1, const <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, const <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end, bool *is_all_and)</td></tr>
763
 
 
764
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Staging function for distance operation.  <a href="#d47cf2dce876dcbc25aef4c7a222c66f"></a><br></td></tr>
765
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
766
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g815fef76f02576ab9ab58de0a45d8a4b">distance_operation</a> (const BV &amp;bv1, const BV &amp;bv2, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
767
 
 
768
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance computing template function.  <a href="a00115.html#g815fef76f02576ab9ab58de0a45d8a4b"></a><br></td></tr>
769
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
770
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga66525fd7a3f823d73678252a235982e">distance_operation_any</a> (const BV &amp;bv1, const BV &amp;bv2, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
771
 
 
772
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance screening template function.  <a href="a00115.html#ga66525fd7a3f823d73678252a235982e"></a><br></td></tr>
773
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
774
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ge451cb4b87e8c0859b0614d2ffb99737">count_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
775
 
 
776
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of AND operation of two bitsets.  <a href="a00115.html#ge451cb4b87e8c0859b0614d2ffb99737"></a><br></td></tr>
777
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
778
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g2d5393e05bcfc540840a4cee67fb771f">any_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
779
 
 
780
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets.  <a href="a00115.html#g2d5393e05bcfc540840a4cee67fb771f"></a><br></td></tr>
781
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
782
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gfc64a082dcaee07f70f7faf3e24f844e">count_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
783
 
 
784
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets.  <a href="a00115.html#gfc64a082dcaee07f70f7faf3e24f844e"></a><br></td></tr>
785
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
786
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g2d63f41244b82d233acb53d88b326b82">any_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
787
 
 
788
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets.  <a href="a00115.html#g2d63f41244b82d233acb53d88b326b82"></a><br></td></tr>
789
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
790
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g902d8c1cd1f8a2538cd47d47f5d8d605">count_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
791
 
 
792
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets.  <a href="a00115.html#g902d8c1cd1f8a2538cd47d47f5d8d605"></a><br></td></tr>
793
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
794
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#gbde2e210b9b1edd190e1f5a9ff22344c">any_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
795
 
 
796
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets.  <a href="a00115.html#gbde2e210b9b1edd190e1f5a9ff22344c"></a><br></td></tr>
797
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
798
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g803c564668703fc3bf80067570c2c905">count_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
799
 
 
800
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of OR operation of two bitsets.  <a href="a00115.html#g803c564668703fc3bf80067570c2c905"></a><br></td></tr>
801
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
802
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#geda4f0cf54aa464cec09e740100caa79">any_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
803
 
 
804
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets.  <a href="a00115.html#geda4f0cf54aa464cec09e740100caa79"></a><br></td></tr>
805
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class It&gt; </td></tr>
806
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">It&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#86d5d5ccdb79d2b2ad552bd1caf34b2f">block_range_scan</a> (It first, It last, unsigned nblock, unsigned *max_id)</td></tr>
807
 
 
808
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal algorithms scans the input for the block range limit.  <a href="#86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><br></td></tr>
809
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
810
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g54ff78528c99ae3ca443eb99ba44785b">combine_or</a> (BV &amp;bv, It first, It last)</td></tr>
811
 
 
812
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR Combine bitvector and the iterable sequence.  <a href="a00114.html#g54ff78528c99ae3ca443eb99ba44785b"></a><br></td></tr>
813
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
814
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g3cb362aee03de6a321495100ae5c8375">combine_xor</a> (BV &amp;bv, It first, It last)</td></tr>
815
 
 
816
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR Combine bitvector and the iterable sequence.  <a href="a00114.html#g3cb362aee03de6a321495100ae5c8375"></a><br></td></tr>
817
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
818
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gb88c5bf51484323e0139aa789d7f0b98">combine_sub</a> (BV &amp;bv, It first, It last)</td></tr>
819
 
 
820
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB Combine bitvector and the iterable sequence.  <a href="a00114.html#gb88c5bf51484323e0139aa789d7f0b98"></a><br></td></tr>
821
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
822
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g22922f71bd1eec8a5b663dc77b90cf6c">combine_and_sorted</a> (BV &amp;bv, It first, It last)</td></tr>
823
 
 
824
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="a00114.html#g22922f71bd1eec8a5b663dc77b90cf6c"></a><br></td></tr>
825
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
826
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g819bdab57a624a08456ea79161b9c5d2">combine_and</a> (BV &amp;bv, It first, It last)</td></tr>
827
 
 
828
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="a00114.html#g819bdab57a624a08456ea79161b9c5d2"></a><br></td></tr>
829
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
830
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gc7a59d3bc266310ec127cb3efadb0d33">count_intervals</a> (const BV &amp;bv)</td></tr>
831
 
 
832
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector.  <a href="a00114.html#gc7a59d3bc266310ec127cb3efadb0d33"></a><br></td></tr>
833
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV, class It&gt; </td></tr>
834
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gcd88ed9539553dd93419b7029e8a4584">export_array</a> (BV &amp;bv, It first, It last)</td></tr>
835
 
 
836
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector.  <a href="a00114.html#gcd88ed9539553dd93419b7029e8a4584"></a><br></td></tr>
837
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
838
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#2e3af9c9f2eb481130d240ba4cd6fd68">vect_bit_transpose</a> (const T *arr, unsigned arr_size, T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS])</td></tr>
839
 
 
840
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size.  <a href="#2e3af9c9f2eb481130d240ba4cd6fd68"></a><br></td></tr>
841
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
842
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#089ac7cd17ddca4bf3c661c96f749f3f">vect_bit_trestore</a> (const T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS], T *arr)</td></tr>
843
 
 
844
 
<tr><td class="mdescLeft">&nbsp;</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="#089ac7cd17ddca4bf3c661c96f749f3f"></a><br></td></tr>
845
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
846
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae">tmatrix_distance</a> (const T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
847
 
 
848
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block.  <a href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae"></a><br></td></tr>
849
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
850
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75">bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
851
 
 
852
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; ibpc limiter  <a href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75"></a><br></td></tr>
853
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dfae226f696ef821c7d351216c00fe0d">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>
854
 
 
855
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of ibpc codes in pc_vector.  <a href="#dfae226f696ef821c7d351216c00fe0d"></a><br></td></tr>
856
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#62808b64adfcf2a7e610a4f713f470c0">bit_iblock_reduce</a> (const unsigned <a class="el" href="a00081.html">tmatrix</a>[<a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">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="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
857
 
 
858
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix reduction based on transformation pc vector.  <a href="#62808b64adfcf2a7e610a4f713f470c0"></a><br></td></tr>
859
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GT, typename BT&gt; </td></tr>
860
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#76724fb233f93c15146641482311ce28">gap_2_bitblock</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)</td></tr>
861
 
 
862
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation.  <a href="#76724fb233f93c15146641482311ce28"></a><br></td></tr>
863
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TM&gt; </td></tr>
864
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#f92597461aff2926f9adcbf51bac98f9">find_effective_columns</a> (const TM &amp;<a class="el" href="a00081.html">tmatrix</a>)</td></tr>
865
 
 
866
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute effective right column border of the t-matrix.  <a href="#f92597461aff2926f9adcbf51bac98f9"></a><br></td></tr>
867
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
868
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#46f258f92ab40e2a0c76aa775338faaa">ilog2</a> (T x)</td></tr>
869
 
 
870
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fast loop-less function to find LOG2.  <a href="#46f258f92ab40e2a0c76aa775338faaa"></a><br></td></tr>
871
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
872
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5f818ac575622da8a9a75511e649ea90">ilog2</a> (<a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> x)</td></tr>
873
 
 
874
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
875
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#3ab126a6fd7ffd872a4001638819a330">ilog2_LUT</a> (T x)</td></tr>
876
 
 
877
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup table based integer LOG2.  <a href="#3ab126a6fd7ffd872a4001638819a330"></a><br></td></tr>
878
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
879
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7074ee06dc4ee023170c2f85c78b50fe">ilog2_LUT&lt; bm::gap_word_t &gt;</a> (<a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> x)</td></tr>
880
 
 
881
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup table based short integer LOG2.  <a href="#7074ee06dc4ee023170c2f85c78b50fe"></a><br></td></tr>
882
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
883
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#g5210c3bda57254ef2e8c71e23306cc88">serialize</a> (const BV &amp;bv, unsigned char *buf, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned <a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
884
 
 
885
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory.  <a href="a00116.html#g5210c3bda57254ef2e8c71e23306cc88"></a><br></td></tr>
886
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
887
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#g213033b5cc6add74aa4bd1d614b56192">serialize</a> (BV &amp;bv, unsigned char *buf, unsigned <a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
888
 
 
889
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a>.  <a href="a00116.html#g213033b5cc6add74aa4bd1d614b56192"></a><br></td></tr>
890
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class BV&gt; </td></tr>
891
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#gfbe633db8da3d867f098468269fd8d3d">deserialize</a> (BV &amp;bv, const unsigned char *buf, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
892
 
 
893
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitvector deserialization from memory.  <a href="a00116.html#gfbe633db8da3d867f098468269fd8d3d"></a><br></td></tr>
894
 
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
895
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#104b924a1df81542db2a6296fbf26a65">id_max</a> = 0xFFFFFFFF</td></tr>
896
 
 
897
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> = 2048u</td></tr>
898
 
 
899
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d8723fbeea6290d3daa8917ea7ce9bb2">set_block_shift</a> = 16u</td></tr>
900
 
 
901
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#201fb8b1f81b7487f1c1c129fc3d6557">set_block_mask</a> = 0xFFFFu</td></tr>
902
 
 
903
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2d1bf97ae342a7759943e62090fcf5d3">set_blkblk_mask</a> = 0xFFFFFFu</td></tr>
904
 
 
905
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">set_block_plain_size</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td></tr>
906
 
 
907
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">set_block_plain_cnt</a> = sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td></tr>
908
 
 
909
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#83d76bccf6fe3770f32d5ba11d2a37ad">set_word_shift</a> = 5u</td></tr>
910
 
 
911
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ddbf345be3733d5e4575d71733ed1da8">set_word_mask</a> = 0x1Fu</td></tr>
912
 
 
913
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a5e01dfb650d168f9be0525e042af647">gap_max_buff_len</a> = 1280</td></tr>
914
 
 
915
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d0b8714080144ac70197840ff96752b7">gap_max_bits</a> = 65536</td></tr>
916
 
 
917
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9b1715d6d9164d56172e75bbbd0e3000">gap_equiv_len</a></td></tr>
918
 
 
919
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">gap_levels</a> = 4</td></tr>
920
 
 
921
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#13793ad631e2b2fcbaaae9000ea1a924">gap_max_level</a> = <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td></tr>
922
 
 
923
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">set_array_size</a> = 256u</td></tr>
924
 
 
925
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c1ff8647a089c751ec330cecee01907e">set_array_shift</a> = 8u</td></tr>
926
 
 
927
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#00ffa7b38d7fcc7e522d864991a6de68">set_array_mask</a> = 0xFFu</td></tr>
928
 
 
929
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">set_total_blocks</a> = (<a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td></tr>
930
 
 
931
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bits_in_block</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td></tr>
932
 
 
933
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#4dedd13a7b8a27c5067b20118002f025">bits_in_array</a> = <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td></tr>
934
 
 
935
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#095e72da3086d98dac9724b11b478235">all_bits_mask</a> = 0xffffffffffffffff</td></tr>
936
 
 
937
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#7049fd70220fc3a3072e9f82abf4ad66">set_block_size_op</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> / 2</td></tr>
938
 
 
939
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e34de9206be7a8aa05db9d5dc38bfc90">ibpc_uncompr</a> = 0</td></tr>
940
 
 
941
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aca6d3c887b5b7b66a78e95471f9a326">ibpc_all_zero</a> = 1</td></tr>
942
 
 
943
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain uncompressed  <a href="#aca6d3c887b5b7b66a78e95471f9a326"></a><br></td></tr>
944
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a6f59be0b838db693e0f081bcaf750f0">ibpc_all_one</a> = 2</td></tr>
945
 
 
946
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ZERO  <a href="#a6f59be0b838db693e0f081bcaf750f0"></a><br></td></tr>
947
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#748d4095c39c9372a590b431e0ec17fe">ibpc_equiv</a> = 3</td></tr>
948
 
 
949
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ONE  <a href="#748d4095c39c9372a590b431e0ec17fe"></a><br></td></tr>
950
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a61bf7691d32a9bc7c65c05bb62657e5">ibpc_close</a> = 4</td></tr>
951
 
 
952
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is equal to plain M  <a href="#a61bf7691d32a9bc7c65c05bb62657e5"></a><br></td></tr>
953
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e4f14f0c2c5a9ee277808d36fd94693f">ibpc_end</a> = 8</td></tr>
954
 
 
955
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is close to plain M  <a href="#e4f14f0c2c5a9ee277808d36fd94693f"></a><br></td></tr>
956
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a24e7c08930cf959d383c6b930fb0508">set_block_end</a> = 0</td></tr>
957
 
 
958
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of serialization.  <a href="#a24e7c08930cf959d383c6b930fb0508"></a><br></td></tr>
959
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9e9cf918ca2ebec84eaf844d0e4c8bdb">set_block_1zero</a> = 1</td></tr>
960
 
 
961
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One all-zero block.  <a href="#9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br></td></tr>
962
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#715131318a361bcccf59fc0b1e41d444">set_block_1one</a> = 2</td></tr>
963
 
 
964
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One block all-set (1111...).  <a href="#715131318a361bcccf59fc0b1e41d444"></a><br></td></tr>
965
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c9b85b261ab49b37d5e15b84ed2d8b99">set_block_8zero</a> = 3</td></tr>
966
 
 
967
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 zero blocks.  <a href="#c9b85b261ab49b37d5e15b84ed2d8b99"></a><br></td></tr>
968
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#57ad1090d6f380cf5de5f98c699b5a75">set_block_8one</a> = 4</td></tr>
969
 
 
970
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 all-set blocks.  <a href="#57ad1090d6f380cf5de5f98c699b5a75"></a><br></td></tr>
971
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ef47eda6538ebf2624c1612d35694c01">set_block_16zero</a> = 5</td></tr>
972
 
 
973
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 65536 zero blocks.  <a href="#ef47eda6538ebf2624c1612d35694c01"></a><br></td></tr>
974
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3fad4a939708df59b1201910c7d37e30">set_block_16one</a> = 6</td></tr>
975
 
 
976
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 65536 all-set blocks.  <a href="#3fad4a939708df59b1201910c7d37e30"></a><br></td></tr>
977
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c7dfbd94a0534df88849bbce9e6c419a">set_block_32zero</a> = 7</td></tr>
978
 
 
979
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 4G zero blocks.  <a href="#c7dfbd94a0534df88849bbce9e6c419a"></a><br></td></tr>
980
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#5b87c58ae617ad1f104b4c6bc3ed6447">set_block_32one</a> = 8</td></tr>
981
 
 
982
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 4G all-set blocks.  <a href="#5b87c58ae617ad1f104b4c6bc3ed6447"></a><br></td></tr>
983
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e87b5c61d7ba6e2e592a279db0b21cc0">set_block_azero</a> = 9</td></tr>
984
 
 
985
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks zero.  <a href="#e87b5c61d7ba6e2e592a279db0b21cc0"></a><br></td></tr>
986
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d506b63262c52870758432a95e71907e">set_block_aone</a> = 10</td></tr>
987
 
 
988
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks one.  <a href="#d506b63262c52870758432a95e71907e"></a><br></td></tr>
989
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ef86ab2eb42c198272eea7cdfe42951b">set_block_bit</a> = 11</td></tr>
990
 
 
991
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bit block.  <a href="#ef86ab2eb42c198272eea7cdfe42951b"></a><br></td></tr>
992
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#fe4b1011b09271c5f3882b926e250d39">set_block_sgapbit</a> = 12</td></tr>
993
 
 
994
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed bitblock.  <a href="#fe4b1011b09271c5f3882b926e250d39"></a><br></td></tr>
995
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b3a8d57c0b898c3c5a23cd27a8f856ad">set_block_sgapgap</a> = 13</td></tr>
996
 
 
997
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed GAP block.  <a href="#b3a8d57c0b898c3c5a23cd27a8f856ad"></a><br></td></tr>
998
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#09b8c4b17b7d6f613c237c46d04a9cd6">set_block_gap</a> = 14</td></tr>
999
 
 
1000
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain GAP block.  <a href="#09b8c4b17b7d6f613c237c46d04a9cd6"></a><br></td></tr>
1001
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#77dc965397e31a1d39c3d8e628792779">set_block_gapbit</a> = 15</td></tr>
1002
 
 
1003
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP compressed bitblock.  <a href="#77dc965397e31a1d39c3d8e628792779"></a><br></td></tr>
1004
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#6ec6acb175ce77a229003f088ecd3923">set_block_arrbit</a> = 16</td></tr>
1005
 
 
1006
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON.  <a href="#6ec6acb175ce77a229003f088ecd3923"></a><br></td></tr>
1007
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#0f2d3289a95dc3bd224a6a73c3d3afce">set_block_bit_interval</a> = 17</td></tr>
1008
 
 
1009
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interval block.  <a href="#0f2d3289a95dc3bd224a6a73c3d3afce"></a><br></td></tr>
1010
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ae33ceefae804cdd94412beee8c52720">set_block_arrgap</a> = 18</td></tr>
1011
 
 
1012
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON (GAP block).  <a href="#ae33ceefae804cdd94412beee8c52720"></a><br></td></tr>
1013
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d0e6607a9771fa49a658c3078208c2dc">set_block_bit_1bit</a> = 19</td></tr>
1014
 
 
1015
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with 1 bit ON.  <a href="#d0e6607a9771fa49a658c3078208c2dc"></a><br></td></tr>
1016
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c47dea3917e15264ed3ba0cf4055adbe">set_block_gap_egamma</a> = 20</td></tr>
1017
 
 
1018
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed GAP block.  <a href="#c47dea3917e15264ed3ba0cf4055adbe"></a><br></td></tr>
1019
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9674ddb1b9ee66948465249688708188">set_block_arrgap_egamma</a> = 21</td></tr>
1020
 
 
1021
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed delta GAP array.  <a href="#9674ddb1b9ee66948465249688708188"></a><br></td></tr>
1022
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#5e21adca3bc6902f33e43e5cfd824f0e">set_block_bit_0runs</a> = 22</td></tr>
1023
 
 
1024
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with encoded zero intervals.  <a href="#5e21adca3bc6902f33e43e5cfd824f0e"></a><br></td></tr>
1025
 
</table>
1026
 
<hr><h2>Typedef Documentation</h2>
1027
 
<a class="anchor" name="d93f96a77f223240b8c6b8f81c5db840"></a><!-- doxytag: member="bm::bit_operation_count_func_type" ref="d93f96a77f223240b8c6b8f81c5db840" args=")(const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT)" -->
1028
 
<div class="memitem">
1029
 
<div class="memproto">
1030
 
      <table class="memname">
1031
 
        <tr>
1032
 
          <td class="memname">typedef <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* <a class="el" href="a00106.html#d93f96a77f223240b8c6b8f81c5db840">bm::bit_operation_count_func_type</a>)(const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)          </td>
1033
 
        </tr>
1034
 
      </table>
1035
 
</div>
1036
 
<div class="memdoc">
1037
 
 
1038
 
<p>
1039
 
 
1040
 
<p>Definition at line <a class="el" href="a00134.html#l04767">4767</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1041
 
 
1042
 
</div>
1043
 
</div><p>
1044
 
<a class="anchor" name="c36d9b78ebf78baf0b92dc61487d9847"></a><!-- doxytag: member="bm::decoder_big_endian" ref="c36d9b78ebf78baf0b92dc61487d9847" args="" -->
1045
 
<div class="memitem">
1046
 
<div class="memproto">
1047
 
      <table class="memname">
1048
 
        <tr>
1049
 
          <td class="memname">typedef <a class="el" href="a00057.html">decoder</a> <a class="el" href="a00057.html">bm::decoder_big_endian</a>          </td>
1050
 
        </tr>
1051
 
      </table>
1052
 
</div>
1053
 
<div class="memdoc">
1054
 
 
1055
 
<p>
1056
 
Class for decoding data from memory buffer. 
1057
 
<p>
1058
 
Properly handles aligment issues with integer data types. Converts data to big endian architecture (presumed it was encoded as little endian) 
1059
 
<p>Definition at line <a class="el" href="a00142.html#l00115">115</a> of file <a class="el" href="a00142.html">encoding.h</a>.</p>
1060
 
 
1061
 
</div>
1062
 
</div><p>
1063
 
<a class="anchor" name="9a7bc970eaa1179eb83bd14e21643da2"></a><!-- doxytag: member="bm::gap_operation_func_type" ref="9a7bc970eaa1179eb83bd14e21643da2" args=")(const gap_word_t *BMRESTRICT, const gap_word_t *BMRESTRICT, gap_word_t *BMRESTRICT)" -->
1064
 
<div class="memitem">
1065
 
<div class="memproto">
1066
 
      <table class="memname">
1067
 
        <tr>
1068
 
          <td class="memname">typedef <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a>*(* <a class="el" href="a00106.html#9a7bc970eaa1179eb83bd14e21643da2">bm::gap_operation_func_type</a>)(const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT)          </td>
1069
 
        </tr>
1070
 
      </table>
1071
 
</div>
1072
 
<div class="memdoc">
1073
 
 
1074
 
<p>
1075
 
 
1076
 
<p>Definition at line <a class="el" href="a00134.html#l04762">4762</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1077
 
 
1078
 
</div>
1079
 
</div><p>
1080
 
<a class="anchor" name="18a8f03b151ca3a6d5e39e7709fb6c7c"></a><!-- doxytag: member="bm::gap_operation_to_bitset_func_type" ref="18a8f03b151ca3a6d5e39e7709fb6c7c" args=")(unsigned *, const gap_word_t *)" -->
1081
 
<div class="memitem">
1082
 
<div class="memproto">
1083
 
      <table class="memname">
1084
 
        <tr>
1085
 
          <td class="memname">typedef void(* <a class="el" href="a00106.html#18a8f03b151ca3a6d5e39e7709fb6c7c">bm::gap_operation_to_bitset_func_type</a>)(unsigned *, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)          </td>
1086
 
        </tr>
1087
 
      </table>
1088
 
</div>
1089
 
<div class="memdoc">
1090
 
 
1091
 
<p>
1092
 
 
1093
 
<p>Definition at line <a class="el" href="a00134.html#l04758">4758</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1094
 
 
1095
 
</div>
1096
 
</div><p>
1097
 
<a class="anchor" name="c654d6319039a86546d235a236fc7cf6"></a><!-- doxytag: member="bm::gap_word_t" ref="c654d6319039a86546d235a236fc7cf6" args="" -->
1098
 
<div class="memitem">
1099
 
<div class="memproto">
1100
 
      <table class="memname">
1101
 
        <tr>
1102
 
          <td class="memname">typedef unsigned short <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>          </td>
1103
 
        </tr>
1104
 
      </table>
1105
 
</div>
1106
 
<div class="memdoc">
1107
 
 
1108
 
<p>
1109
 
 
1110
 
<p>Definition at line <a class="el" href="a00132.html#l00069">69</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1111
 
 
1112
 
</div>
1113
 
</div><p>
1114
 
<a class="anchor" name="1f6a6dd108cd9e9f4fb284043ef518fe"></a><!-- doxytag: member="bm::id64_t" ref="1f6a6dd108cd9e9f4fb284043ef518fe" args="" -->
1115
 
<div class="memitem">
1116
 
<div class="memproto">
1117
 
      <table class="memname">
1118
 
        <tr>
1119
 
          <td class="memname">typedef unsigned long long <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a>          </td>
1120
 
        </tr>
1121
 
      </table>
1122
 
</div>
1123
 
<div class="memdoc">
1124
 
 
1125
 
<p>
1126
 
 
1127
 
<p>Definition at line <a class="el" href="a00132.html#l00039">39</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1128
 
 
1129
 
</div>
1130
 
</div><p>
1131
 
<a class="anchor" name="a3824d882a037396370b16f2f0a8bf37"></a><!-- doxytag: member="bm::id_t" ref="a3824d882a037396370b16f2f0a8bf37" args="" -->
1132
 
<div class="memitem">
1133
 
<div class="memproto">
1134
 
      <table class="memname">
1135
 
        <tr>
1136
 
          <td class="memname">typedef unsigned int <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>          </td>
1137
 
        </tr>
1138
 
      </table>
1139
 
</div>
1140
 
<div class="memdoc">
1141
 
 
1142
 
<p>
1143
 
 
1144
 
<p>Definition at line <a class="el" href="a00132.html#l00043">43</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1145
 
 
1146
 
</div>
1147
 
</div><p>
1148
 
<a class="anchor" name="c77813f2c2dfe40575830ba6a8373bcc"></a><!-- doxytag: member="bm::mem_save_set" ref="c77813f2c2dfe40575830ba6a8373bcc" args="" -->
1149
 
<div class="memitem">
1150
 
<div class="memproto">
1151
 
      <table class="memname">
1152
 
        <tr>
1153
 
          <td class="memname">typedef <a class="el" href="a00074.html">bm::miniset</a>&lt;<a class="el" href="a00037.html">bm::block_allocator</a>, <a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a>&gt; <a class="el" href="a00074.html">bm::mem_save_set</a>          </td>
1154
 
        </tr>
1155
 
      </table>
1156
 
</div>
1157
 
<div class="memdoc">
1158
 
 
1159
 
<p>
1160
 
 
1161
 
<p>Definition at line <a class="el" href="a00128.html#l00089">89</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
1162
 
 
1163
 
</div>
1164
 
</div><p>
1165
 
<a class="anchor" name="e64960202b691ae1b6efe5fec12cb5af"></a><!-- doxytag: member="bm::short_t" ref="e64960202b691ae1b6efe5fec12cb5af" args="" -->
1166
 
<div class="memitem">
1167
 
<div class="memproto">
1168
 
      <table class="memname">
1169
 
        <tr>
1170
 
          <td class="memname">typedef unsigned short <a class="el" href="a00106.html#e64960202b691ae1b6efe5fec12cb5af">bm::short_t</a>          </td>
1171
 
        </tr>
1172
 
      </table>
1173
 
</div>
1174
 
<div class="memdoc">
1175
 
 
1176
 
<p>
1177
 
 
1178
 
<p>Definition at line <a class="el" href="a00132.html#l00045">45</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1179
 
 
1180
 
</div>
1181
 
</div><p>
1182
 
<a class="anchor" name="17fd5ba52db3ddda05e6f8dd5000a1a4"></a><!-- doxytag: member="bm::word_t" ref="17fd5ba52db3ddda05e6f8dd5000a1a4" args="" -->
1183
 
<div class="memitem">
1184
 
<div class="memproto">
1185
 
      <table class="memname">
1186
 
        <tr>
1187
 
          <td class="memname">typedef unsigned int <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>          </td>
1188
 
        </tr>
1189
 
      </table>
1190
 
</div>
1191
 
<div class="memdoc">
1192
 
 
1193
 
<p>
1194
 
<dl compact><dt><b>Examples: </b></dt><dd>
1195
 
<a class="el" href="a00006.html#a3">sample6.cpp</a>.</dl>
1196
 
<p>Definition at line <a class="el" href="a00132.html#l00044">44</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1197
 
 
1198
 
</div>
1199
 
</div><p>
1200
 
<a class="anchor" name="ee4bc8730c4b53977ccc8ac18be42784"></a><!-- doxytag: member="bm::wordop_t" ref="ee4bc8730c4b53977ccc8ac18be42784" args="" -->
1201
 
<div class="memitem">
1202
 
<div class="memproto">
1203
 
      <table class="memname">
1204
 
        <tr>
1205
 
          <td class="memname">typedef <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a>          </td>
1206
 
        </tr>
1207
 
      </table>
1208
 
</div>
1209
 
<div class="memdoc">
1210
 
 
1211
 
<p>
1212
 
 
1213
 
<p>Definition at line <a class="el" href="a00132.html#l00092">92</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1214
 
 
1215
 
</div>
1216
 
</div><p>
1217
 
<hr><h2>Enumeration Type Documentation</h2>
1218
 
<a class="anchor" name="577905b348676c2bc556b51793350dbb"></a><!-- doxytag: member="bm::ByteOrder" ref="577905b348676c2bc556b51793350dbb" args="" -->
1219
 
<div class="memitem">
1220
 
<div class="memproto">
1221
 
      <table class="memname">
1222
 
        <tr>
1223
 
          <td class="memname">enum <a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb">bm::ByteOrder</a>          </td>
1224
 
        </tr>
1225
 
      </table>
1226
 
</div>
1227
 
<div class="memdoc">
1228
 
 
1229
 
<p>
1230
 
Byte orders recognized by the library. 
1231
 
<p>
1232
 
<dl compact><dt><b>Enumerator: </b></dt><dd>
1233
 
<table border="0" cellspacing="2" cellpadding="0">
1234
 
<tr><td valign="top"><em><a class="anchor" name="577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2"></a><!-- doxytag: member="BigEndian" ref="577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2" args="" -->BigEndian</em>&nbsp;</td><td>
1235
 
</td></tr>
1236
 
<tr><td valign="top"><em><a class="anchor" name="577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2"></a><!-- doxytag: member="LittleEndian" ref="577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2" args="" -->LittleEndian</em>&nbsp;</td><td>
1237
 
</td></tr>
1238
 
</table>
1239
 
</dl>
1240
 
 
1241
 
<p>Definition at line <a class="el" href="a00134.html#l00393">393</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1242
 
 
1243
 
</div>
1244
 
</div><p>
1245
 
<a class="anchor" name="42405343976ec931388381cea4092bf1"></a><!-- doxytag: member="bm::operation" ref="42405343976ec931388381cea4092bf1" args="" -->
1246
 
<div class="memitem">
1247
 
<div class="memproto">
1248
 
      <table class="memname">
1249
 
        <tr>
1250
 
          <td class="memname">enum <a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a>          </td>
1251
 
        </tr>
1252
 
      </table>
1253
 
</div>
1254
 
<div class="memdoc">
1255
 
 
1256
 
<p>
1257
 
Bit operations enumeration. 
1258
 
<p>
1259
 
<dl compact><dt><b>Enumerator: </b></dt><dd>
1260
 
<table border="0" cellspacing="2" cellpadding="0">
1261
 
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250"></a><!-- doxytag: member="BM_AND" ref="42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250" args="" -->BM_AND</em>&nbsp;</td><td>
1262
 
</td></tr>
1263
 
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5"></a><!-- doxytag: member="BM_OR" ref="42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5" args="" -->BM_OR</em>&nbsp;</td><td>
1264
 
</td></tr>
1265
 
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5"></a><!-- doxytag: member="BM_SUB" ref="42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5" args="" -->BM_SUB</em>&nbsp;</td><td>
1266
 
</td></tr>
1267
 
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c"></a><!-- doxytag: member="BM_XOR" ref="42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c" args="" -->BM_XOR</em>&nbsp;</td><td>
1268
 
</td></tr>
1269
 
</table>
1270
 
</dl>
1271
 
 
1272
 
<p>Definition at line <a class="el" href="a00134.html#l00270">270</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1273
 
 
1274
 
</div>
1275
 
</div><p>
1276
 
<a class="anchor" name="b69f66b71d349b0757370f54318bb2c0"></a><!-- doxytag: member="bm::serialization_header_mask" ref="b69f66b71d349b0757370f54318bb2c0" args="" -->
1277
 
<div class="memitem">
1278
 
<div class="memproto">
1279
 
      <table class="memname">
1280
 
        <tr>
1281
 
          <td class="memname">enum <a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a>          </td>
1282
 
        </tr>
1283
 
      </table>
1284
 
</div>
1285
 
<div class="memdoc">
1286
 
 
1287
 
<p>
1288
 
<dl compact><dt><b>Enumerator: </b></dt><dd>
1289
 
<table border="0" cellspacing="2" cellpadding="0">
1290
 
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca"></a><!-- doxytag: member="BM_HM_DEFAULT" ref="b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca" args="" -->BM_HM_DEFAULT</em>&nbsp;</td><td>
1291
 
</td></tr>
1292
 
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27"></a><!-- doxytag: member="BM_HM_RESIZE" ref="b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27" args="" -->BM_HM_RESIZE</em>&nbsp;</td><td>
1293
 
resized vector </td></tr>
1294
 
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47"></a><!-- doxytag: member="BM_HM_ID_LIST" ref="b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47" args="" -->BM_HM_ID_LIST</em>&nbsp;</td><td>
1295
 
id list stored </td></tr>
1296
 
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e"></a><!-- doxytag: member="BM_HM_NO_BO" ref="b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e" args="" -->BM_HM_NO_BO</em>&nbsp;</td><td>
1297
 
no byte-order </td></tr>
1298
 
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3"></a><!-- doxytag: member="BM_HM_NO_GAPL" ref="b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3" args="" -->BM_HM_NO_GAPL</em>&nbsp;</td><td>
1299
 
no GAP levels </td></tr>
1300
 
</table>
1301
 
</dl>
1302
 
 
1303
 
<p>Definition at line <a class="el" href="a00136.html#l00093">93</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
1304
 
 
1305
 
</div>
1306
 
</div><p>
1307
 
<a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109"></a><!-- doxytag: member="bm::set_operation" ref="76b70d2b9182a6dcac151d1bd9ec6109" args="" -->
1308
 
<div class="memitem">
1309
 
<div class="memproto">
1310
 
      <table class="memname">
1311
 
        <tr>
1312
 
          <td class="memname">enum <a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a>          </td>
1313
 
        </tr>
1314
 
      </table>
1315
 
</div>
1316
 
<div class="memdoc">
1317
 
 
1318
 
<p>
1319
 
Nomenclature of set operations. 
1320
 
<p>
1321
 
<dl compact><dt><b>Enumerator: </b></dt><dd>
1322
 
<table border="0" cellspacing="2" cellpadding="0">
1323
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3"></a><!-- doxytag: member="set_AND" ref="76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3" args="" -->set_AND</em>&nbsp;</td><td>
1324
 
</td></tr>
1325
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780"></a><!-- doxytag: member="set_OR" ref="76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780" args="" -->set_OR</em>&nbsp;</td><td>
1326
 
</td></tr>
1327
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769"></a><!-- doxytag: member="set_SUB" ref="76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769" args="" -->set_SUB</em>&nbsp;</td><td>
1328
 
</td></tr>
1329
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304"></a><!-- doxytag: member="set_XOR" ref="76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304" args="" -->set_XOR</em>&nbsp;</td><td>
1330
 
</td></tr>
1331
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788"></a><!-- doxytag: member="set_ASSIGN" ref="76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788" args="" -->set_ASSIGN</em>&nbsp;</td><td>
1332
 
</td></tr>
1333
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e"></a><!-- doxytag: member="set_COUNT" ref="76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e" args="" -->set_COUNT</em>&nbsp;</td><td>
1334
 
</td></tr>
1335
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959"></a><!-- doxytag: member="set_COUNT_AND" ref="76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959" args="" -->set_COUNT_AND</em>&nbsp;</td><td>
1336
 
</td></tr>
1337
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c"></a><!-- doxytag: member="set_COUNT_XOR" ref="76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c" args="" -->set_COUNT_XOR</em>&nbsp;</td><td>
1338
 
</td></tr>
1339
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb"></a><!-- doxytag: member="set_COUNT_OR" ref="76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb" args="" -->set_COUNT_OR</em>&nbsp;</td><td>
1340
 
</td></tr>
1341
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1"></a><!-- doxytag: member="set_COUNT_SUB_AB" ref="76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1" args="" -->set_COUNT_SUB_AB</em>&nbsp;</td><td>
1342
 
</td></tr>
1343
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b"></a><!-- doxytag: member="set_COUNT_SUB_BA" ref="76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b" args="" -->set_COUNT_SUB_BA</em>&nbsp;</td><td>
1344
 
</td></tr>
1345
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29"></a><!-- doxytag: member="set_COUNT_A" ref="76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29" args="" -->set_COUNT_A</em>&nbsp;</td><td>
1346
 
</td></tr>
1347
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617"></a><!-- doxytag: member="set_COUNT_B" ref="76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617" args="" -->set_COUNT_B</em>&nbsp;</td><td>
1348
 
</td></tr>
1349
 
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c"></a><!-- doxytag: member="set_END" ref="76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c" args="" -->set_END</em>&nbsp;</td><td>
1350
 
</td></tr>
1351
 
</table>
1352
 
</dl>
1353
 
 
1354
 
<p>Definition at line <a class="el" href="a00134.html#l00241">241</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1355
 
 
1356
 
</div>
1357
 
</div><p>
1358
 
<hr><h2>Function Documentation</h2>
1359
 
<a class="anchor" name="e081940471455763a912a94783833316"></a><!-- doxytag: member="bm::and_op" ref="e081940471455763a912a94783833316" args="(unsigned v1, unsigned v2)" -->
1360
 
<div class="memitem">
1361
 
<div class="memproto">
1362
 
      <table class="memname">
1363
 
        <tr>
1364
 
          <td class="memname">unsigned bm::and_op           </td>
1365
 
          <td>(</td>
1366
 
          <td class="paramtype">unsigned&nbsp;</td>
1367
 
          <td class="paramname"> <em>v1</em>, </td>
1368
 
        </tr>
1369
 
        <tr>
1370
 
          <td class="paramkey"></td>
1371
 
          <td></td>
1372
 
          <td class="paramtype">unsigned&nbsp;</td>
1373
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
1374
 
        </tr>
1375
 
        <tr>
1376
 
          <td></td>
1377
 
          <td>)</td>
1378
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1379
 
        </tr>
1380
 
      </table>
1381
 
</div>
1382
 
<div class="memdoc">
1383
 
 
1384
 
<p>
1385
 
GAP and functor. 
1386
 
<p>
1387
 
 
1388
 
<p>Definition at line <a class="el" href="a00134.html#l02887">2887</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1389
 
 
1390
 
<p>Referenced by <a class="el" href="a00134.html#l02915">gap_operation_and()</a>, <a class="el" href="a00134.html#l02938">gap_operation_any_and()</a>, <a class="el" href="a00134.html#l03057">gap_operation_any_sub()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, and <a class="el" href="a00134.html#l03034">gap_operation_sub()</a>.</p>
1391
 
 
1392
 
</div>
1393
 
</div><p>
1394
 
<a class="anchor" name="dfae226f696ef821c7d351216c00fe0d"></a><!-- doxytag: member="bm::bit_iblock_pcv_stat" ref="dfae226f696ef821c7d351216c00fe0d" args="(const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)" -->
1395
 
<div class="memitem">
1396
 
<div class="memproto">
1397
 
      <table class="memname">
1398
 
        <tr>
1399
 
          <td class="memname">void bm::bit_iblock_pcv_stat           </td>
1400
 
          <td>(</td>
1401
 
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
1402
 
          <td class="paramname"> <em>pc_vector</em>, </td>
1403
 
        </tr>
1404
 
        <tr>
1405
 
          <td class="paramkey"></td>
1406
 
          <td></td>
1407
 
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
1408
 
          <td class="paramname"> <em>pc_vector_end</em>, </td>
1409
 
        </tr>
1410
 
        <tr>
1411
 
          <td class="paramkey"></td>
1412
 
          <td></td>
1413
 
          <td class="paramtype">unsigned *BMRESTRICT&nbsp;</td>
1414
 
          <td class="paramname"> <em>pc_vector_stat</em></td><td>&nbsp;</td>
1415
 
        </tr>
1416
 
        <tr>
1417
 
          <td></td>
1418
 
          <td>)</td>
1419
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1420
 
        </tr>
1421
 
      </table>
1422
 
</div>
1423
 
<div class="memdoc">
1424
 
 
1425
 
<p>
1426
 
Compute number of ibpc codes in pc_vector. 
1427
 
<p>
1428
 
 
1429
 
<p>Definition at line <a class="el" href="a00138.html#l00437">437</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1430
 
 
1431
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
1432
 
 
1433
 
</div>
1434
 
</div><p>
1435
 
<a class="anchor" name="62808b64adfcf2a7e610a4f713f470c0"></a><!-- doxytag: member="bm::bit_iblock_reduce" ref="62808b64adfcf2a7e610a4f713f470c0" 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])" -->
1436
 
<div class="memitem">
1437
 
<div class="memproto">
1438
 
      <table class="memname">
1439
 
        <tr>
1440
 
          <td class="memname">void bm::bit_iblock_reduce           </td>
1441
 
          <td>(</td>
1442
 
          <td class="paramtype">const unsigned&nbsp;</td>
1443
 
          <td class="paramname"> <em>tmatrix</em>[bm::set_block_plain_cnt][bm::set_block_plain_size], </td>
1444
 
        </tr>
1445
 
        <tr>
1446
 
          <td class="paramkey"></td>
1447
 
          <td></td>
1448
 
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
1449
 
          <td class="paramname"> <em>pc_vector</em>, </td>
1450
 
        </tr>
1451
 
        <tr>
1452
 
          <td class="paramkey"></td>
1453
 
          <td></td>
1454
 
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
1455
 
          <td class="paramname"> <em>pc_vector_end</em>, </td>
1456
 
        </tr>
1457
 
        <tr>
1458
 
          <td class="paramkey"></td>
1459
 
          <td></td>
1460
 
          <td class="paramtype">unsigned&nbsp;</td>
1461
 
          <td class="paramname"> <em>tmatrix_out</em>[bm::set_block_plain_cnt][bm::set_block_plain_size]</td><td>&nbsp;</td>
1462
 
        </tr>
1463
 
        <tr>
1464
 
          <td></td>
1465
 
          <td>)</td>
1466
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1467
 
        </tr>
1468
 
      </table>
1469
 
</div>
1470
 
<div class="memdoc">
1471
 
 
1472
 
<p>
1473
 
Matrix reduction based on transformation pc vector. 
1474
 
<p>
1475
 
 
1476
 
<p>Definition at line <a class="el" href="a00138.html#l00458">458</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1477
 
 
1478
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00138.html#l00357">ibpc_all_one</a>, <a class="el" href="a00138.html#l00356">ibpc_all_zero</a>, <a class="el" href="a00138.html#l00359">ibpc_close</a>, <a class="el" href="a00138.html#l00358">ibpc_equiv</a>, and <a class="el" href="a00138.html#l00355">ibpc_uncompr</a>.</p>
1479
 
 
1480
 
</div>
1481
 
</div><p>
1482
 
<a class="anchor" name="503fecc0ee281059897412d68f489e1e"></a><!-- doxytag: member="bm::bit_recomb" ref="503fecc0ee281059897412d68f489e1e" args="(It1 &amp;it1, It2 &amp;it2, BinaryOp &amp;op, Encoder &amp;enc, unsigned block_size=bm::set_block_size)" -->
1483
 
<div class="memitem">
1484
 
<div class="memproto">
1485
 
<div class="memtemplate">
1486
 
template&lt;class It1, class It2, class BinaryOp, class Encoder&gt; </div>
1487
 
      <table class="memname">
1488
 
        <tr>
1489
 
          <td class="memname">void bm::bit_recomb           </td>
1490
 
          <td>(</td>
1491
 
          <td class="paramtype">It1 &amp;&nbsp;</td>
1492
 
          <td class="paramname"> <em>it1</em>, </td>
1493
 
        </tr>
1494
 
        <tr>
1495
 
          <td class="paramkey"></td>
1496
 
          <td></td>
1497
 
          <td class="paramtype">It2 &amp;&nbsp;</td>
1498
 
          <td class="paramname"> <em>it2</em>, </td>
1499
 
        </tr>
1500
 
        <tr>
1501
 
          <td class="paramkey"></td>
1502
 
          <td></td>
1503
 
          <td class="paramtype">BinaryOp &amp;&nbsp;</td>
1504
 
          <td class="paramname"> <em>op</em>, </td>
1505
 
        </tr>
1506
 
        <tr>
1507
 
          <td class="paramkey"></td>
1508
 
          <td></td>
1509
 
          <td class="paramtype">Encoder &amp;&nbsp;</td>
1510
 
          <td class="paramname"> <em>enc</em>, </td>
1511
 
        </tr>
1512
 
        <tr>
1513
 
          <td class="paramkey"></td>
1514
 
          <td></td>
1515
 
          <td class="paramtype">unsigned&nbsp;</td>
1516
 
          <td class="paramname"> <em>block_size</em> = <code><a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></code></td><td>&nbsp;</td>
1517
 
        </tr>
1518
 
        <tr>
1519
 
          <td></td>
1520
 
          <td>)</td>
1521
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1522
 
        </tr>
1523
 
      </table>
1524
 
</div>
1525
 
<div class="memdoc">
1526
 
 
1527
 
<p>
1528
 
Abstract recombination algorithm for two bit-blocks Bit blocks can come as dserialization decoders or bit-streams 
1529
 
<p>Definition at line <a class="el" href="a00134.html#l04624">4624</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1530
 
 
1531
 
<p>Referenced by <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, and <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>.</p>
1532
 
 
1533
 
</div>
1534
 
</div><p>
1535
 
<a class="anchor" name="86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><!-- doxytag: member="bm::block_range_scan" ref="86d5d5ccdb79d2b2ad552bd1caf34b2f" args="(It first, It last, unsigned nblock, unsigned *max_id)" -->
1536
 
<div class="memitem">
1537
 
<div class="memproto">
1538
 
<div class="memtemplate">
1539
 
template&lt;class It&gt; </div>
1540
 
      <table class="memname">
1541
 
        <tr>
1542
 
          <td class="memname">It bm::block_range_scan           </td>
1543
 
          <td>(</td>
1544
 
          <td class="paramtype">It&nbsp;</td>
1545
 
          <td class="paramname"> <em>first</em>, </td>
1546
 
        </tr>
1547
 
        <tr>
1548
 
          <td class="paramkey"></td>
1549
 
          <td></td>
1550
 
          <td class="paramtype">It&nbsp;</td>
1551
 
          <td class="paramname"> <em>last</em>, </td>
1552
 
        </tr>
1553
 
        <tr>
1554
 
          <td class="paramkey"></td>
1555
 
          <td></td>
1556
 
          <td class="paramtype">unsigned&nbsp;</td>
1557
 
          <td class="paramname"> <em>nblock</em>, </td>
1558
 
        </tr>
1559
 
        <tr>
1560
 
          <td class="paramkey"></td>
1561
 
          <td></td>
1562
 
          <td class="paramtype">unsigned *&nbsp;</td>
1563
 
          <td class="paramname"> <em>max_id</em></td><td>&nbsp;</td>
1564
 
        </tr>
1565
 
        <tr>
1566
 
          <td></td>
1567
 
          <td>)</td>
1568
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1569
 
        </tr>
1570
 
      </table>
1571
 
</div>
1572
 
<div class="memdoc">
1573
 
 
1574
 
<p>
1575
 
Internal algorithms scans the input for the block range limit. 
1576
 
<p>
1577
 
 
1578
 
<p>Definition at line <a class="el" href="a00130.html#l01073">1073</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1579
 
 
1580
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00132.html#l00049">id_max</a>, and <a class="el" href="a00132.html#l00054">set_block_shift</a>.</p>
1581
 
 
1582
 
<p>Referenced by <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, and <a class="el" href="a00130.html#l01182">combine_xor()</a>.</p>
1583
 
 
1584
 
</div>
1585
 
</div><p>
1586
 
<a class="anchor" name="bf587377ca70f11b8eb75f95494830b5"></a><!-- doxytag: member="bm::bmfor_each" ref="bf587377ca70f11b8eb75f95494830b5" args="(T first, T last, F f)" -->
1587
 
<div class="memitem">
1588
 
<div class="memproto">
1589
 
<div class="memtemplate">
1590
 
template&lt;class T, class F&gt; </div>
1591
 
      <table class="memname">
1592
 
        <tr>
1593
 
          <td class="memname">F bm::bmfor_each           </td>
1594
 
          <td>(</td>
1595
 
          <td class="paramtype">T&nbsp;</td>
1596
 
          <td class="paramname"> <em>first</em>, </td>
1597
 
        </tr>
1598
 
        <tr>
1599
 
          <td class="paramkey"></td>
1600
 
          <td></td>
1601
 
          <td class="paramtype">T&nbsp;</td>
1602
 
          <td class="paramname"> <em>last</em>, </td>
1603
 
        </tr>
1604
 
        <tr>
1605
 
          <td class="paramkey"></td>
1606
 
          <td></td>
1607
 
          <td class="paramtype">F&nbsp;</td>
1608
 
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
1609
 
        </tr>
1610
 
        <tr>
1611
 
          <td></td>
1612
 
          <td>)</td>
1613
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1614
 
        </tr>
1615
 
      </table>
1616
 
</div>
1617
 
<div class="memdoc">
1618
 
 
1619
 
<p>
1620
 
Special BM optimized analog of STL for_each 
1621
 
<p>Definition at line <a class="el" href="a00134.html#l00617">617</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1622
 
 
1623
 
</div>
1624
 
</div><p>
1625
 
<a class="anchor" name="093f2dadce40f42a184928c9d1456592"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="093f2dadce40f42a184928c9d1456592" 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)" -->
1626
 
<div class="memitem">
1627
 
<div class="memproto">
1628
 
      <table class="memname">
1629
 
        <tr>
1630
 
          <td class="memname">unsigned bm::combine_any_operation_with_block           </td>
1631
 
          <td>(</td>
1632
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1633
 
          <td class="paramname"> <em>blk</em>, </td>
1634
 
        </tr>
1635
 
        <tr>
1636
 
          <td class="paramkey"></td>
1637
 
          <td></td>
1638
 
          <td class="paramtype">unsigned&nbsp;</td>
1639
 
          <td class="paramname"> <em>gap</em>, </td>
1640
 
        </tr>
1641
 
        <tr>
1642
 
          <td class="paramkey"></td>
1643
 
          <td></td>
1644
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1645
 
          <td class="paramname"> <em>arg_blk</em>, </td>
1646
 
        </tr>
1647
 
        <tr>
1648
 
          <td class="paramkey"></td>
1649
 
          <td></td>
1650
 
          <td class="paramtype">int&nbsp;</td>
1651
 
          <td class="paramname"> <em>arg_gap</em>, </td>
1652
 
        </tr>
1653
 
        <tr>
1654
 
          <td class="paramkey"></td>
1655
 
          <td></td>
1656
 
          <td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1657
 
          <td class="paramname"> <em>temp_blk</em>, </td>
1658
 
        </tr>
1659
 
        <tr>
1660
 
          <td class="paramkey"></td>
1661
 
          <td></td>
1662
 
          <td class="paramtype">distance_metric&nbsp;</td>
1663
 
          <td class="paramname"> <em>metric</em></td><td>&nbsp;</td>
1664
 
        </tr>
1665
 
        <tr>
1666
 
          <td></td>
1667
 
          <td>)</td>
1668
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1669
 
        </tr>
1670
 
      </table>
1671
 
</div>
1672
 
<div class="memdoc">
1673
 
 
1674
 
<p>
1675
 
Convenience internal function to compute combine any for one metric 
1676
 
<p>Definition at line <a class="el" href="a00130.html#l00617">617</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1677
 
 
1678
 
<p>References <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, and <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1679
 
 
1680
 
</div>
1681
 
</div><p>
1682
 
<a class="anchor" name="24069ced9ea689034ff51246ae707ecc"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="24069ced9ea689034ff51246ae707ecc" 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)" -->
1683
 
<div class="memitem">
1684
 
<div class="memproto">
1685
 
      <table class="memname">
1686
 
        <tr>
1687
 
          <td class="memname">void bm::combine_any_operation_with_block           </td>
1688
 
          <td>(</td>
1689
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1690
 
          <td class="paramname"> <em>blk</em>, </td>
1691
 
        </tr>
1692
 
        <tr>
1693
 
          <td class="paramkey"></td>
1694
 
          <td></td>
1695
 
          <td class="paramtype">unsigned&nbsp;</td>
1696
 
          <td class="paramname"> <em>gap</em>, </td>
1697
 
        </tr>
1698
 
        <tr>
1699
 
          <td class="paramkey"></td>
1700
 
          <td></td>
1701
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1702
 
          <td class="paramname"> <em>arg_blk</em>, </td>
1703
 
        </tr>
1704
 
        <tr>
1705
 
          <td class="paramkey"></td>
1706
 
          <td></td>
1707
 
          <td class="paramtype">int&nbsp;</td>
1708
 
          <td class="paramname"> <em>arg_gap</em>, </td>
1709
 
        </tr>
1710
 
        <tr>
1711
 
          <td class="paramkey"></td>
1712
 
          <td></td>
1713
 
          <td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1714
 
          <td class="paramname"> <em>temp_blk</em>, </td>
1715
 
        </tr>
1716
 
        <tr>
1717
 
          <td class="paramkey"></td>
1718
 
          <td></td>
1719
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
1720
 
          <td class="paramname"> <em>dmit</em>, </td>
1721
 
        </tr>
1722
 
        <tr>
1723
 
          <td class="paramkey"></td>
1724
 
          <td></td>
1725
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
1726
 
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
1727
 
        </tr>
1728
 
        <tr>
1729
 
          <td></td>
1730
 
          <td>)</td>
1731
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1732
 
        </tr>
1733
 
      </table>
1734
 
</div>
1735
 
<div class="memdoc">
1736
 
 
1737
 
<p>
1738
 
Internal function computes different existense of distance metric. 
1739
 
<p>
1740
 
 
1741
 
<p>Definition at line <a class="el" href="a00130.html#l00342">342</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1742
 
 
1743
 
<p>References <a class="el" href="a00134.html#l02867">bit_is_all_zero()</a>, <a class="el" href="a00134.html#l03482">bit_operation_and_any()</a>, <a class="el" href="a00134.html#l03620">bit_operation_or_any()</a>, <a class="el" href="a00134.html#l03558">bit_operation_sub_any()</a>, <a class="el" href="a00134.html#l03947">bit_operation_xor_any()</a>, <a class="el" href="a00133.html#l00086">BMGAP_PTR</a>, <a class="el" href="a00130.html#l00060">COUNT_A</a>, <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00061">COUNT_B</a>, <a class="el" href="a00130.html#l00057">COUNT_OR</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00130.html#l00056">COUNT_XOR</a>, <a class="el" href="a00134.html#l01620">gap_bitset_and_any()</a>, <a class="el" href="a00134.html#l01858">gap_bitset_or_any()</a>, <a class="el" href="a00134.html#l01692">gap_bitset_sub_any()</a>, <a class="el" href="a00134.html#l01768">gap_bitset_xor_any()</a>, <a class="el" href="a00134.html#l01927">gap_convert_to_bitset()</a>, <a class="el" href="a00134.html#l02120">gap_is_all_zero()</a>, <a class="el" href="a00132.html#l00072">gap_max_bits</a>, <a class="el" href="a00132.html#l00071">gap_max_buff_len</a>, <a class="el" href="a00134.html#l02938">gap_operation_any_and()</a>, <a class="el" href="a00134.html#l03057">gap_operation_any_sub()</a>, <a class="el" href="a00134.html#l02984">gap_operation_any_xor()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, <a class="el" href="a00130.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00132.html#l00053">set_block_size</a>.</p>
1744
 
 
1745
 
<p>Referenced by <a class="el" href="a00130.html#l00617">combine_any_operation_with_block()</a>, and <a class="el" href="a00130.html#l00805">distance_operation_any()</a>.</p>
1746
 
 
1747
 
</div>
1748
 
</div><p>
1749
 
<a class="anchor" name="2f81b8ce3d389973b4f867b0fcc98e7a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="2f81b8ce3d389973b4f867b0fcc98e7a" 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)" -->
1750
 
<div class="memitem">
1751
 
<div class="memproto">
1752
 
      <table class="memname">
1753
 
        <tr>
1754
 
          <td class="memname">unsigned bm::combine_count_operation_with_block           </td>
1755
 
          <td>(</td>
1756
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1757
 
          <td class="paramname"> <em>blk</em>, </td>
1758
 
        </tr>
1759
 
        <tr>
1760
 
          <td class="paramkey"></td>
1761
 
          <td></td>
1762
 
          <td class="paramtype">unsigned&nbsp;</td>
1763
 
          <td class="paramname"> <em>gap</em>, </td>
1764
 
        </tr>
1765
 
        <tr>
1766
 
          <td class="paramkey"></td>
1767
 
          <td></td>
1768
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1769
 
          <td class="paramname"> <em>arg_blk</em>, </td>
1770
 
        </tr>
1771
 
        <tr>
1772
 
          <td class="paramkey"></td>
1773
 
          <td></td>
1774
 
          <td class="paramtype">int&nbsp;</td>
1775
 
          <td class="paramname"> <em>arg_gap</em>, </td>
1776
 
        </tr>
1777
 
        <tr>
1778
 
          <td class="paramkey"></td>
1779
 
          <td></td>
1780
 
          <td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1781
 
          <td class="paramname"> <em>temp_blk</em>, </td>
1782
 
        </tr>
1783
 
        <tr>
1784
 
          <td class="paramkey"></td>
1785
 
          <td></td>
1786
 
          <td class="paramtype">distance_metric&nbsp;</td>
1787
 
          <td class="paramname"> <em>metric</em></td><td>&nbsp;</td>
1788
 
        </tr>
1789
 
        <tr>
1790
 
          <td></td>
1791
 
          <td>)</td>
1792
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1793
 
        </tr>
1794
 
      </table>
1795
 
</div>
1796
 
<div class="memdoc">
1797
 
 
1798
 
<p>
1799
 
Convenience internal function to compute combine count for one metric 
1800
 
<p>Definition at line <a class="el" href="a00130.html#l00595">595</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1801
 
 
1802
 
<p>References <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, and <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1803
 
 
1804
 
</div>
1805
 
</div><p>
1806
 
<a class="anchor" name="becd5b24d5e394fd46a9db514cfa659a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="becd5b24d5e394fd46a9db514cfa659a" 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)" -->
1807
 
<div class="memitem">
1808
 
<div class="memproto">
1809
 
      <table class="memname">
1810
 
        <tr>
1811
 
          <td class="memname">void bm::combine_count_operation_with_block           </td>
1812
 
          <td>(</td>
1813
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1814
 
          <td class="paramname"> <em>blk</em>, </td>
1815
 
        </tr>
1816
 
        <tr>
1817
 
          <td class="paramkey"></td>
1818
 
          <td></td>
1819
 
          <td class="paramtype">unsigned&nbsp;</td>
1820
 
          <td class="paramname"> <em>gap</em>, </td>
1821
 
        </tr>
1822
 
        <tr>
1823
 
          <td class="paramkey"></td>
1824
 
          <td></td>
1825
 
          <td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1826
 
          <td class="paramname"> <em>arg_blk</em>, </td>
1827
 
        </tr>
1828
 
        <tr>
1829
 
          <td class="paramkey"></td>
1830
 
          <td></td>
1831
 
          <td class="paramtype">int&nbsp;</td>
1832
 
          <td class="paramname"> <em>arg_gap</em>, </td>
1833
 
        </tr>
1834
 
        <tr>
1835
 
          <td class="paramkey"></td>
1836
 
          <td></td>
1837
 
          <td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
1838
 
          <td class="paramname"> <em>temp_blk</em>, </td>
1839
 
        </tr>
1840
 
        <tr>
1841
 
          <td class="paramkey"></td>
1842
 
          <td></td>
1843
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
1844
 
          <td class="paramname"> <em>dmit</em>, </td>
1845
 
        </tr>
1846
 
        <tr>
1847
 
          <td class="paramkey"></td>
1848
 
          <td></td>
1849
 
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
1850
 
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
1851
 
        </tr>
1852
 
        <tr>
1853
 
          <td></td>
1854
 
          <td>)</td>
1855
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1856
 
        </tr>
1857
 
      </table>
1858
 
</div>
1859
 
<div class="memdoc">
1860
 
 
1861
 
<p>
1862
 
Internal function computes different distance metrics. 
1863
 
<p>
1864
 
 
1865
 
<p>Definition at line <a class="el" href="a00130.html#l00114">114</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1866
 
 
1867
 
<p>References <a class="el" href="a00134.html#l02489">bit_block_calc_count()</a>, <a class="el" href="a00134.html#l03507">bit_operation_sub_count()</a>, <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00133.html#l00086">BMGAP_PTR</a>, <a class="el" href="a00130.html#l00060">COUNT_A</a>, <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00061">COUNT_B</a>, <a class="el" href="a00130.html#l00057">COUNT_OR</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00130.html#l00056">COUNT_XOR</a>, <a class="el" href="a00134.html#l00648">gap_bit_count()</a>, <a class="el" href="a00134.html#l01584">gap_bitset_and_count()</a>, <a class="el" href="a00134.html#l01811">gap_bitset_or_count()</a>, <a class="el" href="a00134.html#l01659">gap_bitset_sub_count()</a>, <a class="el" href="a00134.html#l01730">gap_bitset_xor_count()</a>, <a class="el" href="a00134.html#l01927">gap_convert_to_bitset()</a>, <a class="el" href="a00132.html#l00073">gap_equiv_len</a>, <a class="el" href="a00134.html#l02915">gap_operation_and()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, <a class="el" href="a00134.html#l03034">gap_operation_sub()</a>, <a class="el" href="a00134.html#l02961">gap_operation_xor()</a>, <a class="el" href="a00130.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00132.html#l00053">set_block_size</a>.</p>
1868
 
 
1869
 
<p>Referenced by <a class="el" href="a00130.html#l00595">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00130.html#l00686">distance_operation()</a>.</p>
1870
 
 
1871
 
</div>
1872
 
</div><p>
1873
 
<a class="anchor" name="528894002dcd8edda28c8fb2b0aa8c64"></a><!-- doxytag: member="bm::dgap_2_gap" ref="528894002dcd8edda28c8fb2b0aa8c64" args="(const T *dgap_buf, T *gap_buf, T gap_header=0)" -->
1874
 
<div class="memitem">
1875
 
<div class="memproto">
1876
 
<div class="memtemplate">
1877
 
template&lt;typename T&gt; </div>
1878
 
      <table class="memname">
1879
 
        <tr>
1880
 
          <td class="memname">void bm::dgap_2_gap           </td>
1881
 
          <td>(</td>
1882
 
          <td class="paramtype">const T *&nbsp;</td>
1883
 
          <td class="paramname"> <em>dgap_buf</em>, </td>
1884
 
        </tr>
1885
 
        <tr>
1886
 
          <td class="paramkey"></td>
1887
 
          <td></td>
1888
 
          <td class="paramtype">T *&nbsp;</td>
1889
 
          <td class="paramname"> <em>gap_buf</em>, </td>
1890
 
        </tr>
1891
 
        <tr>
1892
 
          <td class="paramkey"></td>
1893
 
          <td></td>
1894
 
          <td class="paramtype">T&nbsp;</td>
1895
 
          <td class="paramname"> <em>gap_header</em> = <code>0</code></td><td>&nbsp;</td>
1896
 
        </tr>
1897
 
        <tr>
1898
 
          <td></td>
1899
 
          <td>)</td>
1900
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1901
 
        </tr>
1902
 
      </table>
1903
 
</div>
1904
 
<div class="memdoc">
1905
 
 
1906
 
<p>
1907
 
Convert D-GAP buffer into GAP buffer. 
1908
 
<p>
1909
 
GAP representation is GAP[N] = DGAP[N] + DGAP[N-1]<p>
1910
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1911
 
  <table border="0" cellspacing="2" cellpadding="0">
1912
 
    <tr><td valign="top"></td><td valign="top"><em>dgap_buf</em>&nbsp;</td><td>- Delta-GAP buffer </td></tr>
1913
 
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
1914
 
  </table>
1915
 
</dl>
1916
 
 
1917
 
<p>Definition at line <a class="el" href="a00134.html#l00794">794</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1918
 
 
1919
 
</div>
1920
 
</div><p>
1921
 
<a class="anchor" name="d47cf2dce876dcbc25aef4c7a222c66f"></a><!-- doxytag: member="bm::distance_stage" ref="d47cf2dce876dcbc25aef4c7a222c66f" args="(const BV &amp;bv1, const distance_metric_descriptor *dmit, const distance_metric_descriptor *dmit_end, bool *is_all_and)" -->
1922
 
<div class="memitem">
1923
 
<div class="memproto">
1924
 
<div class="memtemplate">
1925
 
template&lt;class BV&gt; </div>
1926
 
      <table class="memname">
1927
 
        <tr>
1928
 
          <td class="memname"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>* bm::distance_stage           </td>
1929
 
          <td>(</td>
1930
 
          <td class="paramtype">const BV &amp;&nbsp;</td>
1931
 
          <td class="paramname"> <em>bv1</em>, </td>
1932
 
        </tr>
1933
 
        <tr>
1934
 
          <td class="paramkey"></td>
1935
 
          <td></td>
1936
 
          <td class="paramtype">const distance_metric_descriptor *&nbsp;</td>
1937
 
          <td class="paramname"> <em>dmit</em>, </td>
1938
 
        </tr>
1939
 
        <tr>
1940
 
          <td class="paramkey"></td>
1941
 
          <td></td>
1942
 
          <td class="paramtype">const distance_metric_descriptor *&nbsp;</td>
1943
 
          <td class="paramname"> <em>dmit_end</em>, </td>
1944
 
        </tr>
1945
 
        <tr>
1946
 
          <td class="paramkey"></td>
1947
 
          <td></td>
1948
 
          <td class="paramtype">bool *&nbsp;</td>
1949
 
          <td class="paramname"> <em>is_all_and</em></td><td>&nbsp;</td>
1950
 
        </tr>
1951
 
        <tr>
1952
 
          <td></td>
1953
 
          <td>)</td>
1954
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
1955
 
        </tr>
1956
 
      </table>
1957
 
</div>
1958
 
<div class="memdoc">
1959
 
 
1960
 
<p>
1961
 
Staging function for distance operation. 
1962
 
<p>
1963
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>temp block allocated (or NULL) </dd></dl>
1964
 
 
1965
 
<p>Definition at line <a class="el" href="a00130.html#l00640">640</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1966
 
 
1967
 
<p>References <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, and <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>.</p>
1968
 
 
1969
 
<p>Referenced by <a class="el" href="a00130.html#l00686">distance_operation()</a>, and <a class="el" href="a00130.html#l00805">distance_operation_any()</a>.</p>
1970
 
 
1971
 
</div>
1972
 
</div><p>
1973
 
<a class="anchor" name="f92597461aff2926f9adcbf51bac98f9"></a><!-- doxytag: member="bm::find_effective_columns" ref="f92597461aff2926f9adcbf51bac98f9" args="(const TM &amp;tmatrix)" -->
1974
 
<div class="memitem">
1975
 
<div class="memproto">
1976
 
<div class="memtemplate">
1977
 
template&lt;typename TM&gt; </div>
1978
 
      <table class="memname">
1979
 
        <tr>
1980
 
          <td class="memname">unsigned bm::find_effective_columns           </td>
1981
 
          <td>(</td>
1982
 
          <td class="paramtype">const TM &amp;&nbsp;</td>
1983
 
          <td class="paramname"> <em>tmatrix</em>          </td>
1984
 
          <td>&nbsp;)&nbsp;</td>
1985
 
          <td width="100%"><code> [inline]</code></td>
1986
 
        </tr>
1987
 
      </table>
1988
 
</div>
1989
 
<div class="memdoc">
1990
 
 
1991
 
<p>
1992
 
Compute effective right column border of the t-matrix. 
1993
 
<p>
1994
 
 
1995
 
<p>Definition at line <a class="el" href="a00138.html#l00537">537</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1996
 
 
1997
 
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::transpose()</a>.</p>
1998
 
 
1999
 
</div>
2000
 
</div><p>
2001
 
<a class="anchor" name="86742a3e17527be5a9743f26b36a7691"></a><!-- doxytag: member="bm::for_each_block" ref="86742a3e17527be5a9743f26b36a7691" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
2002
 
<div class="memitem">
2003
 
<div class="memproto">
2004
 
<div class="memtemplate">
2005
 
template&lt;class T, class F&gt; </div>
2006
 
      <table class="memname">
2007
 
        <tr>
2008
 
          <td class="memname">void bm::for_each_block           </td>
2009
 
          <td>(</td>
2010
 
          <td class="paramtype">T ***&nbsp;</td>
2011
 
          <td class="paramname"> <em>root</em>, </td>
2012
 
        </tr>
2013
 
        <tr>
2014
 
          <td class="paramkey"></td>
2015
 
          <td></td>
2016
 
          <td class="paramtype">unsigned&nbsp;</td>
2017
 
          <td class="paramname"> <em>size1</em>, </td>
2018
 
        </tr>
2019
 
        <tr>
2020
 
          <td class="paramkey"></td>
2021
 
          <td></td>
2022
 
          <td class="paramtype">unsigned&nbsp;</td>
2023
 
          <td class="paramname"> <em>size2</em>, </td>
2024
 
        </tr>
2025
 
        <tr>
2026
 
          <td class="paramkey"></td>
2027
 
          <td></td>
2028
 
          <td class="paramtype">F &amp;&nbsp;</td>
2029
 
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
2030
 
        </tr>
2031
 
        <tr>
2032
 
          <td></td>
2033
 
          <td>)</td>
2034
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2035
 
        </tr>
2036
 
      </table>
2037
 
</div>
2038
 
<div class="memdoc">
2039
 
 
2040
 
<p>
2041
 
For each block executes supplied function. 
2042
 
<p>Definition at line <a class="el" href="a00134.html#l00588">588</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2043
 
 
2044
 
<p>Referenced by <a class="el" href="a00130.html#l01403">count_intervals()</a>, and <a class="el" href="a00128.html#l01771">bm::bvector&lt; Alloc, MS &gt;::invert()</a>.</p>
2045
 
 
2046
 
</div>
2047
 
</div><p>
2048
 
<a class="anchor" name="6a7bfe8af49ed785f0e96c7ca37a2155"></a><!-- doxytag: member="bm::for_each_dgap" ref="6a7bfe8af49ed785f0e96c7ca37a2155" args="(const T *gap_buf, Func &amp;func)" -->
2049
 
<div class="memitem">
2050
 
<div class="memproto">
2051
 
<div class="memtemplate">
2052
 
template&lt;class T, class Func&gt; </div>
2053
 
      <table class="memname">
2054
 
        <tr>
2055
 
          <td class="memname">void bm::for_each_dgap           </td>
2056
 
          <td>(</td>
2057
 
          <td class="paramtype">const T *&nbsp;</td>
2058
 
          <td class="paramname"> <em>gap_buf</em>, </td>
2059
 
        </tr>
2060
 
        <tr>
2061
 
          <td class="paramkey"></td>
2062
 
          <td></td>
2063
 
          <td class="paramtype">Func &amp;&nbsp;</td>
2064
 
          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
2065
 
        </tr>
2066
 
        <tr>
2067
 
          <td></td>
2068
 
          <td>)</td>
2069
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2070
 
        </tr>
2071
 
      </table>
2072
 
</div>
2073
 
<div class="memdoc">
2074
 
 
2075
 
<p>
2076
 
D-GAP block for_each algorithm<p>
2077
 
D-Gap Functor is called for each element but last one.<p>
2078
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2079
 
  <table border="0" cellspacing="2" cellpadding="0">
2080
 
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
2081
 
  </table>
2082
 
</dl>
2083
 
 
2084
 
<p>Definition at line <a class="el" href="a00134.html#l00728">728</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2085
 
 
2086
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
2087
 
 
2088
 
<p>Referenced by <a class="el" href="a00136.html#l00326">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>.</p>
2089
 
 
2090
 
</div>
2091
 
</div><p>
2092
 
<a class="anchor" name="e8b342c25dc22d6cd26cb96d7ae796db"></a><!-- doxytag: member="bm::for_each_nzblock" ref="e8b342c25dc22d6cd26cb96d7ae796db" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
2093
 
<div class="memitem">
2094
 
<div class="memproto">
2095
 
<div class="memtemplate">
2096
 
template&lt;class T, class F&gt; </div>
2097
 
      <table class="memname">
2098
 
        <tr>
2099
 
          <td class="memname">void bm::for_each_nzblock           </td>
2100
 
          <td>(</td>
2101
 
          <td class="paramtype">T ***&nbsp;</td>
2102
 
          <td class="paramname"> <em>root</em>, </td>
2103
 
        </tr>
2104
 
        <tr>
2105
 
          <td class="paramkey"></td>
2106
 
          <td></td>
2107
 
          <td class="paramtype">unsigned&nbsp;</td>
2108
 
          <td class="paramname"> <em>size1</em>, </td>
2109
 
        </tr>
2110
 
        <tr>
2111
 
          <td class="paramkey"></td>
2112
 
          <td></td>
2113
 
          <td class="paramtype">unsigned&nbsp;</td>
2114
 
          <td class="paramname"> <em>size2</em>, </td>
2115
 
        </tr>
2116
 
        <tr>
2117
 
          <td class="paramkey"></td>
2118
 
          <td></td>
2119
 
          <td class="paramtype">F &amp;&nbsp;</td>
2120
 
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
2121
 
        </tr>
2122
 
        <tr>
2123
 
          <td></td>
2124
 
          <td>)</td>
2125
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2126
 
        </tr>
2127
 
      </table>
2128
 
</div>
2129
 
<div class="memdoc">
2130
 
 
2131
 
<p>
2132
 
For each non-zero block executes supplied function. 
2133
 
<p>Definition at line <a class="el" href="a00134.html#l00523">523</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2134
 
 
2135
 
<p>Referenced by <a class="el" href="a00128.html#l01637">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00128.html#l01095">bm::bvector&lt; Alloc, MS &gt;::count_blocks()</a>, <a class="el" href="a00128.html#l01829">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, and <a class="el" href="a00128.html#l01892">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.</p>
2136
 
 
2137
 
</div>
2138
 
</div><p>
2139
 
<a class="anchor" name="6f5cb8cbb105eae84d4b0f8a3bc1230f"></a><!-- doxytag: member="bm::for_each_nzblock_if" ref="6f5cb8cbb105eae84d4b0f8a3bc1230f" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
2140
 
<div class="memitem">
2141
 
<div class="memproto">
2142
 
<div class="memtemplate">
2143
 
template&lt;class T, class F&gt; </div>
2144
 
      <table class="memname">
2145
 
        <tr>
2146
 
          <td class="memname">bool bm::for_each_nzblock_if           </td>
2147
 
          <td>(</td>
2148
 
          <td class="paramtype">T ***&nbsp;</td>
2149
 
          <td class="paramname"> <em>root</em>, </td>
2150
 
        </tr>
2151
 
        <tr>
2152
 
          <td class="paramkey"></td>
2153
 
          <td></td>
2154
 
          <td class="paramtype">unsigned&nbsp;</td>
2155
 
          <td class="paramname"> <em>size1</em>, </td>
2156
 
        </tr>
2157
 
        <tr>
2158
 
          <td class="paramkey"></td>
2159
 
          <td></td>
2160
 
          <td class="paramtype">unsigned&nbsp;</td>
2161
 
          <td class="paramname"> <em>size2</em>, </td>
2162
 
        </tr>
2163
 
        <tr>
2164
 
          <td class="paramkey"></td>
2165
 
          <td></td>
2166
 
          <td class="paramtype">F &amp;&nbsp;</td>
2167
 
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
2168
 
        </tr>
2169
 
        <tr>
2170
 
          <td></td>
2171
 
          <td>)</td>
2172
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2173
 
        </tr>
2174
 
      </table>
2175
 
</div>
2176
 
<div class="memdoc">
2177
 
 
2178
 
<p>
2179
 
For each non-zero block executes supplied function-predicate. Function returns if function-predicate returns true 
2180
 
<p>Definition at line <a class="el" href="a00134.html#l00563">563</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2181
 
 
2182
 
<p>References <a class="el" href="a00132.html#l00081">set_array_size</a>.</p>
2183
 
 
2184
 
<p>Referenced by <a class="el" href="a00128.html#l01163">bm::bvector&lt; Alloc, MS &gt;::any()</a>.</p>
2185
 
 
2186
 
</div>
2187
 
</div><p>
2188
 
<a class="anchor" name="76724fb233f93c15146641482311ce28"></a><!-- doxytag: member="bm::gap_2_bitblock" ref="76724fb233f93c15146641482311ce28" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)" -->
2189
 
<div class="memitem">
2190
 
<div class="memproto">
2191
 
<div class="memtemplate">
2192
 
template&lt;typename GT, typename BT&gt; </div>
2193
 
      <table class="memname">
2194
 
        <tr>
2195
 
          <td class="memname">void bm::gap_2_bitblock           </td>
2196
 
          <td>(</td>
2197
 
          <td class="paramtype">const GT *BMRESTRICT&nbsp;</td>
2198
 
          <td class="paramname"> <em>gap_buf</em>, </td>
2199
 
        </tr>
2200
 
        <tr>
2201
 
          <td class="paramkey"></td>
2202
 
          <td></td>
2203
 
          <td class="paramtype">BT *BMRESTRICT&nbsp;</td>
2204
 
          <td class="paramname"> <em>block</em>, </td>
2205
 
        </tr>
2206
 
        <tr>
2207
 
          <td class="paramkey"></td>
2208
 
          <td></td>
2209
 
          <td class="paramtype">unsigned&nbsp;</td>
2210
 
          <td class="paramname"> <em>block_size</em></td><td>&nbsp;</td>
2211
 
        </tr>
2212
 
        <tr>
2213
 
          <td></td>
2214
 
          <td>)</td>
2215
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2216
 
        </tr>
2217
 
      </table>
2218
 
</div>
2219
 
<div class="memdoc">
2220
 
 
2221
 
<p>
2222
 
Copy GAP block body to bit block with DGap transformation. 
2223
 
<p>
2224
 
 
2225
 
<p>Definition at line <a class="el" href="a00138.html#l00515">515</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2226
 
 
2227
 
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::transpose()</a>.</p>
2228
 
 
2229
 
</div>
2230
 
</div><p>
2231
 
<a class="anchor" name="fa6ea0cce0cdd88738a01fad393376b3"></a><!-- doxytag: member="bm::gap_2_dgap" ref="fa6ea0cce0cdd88738a01fad393376b3" args="(const T *gap_buf, T *dgap_buf, bool copy_head=true)" -->
2232
 
<div class="memitem">
2233
 
<div class="memproto">
2234
 
<div class="memtemplate">
2235
 
template&lt;typename T&gt; </div>
2236
 
      <table class="memname">
2237
 
        <tr>
2238
 
          <td class="memname">T* bm::gap_2_dgap           </td>
2239
 
          <td>(</td>
2240
 
          <td class="paramtype">const T *&nbsp;</td>
2241
 
          <td class="paramname"> <em>gap_buf</em>, </td>
2242
 
        </tr>
2243
 
        <tr>
2244
 
          <td class="paramkey"></td>
2245
 
          <td></td>
2246
 
          <td class="paramtype">T *&nbsp;</td>
2247
 
          <td class="paramname"> <em>dgap_buf</em>, </td>
2248
 
        </tr>
2249
 
        <tr>
2250
 
          <td class="paramkey"></td>
2251
 
          <td></td>
2252
 
          <td class="paramtype">bool&nbsp;</td>
2253
 
          <td class="paramname"> <em>copy_head</em> = <code>true</code></td><td>&nbsp;</td>
2254
 
        </tr>
2255
 
        <tr>
2256
 
          <td></td>
2257
 
          <td>)</td>
2258
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2259
 
        </tr>
2260
 
      </table>
2261
 
</div>
2262
 
<div class="memdoc">
2263
 
 
2264
 
<p>
2265
 
Convert GAP buffer into D-GAP buffer. 
2266
 
<p>
2267
 
Delta GAP representation is DGAP[N] = GAP[N] - GAP[N-1]<p>
2268
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2269
 
  <table border="0" cellspacing="2" cellpadding="0">
2270
 
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
2271
 
    <tr><td valign="top"></td><td valign="top"><em>dgap_buf</em>&nbsp;</td><td>- Delta-GAP buffer </td></tr>
2272
 
    <tr><td valign="top"></td><td valign="top"><em>copy_head</em>&nbsp;</td><td>- flag to copy GAP header </td></tr>
2273
 
  </table>
2274
 
</dl>
2275
 
 
2276
 
<p>Definition at line <a class="el" href="a00134.html#l00770">770</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2277
 
 
2278
 
<p>References <a class="el" href="a00134.html#l00753">bm::d_copy_func&lt; T &gt;::dgap_buf_</a>.</p>
2279
 
 
2280
 
</div>
2281
 
</div><p>
2282
 
<a class="anchor" name="cebed8b533c2c9e17167617501477693"></a><!-- doxytag: member="bm::gap_bfind" ref="cebed8b533c2c9e17167617501477693" args="(const T *buf, unsigned pos, unsigned *is_set)" -->
2283
 
<div class="memitem">
2284
 
<div class="memproto">
2285
 
<div class="memtemplate">
2286
 
template&lt;typename T&gt; </div>
2287
 
      <table class="memname">
2288
 
        <tr>
2289
 
          <td class="memname">unsigned bm::gap_bfind           </td>
2290
 
          <td>(</td>
2291
 
          <td class="paramtype">const T *&nbsp;</td>
2292
 
          <td class="paramname"> <em>buf</em>, </td>
2293
 
        </tr>
2294
 
        <tr>
2295
 
          <td class="paramkey"></td>
2296
 
          <td></td>
2297
 
          <td class="paramtype">unsigned&nbsp;</td>
2298
 
          <td class="paramname"> <em>pos</em>, </td>
2299
 
        </tr>
2300
 
        <tr>
2301
 
          <td class="paramkey"></td>
2302
 
          <td></td>
2303
 
          <td class="paramtype">unsigned *&nbsp;</td>
2304
 
          <td class="paramname"> <em>is_set</em></td><td>&nbsp;</td>
2305
 
        </tr>
2306
 
        <tr>
2307
 
          <td></td>
2308
 
          <td>)</td>
2309
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2310
 
        </tr>
2311
 
      </table>
2312
 
</div>
2313
 
<div class="memdoc">
2314
 
 
2315
 
<p>
2316
 
 
2317
 
<p>Definition at line <a class="el" href="a00134.html#l00457">457</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2318
 
 
2319
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00132.html#l00072">gap_max_bits</a>.</p>
2320
 
 
2321
 
<p>Referenced by <a class="el" href="a00134.html#l00681">gap_bit_count_range()</a>, <a class="el" href="a00134.html#l01214">gap_find_in_block()</a>, and <a class="el" href="a00134.html#l01122">gap_set_value()</a>.</p>
2322
 
 
2323
 
</div>
2324
 
</div><p>
2325
 
<a class="anchor" name="7324ebded429e15361f62117a2ff18d1"></a><!-- doxytag: member="bm::gap_bit_count_range" ref="7324ebded429e15361f62117a2ff18d1" args="(const T *buf, T left, T right)" -->
2326
 
<div class="memitem">
2327
 
<div class="memproto">
2328
 
<div class="memtemplate">
2329
 
template&lt;typename T&gt; </div>
2330
 
      <table class="memname">
2331
 
        <tr>
2332
 
          <td class="memname">unsigned bm::gap_bit_count_range           </td>
2333
 
          <td>(</td>
2334
 
          <td class="paramtype">const T *&nbsp;</td>
2335
 
          <td class="paramname"> <em>buf</em>, </td>
2336
 
        </tr>
2337
 
        <tr>
2338
 
          <td class="paramkey"></td>
2339
 
          <td></td>
2340
 
          <td class="paramtype">T&nbsp;</td>
2341
 
          <td class="paramname"> <em>left</em>, </td>
2342
 
        </tr>
2343
 
        <tr>
2344
 
          <td class="paramkey"></td>
2345
 
          <td></td>
2346
 
          <td class="paramtype">T&nbsp;</td>
2347
 
          <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
2348
 
        </tr>
2349
 
        <tr>
2350
 
          <td></td>
2351
 
          <td>)</td>
2352
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2353
 
        </tr>
2354
 
      </table>
2355
 
</div>
2356
 
<div class="memdoc">
2357
 
 
2358
 
<p>
2359
 
Counts 1 bits in GAP buffer in the closed [left, right] diapason. 
2360
 
<p>
2361
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2362
 
  <table border="0" cellspacing="2" cellpadding="0">
2363
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
2364
 
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>- leftmost bit index to start from </td></tr>
2365
 
    <tr><td valign="top"></td><td valign="top"><em>right-</em>&nbsp;</td><td>rightmost bit index </td></tr>
2366
 
  </table>
2367
 
</dl>
2368
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of non-zero bits. </dd></dl>
2369
 
 
2370
 
<p>Definition at line <a class="el" href="a00134.html#l00681">681</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2371
 
 
2372
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00134.html#l00457">gap_bfind()</a>.</p>
2373
 
 
2374
 
<p>Referenced by <a class="el" href="a00128.html#l01677">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>.</p>
2375
 
 
2376
 
</div>
2377
 
</div><p>
2378
 
<a class="anchor" name="5f818ac575622da8a9a75511e649ea90"></a><!-- doxytag: member="bm::ilog2" ref="5f818ac575622da8a9a75511e649ea90" args="(gap_word_t x)" -->
2379
 
<div class="memitem">
2380
 
<div class="memproto">
2381
 
<div class="memtemplate">
2382
 
template&lt;&gt; </div>
2383
 
      <table class="memname">
2384
 
        <tr>
2385
 
          <td class="memname"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2           </td>
2386
 
          <td>(</td>
2387
 
          <td class="paramtype">gap_word_t&nbsp;</td>
2388
 
          <td class="paramname"> <em>x</em>          </td>
2389
 
          <td>&nbsp;)&nbsp;</td>
2390
 
          <td width="100%"><code> [inline]</code></td>
2391
 
        </tr>
2392
 
      </table>
2393
 
</div>
2394
 
<div class="memdoc">
2395
 
 
2396
 
<p>
2397
 
 
2398
 
<p>Definition at line <a class="el" href="a00140.html#l00066">66</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2399
 
 
2400
 
</div>
2401
 
</div><p>
2402
 
<a class="anchor" name="46f258f92ab40e2a0c76aa775338faaa"></a><!-- doxytag: member="bm::ilog2" ref="46f258f92ab40e2a0c76aa775338faaa" args="(T x)" -->
2403
 
<div class="memitem">
2404
 
<div class="memproto">
2405
 
<div class="memtemplate">
2406
 
template&lt;typename T&gt; </div>
2407
 
      <table class="memname">
2408
 
        <tr>
2409
 
          <td class="memname">T bm::ilog2           </td>
2410
 
          <td>(</td>
2411
 
          <td class="paramtype">T&nbsp;</td>
2412
 
          <td class="paramname"> <em>x</em>          </td>
2413
 
          <td>&nbsp;)&nbsp;</td>
2414
 
          <td width="100%"><code> [inline]</code></td>
2415
 
        </tr>
2416
 
      </table>
2417
 
</div>
2418
 
<div class="memdoc">
2419
 
 
2420
 
<p>
2421
 
Fast loop-less function to find LOG2. 
2422
 
<p>
2423
 
 
2424
 
<p>Definition at line <a class="el" href="a00140.html#l00054">54</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2425
 
 
2426
 
</div>
2427
 
</div><p>
2428
 
<a class="anchor" name="3ab126a6fd7ffd872a4001638819a330"></a><!-- doxytag: member="bm::ilog2_LUT" ref="3ab126a6fd7ffd872a4001638819a330" args="(T x)" -->
2429
 
<div class="memitem">
2430
 
<div class="memproto">
2431
 
<div class="memtemplate">
2432
 
template&lt;typename T&gt; </div>
2433
 
      <table class="memname">
2434
 
        <tr>
2435
 
          <td class="memname">T bm::ilog2_LUT           </td>
2436
 
          <td>(</td>
2437
 
          <td class="paramtype">T&nbsp;</td>
2438
 
          <td class="paramname"> <em>x</em>          </td>
2439
 
          <td>&nbsp;)&nbsp;</td>
2440
 
          <td width="100%"><code> [inline]</code></td>
2441
 
        </tr>
2442
 
      </table>
2443
 
</div>
2444
 
<div class="memdoc">
2445
 
 
2446
 
<p>
2447
 
Lookup table based integer LOG2. 
2448
 
<p>
2449
 
 
2450
 
<p>Definition at line <a class="el" href="a00140.html#l00081">81</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2451
 
 
2452
 
<p>Referenced by <a class="el" href="a00142.html#l00230">bm::bit_out&lt; TEncoder &gt;::gamma()</a>.</p>
2453
 
 
2454
 
</div>
2455
 
</div><p>
2456
 
<a class="anchor" name="7074ee06dc4ee023170c2f85c78b50fe"></a><!-- doxytag: member="bm::ilog2_LUT&lt; bm::gap_word_t &gt;" ref="7074ee06dc4ee023170c2f85c78b50fe" args="(bm::gap_word_t x)" -->
2457
 
<div class="memitem">
2458
 
<div class="memproto">
2459
 
<div class="memtemplate">
2460
 
template&lt;&gt; </div>
2461
 
      <table class="memname">
2462
 
        <tr>
2463
 
          <td class="memname"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2_LUT&lt; <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> &gt;           </td>
2464
 
          <td>(</td>
2465
 
          <td class="paramtype"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td>
2466
 
          <td class="paramname"> <em>x</em>          </td>
2467
 
          <td>&nbsp;)&nbsp;</td>
2468
 
          <td width="100%"><code> [inline]</code></td>
2469
 
        </tr>
2470
 
      </table>
2471
 
</div>
2472
 
<div class="memdoc">
2473
 
 
2474
 
<p>
2475
 
Lookup table based short integer LOG2. 
2476
 
<p>
2477
 
 
2478
 
</div>
2479
 
</div><p>
2480
 
<a class="anchor" name="3deb310cdf11bca948817f94adfec160"></a><!-- doxytag: member="bm::is_const_set_operation" ref="3deb310cdf11bca948817f94adfec160" args="(set_operation op)" -->
2481
 
<div class="memitem">
2482
 
<div class="memproto">
2483
 
      <table class="memname">
2484
 
        <tr>
2485
 
          <td class="memname">bool bm::is_const_set_operation           </td>
2486
 
          <td>(</td>
2487
 
          <td class="paramtype">set_operation&nbsp;</td>
2488
 
          <td class="paramname"> <em>op</em>          </td>
2489
 
          <td>&nbsp;)&nbsp;</td>
2490
 
          <td width="100%"><code> [inline]</code></td>
2491
 
        </tr>
2492
 
      </table>
2493
 
</div>
2494
 
<div class="memdoc">
2495
 
 
2496
 
<p>
2497
 
Returns true if set operation is constant (bitcount). 
2498
 
<p>
2499
 
 
2500
 
<p>Definition at line <a class="el" href="a00134.html#l00262">262</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2501
 
 
2502
 
<p>References <a class="el" href="a00134.html#l00248">set_COUNT</a>.</p>
2503
 
 
2504
 
<p>Referenced by <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00130.html#l00069">operation2metric()</a>.</p>
2505
 
 
2506
 
</div>
2507
 
</div><p>
2508
 
<a class="anchor" name="5adb1bbecea75c18eba72aab5fc5db7c"></a><!-- doxytag: member="bm::operator &amp;" ref="5adb1bbecea75c18eba72aab5fc5db7c" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
2509
 
<div class="memitem">
2510
 
<div class="memproto">
2511
 
<div class="memtemplate">
2512
 
template&lt;class Alloc, class MS&gt; </div>
2513
 
      <table class="memname">
2514
 
        <tr>
2515
 
          <td class="memname"><a class="el" href="a00040.html">bvector</a>&lt;Alloc, MS&gt; bm::operator &amp;           </td>
2516
 
          <td>(</td>
2517
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2518
 
          <td class="paramname"> <em>v1</em>, </td>
2519
 
        </tr>
2520
 
        <tr>
2521
 
          <td class="paramkey"></td>
2522
 
          <td></td>
2523
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2524
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
2525
 
        </tr>
2526
 
        <tr>
2527
 
          <td></td>
2528
 
          <td>)</td>
2529
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2530
 
        </tr>
2531
 
      </table>
2532
 
</div>
2533
 
<div class="memdoc">
2534
 
 
2535
 
<p>
2536
 
 
2537
 
<p>Definition at line <a class="el" href="a00128.html#l01551">1551</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2538
 
 
2539
 
<p>References <a class="el" href="a00128.html#l01283">bm::bvector&lt; Alloc, MS &gt;::bit_and()</a>.</p>
2540
 
 
2541
 
</div>
2542
 
</div><p>
2543
 
<a class="anchor" name="fe23d0ced66b48b9c4214e0b00dcc5ac"></a><!-- doxytag: member="bm::operator-" ref="fe23d0ced66b48b9c4214e0b00dcc5ac" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
2544
 
<div class="memitem">
2545
 
<div class="memproto">
2546
 
<div class="memtemplate">
2547
 
template&lt;class Alloc, class MS&gt; </div>
2548
 
      <table class="memname">
2549
 
        <tr>
2550
 
          <td class="memname"><a class="el" href="a00040.html">bvector</a>&lt;Alloc, MS&gt; bm::operator-           </td>
2551
 
          <td>(</td>
2552
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2553
 
          <td class="paramname"> <em>v1</em>, </td>
2554
 
        </tr>
2555
 
        <tr>
2556
 
          <td class="paramkey"></td>
2557
 
          <td></td>
2558
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2559
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
2560
 
        </tr>
2561
 
        <tr>
2562
 
          <td></td>
2563
 
          <td>)</td>
2564
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2565
 
        </tr>
2566
 
      </table>
2567
 
</div>
2568
 
<div class="memdoc">
2569
 
 
2570
 
<p>
2571
 
 
2572
 
<p>Definition at line <a class="el" href="a00128.html#l01596">1596</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2573
 
 
2574
 
<p>References <a class="el" href="a00128.html#l01305">bm::bvector&lt; Alloc, MS &gt;::bit_sub()</a>.</p>
2575
 
 
2576
 
</div>
2577
 
</div><p>
2578
 
<a class="anchor" name="7042429992aec5891a3df1b0bddea05f"></a><!-- doxytag: member="bm::operator^" ref="7042429992aec5891a3df1b0bddea05f" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
2579
 
<div class="memitem">
2580
 
<div class="memproto">
2581
 
<div class="memtemplate">
2582
 
template&lt;class Alloc, class MS&gt; </div>
2583
 
      <table class="memname">
2584
 
        <tr>
2585
 
          <td class="memname"><a class="el" href="a00040.html">bvector</a>&lt;Alloc, MS&gt; bm::operator^           </td>
2586
 
          <td>(</td>
2587
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2588
 
          <td class="paramname"> <em>v1</em>, </td>
2589
 
        </tr>
2590
 
        <tr>
2591
 
          <td class="paramkey"></td>
2592
 
          <td></td>
2593
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2594
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
2595
 
        </tr>
2596
 
        <tr>
2597
 
          <td></td>
2598
 
          <td>)</td>
2599
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2600
 
        </tr>
2601
 
      </table>
2602
 
</div>
2603
 
<div class="memdoc">
2604
 
 
2605
 
<p>
2606
 
 
2607
 
<p>Definition at line <a class="el" href="a00128.html#l01581">1581</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2608
 
 
2609
 
<p>References <a class="el" href="a00128.html#l01294">bm::bvector&lt; Alloc, MS &gt;::bit_xor()</a>.</p>
2610
 
 
2611
 
</div>
2612
 
</div><p>
2613
 
<a class="anchor" name="5cc9411c5170df52c1c4ea436ef32745"></a><!-- doxytag: member="bm::operator|" ref="5cc9411c5170df52c1c4ea436ef32745" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc &gt; &amp;v2)" -->
2614
 
<div class="memitem">
2615
 
<div class="memproto">
2616
 
<div class="memtemplate">
2617
 
template&lt;class Alloc, class MS&gt; </div>
2618
 
      <table class="memname">
2619
 
        <tr>
2620
 
          <td class="memname"><a class="el" href="a00040.html">bvector</a>&lt;Alloc, MS&gt; bm::operator|           </td>
2621
 
          <td>(</td>
2622
 
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
2623
 
          <td class="paramname"> <em>v1</em>, </td>
2624
 
        </tr>
2625
 
        <tr>
2626
 
          <td class="paramkey"></td>
2627
 
          <td></td>
2628
 
          <td class="paramtype">const bvector&lt; Alloc &gt; &amp;&nbsp;</td>
2629
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
2630
 
        </tr>
2631
 
        <tr>
2632
 
          <td></td>
2633
 
          <td>)</td>
2634
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2635
 
        </tr>
2636
 
      </table>
2637
 
</div>
2638
 
<div class="memdoc">
2639
 
 
2640
 
<p>
2641
 
 
2642
 
<p>Definition at line <a class="el" href="a00128.html#l01566">1566</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2643
 
 
2644
 
<p>References <a class="el" href="a00128.html#l01272">bm::bvector&lt; Alloc, MS &gt;::bit_or()</a>.</p>
2645
 
 
2646
 
</div>
2647
 
</div><p>
2648
 
<a class="anchor" name="447794fbcac5b6f4ab42b0795c665fea"></a><!-- doxytag: member="bm::parallel_popcnt_32" ref="447794fbcac5b6f4ab42b0795c665fea" args="(unsigned b)" -->
2649
 
<div class="memitem">
2650
 
<div class="memproto">
2651
 
      <table class="memname">
2652
 
        <tr>
2653
 
          <td class="memname">unsigned bm::parallel_popcnt_32           </td>
2654
 
          <td>(</td>
2655
 
          <td class="paramtype">unsigned&nbsp;</td>
2656
 
          <td class="paramname"> <em>b</em>          </td>
2657
 
          <td>&nbsp;)&nbsp;</td>
2658
 
          <td width="100%"><code> [inline]</code></td>
2659
 
        </tr>
2660
 
      </table>
2661
 
</div>
2662
 
<div class="memdoc">
2663
 
 
2664
 
<p>
2665
 
 
2666
 
<p>Definition at line <a class="el" href="a00134.html#l00206">206</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2667
 
 
2668
 
</div>
2669
 
</div><p>
2670
 
<a class="anchor" name="7c192b64adb0590a09b5c2dad77c4b76"></a><!-- doxytag: member="bm::setop2op" ref="7c192b64adb0590a09b5c2dad77c4b76" args="(bm::set_operation op)" -->
2671
 
<div class="memitem">
2672
 
<div class="memproto">
2673
 
      <table class="memname">
2674
 
        <tr>
2675
 
          <td class="memname"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a> bm::setop2op           </td>
2676
 
          <td>(</td>
2677
 
          <td class="paramtype"><a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a>&nbsp;</td>
2678
 
          <td class="paramname"> <em>op</em>          </td>
2679
 
          <td>&nbsp;)&nbsp;</td>
2680
 
          <td width="100%"><code> [inline]</code></td>
2681
 
        </tr>
2682
 
      </table>
2683
 
</div>
2684
 
<div class="memdoc">
2685
 
 
2686
 
<p>
2687
 
Convert set operation to operation. 
2688
 
<p>
2689
 
 
2690
 
<p>Definition at line <a class="el" href="a00134.html#l00282">282</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2691
 
 
2692
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00134.html#l00243">set_AND</a>, <a class="el" href="a00134.html#l00244">set_OR</a>, <a class="el" href="a00134.html#l00245">set_SUB</a>, and <a class="el" href="a00134.html#l00246">set_XOR</a>.</p>
2693
 
 
2694
 
<p>Referenced by <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>.</p>
2695
 
 
2696
 
</div>
2697
 
</div><p>
2698
 
<a class="anchor" name="c0c75fb7b3dc61602843ac4e1b9b7ef5"></a><!-- doxytag: member="bm::sse2_and" ref="c0c75fb7b3dc61602843ac4e1b9b7ef5" args="(__m128i a, __m128i b)" -->
2699
 
<div class="memitem">
2700
 
<div class="memproto">
2701
 
      <table class="memname">
2702
 
        <tr>
2703
 
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_and           </td>
2704
 
          <td>(</td>
2705
 
          <td class="paramtype">__m128i&nbsp;</td>
2706
 
          <td class="paramname"> <em>a</em>, </td>
2707
 
        </tr>
2708
 
        <tr>
2709
 
          <td class="paramkey"></td>
2710
 
          <td></td>
2711
 
          <td class="paramtype">__m128i&nbsp;</td>
2712
 
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
2713
 
        </tr>
2714
 
        <tr>
2715
 
          <td></td>
2716
 
          <td>)</td>
2717
 
          <td></td><td></td><td width="100%"></td>
2718
 
        </tr>
2719
 
      </table>
2720
 
</div>
2721
 
<div class="memdoc">
2722
 
 
2723
 
<p>
2724
 
 
2725
 
<p>Definition at line <a class="el" href="a00137.html#l00474">474</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2726
 
 
2727
 
</div>
2728
 
</div><p>
2729
 
<a class="anchor" name="8831a88ef538b3997d04d2ebf513160d"></a><!-- doxytag: member="bm::sse2_bit_count_op" ref="8831a88ef538b3997d04d2ebf513160d" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
2730
 
<div class="memitem">
2731
 
<div class="memproto">
2732
 
<div class="memtemplate">
2733
 
template&lt;class Func&gt; </div>
2734
 
      <table class="memname">
2735
 
        <tr>
2736
 
          <td class="memname"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_count_op           </td>
2737
 
          <td>(</td>
2738
 
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
2739
 
          <td class="paramname"> <em>block</em>, </td>
2740
 
        </tr>
2741
 
        <tr>
2742
 
          <td class="paramkey"></td>
2743
 
          <td></td>
2744
 
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
2745
 
          <td class="paramname"> <em>block_end</em>, </td>
2746
 
        </tr>
2747
 
        <tr>
2748
 
          <td class="paramkey"></td>
2749
 
          <td></td>
2750
 
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
2751
 
          <td class="paramname"> <em>mask_block</em>, </td>
2752
 
        </tr>
2753
 
        <tr>
2754
 
          <td class="paramkey"></td>
2755
 
          <td></td>
2756
 
          <td class="paramtype">Func&nbsp;</td>
2757
 
          <td class="paramname"> <em>sse2_func</em></td><td>&nbsp;</td>
2758
 
        </tr>
2759
 
        <tr>
2760
 
          <td></td>
2761
 
          <td>)</td>
2762
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2763
 
        </tr>
2764
 
      </table>
2765
 
</div>
2766
 
<div class="memdoc">
2767
 
 
2768
 
<p>
2769
 
 
2770
 
<p>Definition at line <a class="el" href="a00137.html#l00500">500</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2771
 
 
2772
 
<p>References <a class="el" href="a00133.html#l00144">BM_ALIGN16ATTR</a>.</p>
2773
 
 
2774
 
</div>
2775
 
</div><p>
2776
 
<a class="anchor" name="dea798a9a95a04845c33876087a2f46b"></a><!-- doxytag: member="bm::sse2_or" ref="dea798a9a95a04845c33876087a2f46b" args="(__m128i a, __m128i b)" -->
2777
 
<div class="memitem">
2778
 
<div class="memproto">
2779
 
      <table class="memname">
2780
 
        <tr>
2781
 
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_or           </td>
2782
 
          <td>(</td>
2783
 
          <td class="paramtype">__m128i&nbsp;</td>
2784
 
          <td class="paramname"> <em>a</em>, </td>
2785
 
        </tr>
2786
 
        <tr>
2787
 
          <td class="paramkey"></td>
2788
 
          <td></td>
2789
 
          <td class="paramtype">__m128i&nbsp;</td>
2790
 
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
2791
 
        </tr>
2792
 
        <tr>
2793
 
          <td></td>
2794
 
          <td>)</td>
2795
 
          <td></td><td></td><td width="100%"></td>
2796
 
        </tr>
2797
 
      </table>
2798
 
</div>
2799
 
<div class="memdoc">
2800
 
 
2801
 
<p>
2802
 
 
2803
 
<p>Definition at line <a class="el" href="a00137.html#l00480">480</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2804
 
 
2805
 
</div>
2806
 
</div><p>
2807
 
<a class="anchor" name="b3e6d46fcba1bc2a1a5390c10f571382"></a><!-- doxytag: member="bm::sse2_sub" ref="b3e6d46fcba1bc2a1a5390c10f571382" args="(__m128i a, __m128i b)" -->
2808
 
<div class="memitem">
2809
 
<div class="memproto">
2810
 
      <table class="memname">
2811
 
        <tr>
2812
 
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_sub           </td>
2813
 
          <td>(</td>
2814
 
          <td class="paramtype">__m128i&nbsp;</td>
2815
 
          <td class="paramname"> <em>a</em>, </td>
2816
 
        </tr>
2817
 
        <tr>
2818
 
          <td class="paramkey"></td>
2819
 
          <td></td>
2820
 
          <td class="paramtype">__m128i&nbsp;</td>
2821
 
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
2822
 
        </tr>
2823
 
        <tr>
2824
 
          <td></td>
2825
 
          <td>)</td>
2826
 
          <td></td><td></td><td width="100%"></td>
2827
 
        </tr>
2828
 
      </table>
2829
 
</div>
2830
 
<div class="memdoc">
2831
 
 
2832
 
<p>
2833
 
 
2834
 
<p>Definition at line <a class="el" href="a00137.html#l00493">493</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2835
 
 
2836
 
</div>
2837
 
</div><p>
2838
 
<a class="anchor" name="6f5de19ee3e1be05037908b4777c4da8"></a><!-- doxytag: member="bm::sse2_xor" ref="6f5de19ee3e1be05037908b4777c4da8" args="(__m128i a, __m128i b)" -->
2839
 
<div class="memitem">
2840
 
<div class="memproto">
2841
 
      <table class="memname">
2842
 
        <tr>
2843
 
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_xor           </td>
2844
 
          <td>(</td>
2845
 
          <td class="paramtype">__m128i&nbsp;</td>
2846
 
          <td class="paramname"> <em>a</em>, </td>
2847
 
        </tr>
2848
 
        <tr>
2849
 
          <td class="paramkey"></td>
2850
 
          <td></td>
2851
 
          <td class="paramtype">__m128i&nbsp;</td>
2852
 
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
2853
 
        </tr>
2854
 
        <tr>
2855
 
          <td></td>
2856
 
          <td>)</td>
2857
 
          <td></td><td></td><td width="100%"></td>
2858
 
        </tr>
2859
 
      </table>
2860
 
</div>
2861
 
<div class="memdoc">
2862
 
 
2863
 
<p>
2864
 
 
2865
 
<p>Definition at line <a class="el" href="a00137.html#l00487">487</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2866
 
 
2867
 
</div>
2868
 
</div><p>
2869
 
<a class="anchor" name="c8f3443ba8fcd1b28face4b09dfd21bf"></a><!-- doxytag: member="bm::sum_arr" ref="c8f3443ba8fcd1b28face4b09dfd21bf" args="(T *first, T *last)" -->
2870
 
<div class="memitem">
2871
 
<div class="memproto">
2872
 
<div class="memtemplate">
2873
 
template&lt;class T&gt; </div>
2874
 
      <table class="memname">
2875
 
        <tr>
2876
 
          <td class="memname">T bm::sum_arr           </td>
2877
 
          <td>(</td>
2878
 
          <td class="paramtype">T *&nbsp;</td>
2879
 
          <td class="paramname"> <em>first</em>, </td>
2880
 
        </tr>
2881
 
        <tr>
2882
 
          <td class="paramkey"></td>
2883
 
          <td></td>
2884
 
          <td class="paramtype">T *&nbsp;</td>
2885
 
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
2886
 
        </tr>
2887
 
        <tr>
2888
 
          <td></td>
2889
 
          <td>)</td>
2890
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2891
 
        </tr>
2892
 
      </table>
2893
 
</div>
2894
 
<div class="memdoc">
2895
 
 
2896
 
<p>
2897
 
Computes SUM of all elements of the sequence 
2898
 
<p>Definition at line <a class="el" href="a00134.html#l00629">629</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2899
 
 
2900
 
</div>
2901
 
</div><p>
2902
 
<a class="anchor" name="2e3af9c9f2eb481130d240ba4cd6fd68"></a><!-- doxytag: member="bm::vect_bit_transpose" ref="2e3af9c9f2eb481130d240ba4cd6fd68" args="(const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])" -->
2903
 
<div class="memitem">
2904
 
<div class="memproto">
2905
 
<div class="memtemplate">
2906
 
template&lt;typename T, unsigned BPC, unsigned BPS&gt; </div>
2907
 
      <table class="memname">
2908
 
        <tr>
2909
 
          <td class="memname">void bm::vect_bit_transpose           </td>
2910
 
          <td>(</td>
2911
 
          <td class="paramtype">const T *&nbsp;</td>
2912
 
          <td class="paramname"> <em>arr</em>, </td>
2913
 
        </tr>
2914
 
        <tr>
2915
 
          <td class="paramkey"></td>
2916
 
          <td></td>
2917
 
          <td class="paramtype">unsigned&nbsp;</td>
2918
 
          <td class="paramname"> <em>arr_size</em>, </td>
2919
 
        </tr>
2920
 
        <tr>
2921
 
          <td class="paramkey"></td>
2922
 
          <td></td>
2923
 
          <td class="paramtype">T&nbsp;</td>
2924
 
          <td class="paramname"> <em>tmatrix</em>[BPC][BPS]</td><td>&nbsp;</td>
2925
 
        </tr>
2926
 
        <tr>
2927
 
          <td></td>
2928
 
          <td>)</td>
2929
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2930
 
        </tr>
2931
 
      </table>
2932
 
</div>
2933
 
<div class="memdoc">
2934
 
 
2935
 
<p>
2936
 
Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size. 
2937
 
<p>
2938
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2939
 
  <table border="0" cellspacing="2" cellpadding="0">
2940
 
    <tr><td valign="top"></td><td valign="top"><em>arr</em>&nbsp;</td><td>- source array start </td></tr>
2941
 
    <tr><td valign="top"></td><td valign="top"><em>arr_size</em>&nbsp;</td><td>- source array size </td></tr>
2942
 
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00081.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em>&nbsp;</td><td>- destination bit matrix </td></tr>
2943
 
  </table>
2944
 
</dl>
2945
 
 
2946
 
<p>Definition at line <a class="el" href="a00138.html#l00274">274</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2947
 
 
2948
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00138.html#l00059">bm::bit_grabber&lt; T, BPC &gt;::get()</a>.</p>
2949
 
 
2950
 
</div>
2951
 
</div><p>
2952
 
<a class="anchor" name="089ac7cd17ddca4bf3c661c96f749f3f"></a><!-- doxytag: member="bm::vect_bit_trestore" ref="089ac7cd17ddca4bf3c661c96f749f3f" args="(const T tmatrix[BPC][BPS], T *arr)" -->
2953
 
<div class="memitem">
2954
 
<div class="memproto">
2955
 
<div class="memtemplate">
2956
 
template&lt;typename T, unsigned BPC, unsigned BPS&gt; </div>
2957
 
      <table class="memname">
2958
 
        <tr>
2959
 
          <td class="memname">void bm::vect_bit_trestore           </td>
2960
 
          <td>(</td>
2961
 
          <td class="paramtype">const T&nbsp;</td>
2962
 
          <td class="paramname"> <em>tmatrix</em>[BPC][BPS], </td>
2963
 
        </tr>
2964
 
        <tr>
2965
 
          <td class="paramkey"></td>
2966
 
          <td></td>
2967
 
          <td class="paramtype">T *&nbsp;</td>
2968
 
          <td class="paramname"> <em>arr</em></td><td>&nbsp;</td>
2969
 
        </tr>
2970
 
        <tr>
2971
 
          <td></td>
2972
 
          <td>)</td>
2973
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
2974
 
        </tr>
2975
 
      </table>
2976
 
</div>
2977
 
<div class="memdoc">
2978
 
 
2979
 
<p>
2980
 
Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size. 
2981
 
<p>
2982
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2983
 
  <table border="0" cellspacing="2" cellpadding="0">
2984
 
    <tr><td valign="top"></td><td valign="top"><em>arr</em>&nbsp;</td><td>- dest array </td></tr>
2985
 
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00081.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em>&nbsp;</td><td>- source bit-slice matrix </td></tr>
2986
 
  </table>
2987
 
</dl>
2988
 
 
2989
 
<p>Definition at line <a class="el" href="a00138.html#l00307">307</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2990
 
 
2991
 
<p>References <a class="el" href="a00138.html#l00158">bm::bit_trans_grabber&lt; T, BPC, BPS &gt;::get()</a>.</p>
2992
 
 
2993
 
</div>
2994
 
</div><p>
2995
 
<a class="anchor" name="2e0675b3474db845b3d5910ce81e6868"></a><!-- doxytag: member="bm::xor_op" ref="2e0675b3474db845b3d5910ce81e6868" args="(unsigned v1, unsigned v2)" -->
2996
 
<div class="memitem">
2997
 
<div class="memproto">
2998
 
      <table class="memname">
2999
 
        <tr>
3000
 
          <td class="memname">unsigned bm::xor_op           </td>
3001
 
          <td>(</td>
3002
 
          <td class="paramtype">unsigned&nbsp;</td>
3003
 
          <td class="paramname"> <em>v1</em>, </td>
3004
 
        </tr>
3005
 
        <tr>
3006
 
          <td class="paramkey"></td>
3007
 
          <td></td>
3008
 
          <td class="paramtype">unsigned&nbsp;</td>
3009
 
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
3010
 
        </tr>
3011
 
        <tr>
3012
 
          <td></td>
3013
 
          <td>)</td>
3014
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
3015
 
        </tr>
3016
 
      </table>
3017
 
</div>
3018
 
<div class="memdoc">
3019
 
 
3020
 
<p>
3021
 
GAP xor functor. 
3022
 
<p>
3023
 
 
3024
 
<p>Definition at line <a class="el" href="a00134.html#l02894">2894</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
3025
 
 
3026
 
<p>Referenced by <a class="el" href="a00134.html#l02984">gap_operation_any_xor()</a>, and <a class="el" href="a00134.html#l02961">gap_operation_xor()</a>.</p>
3027
 
 
3028
 
</div>
3029
 
</div><p>
3030
 
<a class="anchor" name="fb2c1acc56270abb381741a709a2b17c"></a><!-- doxytag: member="bm::xor_swap" ref="fb2c1acc56270abb381741a709a2b17c" args="(W &amp;x, W &amp;y)" -->
3031
 
<div class="memitem">
3032
 
<div class="memproto">
3033
 
<div class="memtemplate">
3034
 
template&lt;typename W&gt; </div>
3035
 
      <table class="memname">
3036
 
        <tr>
3037
 
          <td class="memname">void bm::xor_swap           </td>
3038
 
          <td>(</td>
3039
 
          <td class="paramtype">W &amp;&nbsp;</td>
3040
 
          <td class="paramname"> <em>x</em>, </td>
3041
 
        </tr>
3042
 
        <tr>
3043
 
          <td class="paramkey"></td>
3044
 
          <td></td>
3045
 
          <td class="paramtype">W &amp;&nbsp;</td>
3046
 
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
3047
 
        </tr>
3048
 
        <tr>
3049
 
          <td></td>
3050
 
          <td>)</td>
3051
 
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
3052
 
        </tr>
3053
 
      </table>
3054
 
</div>
3055
 
<div class="memdoc">
3056
 
 
3057
 
<p>
3058
 
XOR swap two scalar variables. 
3059
 
<p>
3060
 
 
3061
 
<p>Definition at line <a class="el" href="a00134.html#l00317">317</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
3062
 
 
3063
 
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
3064
 
 
3065
 
<p>Referenced by <a class="el" href="a00128.html#l01208">bm::bvector&lt; Alloc, MS &gt;::swap()</a>.</p>
3066
 
 
3067
 
</div>
3068
 
</div><p>
3069
 
<hr><h2>Variable Documentation</h2>
3070
 
<a class="anchor" name="095e72da3086d98dac9724b11b478235"></a><!-- doxytag: member="bm::all_bits_mask" ref="095e72da3086d98dac9724b11b478235" args="" -->
3071
 
<div class="memitem">
3072
 
<div class="memproto">
3073
 
      <table class="memname">
3074
 
        <tr>
3075
 
          <td class="memname">const <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> <a class="el" href="a00106.html#095e72da3086d98dac9724b11b478235">bm::all_bits_mask</a> = 0xffffffffffffffff          </td>
3076
 
        </tr>
3077
 
      </table>
3078
 
</div>
3079
 
<div class="memdoc">
3080
 
 
3081
 
<p>
3082
 
 
3083
 
<p>Definition at line <a class="el" href="a00132.html#l00093">93</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3084
 
 
3085
 
<p>Referenced by <a class="el" href="a00134.html#l02846">is_bits_one()</a>.</p>
3086
 
 
3087
 
</div>
3088
 
</div><p>
3089
 
<a class="anchor" name="4dedd13a7b8a27c5067b20118002f025"></a><!-- doxytag: member="bm::bits_in_array" ref="4dedd13a7b8a27c5067b20118002f025" args="" -->
3090
 
<div class="memitem">
3091
 
<div class="memproto">
3092
 
      <table class="memname">
3093
 
        <tr>
3094
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#4dedd13a7b8a27c5067b20118002f025">bm::bits_in_array</a> = <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>          </td>
3095
 
        </tr>
3096
 
      </table>
3097
 
</div>
3098
 
<div class="memdoc">
3099
 
 
3100
 
<p>
3101
 
 
3102
 
<p>Definition at line <a class="el" href="a00132.html#l00087">87</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3103
 
 
3104
 
<p>Referenced by <a class="el" href="a00128.html#l00422">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, and <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
3105
 
 
3106
 
</div>
3107
 
</div><p>
3108
 
<a class="anchor" name="e9916f69ced0347d94472d7944ea0e45"></a><!-- doxytag: member="bm::bits_in_block" ref="e9916f69ced0347d94472d7944ea0e45" args="" -->
3109
 
<div class="memitem">
3110
 
<div class="memproto">
3111
 
      <table class="memname">
3112
 
        <tr>
3113
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8          </td>
3114
 
        </tr>
3115
 
      </table>
3116
 
</div>
3117
 
<div class="memdoc">
3118
 
 
3119
 
<p>
3120
 
 
3121
 
<p>Definition at line <a class="el" href="a00132.html#l00086">86</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3122
 
 
3123
 
<p>Referenced by <a class="el" href="a00128.html#l01677">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00128.html#l00422">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, and <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
3124
 
 
3125
 
</div>
3126
 
</div><p>
3127
 
<a class="anchor" name="9b1715d6d9164d56172e75bbbd0e3000"></a><!-- doxytag: member="bm::gap_equiv_len" ref="9b1715d6d9164d56172e75bbbd0e3000" args="" -->
3128
 
<div class="memitem">
3129
 
<div class="memproto">
3130
 
      <table class="memname">
3131
 
        <tr>
3132
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#9b1715d6d9164d56172e75bbbd0e3000">bm::gap_equiv_len</a>          </td>
3133
 
        </tr>
3134
 
      </table>
3135
 
</div>
3136
 
<div class="memdoc">
3137
 
 
3138
 
<p>
3139
 
<b>Initial value:</b><div class="fragment"><pre class="fragment"> 
3140
 
   (<span class="keyword">sizeof</span>(<a class="code" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * <a class="code" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>) / <span class="keyword">sizeof</span>(<a class="code" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a>)
3141
 
</pre></div>
3142
 
<p>Definition at line <a class="el" href="a00132.html#l00073">73</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3143
 
 
3144
 
<p>Referenced by <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00136.html#l00407">bm::serializer&lt; BV &gt;::encode_gap_block()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3145
 
 
3146
 
</div>
3147
 
</div><p>
3148
 
<a class="anchor" name="773e9f5341919d58000bd54d50038733"></a><!-- doxytag: member="bm::gap_levels" ref="773e9f5341919d58000bd54d50038733" args="" -->
3149
 
<div class="memitem">
3150
 
<div class="memproto">
3151
 
      <table class="memname">
3152
 
        <tr>
3153
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> = 4          </td>
3154
 
        </tr>
3155
 
      </table>
3156
 
</div>
3157
 
<div class="memdoc">
3158
 
 
3159
 
<p>
3160
 
 
3161
 
<p>Definition at line <a class="el" href="a00132.html#l00075">75</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3162
 
 
3163
 
<p>Referenced by <a class="el" href="a00131.html#l00190">bm::mem_alloc&lt; BA, PA &gt;::alloc_gap_block()</a>, <a class="el" href="a00128.html#l02038">bm::bvector&lt; Alloc, MS &gt;::calc_stat()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l00287">bm::serializer&lt; BV &gt;::encode_header()</a>, <a class="el" href="a00134.html#l02218">gap_calc_level()</a>, <a class="el" href="a00134.html#l04415">gap_overhead()</a>, <a class="el" href="a00134.html#l04443">improve_gap_levels()</a>, <a class="el" href="a00128.html#l01829">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, <a class="el" href="a00128.html#l01871">bm::bvector&lt; Alloc, MS &gt;::optimize_gap_size()</a>, <a class="el" href="a00136.html#l01601">bm::serial_stream_iterator&lt; DEC &gt;::serial_stream_iterator()</a>, and <a class="el" href="a00134.html#l02201">set_gap_level()</a>.</p>
3164
 
 
3165
 
</div>
3166
 
</div><p>
3167
 
<a class="anchor" name="d0b8714080144ac70197840ff96752b7"></a><!-- doxytag: member="bm::gap_max_bits" ref="d0b8714080144ac70197840ff96752b7" args="" -->
3168
 
<div class="memitem">
3169
 
<div class="memproto">
3170
 
      <table class="memname">
3171
 
        <tr>
3172
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#d0b8714080144ac70197840ff96752b7">bm::gap_max_bits</a> = 65536          </td>
3173
 
        </tr>
3174
 
      </table>
3175
 
</div>
3176
 
<div class="memdoc">
3177
 
 
3178
 
<p>
3179
 
 
3180
 
<p>Definition at line <a class="el" href="a00132.html#l00072">72</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3181
 
 
3182
 
<p>Referenced by <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, <a class="el" href="a00128.html#l01908">bm::bvector&lt; Alloc, MS &gt;::compare()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00134.html#l00457">gap_bfind()</a>, <a class="el" href="a00134.html#l00979">gap_buff_any_op()</a>, <a class="el" href="a00134.html#l00898">gap_buff_op()</a>, <a class="el" href="a00134.html#l01214">gap_find_in_block()</a>, <a class="el" href="a00134.html#l01122">gap_set_value()</a>, <a class="el" href="a00134.html#l00485">gap_test()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3183
 
 
3184
 
</div>
3185
 
</div><p>
3186
 
<a class="anchor" name="a5e01dfb650d168f9be0525e042af647"></a><!-- doxytag: member="bm::gap_max_buff_len" ref="a5e01dfb650d168f9be0525e042af647" args="" -->
3187
 
<div class="memitem">
3188
 
<div class="memproto">
3189
 
      <table class="memname">
3190
 
        <tr>
3191
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#a5e01dfb650d168f9be0525e042af647">bm::gap_max_buff_len</a> = 1280          </td>
3192
 
        </tr>
3193
 
      </table>
3194
 
</div>
3195
 
<div class="memdoc">
3196
 
 
3197
 
<p>
3198
 
 
3199
 
<p>Definition at line <a class="el" href="a00132.html#l00071">71</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3200
 
 
3201
 
<p>Referenced by <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, and <a class="el" href="a00134.html#l04443">improve_gap_levels()</a>.</p>
3202
 
 
3203
 
</div>
3204
 
</div><p>
3205
 
<a class="anchor" name="13793ad631e2b2fcbaaae9000ea1a924"></a><!-- doxytag: member="bm::gap_max_level" ref="13793ad631e2b2fcbaaae9000ea1a924" args="" -->
3206
 
<div class="memitem">
3207
 
<div class="memproto">
3208
 
      <table class="memname">
3209
 
        <tr>
3210
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#13793ad631e2b2fcbaaae9000ea1a924">bm::gap_max_level</a> = <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1          </td>
3211
 
        </tr>
3212
 
      </table>
3213
 
</div>
3214
 
<div class="memdoc">
3215
 
 
3216
 
<p>
3217
 
 
3218
 
<p>Definition at line <a class="el" href="a00132.html#l00076">76</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3219
 
 
3220
 
</div>
3221
 
</div><p>
3222
 
<a class="anchor" name="a6f59be0b838db693e0f081bcaf750f0"></a><!-- doxytag: member="bm::ibpc_all_one" ref="a6f59be0b838db693e0f081bcaf750f0" args="" -->
3223
 
<div class="memitem">
3224
 
<div class="memproto">
3225
 
      <table class="memname">
3226
 
        <tr>
3227
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#a6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2          </td>
3228
 
        </tr>
3229
 
      </table>
3230
 
</div>
3231
 
<div class="memdoc">
3232
 
 
3233
 
<p>
3234
 
!&lt; plain ALL ZERO 
3235
 
<p>
3236
 
 
3237
 
<p>Definition at line <a class="el" href="a00138.html#l00357">357</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3238
 
 
3239
 
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3240
 
 
3241
 
</div>
3242
 
</div><p>
3243
 
<a class="anchor" name="aca6d3c887b5b7b66a78e95471f9a326"></a><!-- doxytag: member="bm::ibpc_all_zero" ref="aca6d3c887b5b7b66a78e95471f9a326" args="" -->
3244
 
<div class="memitem">
3245
 
<div class="memproto">
3246
 
      <table class="memname">
3247
 
        <tr>
3248
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#aca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1          </td>
3249
 
        </tr>
3250
 
      </table>
3251
 
</div>
3252
 
<div class="memdoc">
3253
 
 
3254
 
<p>
3255
 
!&lt; plain uncompressed 
3256
 
<p>
3257
 
 
3258
 
<p>Definition at line <a class="el" href="a00138.html#l00356">356</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3259
 
 
3260
 
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3261
 
 
3262
 
</div>
3263
 
</div><p>
3264
 
<a class="anchor" name="a61bf7691d32a9bc7c65c05bb62657e5"></a><!-- doxytag: member="bm::ibpc_close" ref="a61bf7691d32a9bc7c65c05bb62657e5" args="" -->
3265
 
<div class="memitem">
3266
 
<div class="memproto">
3267
 
      <table class="memname">
3268
 
        <tr>
3269
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#a61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4          </td>
3270
 
        </tr>
3271
 
      </table>
3272
 
</div>
3273
 
<div class="memdoc">
3274
 
 
3275
 
<p>
3276
 
!&lt; plain is equal to plain M 
3277
 
<p>
3278
 
 
3279
 
<p>Definition at line <a class="el" href="a00138.html#l00359">359</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3280
 
 
3281
 
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3282
 
 
3283
 
</div>
3284
 
</div><p>
3285
 
<a class="anchor" name="e4f14f0c2c5a9ee277808d36fd94693f"></a><!-- doxytag: member="bm::ibpc_end" ref="e4f14f0c2c5a9ee277808d36fd94693f" args="" -->
3286
 
<div class="memitem">
3287
 
<div class="memproto">
3288
 
      <table class="memname">
3289
 
        <tr>
3290
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#e4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8          </td>
3291
 
        </tr>
3292
 
      </table>
3293
 
</div>
3294
 
<div class="memdoc">
3295
 
 
3296
 
<p>
3297
 
!&lt; plain is close to plain M 
3298
 
<p>
3299
 
 
3300
 
<p>Definition at line <a class="el" href="a00138.html#l00361">361</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3301
 
 
3302
 
</div>
3303
 
</div><p>
3304
 
<a class="anchor" name="748d4095c39c9372a590b431e0ec17fe"></a><!-- doxytag: member="bm::ibpc_equiv" ref="748d4095c39c9372a590b431e0ec17fe" args="" -->
3305
 
<div class="memitem">
3306
 
<div class="memproto">
3307
 
      <table class="memname">
3308
 
        <tr>
3309
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3          </td>
3310
 
        </tr>
3311
 
      </table>
3312
 
</div>
3313
 
<div class="memdoc">
3314
 
 
3315
 
<p>
3316
 
!&lt; plain ALL ONE 
3317
 
<p>
3318
 
 
3319
 
<p>Definition at line <a class="el" href="a00138.html#l00358">358</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3320
 
 
3321
 
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3322
 
 
3323
 
</div>
3324
 
</div><p>
3325
 
<a class="anchor" name="e34de9206be7a8aa05db9d5dc38bfc90"></a><!-- doxytag: member="bm::ibpc_uncompr" ref="e34de9206be7a8aa05db9d5dc38bfc90" args="" -->
3326
 
<div class="memitem">
3327
 
<div class="memproto">
3328
 
      <table class="memname">
3329
 
        <tr>
3330
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#e34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0          </td>
3331
 
        </tr>
3332
 
      </table>
3333
 
</div>
3334
 
<div class="memdoc">
3335
 
 
3336
 
<p>
3337
 
 
3338
 
<p>Definition at line <a class="el" href="a00138.html#l00355">355</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3339
 
 
3340
 
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3341
 
 
3342
 
</div>
3343
 
</div><p>
3344
 
<a class="anchor" name="104b924a1df81542db2a6296fbf26a65"></a><!-- doxytag: member="bm::id_max" ref="104b924a1df81542db2a6296fbf26a65" args="" -->
3345
 
<div class="memitem">
3346
 
<div class="memproto">
3347
 
      <table class="memname">
3348
 
        <tr>
3349
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#104b924a1df81542db2a6296fbf26a65">bm::id_max</a> = 0xFFFFFFFF          </td>
3350
 
        </tr>
3351
 
      </table>
3352
 
</div>
3353
 
<div class="memdoc">
3354
 
 
3355
 
<p>
3356
 
 
3357
 
<p>Definition at line <a class="el" href="a00132.html#l00049">49</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3358
 
 
3359
 
<p>Referenced by <a class="el" href="a00130.html#l01073">block_range_scan()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00136.html#l00287">bm::serializer&lt; BV &gt;::encode_header()</a>, <a class="el" href="a00128.html#l01249">bm::bvector&lt; Alloc, MS &gt;::extract_next()</a>, <a class="el" href="a00128.html#l01237">bm::bvector&lt; Alloc, MS &gt;::get_next()</a>, <a class="el" href="a00128.html#l00273">bm::bvector&lt; Alloc, MS &gt;::iterator_base::invalidate()</a>, <a class="el" href="a00128.html#l01771">bm::bvector&lt; Alloc, MS &gt;::invert()</a>, <a class="el" href="a00128.html#l00344">bm::bvector&lt; Alloc, MS &gt;::insert_iterator::operator=()</a>, and <a class="el" href="a00128.html#l00264">bm::bvector&lt; Alloc, MS &gt;::iterator_base::valid()</a>.</p>
3360
 
 
3361
 
</div>
3362
 
</div><p>
3363
 
<a class="anchor" name="00ffa7b38d7fcc7e522d864991a6de68"></a><!-- doxytag: member="bm::set_array_mask" ref="00ffa7b38d7fcc7e522d864991a6de68" args="" -->
3364
 
<div class="memitem">
3365
 
<div class="memproto">
3366
 
      <table class="memname">
3367
 
        <tr>
3368
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#00ffa7b38d7fcc7e522d864991a6de68">bm::set_array_mask</a> = 0xFFu          </td>
3369
 
        </tr>
3370
 
      </table>
3371
 
</div>
3372
 
<div class="memdoc">
3373
 
 
3374
 
<p>
3375
 
 
3376
 
<p>Definition at line <a class="el" href="a00132.html#l00083">83</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3377
 
 
3378
 
<p>Referenced by <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
3379
 
 
3380
 
</div>
3381
 
</div><p>
3382
 
<a class="anchor" name="c1ff8647a089c751ec330cecee01907e"></a><!-- doxytag: member="bm::set_array_shift" ref="c1ff8647a089c751ec330cecee01907e" args="" -->
3383
 
<div class="memitem">
3384
 
<div class="memproto">
3385
 
      <table class="memname">
3386
 
        <tr>
3387
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#c1ff8647a089c751ec330cecee01907e">bm::set_array_shift</a> = 8u          </td>
3388
 
        </tr>
3389
 
      </table>
3390
 
</div>
3391
 
<div class="memdoc">
3392
 
 
3393
 
<p>
3394
 
 
3395
 
<p>Definition at line <a class="el" href="a00132.html#l00082">82</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3396
 
 
3397
 
<p>Referenced by <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
3398
 
 
3399
 
</div>
3400
 
</div><p>
3401
 
<a class="anchor" name="40ad34d6c46a2fb20ba2baa7f95d80b4"></a><!-- doxytag: member="bm::set_array_size" ref="40ad34d6c46a2fb20ba2baa7f95d80b4" args="" -->
3402
 
<div class="memitem">
3403
 
<div class="memproto">
3404
 
      <table class="memname">
3405
 
        <tr>
3406
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> = 256u          </td>
3407
 
        </tr>
3408
 
      </table>
3409
 
</div>
3410
 
<div class="memdoc">
3411
 
 
3412
 
<p>
3413
 
 
3414
 
<p>Definition at line <a class="el" href="a00132.html#l00081">81</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3415
 
 
3416
 
<p>Referenced by <a class="el" href="a00128.html#l01163">bm::bvector&lt; Alloc, MS &gt;::any()</a>, <a class="el" href="a00128.html#l02038">bm::bvector&lt; Alloc, MS &gt;::calc_stat()</a>, <a class="el" href="a00128.html#l02505">bm::bvector&lt; Alloc, MS &gt;::combine_operation()</a>, <a class="el" href="a00128.html#l01908">bm::bvector&lt; Alloc, MS &gt;::compare()</a>, <a class="el" href="a00128.html#l01637">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00128.html#l01095">bm::bvector&lt; Alloc, MS &gt;::count_blocks()</a>, <a class="el" href="a00130.html#l01403">count_intervals()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00130.html#l00686">distance_operation()</a>, <a class="el" href="a00130.html#l00805">distance_operation_any()</a>, <a class="el" href="a00134.html#l00563">for_each_nzblock_if()</a>, <a class="el" href="a00128.html#l00422">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, <a class="el" href="a00128.html#l01771">bm::bvector&lt; Alloc, MS &gt;::invert()</a>, <a class="el" href="a00128.html#l01829">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, and <a class="el" href="a00128.html#l01892">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.</p>
3417
 
 
3418
 
</div>
3419
 
</div><p>
3420
 
<a class="anchor" name="2d1bf97ae342a7759943e62090fcf5d3"></a><!-- doxytag: member="bm::set_blkblk_mask" ref="2d1bf97ae342a7759943e62090fcf5d3" args="" -->
3421
 
<div class="memitem">
3422
 
<div class="memproto">
3423
 
      <table class="memname">
3424
 
        <tr>
3425
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#2d1bf97ae342a7759943e62090fcf5d3">bm::set_blkblk_mask</a> = 0xFFFFFFu          </td>
3426
 
        </tr>
3427
 
      </table>
3428
 
</div>
3429
 
<div class="memdoc">
3430
 
 
3431
 
<p>
3432
 
 
3433
 
<p>Definition at line <a class="el" href="a00132.html#l00056">56</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3434
 
 
3435
 
</div>
3436
 
</div><p>
3437
 
<a class="anchor" name="3fad4a939708df59b1201910c7d37e30"></a><!-- doxytag: member="bm::set_block_16one" ref="3fad4a939708df59b1201910c7d37e30" args="" -->
3438
 
<div class="memitem">
3439
 
<div class="memproto">
3440
 
      <table class="memname">
3441
 
        <tr>
3442
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6          </td>
3443
 
        </tr>
3444
 
      </table>
3445
 
</div>
3446
 
<div class="memdoc">
3447
 
 
3448
 
<p>
3449
 
UP to 65536 all-set blocks. 
3450
 
<p>
3451
 
 
3452
 
<p>Definition at line <a class="el" href="a00136.html#l00072">72</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3453
 
 
3454
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3455
 
 
3456
 
</div>
3457
 
</div><p>
3458
 
<a class="anchor" name="ef47eda6538ebf2624c1612d35694c01"></a><!-- doxytag: member="bm::set_block_16zero" ref="ef47eda6538ebf2624c1612d35694c01" args="" -->
3459
 
<div class="memitem">
3460
 
<div class="memproto">
3461
 
      <table class="memname">
3462
 
        <tr>
3463
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#ef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5          </td>
3464
 
        </tr>
3465
 
      </table>
3466
 
</div>
3467
 
<div class="memdoc">
3468
 
 
3469
 
<p>
3470
 
Up to 65536 zero blocks. 
3471
 
<p>
3472
 
 
3473
 
<p>Definition at line <a class="el" href="a00136.html#l00071">71</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3474
 
 
3475
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3476
 
 
3477
 
</div>
3478
 
</div><p>
3479
 
<a class="anchor" name="715131318a361bcccf59fc0b1e41d444"></a><!-- doxytag: member="bm::set_block_1one" ref="715131318a361bcccf59fc0b1e41d444" args="" -->
3480
 
<div class="memitem">
3481
 
<div class="memproto">
3482
 
      <table class="memname">
3483
 
        <tr>
3484
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2          </td>
3485
 
        </tr>
3486
 
      </table>
3487
 
</div>
3488
 
<div class="memdoc">
3489
 
 
3490
 
<p>
3491
 
One block all-set (1111...). 
3492
 
<p>
3493
 
 
3494
 
<p>Definition at line <a class="el" href="a00136.html#l00068">68</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3495
 
 
3496
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3497
 
 
3498
 
</div>
3499
 
</div><p>
3500
 
<a class="anchor" name="9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><!-- doxytag: member="bm::set_block_1zero" ref="9e9cf918ca2ebec84eaf844d0e4c8bdb" args="" -->
3501
 
<div class="memitem">
3502
 
<div class="memproto">
3503
 
      <table class="memname">
3504
 
        <tr>
3505
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1          </td>
3506
 
        </tr>
3507
 
      </table>
3508
 
</div>
3509
 
<div class="memdoc">
3510
 
 
3511
 
<p>
3512
 
One all-zero block. 
3513
 
<p>
3514
 
 
3515
 
<p>Definition at line <a class="el" href="a00136.html#l00067">67</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3516
 
 
3517
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3518
 
 
3519
 
</div>
3520
 
</div><p>
3521
 
<a class="anchor" name="5b87c58ae617ad1f104b4c6bc3ed6447"></a><!-- doxytag: member="bm::set_block_32one" ref="5b87c58ae617ad1f104b4c6bc3ed6447" args="" -->
3522
 
<div class="memitem">
3523
 
<div class="memproto">
3524
 
      <table class="memname">
3525
 
        <tr>
3526
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8          </td>
3527
 
        </tr>
3528
 
      </table>
3529
 
</div>
3530
 
<div class="memdoc">
3531
 
 
3532
 
<p>
3533
 
UP to 4G all-set blocks. 
3534
 
<p>
3535
 
 
3536
 
<p>Definition at line <a class="el" href="a00136.html#l00074">74</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3537
 
 
3538
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3539
 
 
3540
 
</div>
3541
 
</div><p>
3542
 
<a class="anchor" name="c7dfbd94a0534df88849bbce9e6c419a"></a><!-- doxytag: member="bm::set_block_32zero" ref="c7dfbd94a0534df88849bbce9e6c419a" args="" -->
3543
 
<div class="memitem">
3544
 
<div class="memproto">
3545
 
      <table class="memname">
3546
 
        <tr>
3547
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#c7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7          </td>
3548
 
        </tr>
3549
 
      </table>
3550
 
</div>
3551
 
<div class="memdoc">
3552
 
 
3553
 
<p>
3554
 
Up to 4G zero blocks. 
3555
 
<p>
3556
 
 
3557
 
<p>Definition at line <a class="el" href="a00136.html#l00073">73</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3558
 
 
3559
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3560
 
 
3561
 
</div>
3562
 
</div><p>
3563
 
<a class="anchor" name="57ad1090d6f380cf5de5f98c699b5a75"></a><!-- doxytag: member="bm::set_block_8one" ref="57ad1090d6f380cf5de5f98c699b5a75" args="" -->
3564
 
<div class="memitem">
3565
 
<div class="memproto">
3566
 
      <table class="memname">
3567
 
        <tr>
3568
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4          </td>
3569
 
        </tr>
3570
 
      </table>
3571
 
</div>
3572
 
<div class="memdoc">
3573
 
 
3574
 
<p>
3575
 
Up to 256 all-set blocks. 
3576
 
<p>
3577
 
 
3578
 
<p>Definition at line <a class="el" href="a00136.html#l00070">70</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3579
 
 
3580
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3581
 
 
3582
 
</div>
3583
 
</div><p>
3584
 
<a class="anchor" name="c9b85b261ab49b37d5e15b84ed2d8b99"></a><!-- doxytag: member="bm::set_block_8zero" ref="c9b85b261ab49b37d5e15b84ed2d8b99" args="" -->
3585
 
<div class="memitem">
3586
 
<div class="memproto">
3587
 
      <table class="memname">
3588
 
        <tr>
3589
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#c9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3          </td>
3590
 
        </tr>
3591
 
      </table>
3592
 
</div>
3593
 
<div class="memdoc">
3594
 
 
3595
 
<p>
3596
 
Up to 256 zero blocks. 
3597
 
<p>
3598
 
 
3599
 
<p>Definition at line <a class="el" href="a00136.html#l00069">69</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3600
 
 
3601
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3602
 
 
3603
 
</div>
3604
 
</div><p>
3605
 
<a class="anchor" name="d506b63262c52870758432a95e71907e"></a><!-- doxytag: member="bm::set_block_aone" ref="d506b63262c52870758432a95e71907e" args="" -->
3606
 
<div class="memitem">
3607
 
<div class="memproto">
3608
 
      <table class="memname">
3609
 
        <tr>
3610
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#d506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10          </td>
3611
 
        </tr>
3612
 
      </table>
3613
 
</div>
3614
 
<div class="memdoc">
3615
 
 
3616
 
<p>
3617
 
All other blocks one. 
3618
 
<p>
3619
 
 
3620
 
<p>Definition at line <a class="el" href="a00136.html#l00076">76</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3621
 
 
3622
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3623
 
 
3624
 
</div>
3625
 
</div><p>
3626
 
<a class="anchor" name="6ec6acb175ce77a229003f088ecd3923"></a><!-- doxytag: member="bm::set_block_arrbit" ref="6ec6acb175ce77a229003f088ecd3923" args="" -->
3627
 
<div class="memitem">
3628
 
<div class="memproto">
3629
 
      <table class="memname">
3630
 
        <tr>
3631
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16          </td>
3632
 
        </tr>
3633
 
      </table>
3634
 
</div>
3635
 
<div class="memdoc">
3636
 
 
3637
 
<p>
3638
 
List of bits ON. 
3639
 
<p>
3640
 
 
3641
 
<p>Definition at line <a class="el" href="a00136.html#l00082">82</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3642
 
 
3643
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l02626">bm::serial_stream_iterator&lt; DEC &gt;::get_arr_bit()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3644
 
 
3645
 
</div>
3646
 
</div><p>
3647
 
<a class="anchor" name="ae33ceefae804cdd94412beee8c52720"></a><!-- doxytag: member="bm::set_block_arrgap" ref="ae33ceefae804cdd94412beee8c52720" args="" -->
3648
 
<div class="memitem">
3649
 
<div class="memproto">
3650
 
      <table class="memname">
3651
 
        <tr>
3652
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#ae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18          </td>
3653
 
        </tr>
3654
 
      </table>
3655
 
</div>
3656
 
<div class="memdoc">
3657
 
 
3658
 
<p>
3659
 
List of bits ON (GAP block). 
3660
 
<p>
3661
 
 
3662
 
<p>Definition at line <a class="el" href="a00136.html#l00084">84</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3663
 
 
3664
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00136.html#l00365">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3665
 
 
3666
 
</div>
3667
 
</div><p>
3668
 
<a class="anchor" name="9674ddb1b9ee66948465249688708188"></a><!-- doxytag: member="bm::set_block_arrgap_egamma" ref="9674ddb1b9ee66948465249688708188" args="" -->
3669
 
<div class="memitem">
3670
 
<div class="memproto">
3671
 
      <table class="memname">
3672
 
        <tr>
3673
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21          </td>
3674
 
        </tr>
3675
 
      </table>
3676
 
</div>
3677
 
<div class="memdoc">
3678
 
 
3679
 
<p>
3680
 
Gamma compressed delta GAP array. 
3681
 
<p>
3682
 
 
3683
 
<p>Definition at line <a class="el" href="a00136.html#l00087">87</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3684
 
 
3685
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00136.html#l00365">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3686
 
 
3687
 
</div>
3688
 
</div><p>
3689
 
<a class="anchor" name="e87b5c61d7ba6e2e592a279db0b21cc0"></a><!-- doxytag: member="bm::set_block_azero" ref="e87b5c61d7ba6e2e592a279db0b21cc0" args="" -->
3690
 
<div class="memitem">
3691
 
<div class="memproto">
3692
 
      <table class="memname">
3693
 
        <tr>
3694
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#e87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9          </td>
3695
 
        </tr>
3696
 
      </table>
3697
 
</div>
3698
 
<div class="memdoc">
3699
 
 
3700
 
<p>
3701
 
All other blocks zero. 
3702
 
<p>
3703
 
 
3704
 
<p>Definition at line <a class="el" href="a00136.html#l00075">75</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3705
 
 
3706
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3707
 
 
3708
 
</div>
3709
 
</div><p>
3710
 
<a class="anchor" name="ef86ab2eb42c198272eea7cdfe42951b"></a><!-- doxytag: member="bm::set_block_bit" ref="ef86ab2eb42c198272eea7cdfe42951b" args="" -->
3711
 
<div class="memitem">
3712
 
<div class="memproto">
3713
 
      <table class="memname">
3714
 
        <tr>
3715
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#ef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11          </td>
3716
 
        </tr>
3717
 
      </table>
3718
 
</div>
3719
 
<div class="memdoc">
3720
 
 
3721
 
<p>
3722
 
Plain bit block. 
3723
 
<p>
3724
 
 
3725
 
<p>Definition at line <a class="el" href="a00136.html#l00077">77</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3726
 
 
3727
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3728
 
 
3729
 
</div>
3730
 
</div><p>
3731
 
<a class="anchor" name="5e21adca3bc6902f33e43e5cfd824f0e"></a><!-- doxytag: member="bm::set_block_bit_0runs" ref="5e21adca3bc6902f33e43e5cfd824f0e" args="" -->
3732
 
<div class="memitem">
3733
 
<div class="memproto">
3734
 
      <table class="memname">
3735
 
        <tr>
3736
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22          </td>
3737
 
        </tr>
3738
 
      </table>
3739
 
</div>
3740
 
<div class="memdoc">
3741
 
 
3742
 
<p>
3743
 
Bit block with encoded zero intervals. 
3744
 
<p>
3745
 
 
3746
 
<p>Definition at line <a class="el" href="a00136.html#l00088">88</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3747
 
 
3748
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l00477">bm::serializer&lt; BV &gt;::encode_bit_interval()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3749
 
 
3750
 
</div>
3751
 
</div><p>
3752
 
<a class="anchor" name="d0e6607a9771fa49a658c3078208c2dc"></a><!-- doxytag: member="bm::set_block_bit_1bit" ref="d0e6607a9771fa49a658c3078208c2dc" args="" -->
3753
 
<div class="memitem">
3754
 
<div class="memproto">
3755
 
      <table class="memname">
3756
 
        <tr>
3757
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#d0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19          </td>
3758
 
        </tr>
3759
 
      </table>
3760
 
</div>
3761
 
<div class="memdoc">
3762
 
 
3763
 
<p>
3764
 
Bit block with 1 bit ON. 
3765
 
<p>
3766
 
 
3767
 
<p>Definition at line <a class="el" href="a00136.html#l00085">85</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3768
 
 
3769
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l00407">bm::serializer&lt; BV &gt;::encode_gap_block()</a>, <a class="el" href="a00136.html#l02626">bm::serial_stream_iterator&lt; DEC &gt;::get_arr_bit()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3770
 
 
3771
 
</div>
3772
 
</div><p>
3773
 
<a class="anchor" name="0f2d3289a95dc3bd224a6a73c3d3afce"></a><!-- doxytag: member="bm::set_block_bit_interval" ref="0f2d3289a95dc3bd224a6a73c3d3afce" args="" -->
3774
 
<div class="memitem">
3775
 
<div class="memproto">
3776
 
      <table class="memname">
3777
 
        <tr>
3778
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17          </td>
3779
 
        </tr>
3780
 
      </table>
3781
 
</div>
3782
 
<div class="memdoc">
3783
 
 
3784
 
<p>
3785
 
Interval block. 
3786
 
<p>
3787
 
 
3788
 
<p>Definition at line <a class="el" href="a00136.html#l00083">83</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3789
 
 
3790
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3791
 
 
3792
 
</div>
3793
 
</div><p>
3794
 
<a class="anchor" name="a24e7c08930cf959d383c6b930fb0508"></a><!-- doxytag: member="bm::set_block_end" ref="a24e7c08930cf959d383c6b930fb0508" args="" -->
3795
 
<div class="memitem">
3796
 
<div class="memproto">
3797
 
      <table class="memname">
3798
 
        <tr>
3799
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#a24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0          </td>
3800
 
        </tr>
3801
 
      </table>
3802
 
</div>
3803
 
<div class="memdoc">
3804
 
 
3805
 
<p>
3806
 
End of serialization. 
3807
 
<p>
3808
 
 
3809
 
<p>Definition at line <a class="el" href="a00136.html#l00066">66</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3810
 
 
3811
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
3812
 
 
3813
 
</div>
3814
 
</div><p>
3815
 
<a class="anchor" name="09b8c4b17b7d6f613c237c46d04a9cd6"></a><!-- doxytag: member="bm::set_block_gap" ref="09b8c4b17b7d6f613c237c46d04a9cd6" args="" -->
3816
 
<div class="memitem">
3817
 
<div class="memproto">
3818
 
      <table class="memname">
3819
 
        <tr>
3820
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14          </td>
3821
 
        </tr>
3822
 
      </table>
3823
 
</div>
3824
 
<div class="memdoc">
3825
 
 
3826
 
<p>
3827
 
Plain GAP block. 
3828
 
<p>
3829
 
 
3830
 
<p>Definition at line <a class="el" href="a00136.html#l00080">80</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3831
 
 
3832
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00136.html#l00326">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3833
 
 
3834
 
</div>
3835
 
</div><p>
3836
 
<a class="anchor" name="c47dea3917e15264ed3ba0cf4055adbe"></a><!-- doxytag: member="bm::set_block_gap_egamma" ref="c47dea3917e15264ed3ba0cf4055adbe" args="" -->
3837
 
<div class="memitem">
3838
 
<div class="memproto">
3839
 
      <table class="memname">
3840
 
        <tr>
3841
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#c47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20          </td>
3842
 
        </tr>
3843
 
      </table>
3844
 
</div>
3845
 
<div class="memdoc">
3846
 
 
3847
 
<p>
3848
 
Gamma compressed GAP block. 
3849
 
<p>
3850
 
 
3851
 
<p>Definition at line <a class="el" href="a00136.html#l00086">86</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3852
 
 
3853
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00136.html#l00326">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3854
 
 
3855
 
</div>
3856
 
</div><p>
3857
 
<a class="anchor" name="77dc965397e31a1d39c3d8e628792779"></a><!-- doxytag: member="bm::set_block_gapbit" ref="77dc965397e31a1d39c3d8e628792779" args="" -->
3858
 
<div class="memitem">
3859
 
<div class="memproto">
3860
 
      <table class="memname">
3861
 
        <tr>
3862
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15          </td>
3863
 
        </tr>
3864
 
      </table>
3865
 
</div>
3866
 
<div class="memdoc">
3867
 
 
3868
 
<p>
3869
 
GAP compressed bitblock. 
3870
 
<p>
3871
 
 
3872
 
<p>Definition at line <a class="el" href="a00136.html#l00081">81</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3873
 
 
3874
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
3875
 
 
3876
 
</div>
3877
 
</div><p>
3878
 
<a class="anchor" name="201fb8b1f81b7487f1c1c129fc3d6557"></a><!-- doxytag: member="bm::set_block_mask" ref="201fb8b1f81b7487f1c1c129fc3d6557" args="" -->
3879
 
<div class="memitem">
3880
 
<div class="memproto">
3881
 
      <table class="memname">
3882
 
        <tr>
3883
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#201fb8b1f81b7487f1c1c129fc3d6557">bm::set_block_mask</a> = 0xFFFFu          </td>
3884
 
        </tr>
3885
 
      </table>
3886
 
</div>
3887
 
<div class="memdoc">
3888
 
 
3889
 
<p>
3890
 
 
3891
 
<p>Definition at line <a class="el" href="a00132.html#l00055">55</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3892
 
 
3893
 
<p>Referenced by <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01677">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00128.html#l01795">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
3894
 
 
3895
 
</div>
3896
 
</div><p>
3897
 
<a class="anchor" name="3428cf384446982017ba9ee68152d238"></a><!-- doxytag: member="bm::set_block_plain_cnt" ref="3428cf384446982017ba9ee68152d238" args="" -->
3898
 
<div class="memitem">
3899
 
<div class="memproto">
3900
 
      <table class="memname">
3901
 
        <tr>
3902
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a> = sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u          </td>
3903
 
        </tr>
3904
 
      </table>
3905
 
</div>
3906
 
<div class="memdoc">
3907
 
 
3908
 
<p>
3909
 
 
3910
 
<p>Definition at line <a class="el" href="a00132.html#l00059">59</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3911
 
 
3912
 
</div>
3913
 
</div><p>
3914
 
<a class="anchor" name="35780565f6d8f2831ebff8877d3ba662"></a><!-- doxytag: member="bm::set_block_plain_size" ref="35780565f6d8f2831ebff8877d3ba662" args="" -->
3915
 
<div class="memitem">
3916
 
<div class="memproto">
3917
 
      <table class="memname">
3918
 
        <tr>
3919
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u          </td>
3920
 
        </tr>
3921
 
      </table>
3922
 
</div>
3923
 
<div class="memdoc">
3924
 
 
3925
 
<p>
3926
 
 
3927
 
<p>Definition at line <a class="el" href="a00132.html#l00058">58</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3928
 
 
3929
 
</div>
3930
 
</div><p>
3931
 
<a class="anchor" name="fe4b1011b09271c5f3882b926e250d39"></a><!-- doxytag: member="bm::set_block_sgapbit" ref="fe4b1011b09271c5f3882b926e250d39" args="" -->
3932
 
<div class="memitem">
3933
 
<div class="memproto">
3934
 
      <table class="memname">
3935
 
        <tr>
3936
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#fe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12          </td>
3937
 
        </tr>
3938
 
      </table>
3939
 
</div>
3940
 
<div class="memdoc">
3941
 
 
3942
 
<p>
3943
 
SGAP compressed bitblock. 
3944
 
<p>
3945
 
 
3946
 
<p>Definition at line <a class="el" href="a00136.html#l00078">78</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3947
 
 
3948
 
</div>
3949
 
</div><p>
3950
 
<a class="anchor" name="b3a8d57c0b898c3c5a23cd27a8f856ad"></a><!-- doxytag: member="bm::set_block_sgapgap" ref="b3a8d57c0b898c3c5a23cd27a8f856ad" args="" -->
3951
 
<div class="memitem">
3952
 
<div class="memproto">
3953
 
      <table class="memname">
3954
 
        <tr>
3955
 
          <td class="memname">const unsigned char <a class="el" href="a00106.html#b3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13          </td>
3956
 
        </tr>
3957
 
      </table>
3958
 
</div>
3959
 
<div class="memdoc">
3960
 
 
3961
 
<p>
3962
 
SGAP compressed GAP block. 
3963
 
<p>
3964
 
 
3965
 
<p>Definition at line <a class="el" href="a00136.html#l00079">79</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3966
 
 
3967
 
</div>
3968
 
</div><p>
3969
 
<a class="anchor" name="d8723fbeea6290d3daa8917ea7ce9bb2"></a><!-- doxytag: member="bm::set_block_shift" ref="d8723fbeea6290d3daa8917ea7ce9bb2" args="" -->
3970
 
<div class="memitem">
3971
 
<div class="memproto">
3972
 
      <table class="memname">
3973
 
        <tr>
3974
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#d8723fbeea6290d3daa8917ea7ce9bb2">bm::set_block_shift</a> = 16u          </td>
3975
 
        </tr>
3976
 
      </table>
3977
 
</div>
3978
 
<div class="memdoc">
3979
 
 
3980
 
<p>
3981
 
 
3982
 
<p>Definition at line <a class="el" href="a00132.html#l00054">54</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3983
 
 
3984
 
<p>Referenced by <a class="el" href="a00130.html#l01073">block_range_scan()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01677">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, and <a class="el" href="a00128.html#l01795">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>.</p>
3985
 
 
3986
 
</div>
3987
 
</div><p>
3988
 
<a class="anchor" name="91319dbc0d0e1bf3a3efc4d92bac7972"></a><!-- doxytag: member="bm::set_block_size" ref="91319dbc0d0e1bf3a3efc4d92bac7972" args="" -->
3989
 
<div class="memitem">
3990
 
<div class="memproto">
3991
 
      <table class="memname">
3992
 
        <tr>
3993
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> = 2048u          </td>
3994
 
        </tr>
3995
 
      </table>
3996
 
</div>
3997
 
<div class="memdoc">
3998
 
 
3999
 
<p>
4000
 
 
4001
 
<p>Definition at line <a class="el" href="a00132.html#l00053">53</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4002
 
 
4003
 
<p>Referenced by <a class="el" href="a00134.html#l00064">bm::bv_statistics::add_bit_block()</a>, <a class="el" href="a00131.html#l00170">bm::mem_alloc&lt; BA, PA &gt;::alloc_bit_block()</a>, <a class="el" href="a00134.html#l03098">bit_block_and()</a>, <a class="el" href="a00134.html#l03078">bit_block_copy()</a>, <a class="el" href="a00134.html#l03652">bit_block_or()</a>, <a class="el" href="a00134.html#l01909">bit_block_set()</a>, <a class="el" href="a00134.html#l03748">bit_block_sub()</a>, <a class="el" href="a00134.html#l03844">bit_block_xor()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00134.html#l03690">bit_operation_or()</a>, <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00136.html#l00477">bm::serializer&lt; BV &gt;::encode_bit_interval()</a>, <a class="el" href="a00130.html#l01429">export_array()</a>, <a class="el" href="a00131.html#l00177">bm::mem_alloc&lt; BA, PA &gt;::free_bit_block()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00128.html#l00487">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
4004
 
 
4005
 
</div>
4006
 
</div><p>
4007
 
<a class="anchor" name="7049fd70220fc3a3072e9f82abf4ad66"></a><!-- doxytag: member="bm::set_block_size_op" ref="7049fd70220fc3a3072e9f82abf4ad66" args="" -->
4008
 
<div class="memitem">
4009
 
<div class="memproto">
4010
 
      <table class="memname">
4011
 
        <tr>
4012
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#7049fd70220fc3a3072e9f82abf4ad66">bm::set_block_size_op</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> / 2          </td>
4013
 
        </tr>
4014
 
      </table>
4015
 
</div>
4016
 
<div class="memdoc">
4017
 
 
4018
 
<p>
4019
 
 
4020
 
<p>Definition at line <a class="el" href="a00132.html#l00096">96</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4021
 
 
4022
 
<p>Referenced by <a class="el" href="a00128.html#l01908">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.</p>
4023
 
 
4024
 
</div>
4025
 
</div><p>
4026
 
<a class="anchor" name="505011007f54598794e0b9477c0b0b11"></a><!-- doxytag: member="bm::set_total_blocks" ref="505011007f54598794e0b9477c0b0b11" args="" -->
4027
 
<div class="memitem">
4028
 
<div class="memproto">
4029
 
      <table class="memname">
4030
 
        <tr>
4031
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> = (<a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)          </td>
4032
 
        </tr>
4033
 
      </table>
4034
 
</div>
4035
 
<div class="memdoc">
4036
 
 
4037
 
<p>
4038
 
 
4039
 
<p>Definition at line <a class="el" href="a00132.html#l00084">84</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4040
 
 
4041
 
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00130.html#l01429">export_array()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
4042
 
 
4043
 
</div>
4044
 
</div><p>
4045
 
<a class="anchor" name="ddbf345be3733d5e4575d71733ed1da8"></a><!-- doxytag: member="bm::set_word_mask" ref="ddbf345be3733d5e4575d71733ed1da8" args="" -->
4046
 
<div class="memitem">
4047
 
<div class="memproto">
4048
 
      <table class="memname">
4049
 
        <tr>
4050
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#ddbf345be3733d5e4575d71733ed1da8">bm::set_word_mask</a> = 0x1Fu          </td>
4051
 
        </tr>
4052
 
      </table>
4053
 
</div>
4054
 
<div class="memdoc">
4055
 
 
4056
 
<p>
4057
 
 
4058
 
<p>Definition at line <a class="el" href="a00132.html#l00064">64</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4059
 
 
4060
 
<p>Referenced by <a class="el" href="a00134.html#l02760">bit_block_any_range()</a>, <a class="el" href="a00134.html#l02691">bit_block_calc_count_range()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01795">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00141.html#l00238">bm::bvmini&lt; N &gt;::set()</a>, <a class="el" href="a00141.html#l00102">bm::miniset&lt; A, N &gt;::set()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00141.html#l00233">bm::bvmini&lt; N &gt;::test()</a>, <a class="el" href="a00141.html#l00091">bm::miniset&lt; A, N &gt;::test()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
4061
 
 
4062
 
</div>
4063
 
</div><p>
4064
 
<a class="anchor" name="83d76bccf6fe3770f32d5ba11d2a37ad"></a><!-- doxytag: member="bm::set_word_shift" ref="83d76bccf6fe3770f32d5ba11d2a37ad" args="" -->
4065
 
<div class="memitem">
4066
 
<div class="memproto">
4067
 
      <table class="memname">
4068
 
        <tr>
4069
 
          <td class="memname">const unsigned <a class="el" href="a00106.html#83d76bccf6fe3770f32d5ba11d2a37ad">bm::set_word_shift</a> = 5u          </td>
4070
 
        </tr>
4071
 
      </table>
4072
 
</div>
4073
 
<div class="memdoc">
4074
 
 
4075
 
<p>
4076
 
 
4077
 
<p>Definition at line <a class="el" href="a00132.html#l00063">63</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4078
 
 
4079
 
<p>Referenced by <a class="el" href="a00134.html#l02760">bit_block_any_range()</a>, <a class="el" href="a00134.html#l02691">bit_block_calc_count_range()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01795">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00141.html#l00238">bm::bvmini&lt; N &gt;::set()</a>, <a class="el" href="a00141.html#l00102">bm::miniset&lt; A, N &gt;::set()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00141.html#l00233">bm::bvmini&lt; N &gt;::test()</a>, <a class="el" href="a00141.html#l00091">bm::miniset&lt; A, N &gt;::test()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
4080
 
 
4081
 
</div>
4082
 
</div><p>
4083
 
</div>
4084
 
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:17:19 2009 for BitMagic by&nbsp;
 
43
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
 
44
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">dbg_block_allocator</a></td></tr>
 
45
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">dbg_ptr_allocator</a></td></tr>
 
46
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 
47
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00073.html">bm::mem_alloc</a><br class="typebreak"/>
 
48
&lt; <a class="el" href="a00050.html">dbg_block_allocator</a>, <br class="typebreak"/>
 
49
<a class="el" href="a00051.html">dbg_ptr_allocator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aa932e8e72ba07938f1a001b6cfcb614e">dbg_alloc</a></td></tr>
 
50
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00043.html">bm::bvector</a>&lt; <a class="el" href="a00073.html">dbg_alloc</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ac07bb102df543a0c581493c5f35b2129">bvect</a></td></tr>
 
51
<tr><td colspan="2"><h2>Functions</h2></td></tr>
 
52
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
 
53
</table>
 
54
<hr/><h2>Typedef Documentation</h2>
 
55
<a class="anchor" id="ac07bb102df543a0c581493c5f35b2129"></a><!-- doxytag: member="sample6.cpp::bvect" ref="ac07bb102df543a0c581493c5f35b2129" args="" -->
 
56
<div class="memitem">
 
57
<div class="memproto">
 
58
      <table class="memname">
 
59
        <tr>
 
60
          <td class="memname">typedef <a class="el" href="a00043.html">bm::bvector</a>&lt;<a class="el" href="a00073.html">dbg_alloc</a>&gt; <a class="el" href="a00043.html">bvect</a></td>
 
61
        </tr>
 
62
      </table>
 
63
</div>
 
64
<div class="memdoc">
 
65
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00007.html#a8">sample7.cpp</a>.</dd>
 
66
</dl>
 
67
<p>Definition at line <a class="el" href="a00106_source.html#l00115">115</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
 
68
 
 
69
</div>
 
70
</div>
 
71
<a class="anchor" id="aa932e8e72ba07938f1a001b6cfcb614e"></a><!-- doxytag: member="sample6.cpp::dbg_alloc" ref="aa932e8e72ba07938f1a001b6cfcb614e" args="" -->
 
72
<div class="memitem">
 
73
<div class="memproto">
 
74
      <table class="memname">
 
75
        <tr>
 
76
          <td class="memname">typedef <a class="el" href="a00073.html">bm::mem_alloc</a>&lt;<a class="el" href="a00050.html">dbg_block_allocator</a>, <a class="el" href="a00051.html">dbg_ptr_allocator</a>&gt; <a class="el" href="a00073.html">dbg_alloc</a></td>
 
77
        </tr>
 
78
      </table>
 
79
</div>
 
80
<div class="memdoc">
 
81
 
 
82
<p>Definition at line <a class="el" href="a00106_source.html#l00113">113</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
 
83
 
 
84
</div>
 
85
</div>
 
86
<hr/><h2>Function Documentation</h2>
 
87
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a><!-- doxytag: member="sample6.cpp::main" ref="a840291bc02cba5474a4cb46a9b9566fe" args="(void)" -->
 
88
<div class="memitem">
 
89
<div class="memproto">
 
90
      <table class="memname">
 
91
        <tr>
 
92
          <td class="memname">int main </td>
 
93
          <td>(</td>
 
94
          <td class="paramtype">void&nbsp;</td>
 
95
          <td class="paramname"></td>
 
96
          <td>&nbsp;)&nbsp;</td>
 
97
          <td></td>
 
98
        </tr>
 
99
      </table>
 
100
</div>
 
101
<div class="memdoc">
 
102
 
 
103
<p>Definition at line <a class="el" href="a00106_source.html#l00119">119</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
 
104
 
 
105
<p>References <a class="el" href="a00106_source.html#l00102">dbg_ptr_allocator::balance()</a>, <a class="el" href="a00106_source.html#l00068">dbg_block_allocator::balance()</a>, <a class="el" href="a00106_source.html#l00080">dbg_ptr_allocator::na_</a>, and <a class="el" href="a00106_source.html#l00047">dbg_block_allocator::na_</a>.</p>
 
106
 
 
107
</div>
 
108
</div>
 
109
</div>
 
110
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:37 2009 for BitMagic by&nbsp;
4085
111
<a href="http://www.doxygen.org/index.html">
4086
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 
112
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
4087
113
</body>
4088
114
</html>