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

« back to all changes in this revision

Viewing changes to doc/html/a00116.html

  • Committer: Bazaar Package Importer
  • Author(s): Roberto C. Sanchez
  • Date: 2010-04-08 16:47:58 UTC
  • mfrom: (4.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20100408164758-3vu6wmrk1dnzqnnj
Tags: 3.6.4-1
* New upstream release
* Update to Standards-Version 3.8.4 (no changes)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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: bm Namespace 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 -->
 
11
<div class="navigation" id="top">
 
12
  <div class="tabs">
 
13
    <ul>
 
14
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
 
15
      <li><a href="modules.html"><span>Modules</span></a></li>
 
16
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
 
17
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
 
18
      <li><a href="files.html"><span>Files</span></a></li>
 
19
      <li><a href="examples.html"><span>Examples</span></a></li>
 
20
    </ul>
 
21
  </div>
 
22
  <div class="tabs">
 
23
    <ul>
 
24
      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
 
25
      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
 
26
    </ul>
 
27
  </div>
 
28
</div>
 
29
<div class="contents">
 
30
<h1>bm Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 
31
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
 
32
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html">bvector</a></td></tr>
 
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitvector with runtime compression of bits.  <a href="a00044.html#_details">More...</a><br/></td></tr>
 
34
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html">bv_statistics</a></td></tr>
 
35
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure with statistical information about bitset's memory allocation details.  <a href="a00043.html#_details">More...</a><br/></td></tr>
 
36
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">gap_len_table</a></td></tr>
 
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default GAP lengths table.  <a href="a00067.html#_details">More...</a><br/></td></tr>
 
38
<tr><td class="memItemLeft" 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>
 
39
<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>
 
40
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html">block_set_table</a></td></tr>
 
41
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps all-left/right ON bits masks.  <a href="a00041.html#_details">More...</a><br/></td></tr>
 
42
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html">all_set</a></td></tr>
 
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure carries pointer on bit block with all bits 1.  <a href="a00012.html#_details">More...</a><br/></td></tr>
 
44
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">_copyright</a></td></tr>
 
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure.  <a href="a00011.html#_details">More...</a><br/></td></tr>
 
46
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">globals</a></td></tr>
 
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure.  <a href="a00070.html#_details">More...</a><br/></td></tr>
 
48
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">d_copy_func</a></td></tr>
 
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">d-Gap copy functor  <a href="a00050.html#_details">More...</a><br/></td></tr>
 
50
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">copy_to_array_functor</a></td></tr>
 
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adaptor to copy 1 bits to array.  <a href="a00047.html#_details">More...</a><br/></td></tr>
 
52
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html">copy_to_array_functor_inc</a></td></tr>
 
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adaptor to copy 1 bits to array with base increment.  <a href="a00048.html#_details">More...</a><br/></td></tr>
 
54
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">bitblock_get_adapter</a></td></tr>
 
55
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block get adapter, takes bitblock and represents it as a <a class="el" href="a00036.html#a5fd937c34bcb5e5a2f6aa25333480db2">get_32()</a> accessor function /internal.  <a href="a00036.html#_details">More...</a><br/></td></tr>
 
56
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">bitblock_store_adapter</a></td></tr>
 
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block store adapter, takes bitblock and saves results into it /internal.  <a href="a00037.html#_details">More...</a><br/></td></tr>
 
58
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">bitblock_sum_adapter</a></td></tr>
 
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-block sum adapter, takes values and sums it /internal.  <a href="a00038.html#_details">More...</a><br/></td></tr>
 
60
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">decoder_range_adapter</a></td></tr>
 
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adapter to get words from a range stream (see range serialized bit-block).  <a href="a00057.html#_details">More...</a><br/></td></tr>
 
62
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">bit_AND</a></td></tr>
 
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit AND functor.  <a href="a00014.html#_details">More...</a><br/></td></tr>
 
64
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">bit_OR</a></td></tr>
 
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit OR functor.  <a href="a00030.html#_details">More...</a><br/></td></tr>
 
66
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">bit_SUB</a></td></tr>
 
67
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit SUB functor.  <a href="a00032.html#_details">More...</a><br/></td></tr>
 
68
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">bit_XOR</a></td></tr>
 
69
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit XOR functor.  <a href="a00034.html#_details">More...</a><br/></td></tr>
 
70
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">bit_ASSIGN</a></td></tr>
 
71
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit ASSIGN functor.  <a href="a00015.html#_details">More...</a><br/></td></tr>
 
72
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">bit_COUNT</a></td></tr>
 
73
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT functor.  <a href="a00016.html#_details">More...</a><br/></td></tr>
 
74
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html">bit_COUNT_AND</a></td></tr>
 
75
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT AND functor.  <a href="a00018.html#_details">More...</a><br/></td></tr>
 
76
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">bit_COUNT_XOR</a></td></tr>
 
77
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT XOR functor.  <a href="a00024.html#_details">More...</a><br/></td></tr>
 
78
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html">bit_COUNT_OR</a></td></tr>
 
79
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT OR functor.  <a href="a00020.html#_details">More...</a><br/></td></tr>
 
80
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">bit_COUNT_SUB_AB</a></td></tr>
 
81
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT SUB AB functor.  <a href="a00021.html#_details">More...</a><br/></td></tr>
 
82
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bit_COUNT_SUB_BA</a></td></tr>
 
83
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit SUB BA functor.  <a href="a00022.html#_details">More...</a><br/></td></tr>
 
84
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">bit_COUNT_A</a></td></tr>
 
85
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT A functor.  <a href="a00017.html#_details">More...</a><br/></td></tr>
 
86
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">bit_COUNT_B</a></td></tr>
 
87
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit COUNT B functor.  <a href="a00019.html#_details">More...</a><br/></td></tr>
 
88
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">operation_functions</a></td></tr>
 
89
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">miniset</a></td></tr>
 
90
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class implements memory saving set functionality.  <a href="a00075.html#_details">More...</a><br/></td></tr>
 
91
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">bvmini</a></td></tr>
 
92
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini bitvector used in <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags.  <a href="a00046.html#_details">More...</a><br/></td></tr>
 
93
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html">bvector_mini</a></td></tr>
 
94
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitvector class with very limited functionality.  <a href="a00045.html#_details">More...</a><br/></td></tr>
 
95
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">encoder</a></td></tr>
 
96
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Memory encoding.  <a href="a00062.html#_details">More...</a><br/></td></tr>
 
97
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">decoder_base</a></td></tr>
 
98
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for all decoding functionality.  <a href="a00055.html#_details">More...</a><br/></td></tr>
 
99
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">decoder</a></td></tr>
 
100
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="a00054.html#_details">More...</a><br/></td></tr>
 
101
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">decoder_little_endian</a></td></tr>
 
102
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="a00056.html#_details">More...</a><br/></td></tr>
 
103
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">bit_out</a></td></tr>
 
104
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte based writer for un-aligned bit streaming.  <a href="a00031.html#_details">More...</a><br/></td></tr>
 
105
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">bit_in</a></td></tr>
 
106
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte based reader for un-aligned bit streaming.  <a href="a00029.html#_details">More...</a><br/></td></tr>
 
107
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">gamma_encoder</a></td></tr>
 
108
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Functor for Elias Gamma encoding.  <a href="a00066.html#_details">More...</a><br/></td></tr>
 
109
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">gamma_decoder</a></td></tr>
 
110
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Elias Gamma <a class="el" href="a00054.html" title="Class for decoding data from memory buffer.">decoder</a>.  <a href="a00065.html#_details">More...</a><br/></td></tr>
 
111
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">DeBruijn_bit_position</a></td></tr>
 
112
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">first_bit_table</a></td></tr>
 
113
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps index of first right 1 bit for every byte.  <a href="a00064.html#_details">More...</a><br/></td></tr>
 
114
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">bit_count_table</a></td></tr>
 
115
<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="a00023.html#_details">More...</a><br/></td></tr>
 
116
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html">sse_empty_guard</a></td></tr>
 
117
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 reinitialization guard class.  <a href="a00085.html#_details">More...</a><br/></td></tr>
 
118
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">distance_metric_descriptor</a></td></tr>
 
119
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance metric descriptor, holds metric code and result.  <a href="a00061.html#_details">More...</a><br/></td></tr>
 
120
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html">tmatrix</a></td></tr>
 
121
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini-matrix for bit transposition purposes.  <a href="a00087.html#_details">More...</a><br/></td></tr>
 
122
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">bit_grabber</a></td></tr>
 
123
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">bit_grabber&lt; unsigned, 32 &gt;</a></td></tr>
 
124
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">bit_grabber&lt; unsigned short, 16 &gt;</a></td></tr>
 
125
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bit_grabber&lt; unsigned char, 8 &gt;</a></td></tr>
 
126
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">bit_trans_grabber</a></td></tr>
 
127
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">gap_transpose_engine</a></td></tr>
 
128
<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>
 
129
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">ptr_guard</a></td></tr>
 
130
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini auto-pointer for internal memory management.  <a href="a00079.html#_details">More...</a><br/></td></tr>
 
131
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">serializer</a></td></tr>
 
132
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-vector serialization class.  <a href="a00084.html#_details">More...</a><br/></td></tr>
 
133
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">deseriaizer_base</a></td></tr>
 
134
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base deserialization class.  <a href="a00058.html#_details">More...</a><br/></td></tr>
 
135
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">deserializer</a></td></tr>
 
136
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00059.html" title="Class deserializer.">deserializer</a>.  <a href="a00059.html#_details">More...</a><br/></td></tr>
 
137
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">iterator_deserializer</a></td></tr>
 
138
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator to walk forward the serialized stream.  <a href="a00073.html#_details">More...</a><br/></td></tr>
 
139
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">serial_stream_iterator</a></td></tr>
 
140
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialization stream iterator.  <a href="a00083.html#_details">More...</a><br/></td></tr>
 
141
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">operation_deserializer</a></td></tr>
 
142
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00059.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector.  <a href="a00076.html#_details">More...</a><br/></td></tr>
 
143
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">block_allocator</a></td></tr>
 
144
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default malloc based bitblock allocator class.  <a href="a00039.html#_details">More...</a><br/></td></tr>
 
145
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">ptr_allocator</a></td></tr>
 
146
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default malloc based bitblock allocator class.  <a href="a00078.html#_details">More...</a><br/></td></tr>
 
147
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">mem_alloc</a></td></tr>
 
148
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BM style allocator adapter.  <a href="a00074.html#_details">More...</a><br/></td></tr>
 
149
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">random_subset</a></td></tr>
 
150
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 
151
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00075.html">bm::miniset</a><br class="typebreak"/>
 
152
&lt; <a class="el" href="a00039.html">bm::block_allocator</a>, <br class="typebreak"/>
 
153
<a class="el" href="a00116.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac77813f2c2dfe40575830ba6a8373bcc">mem_save_set</a></td></tr>
 
154
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> )(unsigned *, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td></tr>
 
155
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">gap_operation_func_type</a> )(const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, unsigned &amp;)</td></tr>
 
156
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bit_operation_count_func_type</a> )(const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td></tr>
 
157
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00054.html">decoder</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac36d9b78ebf78baf0b92dc61487d9847">decoder_big_endian</a></td></tr>
 
158
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for decoding data from memory buffer.  <a href="#ac36d9b78ebf78baf0b92dc61487d9847"></a><br/></td></tr>
 
159
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a></td></tr>
 
160
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">id_t</a></td></tr>
 
161
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a></td></tr>
 
162
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae64960202b691ae1b6efe5fec12cb5af">short_t</a></td></tr>
 
163
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a></td></tr>
 
164
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">wordop_t</a></td></tr>
 
165
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00074.html">mem_alloc</a><br class="typebreak"/>
 
166
&lt; <a class="el" href="a00039.html">block_allocator</a>, <br class="typebreak"/>
 
167
<a class="el" href="a00078.html">ptr_allocator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#gab9059bfb40a6588cdbacfd93901593c1">standard_allocator</a></td></tr>
 
168
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
 
169
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> { <br/>
 
170
&nbsp;&nbsp;<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3">set_AND</a> =  0, 
 
171
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780">set_OR</a> =  1, 
 
172
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769">set_SUB</a> =  2, 
 
173
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304">set_XOR</a> =  3, 
 
174
<br/>
 
175
&nbsp;&nbsp;<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788">set_ASSIGN</a> =  4, 
 
176
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e">set_COUNT</a> =  5, 
 
177
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959">set_COUNT_AND</a> =  6, 
 
178
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c">set_COUNT_XOR</a> =  7, 
 
179
<br/>
 
180
&nbsp;&nbsp;<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb">set_COUNT_OR</a> =  8, 
 
181
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1">set_COUNT_SUB_AB</a> =  9, 
 
182
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b">set_COUNT_SUB_BA</a> =  10, 
 
183
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29">set_COUNT_A</a> =  11, 
 
184
<br/>
 
185
&nbsp;&nbsp;<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617">set_COUNT_B</a> =  12, 
 
186
<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c">set_END</a>
 
187
<br/>
 
188
 }</td></tr>
 
189
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Nomenclature of set operations. </p>
 
190
 <a href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">More...</a><br/></td></tr>
 
191
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">operation</a> { <a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250">BM_AND</a> =  set_AND, 
 
192
<a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5">BM_OR</a> =  set_OR, 
 
193
<a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5">BM_SUB</a> =  set_SUB, 
 
194
<a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c">BM_XOR</a> =  set_XOR
 
195
 }</td></tr>
 
196
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Bit operations enumeration. </p>
 
197
 <a href="a00116.html#a42405343976ec931388381cea4092bf1">More...</a><br/></td></tr>
 
198
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a577905b348676c2bc556b51793350dbb">ByteOrder</a> { <a class="el" href="a00116.html#a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2">BigEndian</a> =  0, 
 
199
<a class="el" href="a00116.html#a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2">LittleEndian</a> =  1
 
200
 }</td></tr>
 
201
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Byte orders recognized by the library. </p>
 
202
 <a href="a00116.html#a577905b348676c2bc556b51793350dbb">More...</a><br/></td></tr>
 
203
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">strategy</a> { <a class="el" href="a00119.html#ggad0b87b3b7292383a864d27feaf1c9effa40920ae0ef7b4411d60463d8f576b5ba">BM_BIT</a> =  0, 
 
204
<a class="el" href="a00119.html#ggad0b87b3b7292383a864d27feaf1c9effa7fe09d1d7c62a813db922c396c0cbc9c">BM_GAP</a> =  1
 
205
 }</td></tr>
 
206
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Block allocation strategies. </p>
 
207
 <a href="a00119.html#gad0b87b3b7292383a864d27feaf1c9eff">More...</a><br/></td></tr>
 
208
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a593916a103395805070a3200720c6416">set_representation</a> { <a class="el" href="a00116.html#a593916a103395805070a3200720c6416a11f970b705c57a0572043e5cc5e2e333">set_bitset</a> =  0, 
 
209
<a class="el" href="a00116.html#a593916a103395805070a3200720c6416a4809f1871df2ba431e5b70d175f050ec">set_gap</a> =  1, 
 
210
<a class="el" href="a00116.html#a593916a103395805070a3200720c6416a4bd710c312645ed34e4db359a7e59c42">set_array1</a> =  2, 
 
211
<a class="el" href="a00116.html#a593916a103395805070a3200720c6416a8d71ac8a4f70b88d2a425d0c1e872fa2">set_array0</a> =  3
 
212
 }</td></tr>
 
213
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>set representation variants </p>
 
214
 <a href="a00116.html#a593916a103395805070a3200720c6416">More...</a><br/></td></tr>
 
215
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> { <br/>
 
216
&nbsp;&nbsp;<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40abacb39376469ba778e9a9099ddbae5e7ce">COUNT_AND</a> =  set_COUNT_AND, 
 
217
<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40aba3e4861dde6e1179457ee0d3502ae8061">COUNT_XOR</a> =  set_COUNT_XOR, 
 
218
<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40abad0bd2d56c8ebd03f55c01b3cc6faaaeb">COUNT_OR</a> =  set_COUNT_OR, 
 
219
<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40aba9c101dab8904c0432f72ccce0a207e62">COUNT_SUB_AB</a> =  set_COUNT_SUB_AB, 
 
220
<br/>
 
221
&nbsp;&nbsp;<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40abafa036fb9d54bc659ed3c9e4185ccf400">COUNT_SUB_BA</a> =  set_COUNT_SUB_BA, 
 
222
<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40abaac7947d53eb3acf81251ee4130e6a4a2">COUNT_A</a> =  set_COUNT_A, 
 
223
<a class="el" href="a00126.html#ggac38d64c8b27b652413a664cddd4d40abac6dbadf2ab9405daa47dc0f10d082516">COUNT_B</a> =  set_COUNT_B
 
224
<br/>
 
225
 }</td></tr>
 
226
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Distance metrics codes defined for vectors A and B. </p>
 
227
 <a href="a00126.html#gac38d64c8b27b652413a664cddd4d40ab">More...</a><br/></td></tr>
 
228
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0">serialization_header_mask</a> { <br/>
 
229
&nbsp;&nbsp;<a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca">BM_HM_DEFAULT</a> =  1, 
 
230
<a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27">BM_HM_RESIZE</a> =  (1 &lt;&lt; 1), 
 
231
<a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47">BM_HM_ID_LIST</a> =  (1 &lt;&lt; 2), 
 
232
<a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e">BM_HM_NO_BO</a> =  (1 &lt;&lt; 3), 
 
233
<br/>
 
234
&nbsp;&nbsp;<a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3">BM_HM_NO_GAPL</a> =  (1 &lt;&lt; 4)
 
235
<br/>
 
236
 }</td></tr>
 
237
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a> { <a class="el" href="a00127.html#gga537dfe6318f1f1fe18d86dac312be978acdd8c071c079589388c3ca7bd4f367c8">BM_NO_BYTE_ORDER</a> =  1, 
 
238
<a class="el" href="a00127.html#gga537dfe6318f1f1fe18d86dac312be978a5521473081d341bc32ac59538e6a8096">BM_NO_GAP_LENGTH</a> =  (1 &lt;&lt; 1)
 
239
 }</td></tr>
 
240
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Bit mask flags for serialization algorithm. </p>
 
241
 <a href="a00127.html#ga537dfe6318f1f1fe18d86dac312be978">More...</a><br/></td></tr>
 
242
<tr><td colspan="2"><h2>Functions</h2></td></tr>
 
243
<tr><td class="memTemplParams" colspan="2">template&lt;class Alloc , class MS &gt; </td></tr>
 
244
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#ac766cc15ae8feca9e21a36c49bf3b557">operator&amp;</a> (const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
 
245
<tr><td class="memTemplParams" colspan="2">template&lt;class Alloc , class MS &gt; </td></tr>
 
246
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a5cc9411c5170df52c1c4ea436ef32745">operator|</a> (const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00044.html">bvector</a>&lt; Alloc &gt; &amp;v2)</td></tr>
 
247
<tr><td class="memTemplParams" colspan="2">template&lt;class Alloc , class MS &gt; </td></tr>
 
248
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a7042429992aec5891a3df1b0bddea05f">operator^</a> (const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
 
249
<tr><td class="memTemplParams" colspan="2">template&lt;class Alloc , class MS &gt; </td></tr>
 
250
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#afe23d0ced66b48b9c4214e0b00dcc5ac">operator-</a> (const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v1, const <a class="el" href="a00044.html">bvector</a>&lt; Alloc, MS &gt; &amp;v2)</td></tr>
 
251
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaef40342b0c318391df3db2b891acf7c1">word_bitcount</a> (<a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> w)</td></tr>
 
252
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a30cec2c137813460f4b4c65c5879a4c3">parallel_popcnt_32</a> (unsigned int n)</td></tr>
 
253
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a3deb310cdf11bca948817f94adfec160">is_const_set_operation</a> (<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
 
254
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if set operation is constant (bitcount).  <a href="#a3deb310cdf11bca948817f94adfec160"></a><br/></td></tr>
 
255
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">bm::operation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a7c192b64adb0590a09b5c2dad77c4b76">setop2op</a> (<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> op)</td></tr>
 
256
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert set operation to operation.  <a href="#a7c192b64adb0590a09b5c2dad77c4b76"></a><br/></td></tr>
 
257
<tr><td class="memTemplParams" colspan="2">template&lt;typename W &gt; </td></tr>
 
258
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#afb2c1acc56270abb381741a709a2b17c">xor_swap</a> (W &amp;x, W &amp;y)</td></tr>
 
259
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR swap two scalar variables.  <a href="#afb2c1acc56270abb381741a709a2b17c"></a><br/></td></tr>
 
260
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
261
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gafee2e8361c2e90a67dbaf9c7559d50e4">wordcmp0</a> (T w1, T w2)</td></tr>
 
262
<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="a00121.html#gafee2e8361c2e90a67dbaf9c7559d50e4"></a><br/></td></tr>
 
263
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
264
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga5847533a73b7a5125fe5c2888ec827bd">wordcmp</a> (T a, T b)</td></tr>
 
265
<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="a00121.html#ga5847533a73b7a5125fe5c2888ec827bd"></a><br/></td></tr>
 
266
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
267
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#acebed8b533c2c9e17167617501477693">gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</td></tr>
 
268
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
269
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga866352ef5986a7d2b709795d127b666b">gap_test</a> (const T *buf, unsigned pos)</td></tr>
 
270
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if bit = pos is true.  <a href="a00120.html#ga866352ef5986a7d2b709795d127b666b"></a><br/></td></tr>
 
271
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class F &gt; </td></tr>
 
272
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#ae8b342c25dc22d6cd26cb96d7ae796db">for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
 
273
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class F &gt; </td></tr>
 
274
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a6f5cb8cbb105eae84d4b0f8a3bc1230f">for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
 
275
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class F &gt; </td></tr>
 
276
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a86742a3e17527be5a9743f26b36a7691">for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
 
277
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class F &gt; </td></tr>
 
278
<tr><td class="memTemplItemLeft" align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#abf587377ca70f11b8eb75f95494830b5">bmfor_each</a> (T first, T last, F f)</td></tr>
 
279
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
 
280
<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#ac8f3443ba8fcd1b28face4b09dfd21bf">sum_arr</a> (T *first, T *last)</td></tr>
 
281
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
282
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga570a6f573ffb9ac9e41a688d2bdc6004">gap_bit_count</a> (const T *buf, unsigned dsize=0)</td></tr>
 
283
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates number of bits ON in GAP buffer.  <a href="a00120.html#ga570a6f573ffb9ac9e41a688d2bdc6004"></a><br/></td></tr>
 
284
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
285
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a7324ebded429e15361f62117a2ff18d1">gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
 
286
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts 1 bits in GAP buffer in the closed [left, right] diapason.  <a href="#a7324ebded429e15361f62117a2ff18d1"></a><br/></td></tr>
 
287
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class Func &gt; </td></tr>
 
288
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a6a7bfe8af49ed785f0e96c7ca37a2155">for_each_dgap</a> (const T *gap_buf, Func &amp;func)</td></tr>
 
289
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
290
<tr><td class="memTemplItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#afa6ea0cce0cdd88738a01fad393376b3">gap_2_dgap</a> (const T *gap_buf, T *dgap_buf, bool copy_head=true)</td></tr>
 
291
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert GAP buffer into D-GAP buffer.  <a href="#afa6ea0cce0cdd88738a01fad393376b3"></a><br/></td></tr>
 
292
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
293
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a528894002dcd8edda28c8fb2b0aa8c64">dgap_2_gap</a> (const T *dgap_buf, T *gap_buf, T gap_header=0)</td></tr>
 
294
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert D-GAP buffer into GAP buffer.  <a href="#a528894002dcd8edda28c8fb2b0aa8c64"></a><br/></td></tr>
 
295
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
296
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga406952734f1b05962941b32e37b3eb96">gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
 
297
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of GAP buffers.  <a href="a00120.html#ga406952734f1b05962941b32e37b3eb96"></a><br/></td></tr>
 
298
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , class F &gt; </td></tr>
 
299
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#aac0daaac2b5a7c88e6be726c77f52c68">gap_buff_op</a> (T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F &amp;f, unsigned &amp;dlen)</td></tr>
 
300
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract operation for GAP buffers. Receives functor F as a template argument.  <a href="#aac0daaac2b5a7c88e6be726c77f52c68"></a><br/></td></tr>
 
301
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , class F &gt; </td></tr>
 
302
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga5e3123c3c9d3587f470abdbe6c8c3ad3">gap_buff_any_op</a> (const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
 
303
<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="a00120.html#ga5e3123c3c9d3587f470abdbe6c8c3ad3"></a><br/></td></tr>
 
304
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
305
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga69186bd13bda27e04b3e33683ff884c2">gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
 
306
<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="a00120.html#ga69186bd13bda27e04b3e33683ff884c2"></a><br/></td></tr>
 
307
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
308
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga54f4fa3323149076cc1f5a1fd53c1f8b">gap_add_value</a> (T *buf, unsigned pos)</td></tr>
 
309
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add new value to the end of GAP buffer.  <a href="a00120.html#ga54f4fa3323149076cc1f5a1fd53c1f8b"></a><br/></td></tr>
 
310
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
311
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga550394048c163d41a135fb9068f2251b">gap_set_array</a> (T *buf, const T *arr, unsigned len)</td></tr>
 
312
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert array to GAP buffer.  <a href="a00120.html#ga550394048c163d41a135fb9068f2251b"></a><br/></td></tr>
 
313
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
314
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga68e53a96e93a31e8a323d10c7a2f21f5">bit_array_compute_gaps</a> (const T *arr, unsigned len)</td></tr>
 
315
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of GAPs in bit-array.  <a href="a00120.html#ga68e53a96e93a31e8a323d10c7a2f21f5"></a><br/></td></tr>
 
316
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
317
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gaa7df7193094353ea24b8519debf745be">gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
 
318
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the GAP block.  <a href="a00120.html#gaa7df7193094353ea24b8519debf745be"></a><br/></td></tr>
 
319
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga2becf9a16ec20ab124ca8938e34b4aa8">set_bit</a> (unsigned *dest, unsigned bitpos)</td></tr>
 
320
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set 1 bit in a block.  <a href="a00121.html#ga2becf9a16ec20ab124ca8938e34b4aa8"></a><br/></td></tr>
 
321
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga9bccc586aa791f98f1bec284b799102c">test_bit</a> (const unsigned *block, unsigned bitpos)</td></tr>
 
322
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test 1 bit in a block.  <a href="a00121.html#ga9bccc586aa791f98f1bec284b799102c"></a><br/></td></tr>
 
323
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gad698b5242f5b629aa28e7338b7150497">or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
 
324
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bits to 1 in the bitblock.  <a href="a00121.html#gad698b5242f5b629aa28e7338b7150497"></a><br/></td></tr>
 
325
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaceaa54aa59b16299f5a87b925715e5e8">sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
 
326
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock.  <a href="a00121.html#gaceaa54aa59b16299f5a87b925715e5e8"></a><br/></td></tr>
 
327
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga6191abb017003b633fab24e0c6357521">xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
 
328
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR bit interval to 1 in the bitblock.  <a href="a00121.html#ga6191abb017003b633fab24e0c6357521"></a><br/></td></tr>
 
329
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
330
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga08e0ae8b2fd5869aa31cfad7d47177c4">gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
 
331
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock.  <a href="a00120.html#ga08e0ae8b2fd5869aa31cfad7d47177c4"></a><br/></td></tr>
 
332
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
333
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gab939656d4ea54fd3868aa236cdb20b82">gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
 
334
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR GAP block to bitblock.  <a href="a00120.html#gab939656d4ea54fd3868aa236cdb20b82"></a><br/></td></tr>
 
335
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
336
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga12615cd62f2e5367e1bc688d00a2188f">gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
 
337
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds(OR) GAP block to bitblock.  <a href="a00120.html#ga12615cd62f2e5367e1bc688d00a2188f"></a><br/></td></tr>
 
338
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
339
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gafe6f72a009618290eeab3cddee869543">gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
 
340
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ANDs GAP block to bitblock.  <a href="a00120.html#gafe6f72a009618290eeab3cddee869543"></a><br/></td></tr>
 
341
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
342
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gab87384cbf46a04d86c008ab2463d02cc">gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
 
343
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block.  <a href="a00121.html#gab87384cbf46a04d86c008ab2463d02cc"></a><br/></td></tr>
 
344
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
345
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gad6e40898b8836ae1923b06a3d028fcaa">gap_bitset_and_any</a> (const unsigned *block, const T *buf)</td></tr>
 
346
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount test of bit block AND masked by GAP block.  <a href="a00121.html#gad6e40898b8836ae1923b06a3d028fcaa"></a><br/></td></tr>
 
347
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
348
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga15a780da58d5aeb67ffc51c84fa6152e">gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
 
349
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block.  <a href="a00121.html#ga15a780da58d5aeb67ffc51c84fa6152e"></a><br/></td></tr>
 
350
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
351
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gaab7c711122e8f189555dffd83a21111c">gap_bitset_sub_any</a> (const unsigned *block, const T *buf)</td></tr>
 
352
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block SUB masked by GAP block.  <a href="a00121.html#gaab7c711122e8f189555dffd83a21111c"></a><br/></td></tr>
 
353
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
354
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga803fbc7c790f07b14175303e524bd2d8">gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
 
355
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block.  <a href="a00121.html#ga803fbc7c790f07b14175303e524bd2d8"></a><br/></td></tr>
 
356
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
357
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gad0f7ee00f84ea357d55e6a2f507c8918">gap_bitset_xor_any</a> (const unsigned *block, const T *buf)</td></tr>
 
358
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block XOR masked by GAP block.  <a href="a00121.html#gad0f7ee00f84ea357d55e6a2f507c8918"></a><br/></td></tr>
 
359
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
360
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga23733890861063a59f787e26763a734a">gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
 
361
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block.  <a href="a00121.html#ga23733890861063a59f787e26763a734a"></a><br/></td></tr>
 
362
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
363
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gad15f1b92c70752cd3b97fa9e0c585f00">gap_bitset_or_any</a> (const unsigned *block, const T *buf)</td></tr>
 
364
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount test of bit block OR masked by GAP block.  <a href="a00121.html#gad15f1b92c70752cd3b97fa9e0c585f00"></a><br/></td></tr>
 
365
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaada8b13c35acd8df90129b45edcfc5de">bit_block_set</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
 
366
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock memset operation.  <a href="a00121.html#gaada8b13c35acd8df90129b45edcfc5de"></a><br/></td></tr>
 
367
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
368
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga4862f4dcdcb7c0575e2e2db9e5f2a849">gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
 
369
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00120.html#ga4862f4dcdcb7c0575e2e2db9e5f2a849"></a><br/></td></tr>
 
370
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
371
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga9bb80c42ee0ecf8f2af8250d7f5d327b">gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
 
372
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00120.html#ga9bb80c42ee0ecf8f2af8250d7f5d327b"></a><br/></td></tr>
 
373
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
374
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga3f01bb7c1ae7983aa8c4ba82e1e3f54c">gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">id_t</a> set_max)</td></tr>
 
375
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart GAP block to bitblock conversion.  <a href="a00120.html#ga3f01bb7c1ae7983aa8c4ba82e1e3f54c"></a><br/></td></tr>
 
376
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
377
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga14d29338ffd1387758810b3f9e3a72c6">gap_control_sum</a> (const T *buf)</td></tr>
 
378
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates sum of all words in GAP block. (For debugging purposes).  <a href="a00120.html#ga14d29338ffd1387758810b3f9e3a72c6"></a><br/></td></tr>
 
379
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
 
380
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gaef53b2877ff369badd7bb25b26bb9029">gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
 
381
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all bits to 0 or 1 (GAP).  <a href="a00120.html#gaef53b2877ff369badd7bb25b26bb9029"></a><br/></td></tr>
 
382
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
 
383
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga5d49355eb9dd7947699e20f3a2a75ef5">gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
 
384
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Init gap block so it has block in it (can be whole block).  <a href="a00120.html#ga5d49355eb9dd7947699e20f3a2a75ef5"></a><br/></td></tr>
 
385
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
386
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga3f22bfde5dfe06d6d77dc2598b8c0845">gap_invert</a> (T *buf)</td></tr>
 
387
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts all bits in the GAP buffer.  <a href="a00120.html#ga3f22bfde5dfe06d6d77dc2598b8c0845"></a><br/></td></tr>
 
388
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
389
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga690ff7c8b16e1821a77663b7194267e7">gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
 
390
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporary inverts all bits in the GAP buffer.  <a href="a00120.html#ga690ff7c8b16e1821a77663b7194267e7"></a><br/></td></tr>
 
391
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
392
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga1427d43e91872f981c6311fa76ab5633">gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
 
393
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if GAP block is all-one.  <a href="a00120.html#ga1427d43e91872f981c6311fa76ab5633"></a><br/></td></tr>
 
394
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
395
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gad6bfb9da9950b0df8983a9faf9db5042">gap_length</a> (const T *buf)</td></tr>
 
396
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block length.  <a href="a00120.html#gad6bfb9da9950b0df8983a9faf9db5042"></a><br/></td></tr>
 
397
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
398
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga0419ed06e2f0b7891e7d721546f5fb45">gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
 
399
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity.  <a href="a00120.html#ga0419ed06e2f0b7891e7d721546f5fb45"></a><br/></td></tr>
 
400
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
401
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga94a5371b5dc6a1560d95d7c2dde88815">gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
 
402
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity limit.  <a href="a00120.html#ga94a5371b5dc6a1560d95d7c2dde88815"></a><br/></td></tr>
 
403
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
404
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga1defe73aa4227a0e7204363ac6bb1ac1">gap_level</a> (const T *buf)</td></tr>
 
405
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP blocks capacity level.  <a href="a00120.html#ga1defe73aa4227a0e7204363ac6bb1ac1"></a><br/></td></tr>
 
406
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
407
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga501aa9bf029e7f9ea9518e7003fe5549">set_gap_level</a> (T *buf, unsigned level)</td></tr>
 
408
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets GAP block capacity level.  <a href="a00120.html#ga501aa9bf029e7f9ea9518e7003fe5549"></a><br/></td></tr>
 
409
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
410
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga3bfaebeeb4b2d479c5a9ac9d57607165">gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
 
411
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates GAP block capacity level.  <a href="a00120.html#ga3bfaebeeb4b2d479c5a9ac9d57607165"></a><br/></td></tr>
 
412
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
413
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gafd76869eb44fac688da5e26e0e74f41f">gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
 
414
<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="a00120.html#gafd76869eb44fac688da5e26e0e74f41f"></a><br/></td></tr>
 
415
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
416
<tr><td class="memTemplItemLeft" align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga91fe9566575d9d66e1bb9d030b3d29a0">bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
 
417
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of BIT buffers.  <a href="a00121.html#ga91fe9566575d9d66e1bb9d030b3d29a0"></a><br/></td></tr>
 
418
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
419
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga80d09bb6ab244e68ab0c1fdccc17b95b">bit_convert_to_gap</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
 
420
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts bit block to GAP.  <a href="a00120.html#ga80d09bb6ab244e68ab0c1fdccc17b95b"></a><br/></td></tr>
 
421
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class F &gt; </td></tr>
 
422
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga11bc26da8533752bb23756632fd30a00">for_each_gap_dbit</a> (const T *buf, F &amp;func)</td></tr>
 
423
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterate gap block as delta-bits with a functor.  <a href="a00120.html#ga11bc26da8533752bb23756632fd30a00"></a><br/></td></tr>
 
424
<tr><td class="memTemplParams" colspan="2">template&lt;typename D , typename T &gt; </td></tr>
 
425
<tr><td class="memTemplItemLeft" align="right" valign="top">D&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga5cd7e0cfee401da1b8f702151c083b27">gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len, bool invert=false)</td></tr>
 
426
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert gap block into array of ints corresponding to 1 bits.  <a href="a00120.html#ga5cd7e0cfee401da1b8f702151c083b27"></a><br/></td></tr>
 
427
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gab30df14a61f036d690c091878feaff1c">bit_block_calc_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end)</td></tr>
 
428
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount for bit string.  <a href="a00121.html#gab30df14a61f036d690c091878feaff1c"></a><br/></td></tr>
 
429
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaafc87c4764bb30d95ba4088064a404e3">bit_count_change</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
 
430
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae2222be6fd45b4bab5100ce70e3b4f88">bit_count_change32</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end, unsigned *bit_count, unsigned *gap_count)</td></tr>
 
431
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaca91016aeb08ae1b610d6d407aae0e4c">bit_block_calc_count_change</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end, unsigned *bit_count)</td></tr>
 
432
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga2485f707b2629c5ce7681cf9fe385b91">bit_block_calc_count_range</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
 
433
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga503e0f3e79f819d9b58e4b0e905be116">bit_block_any_range</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
 
434
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
435
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga95854f9969985254a0f58b928da0eec6">bit_invert</a> (T *start, T *end)</td></tr>
 
436
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga97b1075250d4bf10f596ff2fbc334ceb">is_bits_one</a> (const <a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *start, const <a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *end)</td></tr>
 
437
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 1.  <a href="a00121.html#ga97b1075250d4bf10f596ff2fbc334ceb"></a><br/></td></tr>
 
438
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gac6cfb9f92e4df6bb4c76f6efb2382860">bit_is_all_zero</a> (const <a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *start, const <a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a> *end)</td></tr>
 
439
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 0.  <a href="a00121.html#gac6cfb9f92e4df6bb4c76f6efb2382860"></a><br/></td></tr>
 
440
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a8d943cf66c4592e2baddf5bc0667adbd">and_op</a> (unsigned v1, unsigned v2)</td></tr>
 
441
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP and functor.  <a href="#a8d943cf66c4592e2baddf5bc0667adbd"></a><br/></td></tr>
 
442
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a6e7085de3103a42f81c0d3d82903cd5f">xor_op</a> (unsigned v1, unsigned v2)</td></tr>
 
443
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP xor functor.  <a href="#a6e7085de3103a42f81c0d3d82903cd5f"></a><br/></td></tr>
 
444
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#ga1666464d22f7fd473db9aafcf2f77a63">gap_operation_and</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &amp;dsize)</td></tr>
 
445
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP AND operation.  <a href="a00120.html#ga1666464d22f7fd473db9aafcf2f77a63"></a><br/></td></tr>
 
446
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gafb24a1e2588c5670df6facc537594d9d">gap_operation_any_and</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
 
447
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP AND operation test.  <a href="a00120.html#gafb24a1e2588c5670df6facc537594d9d"></a><br/></td></tr>
 
448
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gaa5e07ad0256bf784ad3397acbbd23bb2">gap_operation_xor</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &amp;dsize)</td></tr>
 
449
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP XOR operation.  <a href="a00120.html#gaa5e07ad0256bf784ad3397acbbd23bb2"></a><br/></td></tr>
 
450
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gab46833bf0d7813f868a1608f70db12de">gap_operation_any_xor</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
 
451
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP XOR operation test.  <a href="a00120.html#gab46833bf0d7813f868a1608f70db12de"></a><br/></td></tr>
 
452
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gacda280af8910ae5fde37731a3a7a1226">gap_operation_or</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &amp;dsize)</td></tr>
 
453
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP OR operation.  <a href="a00120.html#gacda280af8910ae5fde37731a3a7a1226"></a><br/></td></tr>
 
454
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gabe4c83e5e162c38e297116dd1cd05ac4">gap_operation_sub</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf, unsigned &amp;dsize)</td></tr>
 
455
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP SUB (AND NOT) operation.  <a href="a00120.html#gabe4c83e5e162c38e297116dd1cd05ac4"></a><br/></td></tr>
 
456
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#gae0b1d4aca0ddfa58d83e4b089a4f35d9">gap_operation_any_sub</a> (const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
 
457
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP SUB operation test.  <a href="a00120.html#gae0b1d4aca0ddfa58d83e4b089a4f35d9"></a><br/></td></tr>
 
458
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga9090de87d53e7f25eff96c8259b3485c">bit_block_copy</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
459
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock copy operation.  <a href="a00121.html#ga9090de87d53e7f25eff96c8259b3485c"></a><br/></td></tr>
 
460
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga882f79df0a0175ad4ddf483c5f1eeb0e">bit_block_and</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
461
<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="a00121.html#ga882f79df0a0175ad4ddf483c5f1eeb0e"></a><br/></td></tr>
 
462
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga0070984bb1d332610150a9106ab8eb0a">bit_block_and_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
 
463
<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="a00121.html#ga0070984bb1d332610150a9106ab8eb0a"></a><br/></td></tr>
 
464
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga9fe2d12ddac5293fe53038c687c732f3">bit_block_and_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
 
465
<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="a00121.html#ga9fe2d12ddac5293fe53038c687c732f3"></a><br/></td></tr>
 
466
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaf8af8cfe8b49407be1af7398da28c939">bit_block_xor_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
467
<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="a00121.html#gaf8af8cfe8b49407be1af7398da28c939"></a><br/></td></tr>
 
468
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gafbc3ffafc859a503fdd2fc96e7fb60ce">bit_block_xor_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
469
<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="a00121.html#gafbc3ffafc859a503fdd2fc96e7fb60ce"></a><br/></td></tr>
 
470
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gad34175255e9860a572fcf2e664a6de8e">bit_block_sub_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
471
<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="a00121.html#gad34175255e9860a572fcf2e664a6de8e"></a><br/></td></tr>
 
472
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga3f51735d2ca08e5a9fae2c9c49138c5c">bit_block_sub_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
473
<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="a00121.html#ga3f51735d2ca08e5a9fae2c9c49138c5c"></a><br/></td></tr>
 
474
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gacf4f8ab164277278448a541863c07517">bit_block_or_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
 
475
<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="a00121.html#gacf4f8ab164277278448a541863c07517"></a><br/></td></tr>
 
476
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gab2047495f7844d3014ff697503669d24">bit_block_or_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
477
<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="a00121.html#gab2047495f7844d3014ff697503669d24"></a><br/></td></tr>
 
478
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga869fce5348076d4c7b92adcc2f1a49ab">bit_operation_and</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
479
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock AND operation.  <a href="a00121.html#ga869fce5348076d4c7b92adcc2f1a49ab"></a><br/></td></tr>
 
480
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga9765914087df2fc22ec18db8128f2a12">bit_operation_and_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
481
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result.  <a href="a00121.html#ga9765914087df2fc22ec18db8128f2a12"></a><br/></td></tr>
 
482
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga0e7995f7d6c791f6ff27a8dd21d324e5">bit_operation_and_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
483
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation test.  <a href="a00121.html#ga0e7995f7d6c791f6ff27a8dd21d324e5"></a><br/></td></tr>
 
484
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaabb39bf01bf973cb7bf3648873921ab7">bit_operation_sub_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
485
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result.  <a href="a00121.html#gaabb39bf01bf973cb7bf3648873921ab7"></a><br/></td></tr>
 
486
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga53867faf377db72324b858a37063c0b8">bit_operation_sub_count_inv</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
487
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs inverted bitblock SUB operation and calculates bitcount of the result.  <a href="a00121.html#ga53867faf377db72324b858a37063c0b8"></a><br/></td></tr>
 
488
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga847d5a84673b284be984f0db583e2723">bit_operation_sub_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
489
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock test of SUB operation.  <a href="a00121.html#ga847d5a84673b284be984f0db583e2723"></a><br/></td></tr>
 
490
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga5a267aff3b56cc6dadf5a3a338e00a1d">bit_operation_or_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
491
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result.  <a href="a00121.html#ga5a267aff3b56cc6dadf5a3a338e00a1d"></a><br/></td></tr>
 
492
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga6d26742bdc373074474a6932eab4f388">bit_operation_or_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
493
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation test.  <a href="a00121.html#ga6d26742bdc373074474a6932eab4f388"></a><br/></td></tr>
 
494
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga3515d8eb5da7f9d41d63dc90ad9523a4">bit_block_or</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
495
<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="a00121.html#ga3515d8eb5da7f9d41d63dc90ad9523a4"></a><br/></td></tr>
 
496
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga0e945a9eaae699ad40f63b3f0632e6f9">bit_operation_or</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
497
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL.  <a href="a00121.html#ga0e945a9eaae699ad40f63b3f0632e6f9"></a><br/></td></tr>
 
498
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gafed81435f74c0542857842d4461686e4">bit_block_sub</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
499
<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="a00121.html#gafed81435f74c0542857842d4461686e4"></a><br/></td></tr>
 
500
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gad7afa9bce28a376360ca4826960d669f">bit_operation_sub</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
501
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock SUB operation.  <a href="a00121.html#gad7afa9bce28a376360ca4826960d669f"></a><br/></td></tr>
 
502
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gae6a46c5e671ea1c9312219ceb41025ef">bit_block_xor</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
503
<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="a00121.html#gae6a46c5e671ea1c9312219ceb41025ef"></a><br/></td></tr>
 
504
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga179de722e87ccf8189d975ca6beed025">bit_operation_xor</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
 
505
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock XOR operation.  <a href="a00121.html#ga179de722e87ccf8189d975ca6beed025"></a><br/></td></tr>
 
506
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gace08ab77feefb638daee164ee83118bc">bit_operation_xor_count</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
507
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result.  <a href="a00121.html#gace08ab77feefb638daee164ee83118bc"></a><br/></td></tr>
 
508
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gaa86561b6d11c3f01dd772563c692f732">bit_operation_xor_any</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
 
509
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation test.  <a href="a00121.html#gaa86561b6d11c3f01dd772563c692f732"></a><br/></td></tr>
 
510
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
 
511
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga0ff158706f2e194be67fb8267641c30a">bit_count_nonzero_size</a> (const T *blk, unsigned data_size)</td></tr>
 
512
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inspects block for full zero words.  <a href="a00121.html#ga0ff158706f2e194be67fb8267641c30a"></a><br/></td></tr>
 
513
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#gad6a7c549a625df7aa7d68d43a57238c7">bit_find_in_block</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *data, unsigned nbit, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
 
514
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the BIT block.  <a href="a00121.html#gad6a7c549a625df7aa7d68d43a57238c7"></a><br/></td></tr>
 
515
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
 
516
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gab9f80b3c898323ce77beb915e4c861f3">bit_for_each_4</a> (T w, F &amp;func)</td></tr>
 
517
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated algorithm to unpacks octet based word into list of ON bit indexes.  <a href="a00121.html#gab9f80b3c898323ce77beb915e4c861f3"></a><br/></td></tr>
 
518
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
 
519
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga24be2ad5d8c2a8f18fdad142452aaae8">bit_for_each</a> (T w, F &amp;func)</td></tr>
 
520
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated algorithm to unpacks word into list of ON bit indexes.  <a href="a00121.html#ga24be2ad5d8c2a8f18fdad142452aaae8"></a><br/></td></tr>
 
521
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename B &gt; </td></tr>
 
522
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga3c81f6bff8866ec3ed0a94903eee96b7">bit_list_4</a> (T w, B *bits)</td></tr>
 
523
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes (quad-bit based).  <a href="a00121.html#ga3c81f6bff8866ec3ed0a94903eee96b7"></a><br/></td></tr>
 
524
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename B &gt; </td></tr>
 
525
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gaae3ae537760044543f842363e4614e82">bit_list</a> (T w, B *bits)</td></tr>
 
526
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes.  <a href="a00121.html#gaae3ae537760044543f842363e4614e82"></a><br/></td></tr>
 
527
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a593916a103395805070a3200720c6416">bm::set_representation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga20610fae6b0de84957b74ed17429667f">best_representation</a> (unsigned bit_count, unsigned total_possible_bitcount, unsigned gap_count, unsigned block_size)</td></tr>
 
528
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Choose best representation for a bit-block.  <a href="a00121.html#ga20610fae6b0de84957b74ed17429667f"></a><br/></td></tr>
 
529
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
530
<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gaf24d85761f60877c2260f8160593f732">bit_convert_to_arr</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len, unsigned mask=0)</td></tr>
 
531
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="a00121.html#gaf24d85761f60877c2260f8160593f732"></a><br/></td></tr>
 
532
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
533
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#gacc578010f3700940829c600c812d23b1">gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
 
534
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="a00120.html#gacc578010f3700940829c600c812d23b1"></a><br/></td></tr>
 
535
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
536
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00120.html#ga2daff3a0ceda6fef87d3b0e892da5813">improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
 
537
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds optimal gap blocks lengths.  <a href="a00120.html#ga2daff3a0ceda6fef87d3b0e892da5813"></a><br/></td></tr>
 
538
<tr><td class="memTemplParams" colspan="2">template&lt;class It1 , class It2 , class BinaryOp , class Encoder &gt; </td></tr>
 
539
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a503fecc0ee281059897412d68f489e1e">bit_recomb</a> (It1 &amp;it1, It2 &amp;it2, BinaryOp &amp;op, Encoder &amp;enc, unsigned block_size=<a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>)</td></tr>
 
540
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga75c6ddeb0d8a279caa92341878309b50">sse2_xor_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
 
541
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR array elements to specified mask dst = *src ^ mask.  <a href="a00123.html#ga75c6ddeb0d8a279caa92341878309b50"></a><br/></td></tr>
 
542
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#gab7b21f448684c4d84927792661e67ed5">sse2_andnot_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
 
543
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts array elements and NOT them to specified mask dst = ~*src &amp; mask.  <a href="a00123.html#gab7b21f448684c4d84927792661e67ed5"></a><br/></td></tr>
 
544
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga795b544f311409a55da4ee61a3cd939a">sse2_and_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
 
545
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND array elements against another array dst &amp;= *src.  <a href="a00123.html#ga795b544f311409a55da4ee61a3cd939a"></a><br/></td></tr>
 
546
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67">sse2_or_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
 
547
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR array elements against another array dst |= *src.  <a href="a00123.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67"></a><br/></td></tr>
 
548
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#gaf1a5ad26557cc4d71d7421c35a8445fe">sse2_xor_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
 
549
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR array elements against another array dst ^= *src.  <a href="a00123.html#gaf1a5ad26557cc4d71d7421c35a8445fe"></a><br/></td></tr>
 
550
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#gac99f3b138f8a5e8ffb1296b129f618f0">sse2_sub_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
 
551
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND-NOT (SUB) array elements against another array dst &amp;= ~*src.  <a href="a00123.html#gac99f3b138f8a5e8ffb1296b129f618f0"></a><br/></td></tr>
 
552
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga302f4fcd0abf355957b305d16d04f452">sse2_set_block</a> (__m128i *BMRESTRICT dst, __m128i *BMRESTRICT dst_end, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
 
553
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 block memset dst = value.  <a href="a00123.html#ga302f4fcd0abf355957b305d16d04f452"></a><br/></td></tr>
 
554
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga571dd54af5c555cad9dfa6bef4561777">sse2_copy_block</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
 
555
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SSE2 block copy dst = *src.  <a href="a00123.html#ga571dd54af5c555cad9dfa6bef4561777"></a><br/></td></tr>
 
556
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga8d506147673d88005f92caee7f5dd23a">sse2_invert_arr</a> (<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *first, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *last)</td></tr>
 
557
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert array elements dst = ~*dst or dst ^= *dst.  <a href="a00123.html#ga8d506147673d88005f92caee7f5dd23a"></a><br/></td></tr>
 
558
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac0c75fb7b3dc61602843ac4e1b9b7ef5">sse2_and</a> (__m128i a, __m128i b)</td></tr>
 
559
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#adea798a9a95a04845c33876087a2f46b">sse2_or</a> (__m128i a, __m128i b)</td></tr>
 
560
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a6f5de19ee3e1be05037908b4777c4da8">sse2_xor</a> (__m128i a, __m128i b)</td></tr>
 
561
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ab3e6d46fcba1bc2a1a5390c10f571382">sse2_sub</a> (__m128i a, __m128i b)</td></tr>
 
562
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ga266ed6594dc786e46c1f353443dc41fe">sse4_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
 
563
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a6d8f327a7d19c11125ac77383a34e986">op_xor</a> (unsigned a, unsigned b)</td></tr>
 
564
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a0ed9a1bcd143f7763b4b59ef442f6994">op_or</a> (unsigned a, unsigned b)</td></tr>
 
565
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a515b2862b33efd4e36d72e4ba7729199">op_and</a> (unsigned a, unsigned b)</td></tr>
 
566
<tr><td class="memTemplParams" colspan="2">template&lt;class Func &gt; </td></tr>
 
567
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a295c6323a972a90e28c36e6012427a26">sse4_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
 
568
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#gad686391db4cdc6382ae6785f62981474">sse4_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
 
569
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga0f7e0b2eb9ac7b2c6a8cd3b8f15b071f">sse2_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
 
570
<tr><td class="memTemplParams" colspan="2">template&lt;class Func &gt; </td></tr>
 
571
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a8831a88ef538b3997d04d2ebf513160d">sse2_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
 
572
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a0479b7b6704c6ab64396e2365b8b5fa7">sse2_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
 
573
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00126.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ga158946ea41ca66c3e1bca62c92684788">operation2metric</a> (<a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
 
574
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert set operation into compatible distance metric.  <a href="a00126.html#ga158946ea41ca66c3e1bca62c92684788"></a><br/></td></tr>
 
575
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#abecd5b24d5e394fd46a9db514cfa659a">combine_count_operation_with_block</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
 
576
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal function computes different distance metrics.  <a href="#abecd5b24d5e394fd46a9db514cfa659a"></a><br/></td></tr>
 
577
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a24069ced9ea689034ff51246ae707ecc">combine_any_operation_with_block</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
 
578
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal function computes different existense of distance metric.  <a href="#a24069ced9ea689034ff51246ae707ecc"></a><br/></td></tr>
 
579
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a2f81b8ce3d389973b4f867b0fcc98e7a">combine_count_operation_with_block</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00126.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
 
580
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a093f2dadce40f42a184928c9d1456592">combine_any_operation_with_block</a> (const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00126.html#gac38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
 
581
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
582
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#ad47cf2dce876dcbc25aef4c7a222c66f">distance_stage</a> (const BV &amp;bv1, const <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit, const <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit_end, bool *is_all_and)</td></tr>
 
583
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Staging function for distance operation.  <a href="#ad47cf2dce876dcbc25aef4c7a222c66f"></a><br/></td></tr>
 
584
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
585
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga815fef76f02576ab9ab58de0a45d8a4b">distance_operation</a> (const BV &amp;bv1, const BV &amp;bv2, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
 
586
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance computing template function.  <a href="a00126.html#ga815fef76f02576ab9ab58de0a45d8a4b"></a><br/></td></tr>
 
587
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
588
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gaa66525fd7a3f823d73678252a235982e">distance_operation_any</a> (const BV &amp;bv1, const BV &amp;bv2, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00061.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
 
589
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Distance screening template function.  <a href="a00126.html#gaa66525fd7a3f823d73678252a235982e"></a><br/></td></tr>
 
590
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
591
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gae451cb4b87e8c0859b0614d2ffb99737">count_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
592
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of AND operation of two bitsets.  <a href="a00126.html#gae451cb4b87e8c0859b0614d2ffb99737"></a><br/></td></tr>
 
593
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
594
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga2d5393e05bcfc540840a4cee67fb771f">any_and</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
595
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets.  <a href="a00126.html#ga2d5393e05bcfc540840a4cee67fb771f"></a><br/></td></tr>
 
596
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
597
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gafc64a082dcaee07f70f7faf3e24f844e">count_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
598
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets.  <a href="a00126.html#gafc64a082dcaee07f70f7faf3e24f844e"></a><br/></td></tr>
 
599
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
600
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga2d63f41244b82d233acb53d88b326b82">any_xor</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
601
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets.  <a href="a00126.html#ga2d63f41244b82d233acb53d88b326b82"></a><br/></td></tr>
 
602
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
603
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga902d8c1cd1f8a2538cd47d47f5d8d605">count_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
604
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets.  <a href="a00126.html#ga902d8c1cd1f8a2538cd47d47f5d8d605"></a><br/></td></tr>
 
605
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
606
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gabde2e210b9b1edd190e1f5a9ff22344c">any_sub</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
607
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets.  <a href="a00126.html#gabde2e210b9b1edd190e1f5a9ff22344c"></a><br/></td></tr>
 
608
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
609
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#ga803c564668703fc3bf80067570c2c905">count_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
610
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes bitcount of OR operation of two bitsets.  <a href="a00126.html#ga803c564668703fc3bf80067570c2c905"></a><br/></td></tr>
 
611
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
612
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#gaeda4f0cf54aa464cec09e740100caa79">any_or</a> (const BV &amp;bv1, const BV &amp;bv2)</td></tr>
 
613
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets.  <a href="a00126.html#gaeda4f0cf54aa464cec09e740100caa79"></a><br/></td></tr>
 
614
<tr><td class="memTemplParams" colspan="2">template&lt;class It &gt; </td></tr>
 
615
<tr><td class="memTemplItemLeft" align="right" valign="top">It&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a86d5d5ccdb79d2b2ad552bd1caf34b2f">block_range_scan</a> (It first, It last, unsigned nblock, unsigned *max_id)</td></tr>
 
616
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal algorithms scans the input for the block range limit.  <a href="#a86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><br/></td></tr>
 
617
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
618
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga54ff78528c99ae3ca443eb99ba44785b">combine_or</a> (BV &amp;bv, It first, It last)</td></tr>
 
619
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR Combine bitvector and the iterable sequence.  <a href="a00125.html#ga54ff78528c99ae3ca443eb99ba44785b"></a><br/></td></tr>
 
620
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
621
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga3cb362aee03de6a321495100ae5c8375">combine_xor</a> (BV &amp;bv, It first, It last)</td></tr>
 
622
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR Combine bitvector and the iterable sequence.  <a href="a00125.html#ga3cb362aee03de6a321495100ae5c8375"></a><br/></td></tr>
 
623
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
624
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gab88c5bf51484323e0139aa789d7f0b98">combine_sub</a> (BV &amp;bv, It first, It last)</td></tr>
 
625
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB Combine bitvector and the iterable sequence.  <a href="a00125.html#gab88c5bf51484323e0139aa789d7f0b98"></a><br/></td></tr>
 
626
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
627
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga22922f71bd1eec8a5b663dc77b90cf6c">combine_and_sorted</a> (BV &amp;bv, It first, It last)</td></tr>
 
628
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="a00125.html#ga22922f71bd1eec8a5b663dc77b90cf6c"></a><br/></td></tr>
 
629
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
630
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#ga819bdab57a624a08456ea79161b9c5d2">combine_and</a> (BV &amp;bv, It first, It last)</td></tr>
 
631
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND Combine bitvector and the iterable sequence.  <a href="a00125.html#ga819bdab57a624a08456ea79161b9c5d2"></a><br/></td></tr>
 
632
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
633
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gac7a59d3bc266310ec127cb3efadb0d33">count_intervals</a> (const BV &amp;bv)</td></tr>
 
634
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector.  <a href="a00125.html#gac7a59d3bc266310ec127cb3efadb0d33"></a><br/></td></tr>
 
635
<tr><td class="memTemplParams" colspan="2">template&lt;class BV , class It &gt; </td></tr>
 
636
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#gacd88ed9539553dd93419b7029e8a4584">export_array</a> (BV &amp;bv, It first, It last)</td></tr>
 
637
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector.  <a href="a00125.html#gacd88ed9539553dd93419b7029e8a4584"></a><br/></td></tr>
 
638
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
 
639
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a2e3af9c9f2eb481130d240ba4cd6fd68">vect_bit_transpose</a> (const T *arr, unsigned arr_size, T <a class="el" href="a00087.html">tmatrix</a>[BPC][BPS])</td></tr>
 
640
<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="#a2e3af9c9f2eb481130d240ba4cd6fd68"></a><br/></td></tr>
 
641
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
 
642
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a089ac7cd17ddca4bf3c661c96f749f3f">vect_bit_trestore</a> (const T <a class="el" href="a00087.html">tmatrix</a>[BPC][BPS], T *arr)</td></tr>
 
643
<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="#a089ac7cd17ddca4bf3c661c96f749f3f"></a><br/></td></tr>
 
644
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
 
645
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga3fe02492f64cd8a9dfbb1a00ec71c0ae">tmatrix_distance</a> (const T <a class="el" href="a00087.html">tmatrix</a>[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
 
646
<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="a00121.html#ga3fe02492f64cd8a9dfbb1a00ec71c0ae"></a><br/></td></tr>
 
647
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
 
648
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gabdc11d48fda6a69873eefd219c4b7e75">bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
 
649
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; ibpc limiter  <a href="a00121.html#gabdc11d48fda6a69873eefd219c4b7e75"></a><br/></td></tr>
 
650
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#adfae226f696ef821c7d351216c00fe0d">bit_iblock_pcv_stat</a> (const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)</td></tr>
 
651
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of ibpc codes in pc_vector.  <a href="#adfae226f696ef821c7d351216c00fe0d"></a><br/></td></tr>
 
652
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a62808b64adfcf2a7e610a4f713f470c0">bit_iblock_reduce</a> (const unsigned <a class="el" href="a00087.html">tmatrix</a>[<a class="el" href="a00116.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00116.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[<a class="el" href="a00116.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00116.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
 
653
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix reduction based on transformation pc vector.  <a href="#a62808b64adfcf2a7e610a4f713f470c0"></a><br/></td></tr>
 
654
<tr><td class="memTemplParams" colspan="2">template&lt;class TMatrix &gt; </td></tr>
 
655
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a336ed7eb10da60438793f0ecff0fb7b1">tmatrix_reduce</a> (TMatrix &amp;<a class="el" href="a00087.html">tmatrix</a>, const unsigned char *pc_vector, const unsigned effective_cols)</td></tr>
 
656
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transposed Matrix reduction based on transformation pc vector.  <a href="#a336ed7eb10da60438793f0ecff0fb7b1"></a><br/></td></tr>
 
657
<tr><td class="memTemplParams" colspan="2">template&lt;class TMatrix &gt; </td></tr>
 
658
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#ab7544e494744b2c0b265ab7d81f766b8">tmatrix_restore</a> (TMatrix &amp;<a class="el" href="a00087.html">tmatrix</a>, const unsigned char *pc_vector, const unsigned effective_cols)</td></tr>
 
659
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transposed Matrix restore based on transformation pc vector.  <a href="#ab7544e494744b2c0b265ab7d81f766b8"></a><br/></td></tr>
 
660
<tr><td class="memTemplParams" colspan="2">template&lt;typename GT , typename BT &gt; </td></tr>
 
661
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a76724fb233f93c15146641482311ce28">gap_2_bitblock</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)</td></tr>
 
662
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation.  <a href="#a76724fb233f93c15146641482311ce28"></a><br/></td></tr>
 
663
<tr><td class="memTemplParams" colspan="2">template&lt;class TMatrix &gt; </td></tr>
 
664
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a3788dd32c39556f0aef90b50e5a5e62c">compute_tmatrix_rstat</a> (const TMatrix &amp;<a class="el" href="a00087.html">tmatrix</a>, const unsigned char *pc_vector, typename TMatrix::rstat *rstat, unsigned effective_cols)</td></tr>
 
665
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute t-matrix rows statistics used for compression.  <a href="#a3788dd32c39556f0aef90b50e5a5e62c"></a><br/></td></tr>
 
666
<tr><td class="memTemplParams" colspan="2">template&lt;typename TM &gt; </td></tr>
 
667
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#af92597461aff2926f9adcbf51bac98f9">find_effective_columns</a> (const TM &amp;<a class="el" href="a00087.html">tmatrix</a>)</td></tr>
 
668
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute effective right column border of the t-matrix.  <a href="#af92597461aff2926f9adcbf51bac98f9"></a><br/></td></tr>
 
669
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
670
<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a7267df2bcc9c575c50dd1c68589c6ac1">bit_scan_fwd</a> (T v)</td></tr>
 
671
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
672
<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a46f258f92ab40e2a0c76aa775338faaa">ilog2</a> (T x)</td></tr>
 
673
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fast loop-less function to find LOG2.  <a href="#a46f258f92ab40e2a0c76aa775338faaa"></a><br/></td></tr>
 
674
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
 
675
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a5f818ac575622da8a9a75511e649ea90">ilog2</a> (<a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> x)</td></tr>
 
676
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 
677
<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a3ab126a6fd7ffd872a4001638819a330">ilog2_LUT</a> (T x)</td></tr>
 
678
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup table based integer LOG2.  <a href="#a3ab126a6fd7ffd872a4001638819a330"></a><br/></td></tr>
 
679
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
 
680
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a7074ee06dc4ee023170c2f85c78b50fe">ilog2_LUT&lt; bm::gap_word_t &gt;</a> (<a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> x)</td></tr>
 
681
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lookup table based short integer LOG2.  <a href="#a7074ee06dc4ee023170c2f85c78b50fe"></a><br/></td></tr>
 
682
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
683
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga5210c3bda57254ef2e8c71e23306cc88">serialize</a> (const BV &amp;bv, unsigned char *buf, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned <a class="el" href="a00127.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
 
684
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory.  <a href="a00127.html#ga5210c3bda57254ef2e8c71e23306cc88"></a><br/></td></tr>
 
685
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
686
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#ga213033b5cc6add74aa4bd1d614b56192">serialize</a> (BV &amp;bv, unsigned char *buf, unsigned <a class="el" href="a00127.html#ga537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
 
687
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00044.html" title="bitvector with runtime compression of bits.">bvector</a>.  <a href="a00127.html#ga213033b5cc6add74aa4bd1d614b56192"></a><br/></td></tr>
 
688
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
689
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00127.html#gafbe633db8da3d867f098468269fd8d3d">deserialize</a> (BV &amp;bv, const unsigned char *buf, <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
 
690
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitvector deserialization from memory.  <a href="a00127.html#gafbe633db8da3d867f098468269fd8d3d"></a><br/></td></tr>
 
691
<tr><td colspan="2"><h2>Variables</h2></td></tr>
 
692
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a104b924a1df81542db2a6296fbf26a65">id_max</a> = 0xFFFFFFFF</td></tr>
 
693
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> = 2048u</td></tr>
 
694
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad8723fbeea6290d3daa8917ea7ce9bb2">set_block_shift</a> = 16u</td></tr>
 
695
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a201fb8b1f81b7487f1c1c129fc3d6557">set_block_mask</a> = 0xFFFFu</td></tr>
 
696
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a2d1bf97ae342a7759943e62090fcf5d3">set_blkblk_mask</a> = 0xFFFFFFu</td></tr>
 
697
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a35780565f6d8f2831ebff8877d3ba662">set_block_plain_size</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td></tr>
 
698
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a3428cf384446982017ba9ee68152d238">set_block_plain_cnt</a> = sizeof(<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td></tr>
 
699
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a83d76bccf6fe3770f32d5ba11d2a37ad">set_word_shift</a> = 5u</td></tr>
 
700
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#addbf345be3733d5e4575d71733ed1da8">set_word_mask</a> = 0x1Fu</td></tr>
 
701
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aa5e01dfb650d168f9be0525e042af647">gap_max_buff_len</a> = 1280</td></tr>
 
702
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad0b8714080144ac70197840ff96752b7">gap_max_bits</a> = 65536</td></tr>
 
703
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a9b1715d6d9164d56172e75bbbd0e3000">gap_equiv_len</a></td></tr>
 
704
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a773e9f5341919d58000bd54d50038733">gap_levels</a> = 4</td></tr>
 
705
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a13793ad631e2b2fcbaaae9000ea1a924">gap_max_level</a> = <a class="el" href="a00116.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td></tr>
 
706
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">set_array_size</a> = 256u</td></tr>
 
707
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac1ff8647a089c751ec330cecee01907e">set_array_shift</a> = 8u</td></tr>
 
708
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a00ffa7b38d7fcc7e522d864991a6de68">set_array_mask</a> = 0xFFu</td></tr>
 
709
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a505011007f54598794e0b9477c0b0b11">set_total_blocks</a> = (<a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td></tr>
 
710
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae9916f69ced0347d94472d7944ea0e45">bits_in_block</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td></tr>
 
711
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a4dedd13a7b8a27c5067b20118002f025">bits_in_array</a> = <a class="el" href="a00116.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td></tr>
 
712
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad81dea46a256b93b2af3568ce409d40b">all_bits_mask</a> = 0xffffffff</td></tr>
 
713
<tr><td class="memItemLeft" align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a7049fd70220fc3a3072e9f82abf4ad66">set_block_size_op</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></td></tr>
 
714
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae34de9206be7a8aa05db9d5dc38bfc90">ibpc_uncompr</a> = 0</td></tr>
 
715
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aaca6d3c887b5b7b66a78e95471f9a326">ibpc_all_zero</a> = 1</td></tr>
 
716
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain uncompressed  <a href="#aaca6d3c887b5b7b66a78e95471f9a326"></a><br/></td></tr>
 
717
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aa6f59be0b838db693e0f081bcaf750f0">ibpc_all_one</a> = 2</td></tr>
 
718
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ZERO  <a href="#aa6f59be0b838db693e0f081bcaf750f0"></a><br/></td></tr>
 
719
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a748d4095c39c9372a590b431e0ec17fe">ibpc_equiv</a> = 3</td></tr>
 
720
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ONE  <a href="#a748d4095c39c9372a590b431e0ec17fe"></a><br/></td></tr>
 
721
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aa61bf7691d32a9bc7c65c05bb62657e5">ibpc_close</a> = 4</td></tr>
 
722
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is equal to plain M  <a href="#aa61bf7691d32a9bc7c65c05bb62657e5"></a><br/></td></tr>
 
723
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae4f14f0c2c5a9ee277808d36fd94693f">ibpc_end</a> = 8</td></tr>
 
724
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is close to plain M  <a href="#ae4f14f0c2c5a9ee277808d36fd94693f"></a><br/></td></tr>
 
725
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aa24e7c08930cf959d383c6b930fb0508">set_block_end</a> = 0</td></tr>
 
726
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of serialization.  <a href="#aa24e7c08930cf959d383c6b930fb0508"></a><br/></td></tr>
 
727
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">set_block_1zero</a> = 1</td></tr>
 
728
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One all-zero block.  <a href="#a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br/></td></tr>
 
729
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a715131318a361bcccf59fc0b1e41d444">set_block_1one</a> = 2</td></tr>
 
730
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One block all-set (1111...).  <a href="#a715131318a361bcccf59fc0b1e41d444"></a><br/></td></tr>
 
731
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac9b85b261ab49b37d5e15b84ed2d8b99">set_block_8zero</a> = 3</td></tr>
 
732
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 zero blocks.  <a href="#ac9b85b261ab49b37d5e15b84ed2d8b99"></a><br/></td></tr>
 
733
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a57ad1090d6f380cf5de5f98c699b5a75">set_block_8one</a> = 4</td></tr>
 
734
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 all-set blocks.  <a href="#a57ad1090d6f380cf5de5f98c699b5a75"></a><br/></td></tr>
 
735
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aef47eda6538ebf2624c1612d35694c01">set_block_16zero</a> = 5</td></tr>
 
736
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 65536 zero blocks.  <a href="#aef47eda6538ebf2624c1612d35694c01"></a><br/></td></tr>
 
737
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a3fad4a939708df59b1201910c7d37e30">set_block_16one</a> = 6</td></tr>
 
738
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 65536 all-set blocks.  <a href="#a3fad4a939708df59b1201910c7d37e30"></a><br/></td></tr>
 
739
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac7dfbd94a0534df88849bbce9e6c419a">set_block_32zero</a> = 7</td></tr>
 
740
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 4G zero blocks.  <a href="#ac7dfbd94a0534df88849bbce9e6c419a"></a><br/></td></tr>
 
741
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a5b87c58ae617ad1f104b4c6bc3ed6447">set_block_32one</a> = 8</td></tr>
 
742
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 4G all-set blocks.  <a href="#a5b87c58ae617ad1f104b4c6bc3ed6447"></a><br/></td></tr>
 
743
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ae87b5c61d7ba6e2e592a279db0b21cc0">set_block_azero</a> = 9</td></tr>
 
744
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks zero.  <a href="#ae87b5c61d7ba6e2e592a279db0b21cc0"></a><br/></td></tr>
 
745
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad506b63262c52870758432a95e71907e">set_block_aone</a> = 10</td></tr>
 
746
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks one.  <a href="#ad506b63262c52870758432a95e71907e"></a><br/></td></tr>
 
747
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aef86ab2eb42c198272eea7cdfe42951b">set_block_bit</a> = 11</td></tr>
 
748
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bit block.  <a href="#aef86ab2eb42c198272eea7cdfe42951b"></a><br/></td></tr>
 
749
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#afe4b1011b09271c5f3882b926e250d39">set_block_sgapbit</a> = 12</td></tr>
 
750
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed bitblock.  <a href="#afe4b1011b09271c5f3882b926e250d39"></a><br/></td></tr>
 
751
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">set_block_sgapgap</a> = 13</td></tr>
 
752
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed GAP block.  <a href="#ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><br/></td></tr>
 
753
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a09b8c4b17b7d6f613c237c46d04a9cd6">set_block_gap</a> = 14</td></tr>
 
754
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain GAP block.  <a href="#a09b8c4b17b7d6f613c237c46d04a9cd6"></a><br/></td></tr>
 
755
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a77dc965397e31a1d39c3d8e628792779">set_block_gapbit</a> = 15</td></tr>
 
756
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP compressed bitblock.  <a href="#a77dc965397e31a1d39c3d8e628792779"></a><br/></td></tr>
 
757
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a6ec6acb175ce77a229003f088ecd3923">set_block_arrbit</a> = 16</td></tr>
 
758
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON.  <a href="#a6ec6acb175ce77a229003f088ecd3923"></a><br/></td></tr>
 
759
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a0f2d3289a95dc3bd224a6a73c3d3afce">set_block_bit_interval</a> = 17</td></tr>
 
760
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interval block.  <a href="#a0f2d3289a95dc3bd224a6a73c3d3afce"></a><br/></td></tr>
 
761
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#aae33ceefae804cdd94412beee8c52720">set_block_arrgap</a> = 18</td></tr>
 
762
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON (GAP block).  <a href="#aae33ceefae804cdd94412beee8c52720"></a><br/></td></tr>
 
763
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ad0e6607a9771fa49a658c3078208c2dc">set_block_bit_1bit</a> = 19</td></tr>
 
764
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with 1 bit ON.  <a href="#ad0e6607a9771fa49a658c3078208c2dc"></a><br/></td></tr>
 
765
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac47dea3917e15264ed3ba0cf4055adbe">set_block_gap_egamma</a> = 20</td></tr>
 
766
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed GAP block.  <a href="#ac47dea3917e15264ed3ba0cf4055adbe"></a><br/></td></tr>
 
767
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a9674ddb1b9ee66948465249688708188">set_block_arrgap_egamma</a> = 21</td></tr>
 
768
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed delta GAP array.  <a href="#a9674ddb1b9ee66948465249688708188"></a><br/></td></tr>
 
769
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a5e21adca3bc6902f33e43e5cfd824f0e">set_block_bit_0runs</a> = 22</td></tr>
 
770
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with encoded zero intervals.  <a href="#a5e21adca3bc6902f33e43e5cfd824f0e"></a><br/></td></tr>
 
771
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a1caddb62b332a568ba590794800610f6">set_block_arrgap_egamma_inv</a> = 23</td></tr>
 
772
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed inverted delta GAP array.  <a href="#a1caddb62b332a568ba590794800610f6"></a><br/></td></tr>
 
773
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a746a03f6f5563cc8c75db93bba40095d">set_block_arrgap_inv</a> = 24</td></tr>
 
774
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits OFF (GAP block).  <a href="#a746a03f6f5563cc8c75db93bba40095d"></a><br/></td></tr>
 
775
</table>
 
776
<hr/><h2>Typedef Documentation</h2>
 
777
<a class="anchor" id="ad93f96a77f223240b8c6b8f81c5db840"></a><!-- doxytag: member="bm::bit_operation_count_func_type" ref="ad93f96a77f223240b8c6b8f81c5db840" args=")(const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT)" -->
 
778
<div class="memitem">
 
779
<div class="memproto">
 
780
      <table class="memname">
 
781
        <tr>
 
782
          <td class="memname">typedef <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* <a class="el" href="a00116.html#ad93f96a77f223240b8c6b8f81c5db840">bm::bit_operation_count_func_type</a>)(const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td>
 
783
        </tr>
 
784
      </table>
 
785
</div>
 
786
<div class="memdoc">
 
787
 
 
788
<p>Definition at line <a class="el" href="a00094_source.html#l05071">5071</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
789
 
 
790
</div>
 
791
</div>
 
792
<a class="anchor" id="ac36d9b78ebf78baf0b92dc61487d9847"></a><!-- doxytag: member="bm::decoder_big_endian" ref="ac36d9b78ebf78baf0b92dc61487d9847" args="" -->
 
793
<div class="memitem">
 
794
<div class="memproto">
 
795
      <table class="memname">
 
796
        <tr>
 
797
          <td class="memname">typedef <a class="el" href="a00054.html">decoder</a> <a class="el" href="a00054.html">bm::decoder_big_endian</a></td>
 
798
        </tr>
 
799
      </table>
 
800
</div>
 
801
<div class="memdoc">
 
802
 
 
803
<p>Class for decoding data from memory buffer. </p>
 
804
<p>Properly handles aligment issues with integer data types. Converts data to big endian architecture (presumed it was encoded as little endian) </p>
 
805
 
 
806
<p>Definition at line <a class="el" href="a00105_source.html#l00114">114</a> of file <a class="el" href="a00105_source.html">encoding.h</a>.</p>
 
807
 
 
808
</div>
 
809
</div>
 
810
<a class="anchor" id="a8402de852093e5b23b5825f1974b9c12"></a><!-- doxytag: member="bm::gap_operation_func_type" ref="a8402de852093e5b23b5825f1974b9c12" args=")(const gap_word_t *BMRESTRICT, const gap_word_t *BMRESTRICT, gap_word_t *BMRESTRICT, unsigned &amp;)" -->
 
811
<div class="memitem">
 
812
<div class="memproto">
 
813
      <table class="memname">
 
814
        <tr>
 
815
          <td class="memname">typedef <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a>*(* <a class="el" href="a00116.html#a8402de852093e5b23b5825f1974b9c12">bm::gap_operation_func_type</a>)(const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, unsigned &amp;)</td>
 
816
        </tr>
 
817
      </table>
 
818
</div>
 
819
<div class="memdoc">
 
820
 
 
821
<p>Definition at line <a class="el" href="a00094_source.html#l05065">5065</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
822
 
 
823
</div>
 
824
</div>
 
825
<a class="anchor" id="a18a8f03b151ca3a6d5e39e7709fb6c7c"></a><!-- doxytag: member="bm::gap_operation_to_bitset_func_type" ref="a18a8f03b151ca3a6d5e39e7709fb6c7c" args=")(unsigned *, const gap_word_t *)" -->
 
826
<div class="memitem">
 
827
<div class="memproto">
 
828
      <table class="memname">
 
829
        <tr>
 
830
          <td class="memname">typedef void(* <a class="el" href="a00116.html#a18a8f03b151ca3a6d5e39e7709fb6c7c">bm::gap_operation_to_bitset_func_type</a>)(unsigned *, const <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td>
 
831
        </tr>
 
832
      </table>
 
833
</div>
 
834
<div class="memdoc">
 
835
 
 
836
<p>Definition at line <a class="el" href="a00094_source.html#l05061">5061</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
837
 
 
838
</div>
 
839
</div>
 
840
<a class="anchor" id="ac654d6319039a86546d235a236fc7cf6"></a><!-- doxytag: member="bm::gap_word_t" ref="ac654d6319039a86546d235a236fc7cf6" args="" -->
 
841
<div class="memitem">
 
842
<div class="memproto">
 
843
      <table class="memname">
 
844
        <tr>
 
845
          <td class="memname">typedef unsigned short <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a></td>
 
846
        </tr>
 
847
      </table>
 
848
</div>
 
849
<div class="memdoc">
 
850
 
 
851
<p>Definition at line <a class="el" href="a00092_source.html#l00068">68</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
852
 
 
853
</div>
 
854
</div>
 
855
<a class="anchor" id="a1f6a6dd108cd9e9f4fb284043ef518fe"></a><!-- doxytag: member="bm::id64_t" ref="a1f6a6dd108cd9e9f4fb284043ef518fe" args="" -->
 
856
<div class="memitem">
 
857
<div class="memproto">
 
858
      <table class="memname">
 
859
        <tr>
 
860
          <td class="memname">typedef unsigned long long <a class="el" href="a00116.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a></td>
 
861
        </tr>
 
862
      </table>
 
863
</div>
 
864
<div class="memdoc">
 
865
 
 
866
<p>Definition at line <a class="el" href="a00092_source.html#l00038">38</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
867
 
 
868
</div>
 
869
</div>
 
870
<a class="anchor" id="aa3824d882a037396370b16f2f0a8bf37"></a><!-- doxytag: member="bm::id_t" ref="aa3824d882a037396370b16f2f0a8bf37" args="" -->
 
871
<div class="memitem">
 
872
<div class="memproto">
 
873
      <table class="memname">
 
874
        <tr>
 
875
          <td class="memname">typedef unsigned int <a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a></td>
 
876
        </tr>
 
877
      </table>
 
878
</div>
 
879
<div class="memdoc">
 
880
 
 
881
<p>Definition at line <a class="el" href="a00092_source.html#l00042">42</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
882
 
 
883
</div>
 
884
</div>
 
885
<a class="anchor" id="ac77813f2c2dfe40575830ba6a8373bcc"></a><!-- doxytag: member="bm::mem_save_set" ref="ac77813f2c2dfe40575830ba6a8373bcc" args="" -->
 
886
<div class="memitem">
 
887
<div class="memproto">
 
888
      <table class="memname">
 
889
        <tr>
 
890
          <td class="memname">typedef <a class="el" href="a00075.html">bm::miniset</a>&lt;<a class="el" href="a00039.html">bm::block_allocator</a>, <a class="el" href="a00116.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a>&gt; <a class="el" href="a00075.html">bm::mem_save_set</a></td>
 
891
        </tr>
 
892
      </table>
 
893
</div>
 
894
<div class="memdoc">
 
895
 
 
896
<p>Definition at line <a class="el" href="a00088_source.html#l00097">97</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
 
897
 
 
898
</div>
 
899
</div>
 
900
<a class="anchor" id="ae64960202b691ae1b6efe5fec12cb5af"></a><!-- doxytag: member="bm::short_t" ref="ae64960202b691ae1b6efe5fec12cb5af" args="" -->
 
901
<div class="memitem">
 
902
<div class="memproto">
 
903
      <table class="memname">
 
904
        <tr>
 
905
          <td class="memname">typedef unsigned short <a class="el" href="a00116.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a></td>
 
906
        </tr>
 
907
      </table>
 
908
</div>
 
909
<div class="memdoc">
 
910
 
 
911
<p>Definition at line <a class="el" href="a00092_source.html#l00044">44</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
912
 
 
913
</div>
 
914
</div>
 
915
<a class="anchor" id="a17fd5ba52db3ddda05e6f8dd5000a1a4"></a><!-- doxytag: member="bm::word_t" ref="a17fd5ba52db3ddda05e6f8dd5000a1a4" args="" -->
 
916
<div class="memitem">
 
917
<div class="memproto">
 
918
      <table class="memname">
 
919
        <tr>
 
920
          <td class="memname">typedef unsigned int <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a></td>
 
921
        </tr>
 
922
      </table>
 
923
</div>
 
924
<div class="memdoc">
 
925
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a3">sample6.cpp</a>.</dd>
 
926
</dl>
 
927
<p>Definition at line <a class="el" href="a00092_source.html#l00043">43</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
928
 
 
929
</div>
 
930
</div>
 
931
<a class="anchor" id="a7176bf7817550ca24cb6612bd8d7957d"></a><!-- doxytag: member="bm::wordop_t" ref="a7176bf7817550ca24cb6612bd8d7957d" args="" -->
 
932
<div class="memitem">
 
933
<div class="memproto">
 
934
      <table class="memname">
 
935
        <tr>
 
936
          <td class="memname">typedef <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> <a class="el" href="a00116.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a></td>
 
937
        </tr>
 
938
      </table>
 
939
</div>
 
940
<div class="memdoc">
 
941
 
 
942
<p>Definition at line <a class="el" href="a00092_source.html#l00100">100</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
943
 
 
944
</div>
 
945
</div>
 
946
<hr/><h2>Enumeration Type Documentation</h2>
 
947
<a class="anchor" id="a577905b348676c2bc556b51793350dbb"></a><!-- doxytag: member="bm::ByteOrder" ref="a577905b348676c2bc556b51793350dbb" args="" -->
 
948
<div class="memitem">
 
949
<div class="memproto">
 
950
      <table class="memname">
 
951
        <tr>
 
952
          <td class="memname">enum <a class="el" href="a00116.html#a577905b348676c2bc556b51793350dbb">bm::ByteOrder</a></td>
 
953
        </tr>
 
954
      </table>
 
955
</div>
 
956
<div class="memdoc">
 
957
 
 
958
<p>Byte orders recognized by the library. </p>
 
959
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
 
960
<tr><td valign="top"><em><a class="anchor" id="a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2"></a><!-- doxytag: member="BigEndian" ref="a577905b348676c2bc556b51793350dbbac959b97503c42581f3dd81fd3b93fff2" args="" -->BigEndian</em>&nbsp;</td><td>
 
961
</td></tr>
 
962
<tr><td valign="top"><em><a class="anchor" id="a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2"></a><!-- doxytag: member="LittleEndian" ref="a577905b348676c2bc556b51793350dbba5ebe266b6d18ee74483c2bbf624e2cc2" args="" -->LittleEndian</em>&nbsp;</td><td>
 
963
</td></tr>
 
964
</table>
 
965
</dd>
 
966
</dl>
 
967
 
 
968
<p>Definition at line <a class="el" href="a00094_source.html#l00397">397</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
969
 
 
970
</div>
 
971
</div>
 
972
<a class="anchor" id="a42405343976ec931388381cea4092bf1"></a><!-- doxytag: member="bm::operation" ref="a42405343976ec931388381cea4092bf1" args="" -->
 
973
<div class="memitem">
 
974
<div class="memproto">
 
975
      <table class="memname">
 
976
        <tr>
 
977
          <td class="memname">enum <a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">bm::operation</a></td>
 
978
        </tr>
 
979
      </table>
 
980
</div>
 
981
<div class="memdoc">
 
982
 
 
983
<p>Bit operations enumeration. </p>
 
984
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
 
985
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250"></a><!-- doxytag: member="BM_AND" ref="a42405343976ec931388381cea4092bf1a546fdf33b301e5b9bee0591522ed9250" args="" -->BM_AND</em>&nbsp;</td><td>
 
986
</td></tr>
 
987
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5"></a><!-- doxytag: member="BM_OR" ref="a42405343976ec931388381cea4092bf1a0c8cf0197857d0bd73a63037e2f2c5c5" args="" -->BM_OR</em>&nbsp;</td><td>
 
988
</td></tr>
 
989
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5"></a><!-- doxytag: member="BM_SUB" ref="a42405343976ec931388381cea4092bf1a1df0f4de7126bb2f7ce69d7a005affb5" args="" -->BM_SUB</em>&nbsp;</td><td>
 
990
</td></tr>
 
991
<tr><td valign="top"><em><a class="anchor" id="a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c"></a><!-- doxytag: member="BM_XOR" ref="a42405343976ec931388381cea4092bf1a45c2fe36efb72dc03f03a842d253f64c" args="" -->BM_XOR</em>&nbsp;</td><td>
 
992
</td></tr>
 
993
</table>
 
994
</dd>
 
995
</dl>
 
996
 
 
997
<p>Definition at line <a class="el" href="a00094_source.html#l00274">274</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
998
 
 
999
</div>
 
1000
</div>
 
1001
<a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0"></a><!-- doxytag: member="bm::serialization_header_mask" ref="ab69f66b71d349b0757370f54318bb2c0" args="" -->
 
1002
<div class="memitem">
 
1003
<div class="memproto">
 
1004
      <table class="memname">
 
1005
        <tr>
 
1006
          <td class="memname">enum <a class="el" href="a00116.html#ab69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a></td>
 
1007
        </tr>
 
1008
      </table>
 
1009
</div>
 
1010
<div class="memdoc">
 
1011
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
 
1012
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca"></a><!-- doxytag: member="BM_HM_DEFAULT" ref="ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca" args="" -->BM_HM_DEFAULT</em>&nbsp;</td><td>
 
1013
</td></tr>
 
1014
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27"></a><!-- doxytag: member="BM_HM_RESIZE" ref="ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27" args="" -->BM_HM_RESIZE</em>&nbsp;</td><td>
 
1015
<p>resized vector </p>
 
1016
</td></tr>
 
1017
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47"></a><!-- doxytag: member="BM_HM_ID_LIST" ref="ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47" args="" -->BM_HM_ID_LIST</em>&nbsp;</td><td>
 
1018
<p>id list stored </p>
 
1019
</td></tr>
 
1020
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e"></a><!-- doxytag: member="BM_HM_NO_BO" ref="ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e" args="" -->BM_HM_NO_BO</em>&nbsp;</td><td>
 
1021
<p>no byte-order </p>
 
1022
</td></tr>
 
1023
<tr><td valign="top"><em><a class="anchor" id="ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3"></a><!-- doxytag: member="BM_HM_NO_GAPL" ref="ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3" args="" -->BM_HM_NO_GAPL</em>&nbsp;</td><td>
 
1024
<p>no GAP levels </p>
 
1025
</td></tr>
 
1026
</table>
 
1027
</dd>
 
1028
</dl>
 
1029
 
 
1030
<p>Definition at line <a class="el" href="a00097_source.html#l00095">95</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
1031
 
 
1032
</div>
 
1033
</div>
 
1034
<a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109"></a><!-- doxytag: member="bm::set_operation" ref="a76b70d2b9182a6dcac151d1bd9ec6109" args="" -->
 
1035
<div class="memitem">
 
1036
<div class="memproto">
 
1037
      <table class="memname">
 
1038
        <tr>
 
1039
          <td class="memname">enum <a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a></td>
 
1040
        </tr>
 
1041
      </table>
 
1042
</div>
 
1043
<div class="memdoc">
 
1044
 
 
1045
<p>Nomenclature of set operations. </p>
 
1046
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
 
1047
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3"></a><!-- doxytag: member="set_AND" ref="a76b70d2b9182a6dcac151d1bd9ec6109a949fba4d9b152e1cbba9a450e05e21a3" args="" -->set_AND</em>&nbsp;</td><td>
 
1048
</td></tr>
 
1049
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780"></a><!-- doxytag: member="set_OR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a05d88a2639cbd3d2ac63436df3ed6780" args="" -->set_OR</em>&nbsp;</td><td>
 
1050
</td></tr>
 
1051
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769"></a><!-- doxytag: member="set_SUB" ref="a76b70d2b9182a6dcac151d1bd9ec6109a348f23af148237ac49194815b222b769" args="" -->set_SUB</em>&nbsp;</td><td>
 
1052
</td></tr>
 
1053
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304"></a><!-- doxytag: member="set_XOR" ref="a76b70d2b9182a6dcac151d1bd9ec6109ab823123a0d630167532a96be004e6304" args="" -->set_XOR</em>&nbsp;</td><td>
 
1054
</td></tr>
 
1055
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788"></a><!-- doxytag: member="set_ASSIGN" ref="a76b70d2b9182a6dcac151d1bd9ec6109a34150dd6a8ac2e70b887565bd1c3f788" args="" -->set_ASSIGN</em>&nbsp;</td><td>
 
1056
</td></tr>
 
1057
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e"></a><!-- doxytag: member="set_COUNT" ref="a76b70d2b9182a6dcac151d1bd9ec6109a3f165b7944e33214e8721aaf2eb8378e" args="" -->set_COUNT</em>&nbsp;</td><td>
 
1058
</td></tr>
 
1059
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959"></a><!-- doxytag: member="set_COUNT_AND" ref="a76b70d2b9182a6dcac151d1bd9ec6109a378be4b14cee6a341e859fd3157ab959" args="" -->set_COUNT_AND</em>&nbsp;</td><td>
 
1060
</td></tr>
 
1061
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c"></a><!-- doxytag: member="set_COUNT_XOR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a1373054e4f243dffb762a55b8a8bfe4c" args="" -->set_COUNT_XOR</em>&nbsp;</td><td>
 
1062
</td></tr>
 
1063
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb"></a><!-- doxytag: member="set_COUNT_OR" ref="a76b70d2b9182a6dcac151d1bd9ec6109a27e34c148d06e3d8a405482d820cd7fb" args="" -->set_COUNT_OR</em>&nbsp;</td><td>
 
1064
</td></tr>
 
1065
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1"></a><!-- doxytag: member="set_COUNT_SUB_AB" ref="a76b70d2b9182a6dcac151d1bd9ec6109a0028cc7084b37fe66ce5ae459b93b7f1" args="" -->set_COUNT_SUB_AB</em>&nbsp;</td><td>
 
1066
</td></tr>
 
1067
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b"></a><!-- doxytag: member="set_COUNT_SUB_BA" ref="a76b70d2b9182a6dcac151d1bd9ec6109a2f7b894c11c058598d02722a7eeef03b" args="" -->set_COUNT_SUB_BA</em>&nbsp;</td><td>
 
1068
</td></tr>
 
1069
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29"></a><!-- doxytag: member="set_COUNT_A" ref="a76b70d2b9182a6dcac151d1bd9ec6109abafe8a971864164aeec7f43d1205ed29" args="" -->set_COUNT_A</em>&nbsp;</td><td>
 
1070
</td></tr>
 
1071
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617"></a><!-- doxytag: member="set_COUNT_B" ref="a76b70d2b9182a6dcac151d1bd9ec6109a2ac4eb7f41d00f8387d5dd3ffb9d0617" args="" -->set_COUNT_B</em>&nbsp;</td><td>
 
1072
</td></tr>
 
1073
<tr><td valign="top"><em><a class="anchor" id="a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c"></a><!-- doxytag: member="set_END" ref="a76b70d2b9182a6dcac151d1bd9ec6109ad894d257a23664720dbf4155153a1e5c" args="" -->set_END</em>&nbsp;</td><td>
 
1074
</td></tr>
 
1075
</table>
 
1076
</dd>
 
1077
</dl>
 
1078
 
 
1079
<p>Definition at line <a class="el" href="a00094_source.html#l00245">245</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1080
 
 
1081
</div>
 
1082
</div>
 
1083
<a class="anchor" id="a593916a103395805070a3200720c6416"></a><!-- doxytag: member="bm::set_representation" ref="a593916a103395805070a3200720c6416" args="" -->
 
1084
<div class="memitem">
 
1085
<div class="memproto">
 
1086
      <table class="memname">
 
1087
        <tr>
 
1088
          <td class="memname">enum <a class="el" href="a00116.html#a593916a103395805070a3200720c6416">bm::set_representation</a></td>
 
1089
        </tr>
 
1090
      </table>
 
1091
</div>
 
1092
<div class="memdoc">
 
1093
 
 
1094
<p>set representation variants </p>
 
1095
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
 
1096
<tr><td valign="top"><em><a class="anchor" id="a593916a103395805070a3200720c6416a11f970b705c57a0572043e5cc5e2e333"></a><!-- doxytag: member="set_bitset" ref="a593916a103395805070a3200720c6416a11f970b705c57a0572043e5cc5e2e333" args="" -->set_bitset</em>&nbsp;</td><td>
 
1097
<p>Simple bitset. </p>
 
1098
</td></tr>
 
1099
<tr><td valign="top"><em><a class="anchor" id="a593916a103395805070a3200720c6416a4809f1871df2ba431e5b70d175f050ec"></a><!-- doxytag: member="set_gap" ref="a593916a103395805070a3200720c6416a4809f1871df2ba431e5b70d175f050ec" args="" -->set_gap</em>&nbsp;</td><td>
 
1100
<p>GAP-RLE compression. </p>
 
1101
</td></tr>
 
1102
<tr><td valign="top"><em><a class="anchor" id="a593916a103395805070a3200720c6416a4bd710c312645ed34e4db359a7e59c42"></a><!-- doxytag: member="set_array1" ref="a593916a103395805070a3200720c6416a4bd710c312645ed34e4db359a7e59c42" args="" -->set_array1</em>&nbsp;</td><td>
 
1103
<p>array of set 1 values </p>
 
1104
</td></tr>
 
1105
<tr><td valign="top"><em><a class="anchor" id="a593916a103395805070a3200720c6416a8d71ac8a4f70b88d2a425d0c1e872fa2"></a><!-- doxytag: member="set_array0" ref="a593916a103395805070a3200720c6416a8d71ac8a4f70b88d2a425d0c1e872fa2" args="" -->set_array0</em>&nbsp;</td><td>
 
1106
<p>array of 0 values </p>
 
1107
</td></tr>
 
1108
</table>
 
1109
</dd>
 
1110
</dl>
 
1111
 
 
1112
<p>Definition at line <a class="el" href="a00092_source.html#l00125">125</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
1113
 
 
1114
</div>
 
1115
</div>
 
1116
<hr/><h2>Function Documentation</h2>
 
1117
<a class="anchor" id="a8d943cf66c4592e2baddf5bc0667adbd"></a><!-- doxytag: member="bm::and_op" ref="a8d943cf66c4592e2baddf5bc0667adbd" args="(unsigned v1, unsigned v2)" -->
 
1118
<div class="memitem">
 
1119
<div class="memproto">
 
1120
      <table class="memname">
 
1121
        <tr>
 
1122
          <td class="memname">BMFORCEINLINE unsigned bm::and_op </td>
 
1123
          <td>(</td>
 
1124
          <td class="paramtype">unsigned&nbsp;</td>
 
1125
          <td class="paramname"> <em>v1</em>, </td>
 
1126
        </tr>
 
1127
        <tr>
 
1128
          <td class="paramkey"></td>
 
1129
          <td></td>
 
1130
          <td class="paramtype">unsigned&nbsp;</td>
 
1131
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
1132
        </tr>
 
1133
        <tr>
 
1134
          <td></td>
 
1135
          <td>)</td>
 
1136
          <td></td><td></td><td></td>
 
1137
        </tr>
 
1138
      </table>
 
1139
</div>
 
1140
<div class="memdoc">
 
1141
 
 
1142
<p>GAP and functor. </p>
 
1143
 
 
1144
<p>Definition at line <a class="el" href="a00094_source.html#l03101">3101</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1145
 
 
1146
<p>Referenced by <a class="el" href="a00094_source.html#l03130">gap_operation_and()</a>, <a class="el" href="a00094_source.html#l03153">gap_operation_any_and()</a>, <a class="el" href="a00094_source.html#l03280">gap_operation_any_sub()</a>, <a class="el" href="a00094_source.html#l03226">gap_operation_or()</a>, and <a class="el" href="a00094_source.html#l03256">gap_operation_sub()</a>.</p>
 
1147
 
 
1148
</div>
 
1149
</div>
 
1150
<a class="anchor" id="ae2222be6fd45b4bab5100ce70e3b4f88"></a><!-- doxytag: member="bm::bit_count_change32" ref="ae2222be6fd45b4bab5100ce70e3b4f88" args="(const bm::word_t *block, const bm::word_t *block_end, unsigned *bit_count, unsigned *gap_count)" -->
 
1151
<div class="memitem">
 
1152
<div class="memproto">
 
1153
      <table class="memname">
 
1154
        <tr>
 
1155
          <td class="memname">void bm::bit_count_change32 </td>
 
1156
          <td>(</td>
 
1157
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1158
          <td class="paramname"> <em>block</em>, </td>
 
1159
        </tr>
 
1160
        <tr>
 
1161
          <td class="paramkey"></td>
 
1162
          <td></td>
 
1163
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1164
          <td class="paramname"> <em>block_end</em>, </td>
 
1165
        </tr>
 
1166
        <tr>
 
1167
          <td class="paramkey"></td>
 
1168
          <td></td>
 
1169
          <td class="paramtype">unsigned *&nbsp;</td>
 
1170
          <td class="paramname"> <em>bit_count</em>, </td>
 
1171
        </tr>
 
1172
        <tr>
 
1173
          <td class="paramkey"></td>
 
1174
          <td></td>
 
1175
          <td class="paramtype">unsigned *&nbsp;</td>
 
1176
          <td class="paramname"> <em>gap_count</em></td><td>&nbsp;</td>
 
1177
        </tr>
 
1178
        <tr>
 
1179
          <td></td>
 
1180
          <td>)</td>
 
1181
          <td></td><td></td><td><code> [inline]</code></td>
 
1182
        </tr>
 
1183
      </table>
 
1184
</div>
 
1185
<div class="memdoc">
 
1186
<p>Function calculates number of times when bit value changed </p>
 
1187
 
 
1188
<p>Definition at line <a class="el" href="a00094_source.html#l02757">2757</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1189
 
 
1190
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, and <a class="el" href="a00093_source.html#l00168">BM_INCWORD_BITCOUNT</a>.</p>
 
1191
 
 
1192
<p>Referenced by <a class="el" href="a00094_source.html#l02819">bit_block_calc_count_change()</a>, and <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>.</p>
 
1193
 
 
1194
</div>
 
1195
</div>
 
1196
<a class="anchor" id="adfae226f696ef821c7d351216c00fe0d"></a><!-- doxytag: member="bm::bit_iblock_pcv_stat" ref="adfae226f696ef821c7d351216c00fe0d" args="(const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)" -->
 
1197
<div class="memitem">
 
1198
<div class="memproto">
 
1199
      <table class="memname">
 
1200
        <tr>
 
1201
          <td class="memname">void bm::bit_iblock_pcv_stat </td>
 
1202
          <td>(</td>
 
1203
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
 
1204
          <td class="paramname"> <em>pc_vector</em>, </td>
 
1205
        </tr>
 
1206
        <tr>
 
1207
          <td class="paramkey"></td>
 
1208
          <td></td>
 
1209
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
 
1210
          <td class="paramname"> <em>pc_vector_end</em>, </td>
 
1211
        </tr>
 
1212
        <tr>
 
1213
          <td class="paramkey"></td>
 
1214
          <td></td>
 
1215
          <td class="paramtype">unsigned *BMRESTRICT&nbsp;</td>
 
1216
          <td class="paramname"> <em>pc_vector_stat</em></td><td>&nbsp;</td>
 
1217
        </tr>
 
1218
        <tr>
 
1219
          <td></td>
 
1220
          <td>)</td>
 
1221
          <td></td><td></td><td><code> [inline]</code></td>
 
1222
        </tr>
 
1223
      </table>
 
1224
</div>
 
1225
<div class="memdoc">
 
1226
 
 
1227
<p>Compute number of ibpc codes in pc_vector. </p>
 
1228
 
 
1229
<p>Definition at line <a class="el" href="a00101_source.html#l00474">474</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
1230
 
 
1231
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>.</p>
 
1232
 
 
1233
<p>Referenced by <a class="el" href="a00101_source.html#l00829">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::compute_distance_matrix()</a>.</p>
 
1234
 
 
1235
</div>
 
1236
</div>
 
1237
<a class="anchor" id="a62808b64adfcf2a7e610a4f713f470c0"></a><!-- doxytag: member="bm::bit_iblock_reduce" ref="a62808b64adfcf2a7e610a4f713f470c0" args="(const unsigned tmatrix[bm::set_block_plain_cnt][bm::set_block_plain_size], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[bm::set_block_plain_cnt][bm::set_block_plain_size])" -->
 
1238
<div class="memitem">
 
1239
<div class="memproto">
 
1240
      <table class="memname">
 
1241
        <tr>
 
1242
          <td class="memname">void bm::bit_iblock_reduce </td>
 
1243
          <td>(</td>
 
1244
          <td class="paramtype">const unsigned&nbsp;</td>
 
1245
          <td class="paramname"> <em>tmatrix</em>[bm::set_block_plain_cnt][bm::set_block_plain_size], </td>
 
1246
        </tr>
 
1247
        <tr>
 
1248
          <td class="paramkey"></td>
 
1249
          <td></td>
 
1250
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
 
1251
          <td class="paramname"> <em>pc_vector</em>, </td>
 
1252
        </tr>
 
1253
        <tr>
 
1254
          <td class="paramkey"></td>
 
1255
          <td></td>
 
1256
          <td class="paramtype">const unsigned char *BMRESTRICT&nbsp;</td>
 
1257
          <td class="paramname"> <em>pc_vector_end</em>, </td>
 
1258
        </tr>
 
1259
        <tr>
 
1260
          <td class="paramkey"></td>
 
1261
          <td></td>
 
1262
          <td class="paramtype">unsigned&nbsp;</td>
 
1263
          <td class="paramname"> <em>tmatrix_out</em>[bm::set_block_plain_cnt][bm::set_block_plain_size]</td><td>&nbsp;</td>
 
1264
        </tr>
 
1265
        <tr>
 
1266
          <td></td>
 
1267
          <td>)</td>
 
1268
          <td></td><td></td><td><code> [inline]</code></td>
 
1269
        </tr>
 
1270
      </table>
 
1271
</div>
 
1272
<div class="memdoc">
 
1273
 
 
1274
<p>Matrix reduction based on transformation pc vector. </p>
 
1275
 
 
1276
<p>Definition at line <a class="el" href="a00101_source.html#l00494">494</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
1277
 
 
1278
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00101_source.html#l00386">ibpc_all_one</a>, <a class="el" href="a00101_source.html#l00385">ibpc_all_zero</a>, <a class="el" href="a00101_source.html#l00388">ibpc_close</a>, <a class="el" href="a00101_source.html#l00387">ibpc_equiv</a>, and <a class="el" href="a00101_source.html#l00384">ibpc_uncompr</a>.</p>
 
1279
 
 
1280
</div>
 
1281
</div>
 
1282
<a class="anchor" id="a503fecc0ee281059897412d68f489e1e"></a><!-- doxytag: member="bm::bit_recomb" ref="a503fecc0ee281059897412d68f489e1e" args="(It1 &amp;it1, It2 &amp;it2, BinaryOp &amp;op, Encoder &amp;enc, unsigned block_size=bm::set_block_size)" -->
 
1283
<div class="memitem">
 
1284
<div class="memproto">
 
1285
<div class="memtemplate">
 
1286
template&lt;class It1 , class It2 , class BinaryOp , class Encoder &gt; </div>
 
1287
      <table class="memname">
 
1288
        <tr>
 
1289
          <td class="memname">void bm::bit_recomb </td>
 
1290
          <td>(</td>
 
1291
          <td class="paramtype">It1 &amp;&nbsp;</td>
 
1292
          <td class="paramname"> <em>it1</em>, </td>
 
1293
        </tr>
 
1294
        <tr>
 
1295
          <td class="paramkey"></td>
 
1296
          <td></td>
 
1297
          <td class="paramtype">It2 &amp;&nbsp;</td>
 
1298
          <td class="paramname"> <em>it2</em>, </td>
 
1299
        </tr>
 
1300
        <tr>
 
1301
          <td class="paramkey"></td>
 
1302
          <td></td>
 
1303
          <td class="paramtype">BinaryOp &amp;&nbsp;</td>
 
1304
          <td class="paramname"> <em>op</em>, </td>
 
1305
        </tr>
 
1306
        <tr>
 
1307
          <td class="paramkey"></td>
 
1308
          <td></td>
 
1309
          <td class="paramtype">Encoder &amp;&nbsp;</td>
 
1310
          <td class="paramname"> <em>enc</em>, </td>
 
1311
        </tr>
 
1312
        <tr>
 
1313
          <td class="paramkey"></td>
 
1314
          <td></td>
 
1315
          <td class="paramtype">unsigned&nbsp;</td>
 
1316
          <td class="paramname"> <em>block_size</em> = <code><a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></code></td><td>&nbsp;</td>
 
1317
        </tr>
 
1318
        <tr>
 
1319
          <td></td>
 
1320
          <td>)</td>
 
1321
          <td></td><td></td><td><code> [inline]</code></td>
 
1322
        </tr>
 
1323
      </table>
 
1324
</div>
 
1325
<div class="memdoc">
 
1326
<p>Abstract recombination algorithm for two bit-blocks Bit blocks can come as dserialization decoders or bit-streams </p>
 
1327
 
 
1328
<p>Definition at line <a class="el" href="a00094_source.html#l04927">4927</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1329
 
 
1330
<p>Referenced by <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, and <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>.</p>
 
1331
 
 
1332
</div>
 
1333
</div>
 
1334
<a class="anchor" id="a7267df2bcc9c575c50dd1c68589c6ac1"></a><!-- doxytag: member="bm::bit_scan_fwd" ref="a7267df2bcc9c575c50dd1c68589c6ac1" args="(T v)" -->
 
1335
<div class="memitem">
 
1336
<div class="memproto">
 
1337
<div class="memtemplate">
 
1338
template&lt;typename T &gt; </div>
 
1339
      <table class="memname">
 
1340
        <tr>
 
1341
          <td class="memname">T bm::bit_scan_fwd </td>
 
1342
          <td>(</td>
 
1343
          <td class="paramtype">T&nbsp;</td>
 
1344
          <td class="paramname"> <em>v</em></td>
 
1345
          <td>&nbsp;)&nbsp;</td>
 
1346
          <td><code> [inline]</code></td>
 
1347
        </tr>
 
1348
      </table>
 
1349
</div>
 
1350
<div class="memdoc">
 
1351
 
 
1352
<p>Definition at line <a class="el" href="a00103_source.html#l00058">58</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
 
1353
 
 
1354
<p>Referenced by <a class="el" href="a00105_source.html#l00343">bm::bit_in&lt; TDecoder &gt;::gamma()</a>.</p>
 
1355
 
 
1356
</div>
 
1357
</div>
 
1358
<a class="anchor" id="a86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><!-- doxytag: member="bm::block_range_scan" ref="a86d5d5ccdb79d2b2ad552bd1caf34b2f" args="(It first, It last, unsigned nblock, unsigned *max_id)" -->
 
1359
<div class="memitem">
 
1360
<div class="memproto">
 
1361
<div class="memtemplate">
 
1362
template&lt;class It &gt; </div>
 
1363
      <table class="memname">
 
1364
        <tr>
 
1365
          <td class="memname">It bm::block_range_scan </td>
 
1366
          <td>(</td>
 
1367
          <td class="paramtype">It&nbsp;</td>
 
1368
          <td class="paramname"> <em>first</em>, </td>
 
1369
        </tr>
 
1370
        <tr>
 
1371
          <td class="paramkey"></td>
 
1372
          <td></td>
 
1373
          <td class="paramtype">It&nbsp;</td>
 
1374
          <td class="paramname"> <em>last</em>, </td>
 
1375
        </tr>
 
1376
        <tr>
 
1377
          <td class="paramkey"></td>
 
1378
          <td></td>
 
1379
          <td class="paramtype">unsigned&nbsp;</td>
 
1380
          <td class="paramname"> <em>nblock</em>, </td>
 
1381
        </tr>
 
1382
        <tr>
 
1383
          <td class="paramkey"></td>
 
1384
          <td></td>
 
1385
          <td class="paramtype">unsigned *&nbsp;</td>
 
1386
          <td class="paramname"> <em>max_id</em></td><td>&nbsp;</td>
 
1387
        </tr>
 
1388
        <tr>
 
1389
          <td></td>
 
1390
          <td>)</td>
 
1391
          <td></td><td></td><td><code> [inline]</code></td>
 
1392
        </tr>
 
1393
      </table>
 
1394
</div>
 
1395
<div class="memdoc">
 
1396
 
 
1397
<p>Internal algorithms scans the input for the block range limit. </p>
 
1398
 
 
1399
<p>Definition at line <a class="el" href="a00090_source.html#l01075">1075</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1400
 
 
1401
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00092_source.html#l00048">id_max</a>, and <a class="el" href="a00092_source.html#l00053">set_block_shift</a>.</p>
 
1402
 
 
1403
<p>Referenced by <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, and <a class="el" href="a00090_source.html#l01184">combine_xor()</a>.</p>
 
1404
 
 
1405
</div>
 
1406
</div>
 
1407
<a class="anchor" id="abf587377ca70f11b8eb75f95494830b5"></a><!-- doxytag: member="bm::bmfor_each" ref="abf587377ca70f11b8eb75f95494830b5" args="(T first, T last, F f)" -->
 
1408
<div class="memitem">
 
1409
<div class="memproto">
 
1410
<div class="memtemplate">
 
1411
template&lt;class T , class F &gt; </div>
 
1412
      <table class="memname">
 
1413
        <tr>
 
1414
          <td class="memname">F bm::bmfor_each </td>
 
1415
          <td>(</td>
 
1416
          <td class="paramtype">T&nbsp;</td>
 
1417
          <td class="paramname"> <em>first</em>, </td>
 
1418
        </tr>
 
1419
        <tr>
 
1420
          <td class="paramkey"></td>
 
1421
          <td></td>
 
1422
          <td class="paramtype">T&nbsp;</td>
 
1423
          <td class="paramname"> <em>last</em>, </td>
 
1424
        </tr>
 
1425
        <tr>
 
1426
          <td class="paramkey"></td>
 
1427
          <td></td>
 
1428
          <td class="paramtype">F&nbsp;</td>
 
1429
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
 
1430
        </tr>
 
1431
        <tr>
 
1432
          <td></td>
 
1433
          <td>)</td>
 
1434
          <td></td><td></td><td><code> [inline]</code></td>
 
1435
        </tr>
 
1436
      </table>
 
1437
</div>
 
1438
<div class="memdoc">
 
1439
<p>Special BM optimized analog of STL for_each </p>
 
1440
 
 
1441
<p>Definition at line <a class="el" href="a00094_source.html#l00621">621</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1442
 
 
1443
</div>
 
1444
</div>
 
1445
<a class="anchor" id="a093f2dadce40f42a184928c9d1456592"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="a093f2dadce40f42a184928c9d1456592" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
 
1446
<div class="memitem">
 
1447
<div class="memproto">
 
1448
      <table class="memname">
 
1449
        <tr>
 
1450
          <td class="memname">unsigned bm::combine_any_operation_with_block </td>
 
1451
          <td>(</td>
 
1452
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1453
          <td class="paramname"> <em>blk</em>, </td>
 
1454
        </tr>
 
1455
        <tr>
 
1456
          <td class="paramkey"></td>
 
1457
          <td></td>
 
1458
          <td class="paramtype">unsigned&nbsp;</td>
 
1459
          <td class="paramname"> <em>gap</em>, </td>
 
1460
        </tr>
 
1461
        <tr>
 
1462
          <td class="paramkey"></td>
 
1463
          <td></td>
 
1464
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1465
          <td class="paramname"> <em>arg_blk</em>, </td>
 
1466
        </tr>
 
1467
        <tr>
 
1468
          <td class="paramkey"></td>
 
1469
          <td></td>
 
1470
          <td class="paramtype">int&nbsp;</td>
 
1471
          <td class="paramname"> <em>arg_gap</em>, </td>
 
1472
        </tr>
 
1473
        <tr>
 
1474
          <td class="paramkey"></td>
 
1475
          <td></td>
 
1476
          <td class="paramtype"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1477
          <td class="paramname"> <em>temp_blk</em>, </td>
 
1478
        </tr>
 
1479
        <tr>
 
1480
          <td class="paramkey"></td>
 
1481
          <td></td>
 
1482
          <td class="paramtype">distance_metric&nbsp;</td>
 
1483
          <td class="paramname"> <em>metric</em></td><td>&nbsp;</td>
 
1484
        </tr>
 
1485
        <tr>
 
1486
          <td></td>
 
1487
          <td>)</td>
 
1488
          <td></td><td></td><td><code> [inline]</code></td>
 
1489
        </tr>
 
1490
      </table>
 
1491
</div>
 
1492
<div class="memdoc">
 
1493
<p>Convenience internal function to compute combine any for one metric </p>
 
1494
 
 
1495
<p>Definition at line <a class="el" href="a00090_source.html#l00619">619</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1496
 
 
1497
<p>References <a class="el" href="a00090_source.html#l00343">combine_any_operation_with_block()</a>, and <a class="el" href="a00090_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
 
1498
 
 
1499
</div>
 
1500
</div>
 
1501
<a class="anchor" id="a24069ced9ea689034ff51246ae707ecc"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="a24069ced9ea689034ff51246ae707ecc" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
 
1502
<div class="memitem">
 
1503
<div class="memproto">
 
1504
      <table class="memname">
 
1505
        <tr>
 
1506
          <td class="memname">void bm::combine_any_operation_with_block </td>
 
1507
          <td>(</td>
 
1508
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1509
          <td class="paramname"> <em>blk</em>, </td>
 
1510
        </tr>
 
1511
        <tr>
 
1512
          <td class="paramkey"></td>
 
1513
          <td></td>
 
1514
          <td class="paramtype">unsigned&nbsp;</td>
 
1515
          <td class="paramname"> <em>gap</em>, </td>
 
1516
        </tr>
 
1517
        <tr>
 
1518
          <td class="paramkey"></td>
 
1519
          <td></td>
 
1520
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1521
          <td class="paramname"> <em>arg_blk</em>, </td>
 
1522
        </tr>
 
1523
        <tr>
 
1524
          <td class="paramkey"></td>
 
1525
          <td></td>
 
1526
          <td class="paramtype">int&nbsp;</td>
 
1527
          <td class="paramname"> <em>arg_gap</em>, </td>
 
1528
        </tr>
 
1529
        <tr>
 
1530
          <td class="paramkey"></td>
 
1531
          <td></td>
 
1532
          <td class="paramtype"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1533
          <td class="paramname"> <em>temp_blk</em>, </td>
 
1534
        </tr>
 
1535
        <tr>
 
1536
          <td class="paramkey"></td>
 
1537
          <td></td>
 
1538
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
 
1539
          <td class="paramname"> <em>dmit</em>, </td>
 
1540
        </tr>
 
1541
        <tr>
 
1542
          <td class="paramkey"></td>
 
1543
          <td></td>
 
1544
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
 
1545
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
 
1546
        </tr>
 
1547
        <tr>
 
1548
          <td></td>
 
1549
          <td>)</td>
 
1550
          <td></td><td></td><td><code> [inline]</code></td>
 
1551
        </tr>
 
1552
      </table>
 
1553
</div>
 
1554
<div class="memdoc">
 
1555
 
 
1556
<p>Internal function computes different existense of distance metric. </p>
 
1557
 
 
1558
<p>Definition at line <a class="el" href="a00090_source.html#l00343">343</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1559
 
 
1560
<p>References <a class="el" href="a00094_source.html#l03081">bit_is_all_zero()</a>, <a class="el" href="a00094_source.html#l03765">bit_operation_and_any()</a>, <a class="el" href="a00094_source.html#l03903">bit_operation_or_any()</a>, <a class="el" href="a00094_source.html#l03841">bit_operation_sub_any()</a>, <a class="el" href="a00094_source.html#l04230">bit_operation_xor_any()</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00090_source.html#l00060">COUNT_A</a>, <a class="el" href="a00090_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00090_source.html#l00061">COUNT_B</a>, <a class="el" href="a00090_source.html#l00057">COUNT_OR</a>, <a class="el" href="a00090_source.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00090_source.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00090_source.html#l00056">COUNT_XOR</a>, <a class="el" href="a00094_source.html#l01807">gap_bitset_and_any()</a>, <a class="el" href="a00094_source.html#l02045">gap_bitset_or_any()</a>, <a class="el" href="a00094_source.html#l01879">gap_bitset_sub_any()</a>, <a class="el" href="a00094_source.html#l01955">gap_bitset_xor_any()</a>, <a class="el" href="a00094_source.html#l02114">gap_convert_to_bitset()</a>, <a class="el" href="a00094_source.html#l02307">gap_is_all_zero()</a>, <a class="el" href="a00092_source.html#l00071">gap_max_bits</a>, <a class="el" href="a00092_source.html#l00070">gap_max_buff_len</a>, <a class="el" href="a00094_source.html#l03153">gap_operation_any_and()</a>, <a class="el" href="a00094_source.html#l03280">gap_operation_any_sub()</a>, <a class="el" href="a00094_source.html#l03201">gap_operation_any_xor()</a>, <a class="el" href="a00094_source.html#l03226">gap_operation_or()</a>, <a class="el" href="a00090_source.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00090_source.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00092_source.html#l00052">set_block_size</a>.</p>
 
1561
 
 
1562
<p>Referenced by <a class="el" href="a00090_source.html#l00619">combine_any_operation_with_block()</a>, and <a class="el" href="a00090_source.html#l00807">distance_operation_any()</a>.</p>
 
1563
 
 
1564
</div>
 
1565
</div>
 
1566
<a class="anchor" id="a2f81b8ce3d389973b4f867b0fcc98e7a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="a2f81b8ce3d389973b4f867b0fcc98e7a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
 
1567
<div class="memitem">
 
1568
<div class="memproto">
 
1569
      <table class="memname">
 
1570
        <tr>
 
1571
          <td class="memname">unsigned bm::combine_count_operation_with_block </td>
 
1572
          <td>(</td>
 
1573
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1574
          <td class="paramname"> <em>blk</em>, </td>
 
1575
        </tr>
 
1576
        <tr>
 
1577
          <td class="paramkey"></td>
 
1578
          <td></td>
 
1579
          <td class="paramtype">unsigned&nbsp;</td>
 
1580
          <td class="paramname"> <em>gap</em>, </td>
 
1581
        </tr>
 
1582
        <tr>
 
1583
          <td class="paramkey"></td>
 
1584
          <td></td>
 
1585
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1586
          <td class="paramname"> <em>arg_blk</em>, </td>
 
1587
        </tr>
 
1588
        <tr>
 
1589
          <td class="paramkey"></td>
 
1590
          <td></td>
 
1591
          <td class="paramtype">int&nbsp;</td>
 
1592
          <td class="paramname"> <em>arg_gap</em>, </td>
 
1593
        </tr>
 
1594
        <tr>
 
1595
          <td class="paramkey"></td>
 
1596
          <td></td>
 
1597
          <td class="paramtype"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1598
          <td class="paramname"> <em>temp_blk</em>, </td>
 
1599
        </tr>
 
1600
        <tr>
 
1601
          <td class="paramkey"></td>
 
1602
          <td></td>
 
1603
          <td class="paramtype">distance_metric&nbsp;</td>
 
1604
          <td class="paramname"> <em>metric</em></td><td>&nbsp;</td>
 
1605
        </tr>
 
1606
        <tr>
 
1607
          <td></td>
 
1608
          <td>)</td>
 
1609
          <td></td><td></td><td><code> [inline]</code></td>
 
1610
        </tr>
 
1611
      </table>
 
1612
</div>
 
1613
<div class="memdoc">
 
1614
<p>Convenience internal function to compute combine count for one metric </p>
 
1615
 
 
1616
<p>Definition at line <a class="el" href="a00090_source.html#l00597">597</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1617
 
 
1618
<p>References <a class="el" href="a00090_source.html#l00114">combine_count_operation_with_block()</a>, and <a class="el" href="a00090_source.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
 
1619
 
 
1620
</div>
 
1621
</div>
 
1622
<a class="anchor" id="abecd5b24d5e394fd46a9db514cfa659a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="abecd5b24d5e394fd46a9db514cfa659a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
 
1623
<div class="memitem">
 
1624
<div class="memproto">
 
1625
      <table class="memname">
 
1626
        <tr>
 
1627
          <td class="memname">void bm::combine_count_operation_with_block </td>
 
1628
          <td>(</td>
 
1629
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1630
          <td class="paramname"> <em>blk</em>, </td>
 
1631
        </tr>
 
1632
        <tr>
 
1633
          <td class="paramkey"></td>
 
1634
          <td></td>
 
1635
          <td class="paramtype">unsigned&nbsp;</td>
 
1636
          <td class="paramname"> <em>gap</em>, </td>
 
1637
        </tr>
 
1638
        <tr>
 
1639
          <td class="paramkey"></td>
 
1640
          <td></td>
 
1641
          <td class="paramtype">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1642
          <td class="paramname"> <em>arg_blk</em>, </td>
 
1643
        </tr>
 
1644
        <tr>
 
1645
          <td class="paramkey"></td>
 
1646
          <td></td>
 
1647
          <td class="paramtype">int&nbsp;</td>
 
1648
          <td class="paramname"> <em>arg_gap</em>, </td>
 
1649
        </tr>
 
1650
        <tr>
 
1651
          <td class="paramkey"></td>
 
1652
          <td></td>
 
1653
          <td class="paramtype"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *&nbsp;</td>
 
1654
          <td class="paramname"> <em>temp_blk</em>, </td>
 
1655
        </tr>
 
1656
        <tr>
 
1657
          <td class="paramkey"></td>
 
1658
          <td></td>
 
1659
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
 
1660
          <td class="paramname"> <em>dmit</em>, </td>
 
1661
        </tr>
 
1662
        <tr>
 
1663
          <td class="paramkey"></td>
 
1664
          <td></td>
 
1665
          <td class="paramtype">distance_metric_descriptor *&nbsp;</td>
 
1666
          <td class="paramname"> <em>dmit_end</em></td><td>&nbsp;</td>
 
1667
        </tr>
 
1668
        <tr>
 
1669
          <td></td>
 
1670
          <td>)</td>
 
1671
          <td></td><td></td><td><code> [inline]</code></td>
 
1672
        </tr>
 
1673
      </table>
 
1674
</div>
 
1675
<div class="memdoc">
 
1676
 
 
1677
<p>Internal function computes different distance metrics. </p>
 
1678
 
 
1679
<p>Definition at line <a class="el" href="a00090_source.html#l00114">114</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1680
 
 
1681
<p>References <a class="el" href="a00094_source.html#l02681">bit_block_calc_count()</a>, <a class="el" href="a00094_source.html#l05099">bm::operation_functions&lt; T &gt;::bit_operation_count()</a>, <a class="el" href="a00094_source.html#l03790">bit_operation_sub_count()</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00093_source.html#l00095">BMGAP_PTR</a>, <a class="el" href="a00090_source.html#l00060">COUNT_A</a>, <a class="el" href="a00090_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00090_source.html#l00061">COUNT_B</a>, <a class="el" href="a00090_source.html#l00057">COUNT_OR</a>, <a class="el" href="a00090_source.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00090_source.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00090_source.html#l00056">COUNT_XOR</a>, <a class="el" href="a00094_source.html#l00653">gap_bit_count()</a>, <a class="el" href="a00094_source.html#l01771">gap_bitset_and_count()</a>, <a class="el" href="a00094_source.html#l01998">gap_bitset_or_count()</a>, <a class="el" href="a00094_source.html#l01846">gap_bitset_sub_count()</a>, <a class="el" href="a00094_source.html#l01917">gap_bitset_xor_count()</a>, <a class="el" href="a00094_source.html#l02114">gap_convert_to_bitset()</a>, <a class="el" href="a00092_source.html#l00072">gap_equiv_len</a>, <a class="el" href="a00094_source.html#l03130">gap_operation_and()</a>, <a class="el" href="a00094_source.html#l03226">gap_operation_or()</a>, <a class="el" href="a00094_source.html#l03256">gap_operation_sub()</a>, <a class="el" href="a00094_source.html#l03177">gap_operation_xor()</a>, <a class="el" href="a00090_source.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00090_source.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00092_source.html#l00052">set_block_size</a>.</p>
 
1682
 
 
1683
<p>Referenced by <a class="el" href="a00090_source.html#l00597">combine_count_operation_with_block()</a>, <a class="el" href="a00097_source.html#l03298">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00090_source.html#l00688">distance_operation()</a>.</p>
 
1684
 
 
1685
</div>
 
1686
</div>
 
1687
<a class="anchor" id="a3788dd32c39556f0aef90b50e5a5e62c"></a><!-- doxytag: member="bm::compute_tmatrix_rstat" ref="a3788dd32c39556f0aef90b50e5a5e62c" args="(const TMatrix &amp;tmatrix, const unsigned char *pc_vector, typename TMatrix::rstat *rstat, unsigned effective_cols)" -->
 
1688
<div class="memitem">
 
1689
<div class="memproto">
 
1690
<div class="memtemplate">
 
1691
template&lt;class TMatrix &gt; </div>
 
1692
      <table class="memname">
 
1693
        <tr>
 
1694
          <td class="memname">void bm::compute_tmatrix_rstat </td>
 
1695
          <td>(</td>
 
1696
          <td class="paramtype">const TMatrix &amp;&nbsp;</td>
 
1697
          <td class="paramname"> <em>tmatrix</em>, </td>
 
1698
        </tr>
 
1699
        <tr>
 
1700
          <td class="paramkey"></td>
 
1701
          <td></td>
 
1702
          <td class="paramtype">const unsigned char *&nbsp;</td>
 
1703
          <td class="paramname"> <em>pc_vector</em>, </td>
 
1704
        </tr>
 
1705
        <tr>
 
1706
          <td class="paramkey"></td>
 
1707
          <td></td>
 
1708
          <td class="paramtype">typename TMatrix::rstat *&nbsp;</td>
 
1709
          <td class="paramname"> <em>rstat</em>, </td>
 
1710
        </tr>
 
1711
        <tr>
 
1712
          <td class="paramkey"></td>
 
1713
          <td></td>
 
1714
          <td class="paramtype">unsigned&nbsp;</td>
 
1715
          <td class="paramname"> <em>effective_cols</em></td><td>&nbsp;</td>
 
1716
        </tr>
 
1717
        <tr>
 
1718
          <td></td>
 
1719
          <td>)</td>
 
1720
          <td></td><td></td><td><code> [inline]</code></td>
 
1721
        </tr>
 
1722
      </table>
 
1723
</div>
 
1724
<div class="memdoc">
 
1725
 
 
1726
<p>Compute t-matrix rows statistics used for compression. </p>
 
1727
<dl><dt><b>Parameters:</b></dt><dd>
 
1728
  <table border="0" cellspacing="2" cellpadding="0">
 
1729
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00087.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em>&nbsp;</td><td>- transposed matrix </td></tr>
 
1730
    <tr><td valign="top"></td><td valign="top"><em>pc_vector</em>&nbsp;</td><td>- row content vector </td></tr>
 
1731
    <tr><td valign="top"></td><td valign="top"><em>rstat</em>&nbsp;</td><td>- output row vector </td></tr>
 
1732
  </table>
 
1733
  </dd>
 
1734
</dl>
 
1735
 
 
1736
<p>Definition at line <a class="el" href="a00101_source.html#l00683">683</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
1737
 
 
1738
<p>References <a class="el" href="a00094_source.html#l04588">best_representation()</a>, <a class="el" href="a00094_source.html#l02757">bit_count_change32()</a>, <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00101_source.html#l00386">ibpc_all_one</a>, <a class="el" href="a00101_source.html#l00385">ibpc_all_zero</a>, <a class="el" href="a00101_source.html#l00388">ibpc_close</a>, <a class="el" href="a00101_source.html#l00387">ibpc_equiv</a>, <a class="el" href="a00101_source.html#l00384">ibpc_uncompr</a>, and <a class="el" href="a00092_source.html#l00127">set_bitset</a>.</p>
 
1739
 
 
1740
<p>Referenced by <a class="el" href="a00101_source.html#l00845">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::reduce()</a>.</p>
 
1741
 
 
1742
</div>
 
1743
</div>
 
1744
<a class="anchor" id="a528894002dcd8edda28c8fb2b0aa8c64"></a><!-- doxytag: member="bm::dgap_2_gap" ref="a528894002dcd8edda28c8fb2b0aa8c64" args="(const T *dgap_buf, T *gap_buf, T gap_header=0)" -->
 
1745
<div class="memitem">
 
1746
<div class="memproto">
 
1747
<div class="memtemplate">
 
1748
template&lt;typename T &gt; </div>
 
1749
      <table class="memname">
 
1750
        <tr>
 
1751
          <td class="memname">void bm::dgap_2_gap </td>
 
1752
          <td>(</td>
 
1753
          <td class="paramtype">const T *&nbsp;</td>
 
1754
          <td class="paramname"> <em>dgap_buf</em>, </td>
 
1755
        </tr>
 
1756
        <tr>
 
1757
          <td class="paramkey"></td>
 
1758
          <td></td>
 
1759
          <td class="paramtype">T *&nbsp;</td>
 
1760
          <td class="paramname"> <em>gap_buf</em>, </td>
 
1761
        </tr>
 
1762
        <tr>
 
1763
          <td class="paramkey"></td>
 
1764
          <td></td>
 
1765
          <td class="paramtype">T&nbsp;</td>
 
1766
          <td class="paramname"> <em>gap_header</em> = <code>0</code></td><td>&nbsp;</td>
 
1767
        </tr>
 
1768
        <tr>
 
1769
          <td></td>
 
1770
          <td>)</td>
 
1771
          <td></td><td></td><td><code> [inline]</code></td>
 
1772
        </tr>
 
1773
      </table>
 
1774
</div>
 
1775
<div class="memdoc">
 
1776
 
 
1777
<p>Convert D-GAP buffer into GAP buffer. </p>
 
1778
<p>GAP representation is GAP[N] = DGAP[N] + DGAP[N-1]</p>
 
1779
<dl><dt><b>Parameters:</b></dt><dd>
 
1780
  <table border="0" cellspacing="2" cellpadding="0">
 
1781
    <tr><td valign="top"></td><td valign="top"><em>dgap_buf</em>&nbsp;</td><td>- Delta-GAP buffer </td></tr>
 
1782
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
 
1783
  </table>
 
1784
  </dd>
 
1785
</dl>
 
1786
 
 
1787
<p>Definition at line <a class="el" href="a00094_source.html#l00801">801</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1788
 
 
1789
</div>
 
1790
</div>
 
1791
<a class="anchor" id="ad47cf2dce876dcbc25aef4c7a222c66f"></a><!-- doxytag: member="bm::distance_stage" ref="ad47cf2dce876dcbc25aef4c7a222c66f" args="(const BV &amp;bv1, const distance_metric_descriptor *dmit, const distance_metric_descriptor *dmit_end, bool *is_all_and)" -->
 
1792
<div class="memitem">
 
1793
<div class="memproto">
 
1794
<div class="memtemplate">
 
1795
template&lt;class BV &gt; </div>
 
1796
      <table class="memname">
 
1797
        <tr>
 
1798
          <td class="memname"><a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>* bm::distance_stage </td>
 
1799
          <td>(</td>
 
1800
          <td class="paramtype">const BV &amp;&nbsp;</td>
 
1801
          <td class="paramname"> <em>bv1</em>, </td>
 
1802
        </tr>
 
1803
        <tr>
 
1804
          <td class="paramkey"></td>
 
1805
          <td></td>
 
1806
          <td class="paramtype">const distance_metric_descriptor *&nbsp;</td>
 
1807
          <td class="paramname"> <em>dmit</em>, </td>
 
1808
        </tr>
 
1809
        <tr>
 
1810
          <td class="paramkey"></td>
 
1811
          <td></td>
 
1812
          <td class="paramtype">const distance_metric_descriptor *&nbsp;</td>
 
1813
          <td class="paramname"> <em>dmit_end</em>, </td>
 
1814
        </tr>
 
1815
        <tr>
 
1816
          <td class="paramkey"></td>
 
1817
          <td></td>
 
1818
          <td class="paramtype">bool *&nbsp;</td>
 
1819
          <td class="paramname"> <em>is_all_and</em></td><td>&nbsp;</td>
 
1820
        </tr>
 
1821
        <tr>
 
1822
          <td></td>
 
1823
          <td>)</td>
 
1824
          <td></td><td></td><td><code> [inline]</code></td>
 
1825
        </tr>
 
1826
      </table>
 
1827
</div>
 
1828
<div class="memdoc">
 
1829
 
 
1830
<p>Staging function for distance operation. </p>
 
1831
<dl class="return"><dt><b>Returns:</b></dt><dd>temp block allocated (or NULL) </dd></dl>
 
1832
 
 
1833
<p>Definition at line <a class="el" href="a00090_source.html#l00642">642</a> of file <a class="el" href="a00090_source.html">bmalgo_impl.h</a>.</p>
 
1834
 
 
1835
<p>References <a class="el" href="a00090_source.html#l00055">COUNT_AND</a>, <a class="el" href="a00090_source.html#l00058">COUNT_SUB_AB</a>, and <a class="el" href="a00090_source.html#l00059">COUNT_SUB_BA</a>.</p>
 
1836
 
 
1837
<p>Referenced by <a class="el" href="a00090_source.html#l00688">distance_operation()</a>, and <a class="el" href="a00090_source.html#l00807">distance_operation_any()</a>.</p>
 
1838
 
 
1839
</div>
 
1840
</div>
 
1841
<a class="anchor" id="af92597461aff2926f9adcbf51bac98f9"></a><!-- doxytag: member="bm::find_effective_columns" ref="af92597461aff2926f9adcbf51bac98f9" args="(const TM &amp;tmatrix)" -->
 
1842
<div class="memitem">
 
1843
<div class="memproto">
 
1844
<div class="memtemplate">
 
1845
template&lt;typename TM &gt; </div>
 
1846
      <table class="memname">
 
1847
        <tr>
 
1848
          <td class="memname">unsigned bm::find_effective_columns </td>
 
1849
          <td>(</td>
 
1850
          <td class="paramtype">const TM &amp;&nbsp;</td>
 
1851
          <td class="paramname"> <em>tmatrix</em></td>
 
1852
          <td>&nbsp;)&nbsp;</td>
 
1853
          <td><code> [inline]</code></td>
 
1854
        </tr>
 
1855
      </table>
 
1856
</div>
 
1857
<div class="memdoc">
 
1858
 
 
1859
<p>Compute effective right column border of the t-matrix. </p>
 
1860
 
 
1861
<p>Definition at line <a class="el" href="a00101_source.html#l00741">741</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
1862
 
 
1863
<p>Referenced by <a class="el" href="a00101_source.html#l00787">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::transpose()</a>.</p>
 
1864
 
 
1865
</div>
 
1866
</div>
 
1867
<a class="anchor" id="a86742a3e17527be5a9743f26b36a7691"></a><!-- doxytag: member="bm::for_each_block" ref="a86742a3e17527be5a9743f26b36a7691" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
 
1868
<div class="memitem">
 
1869
<div class="memproto">
 
1870
<div class="memtemplate">
 
1871
template&lt;class T , class F &gt; </div>
 
1872
      <table class="memname">
 
1873
        <tr>
 
1874
          <td class="memname">void bm::for_each_block </td>
 
1875
          <td>(</td>
 
1876
          <td class="paramtype">T ***&nbsp;</td>
 
1877
          <td class="paramname"> <em>root</em>, </td>
 
1878
        </tr>
 
1879
        <tr>
 
1880
          <td class="paramkey"></td>
 
1881
          <td></td>
 
1882
          <td class="paramtype">unsigned&nbsp;</td>
 
1883
          <td class="paramname"> <em>size1</em>, </td>
 
1884
        </tr>
 
1885
        <tr>
 
1886
          <td class="paramkey"></td>
 
1887
          <td></td>
 
1888
          <td class="paramtype">unsigned&nbsp;</td>
 
1889
          <td class="paramname"> <em>size2</em>, </td>
 
1890
        </tr>
 
1891
        <tr>
 
1892
          <td class="paramkey"></td>
 
1893
          <td></td>
 
1894
          <td class="paramtype">F &amp;&nbsp;</td>
 
1895
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
 
1896
        </tr>
 
1897
        <tr>
 
1898
          <td></td>
 
1899
          <td>)</td>
 
1900
          <td></td><td></td><td><code> [inline]</code></td>
 
1901
        </tr>
 
1902
      </table>
 
1903
</div>
 
1904
<div class="memdoc">
 
1905
<p>For each block executes supplied function. </p>
 
1906
 
 
1907
<p>Definition at line <a class="el" href="a00094_source.html#l00592">592</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1908
 
 
1909
<p>Referenced by <a class="el" href="a00090_source.html#l01405">count_intervals()</a>, and <a class="el" href="a00088_source.html#l01784">bm::bvector&lt; Alloc, MS &gt;::invert()</a>.</p>
 
1910
 
 
1911
</div>
 
1912
</div>
 
1913
<a class="anchor" id="a6a7bfe8af49ed785f0e96c7ca37a2155"></a><!-- doxytag: member="bm::for_each_dgap" ref="a6a7bfe8af49ed785f0e96c7ca37a2155" args="(const T *gap_buf, Func &amp;func)" -->
 
1914
<div class="memitem">
 
1915
<div class="memproto">
 
1916
<div class="memtemplate">
 
1917
template&lt;class T , class Func &gt; </div>
 
1918
      <table class="memname">
 
1919
        <tr>
 
1920
          <td class="memname">void bm::for_each_dgap </td>
 
1921
          <td>(</td>
 
1922
          <td class="paramtype">const T *&nbsp;</td>
 
1923
          <td class="paramname"> <em>gap_buf</em>, </td>
 
1924
        </tr>
 
1925
        <tr>
 
1926
          <td class="paramkey"></td>
 
1927
          <td></td>
 
1928
          <td class="paramtype">Func &amp;&nbsp;</td>
 
1929
          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
 
1930
        </tr>
 
1931
        <tr>
 
1932
          <td></td>
 
1933
          <td>)</td>
 
1934
          <td></td><td></td><td><code> [inline]</code></td>
 
1935
        </tr>
 
1936
      </table>
 
1937
</div>
 
1938
<div class="memdoc">
 
1939
<p>D-GAP block for_each algorithm</p>
 
1940
<p>D-Gap Functor is called for each element but last one.</p>
 
1941
<dl><dt><b>Parameters:</b></dt><dd>
 
1942
  <table border="0" cellspacing="2" cellpadding="0">
 
1943
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
 
1944
  </table>
 
1945
  </dd>
 
1946
</dl>
 
1947
 
 
1948
<p>Definition at line <a class="el" href="a00094_source.html#l00736">736</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1949
 
 
1950
<p>Referenced by <a class="el" href="a00097_source.html#l00621">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>.</p>
 
1951
 
 
1952
</div>
 
1953
</div>
 
1954
<a class="anchor" id="ae8b342c25dc22d6cd26cb96d7ae796db"></a><!-- doxytag: member="bm::for_each_nzblock" ref="ae8b342c25dc22d6cd26cb96d7ae796db" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
 
1955
<div class="memitem">
 
1956
<div class="memproto">
 
1957
<div class="memtemplate">
 
1958
template&lt;class T , class F &gt; </div>
 
1959
      <table class="memname">
 
1960
        <tr>
 
1961
          <td class="memname">void bm::for_each_nzblock </td>
 
1962
          <td>(</td>
 
1963
          <td class="paramtype">T ***&nbsp;</td>
 
1964
          <td class="paramname"> <em>root</em>, </td>
 
1965
        </tr>
 
1966
        <tr>
 
1967
          <td class="paramkey"></td>
 
1968
          <td></td>
 
1969
          <td class="paramtype">unsigned&nbsp;</td>
 
1970
          <td class="paramname"> <em>size1</em>, </td>
 
1971
        </tr>
 
1972
        <tr>
 
1973
          <td class="paramkey"></td>
 
1974
          <td></td>
 
1975
          <td class="paramtype">unsigned&nbsp;</td>
 
1976
          <td class="paramname"> <em>size2</em>, </td>
 
1977
        </tr>
 
1978
        <tr>
 
1979
          <td class="paramkey"></td>
 
1980
          <td></td>
 
1981
          <td class="paramtype">F &amp;&nbsp;</td>
 
1982
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
 
1983
        </tr>
 
1984
        <tr>
 
1985
          <td></td>
 
1986
          <td>)</td>
 
1987
          <td></td><td></td><td><code> [inline]</code></td>
 
1988
        </tr>
 
1989
      </table>
 
1990
</div>
 
1991
<div class="memdoc">
 
1992
<p>For each non-zero block executes supplied function. </p>
 
1993
 
 
1994
<p>Definition at line <a class="el" href="a00094_source.html#l00527">527</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
1995
 
 
1996
<p>Referenced by <a class="el" href="a00088_source.html#l01650">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00088_source.html#l01108">bm::bvector&lt; Alloc, MS &gt;::count_blocks()</a>, <a class="el" href="a00088_source.html#l01842">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, and <a class="el" href="a00088_source.html#l01905">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.</p>
 
1997
 
 
1998
</div>
 
1999
</div>
 
2000
<a class="anchor" id="a6f5cb8cbb105eae84d4b0f8a3bc1230f"></a><!-- doxytag: member="bm::for_each_nzblock_if" ref="a6f5cb8cbb105eae84d4b0f8a3bc1230f" args="(T ***root, unsigned size1, unsigned size2, F &amp;f)" -->
 
2001
<div class="memitem">
 
2002
<div class="memproto">
 
2003
<div class="memtemplate">
 
2004
template&lt;class T , class F &gt; </div>
 
2005
      <table class="memname">
 
2006
        <tr>
 
2007
          <td class="memname">bool bm::for_each_nzblock_if </td>
 
2008
          <td>(</td>
 
2009
          <td class="paramtype">T ***&nbsp;</td>
 
2010
          <td class="paramname"> <em>root</em>, </td>
 
2011
        </tr>
 
2012
        <tr>
 
2013
          <td class="paramkey"></td>
 
2014
          <td></td>
 
2015
          <td class="paramtype">unsigned&nbsp;</td>
 
2016
          <td class="paramname"> <em>size1</em>, </td>
 
2017
        </tr>
 
2018
        <tr>
 
2019
          <td class="paramkey"></td>
 
2020
          <td></td>
 
2021
          <td class="paramtype">unsigned&nbsp;</td>
 
2022
          <td class="paramname"> <em>size2</em>, </td>
 
2023
        </tr>
 
2024
        <tr>
 
2025
          <td class="paramkey"></td>
 
2026
          <td></td>
 
2027
          <td class="paramtype">F &amp;&nbsp;</td>
 
2028
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
 
2029
        </tr>
 
2030
        <tr>
 
2031
          <td></td>
 
2032
          <td>)</td>
 
2033
          <td></td><td></td><td><code> [inline]</code></td>
 
2034
        </tr>
 
2035
      </table>
 
2036
</div>
 
2037
<div class="memdoc">
 
2038
<p>For each non-zero block executes supplied function-predicate. Function returns if function-predicate returns true </p>
 
2039
 
 
2040
<p>Definition at line <a class="el" href="a00094_source.html#l00567">567</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2041
 
 
2042
<p>References <a class="el" href="a00092_source.html#l00080">set_array_size</a>.</p>
 
2043
 
 
2044
<p>Referenced by <a class="el" href="a00088_source.html#l01176">bm::bvector&lt; Alloc, MS &gt;::any()</a>.</p>
 
2045
 
 
2046
</div>
 
2047
</div>
 
2048
<a class="anchor" id="a76724fb233f93c15146641482311ce28"></a><!-- doxytag: member="bm::gap_2_bitblock" ref="a76724fb233f93c15146641482311ce28" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)" -->
 
2049
<div class="memitem">
 
2050
<div class="memproto">
 
2051
<div class="memtemplate">
 
2052
template&lt;typename GT , typename BT &gt; </div>
 
2053
      <table class="memname">
 
2054
        <tr>
 
2055
          <td class="memname">void bm::gap_2_bitblock </td>
 
2056
          <td>(</td>
 
2057
          <td class="paramtype">const GT *BMRESTRICT&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">BT *BMRESTRICT&nbsp;</td>
 
2064
          <td class="paramname"> <em>block</em>, </td>
 
2065
        </tr>
 
2066
        <tr>
 
2067
          <td class="paramkey"></td>
 
2068
          <td></td>
 
2069
          <td class="paramtype">unsigned&nbsp;</td>
 
2070
          <td class="paramname"> <em>block_size</em></td><td>&nbsp;</td>
 
2071
        </tr>
 
2072
        <tr>
 
2073
          <td></td>
 
2074
          <td>)</td>
 
2075
          <td></td><td></td><td><code> [inline]</code></td>
 
2076
        </tr>
 
2077
      </table>
 
2078
</div>
 
2079
<div class="memdoc">
 
2080
 
 
2081
<p>Copy GAP block body to bit block with DGap transformation. </p>
 
2082
 
 
2083
<p>Definition at line <a class="el" href="a00101_source.html#l00656">656</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
2084
 
 
2085
<p>Referenced by <a class="el" href="a00101_source.html#l00787">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::transpose()</a>.</p>
 
2086
 
 
2087
</div>
 
2088
</div>
 
2089
<a class="anchor" id="afa6ea0cce0cdd88738a01fad393376b3"></a><!-- doxytag: member="bm::gap_2_dgap" ref="afa6ea0cce0cdd88738a01fad393376b3" args="(const T *gap_buf, T *dgap_buf, bool copy_head=true)" -->
 
2090
<div class="memitem">
 
2091
<div class="memproto">
 
2092
<div class="memtemplate">
 
2093
template&lt;typename T &gt; </div>
 
2094
      <table class="memname">
 
2095
        <tr>
 
2096
          <td class="memname">T* bm::gap_2_dgap </td>
 
2097
          <td>(</td>
 
2098
          <td class="paramtype">const T *&nbsp;</td>
 
2099
          <td class="paramname"> <em>gap_buf</em>, </td>
 
2100
        </tr>
 
2101
        <tr>
 
2102
          <td class="paramkey"></td>
 
2103
          <td></td>
 
2104
          <td class="paramtype">T *&nbsp;</td>
 
2105
          <td class="paramname"> <em>dgap_buf</em>, </td>
 
2106
        </tr>
 
2107
        <tr>
 
2108
          <td class="paramkey"></td>
 
2109
          <td></td>
 
2110
          <td class="paramtype">bool&nbsp;</td>
 
2111
          <td class="paramname"> <em>copy_head</em> = <code>true</code></td><td>&nbsp;</td>
 
2112
        </tr>
 
2113
        <tr>
 
2114
          <td></td>
 
2115
          <td>)</td>
 
2116
          <td></td><td></td><td><code> [inline]</code></td>
 
2117
        </tr>
 
2118
      </table>
 
2119
</div>
 
2120
<div class="memdoc">
 
2121
 
 
2122
<p>Convert GAP buffer into D-GAP buffer. </p>
 
2123
<p>Delta GAP representation is DGAP[N] = GAP[N] - GAP[N-1]</p>
 
2124
<dl><dt><b>Parameters:</b></dt><dd>
 
2125
  <table border="0" cellspacing="2" cellpadding="0">
 
2126
    <tr><td valign="top"></td><td valign="top"><em>gap_buf</em>&nbsp;</td><td>- GAP buffer </td></tr>
 
2127
    <tr><td valign="top"></td><td valign="top"><em>dgap_buf</em>&nbsp;</td><td>- Delta-GAP buffer </td></tr>
 
2128
    <tr><td valign="top"></td><td valign="top"><em>copy_head</em>&nbsp;</td><td>- flag to copy GAP header </td></tr>
 
2129
  </table>
 
2130
  </dd>
 
2131
</dl>
 
2132
 
 
2133
<p>Definition at line <a class="el" href="a00094_source.html#l00777">777</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2134
 
 
2135
<p>References <a class="el" href="a00094_source.html#l00760">bm::d_copy_func&lt; T &gt;::dgap_buf_</a>.</p>
 
2136
 
 
2137
</div>
 
2138
</div>
 
2139
<a class="anchor" id="acebed8b533c2c9e17167617501477693"></a><!-- doxytag: member="bm::gap_bfind" ref="acebed8b533c2c9e17167617501477693" args="(const T *buf, unsigned pos, unsigned *is_set)" -->
 
2140
<div class="memitem">
 
2141
<div class="memproto">
 
2142
<div class="memtemplate">
 
2143
template&lt;typename T &gt; </div>
 
2144
      <table class="memname">
 
2145
        <tr>
 
2146
          <td class="memname">unsigned bm::gap_bfind </td>
 
2147
          <td>(</td>
 
2148
          <td class="paramtype">const T *&nbsp;</td>
 
2149
          <td class="paramname"> <em>buf</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>pos</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>is_set</em></td><td>&nbsp;</td>
 
2162
        </tr>
 
2163
        <tr>
 
2164
          <td></td>
 
2165
          <td>)</td>
 
2166
          <td></td><td></td><td><code> [inline]</code></td>
 
2167
        </tr>
 
2168
      </table>
 
2169
</div>
 
2170
<div class="memdoc">
 
2171
 
 
2172
<p>Definition at line <a class="el" href="a00094_source.html#l00461">461</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2173
 
 
2174
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, and <a class="el" href="a00092_source.html#l00071">gap_max_bits</a>.</p>
 
2175
 
 
2176
<p>Referenced by <a class="el" href="a00094_source.html#l00689">gap_bit_count_range()</a>, <a class="el" href="a00094_source.html#l01401">gap_find_in_block()</a>, and <a class="el" href="a00094_source.html#l01133">gap_set_value()</a>.</p>
 
2177
 
 
2178
</div>
 
2179
</div>
 
2180
<a class="anchor" id="a7324ebded429e15361f62117a2ff18d1"></a><!-- doxytag: member="bm::gap_bit_count_range" ref="a7324ebded429e15361f62117a2ff18d1" args="(const T *buf, T left, T right)" -->
 
2181
<div class="memitem">
 
2182
<div class="memproto">
 
2183
<div class="memtemplate">
 
2184
template&lt;typename T &gt; </div>
 
2185
      <table class="memname">
 
2186
        <tr>
 
2187
          <td class="memname">unsigned bm::gap_bit_count_range </td>
 
2188
          <td>(</td>
 
2189
          <td class="paramtype">const T *&nbsp;</td>
 
2190
          <td class="paramname"> <em>buf</em>, </td>
 
2191
        </tr>
 
2192
        <tr>
 
2193
          <td class="paramkey"></td>
 
2194
          <td></td>
 
2195
          <td class="paramtype">T&nbsp;</td>
 
2196
          <td class="paramname"> <em>left</em>, </td>
 
2197
        </tr>
 
2198
        <tr>
 
2199
          <td class="paramkey"></td>
 
2200
          <td></td>
 
2201
          <td class="paramtype">T&nbsp;</td>
 
2202
          <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
 
2203
        </tr>
 
2204
        <tr>
 
2205
          <td></td>
 
2206
          <td>)</td>
 
2207
          <td></td><td></td><td><code> [inline]</code></td>
 
2208
        </tr>
 
2209
      </table>
 
2210
</div>
 
2211
<div class="memdoc">
 
2212
 
 
2213
<p>Counts 1 bits in GAP buffer in the closed [left, right] diapason. </p>
 
2214
<dl><dt><b>Parameters:</b></dt><dd>
 
2215
  <table border="0" cellspacing="2" cellpadding="0">
 
2216
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
 
2217
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>- leftmost bit index to start from </td></tr>
 
2218
    <tr><td valign="top"></td><td valign="top"><em>right-</em>&nbsp;</td><td>rightmost bit index </td></tr>
 
2219
  </table>
 
2220
  </dd>
 
2221
</dl>
 
2222
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of non-zero bits. </dd></dl>
 
2223
 
 
2224
<p>Definition at line <a class="el" href="a00094_source.html#l00689">689</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2225
 
 
2226
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, and <a class="el" href="a00094_source.html#l00461">gap_bfind()</a>.</p>
 
2227
 
 
2228
<p>Referenced by <a class="el" href="a00088_source.html#l01690">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>.</p>
 
2229
 
 
2230
</div>
 
2231
</div>
 
2232
<a class="anchor" id="aac0daaac2b5a7c88e6be726c77f52c68"></a><!-- doxytag: member="bm::gap_buff_op" ref="aac0daaac2b5a7c88e6be726c77f52c68" args="(T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F &amp;f, unsigned &amp;dlen)" -->
 
2233
<div class="memitem">
 
2234
<div class="memproto">
 
2235
<div class="memtemplate">
 
2236
template&lt;typename T , class F &gt; </div>
 
2237
      <table class="memname">
 
2238
        <tr>
 
2239
          <td class="memname">void bm::gap_buff_op </td>
 
2240
          <td>(</td>
 
2241
          <td class="paramtype">T *BMRESTRICT&nbsp;</td>
 
2242
          <td class="paramname"> <em>dest</em>, </td>
 
2243
        </tr>
 
2244
        <tr>
 
2245
          <td class="paramkey"></td>
 
2246
          <td></td>
 
2247
          <td class="paramtype">const T *BMRESTRICT&nbsp;</td>
 
2248
          <td class="paramname"> <em>vect1</em>, </td>
 
2249
        </tr>
 
2250
        <tr>
 
2251
          <td class="paramkey"></td>
 
2252
          <td></td>
 
2253
          <td class="paramtype">unsigned&nbsp;</td>
 
2254
          <td class="paramname"> <em>vect1_mask</em>, </td>
 
2255
        </tr>
 
2256
        <tr>
 
2257
          <td class="paramkey"></td>
 
2258
          <td></td>
 
2259
          <td class="paramtype">const T *BMRESTRICT&nbsp;</td>
 
2260
          <td class="paramname"> <em>vect2</em>, </td>
 
2261
        </tr>
 
2262
        <tr>
 
2263
          <td class="paramkey"></td>
 
2264
          <td></td>
 
2265
          <td class="paramtype">unsigned&nbsp;</td>
 
2266
          <td class="paramname"> <em>vect2_mask</em>, </td>
 
2267
        </tr>
 
2268
        <tr>
 
2269
          <td class="paramkey"></td>
 
2270
          <td></td>
 
2271
          <td class="paramtype">F &amp;&nbsp;</td>
 
2272
          <td class="paramname"> <em>f</em>, </td>
 
2273
        </tr>
 
2274
        <tr>
 
2275
          <td class="paramkey"></td>
 
2276
          <td></td>
 
2277
          <td class="paramtype">unsigned &amp;&nbsp;</td>
 
2278
          <td class="paramname"> <em>dlen</em></td><td>&nbsp;</td>
 
2279
        </tr>
 
2280
        <tr>
 
2281
          <td></td>
 
2282
          <td>)</td>
 
2283
          <td></td><td></td><td><code> [inline]</code></td>
 
2284
        </tr>
 
2285
      </table>
 
2286
</div>
 
2287
<div class="memdoc">
 
2288
 
 
2289
<p>Abstract operation for GAP buffers. Receives functor F as a template argument. </p>
 
2290
<dl><dt><b>Parameters:</b></dt><dd>
 
2291
  <table border="0" cellspacing="2" cellpadding="0">
 
2292
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- destination memory buffer. </td></tr>
 
2293
    <tr><td valign="top"></td><td valign="top"><em>vect1</em>&nbsp;</td><td>- operand 1 GAP encoded buffer. </td></tr>
 
2294
    <tr><td valign="top"></td><td valign="top"><em>vect1_mask</em>&nbsp;</td><td>- XOR mask for starting bitflag for vector1 can be 0 or 1 (1 inverts the vector) </td></tr>
 
2295
    <tr><td valign="top"></td><td valign="top"><em>vect2</em>&nbsp;</td><td>- operand 2 GAP encoded buffer. </td></tr>
 
2296
    <tr><td valign="top"></td><td valign="top"><em>vect2_mask</em>&nbsp;</td><td>- same as vect1_mask </td></tr>
 
2297
    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>- operation functor. </td></tr>
 
2298
    <tr><td valign="top"></td><td valign="top"><em>dlen</em>&nbsp;</td><td>- destination length after the operation</td></tr>
 
2299
  </table>
 
2300
  </dd>
 
2301
</dl>
 
2302
<dl class="note"><dt><b>Note:</b></dt><dd>Internal function. </dd></dl>
 
2303
 
 
2304
<p>Definition at line <a class="el" href="a00094_source.html#l00908">908</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2305
 
 
2306
<p>References <a class="el" href="a00092_source.html#l00071">gap_max_bits</a>.</p>
 
2307
 
 
2308
<p>Referenced by <a class="el" href="a00094_source.html#l03130">gap_operation_and()</a>, <a class="el" href="a00094_source.html#l03226">gap_operation_or()</a>, <a class="el" href="a00094_source.html#l03256">gap_operation_sub()</a>, and <a class="el" href="a00094_source.html#l03177">gap_operation_xor()</a>.</p>
 
2309
 
 
2310
</div>
 
2311
</div>
 
2312
<a class="anchor" id="a5f818ac575622da8a9a75511e649ea90"></a><!-- doxytag: member="bm::ilog2" ref="a5f818ac575622da8a9a75511e649ea90" args="(gap_word_t x)" -->
 
2313
<div class="memitem">
 
2314
<div class="memproto">
 
2315
<div class="memtemplate">
 
2316
template&lt;&gt; </div>
 
2317
      <table class="memname">
 
2318
        <tr>
 
2319
          <td class="memname"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2 </td>
 
2320
          <td>(</td>
 
2321
          <td class="paramtype">gap_word_t&nbsp;</td>
 
2322
          <td class="paramname"> <em>x</em></td>
 
2323
          <td>&nbsp;)&nbsp;</td>
 
2324
          <td><code> [inline]</code></td>
 
2325
        </tr>
 
2326
      </table>
 
2327
</div>
 
2328
<div class="memdoc">
 
2329
 
 
2330
<p>Definition at line <a class="el" href="a00103_source.html#l00081">81</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
 
2331
 
 
2332
</div>
 
2333
</div>
 
2334
<a class="anchor" id="a46f258f92ab40e2a0c76aa775338faaa"></a><!-- doxytag: member="bm::ilog2" ref="a46f258f92ab40e2a0c76aa775338faaa" args="(T x)" -->
 
2335
<div class="memitem">
 
2336
<div class="memproto">
 
2337
<div class="memtemplate">
 
2338
template&lt;typename T &gt; </div>
 
2339
      <table class="memname">
 
2340
        <tr>
 
2341
          <td class="memname">T bm::ilog2 </td>
 
2342
          <td>(</td>
 
2343
          <td class="paramtype">T&nbsp;</td>
 
2344
          <td class="paramname"> <em>x</em></td>
 
2345
          <td>&nbsp;)&nbsp;</td>
 
2346
          <td><code> [inline]</code></td>
 
2347
        </tr>
 
2348
      </table>
 
2349
</div>
 
2350
<div class="memdoc">
 
2351
 
 
2352
<p>Fast loop-less function to find LOG2. </p>
 
2353
 
 
2354
<p>Definition at line <a class="el" href="a00103_source.html#l00069">69</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
 
2355
 
 
2356
</div>
 
2357
</div>
 
2358
<a class="anchor" id="a3ab126a6fd7ffd872a4001638819a330"></a><!-- doxytag: member="bm::ilog2_LUT" ref="a3ab126a6fd7ffd872a4001638819a330" args="(T x)" -->
 
2359
<div class="memitem">
 
2360
<div class="memproto">
 
2361
<div class="memtemplate">
 
2362
template&lt;typename T &gt; </div>
 
2363
      <table class="memname">
 
2364
        <tr>
 
2365
          <td class="memname">T bm::ilog2_LUT </td>
 
2366
          <td>(</td>
 
2367
          <td class="paramtype">T&nbsp;</td>
 
2368
          <td class="paramname"> <em>x</em></td>
 
2369
          <td>&nbsp;)&nbsp;</td>
 
2370
          <td><code> [inline]</code></td>
 
2371
        </tr>
 
2372
      </table>
 
2373
</div>
 
2374
<div class="memdoc">
 
2375
 
 
2376
<p>Lookup table based integer LOG2. </p>
 
2377
 
 
2378
<p>Definition at line <a class="el" href="a00103_source.html#l00112">112</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
 
2379
 
 
2380
<p>Referenced by <a class="el" href="a00105_source.html#l00229">bm::bit_out&lt; TEncoder &gt;::gamma()</a>.</p>
 
2381
 
 
2382
</div>
 
2383
</div>
 
2384
<a class="anchor" id="a7074ee06dc4ee023170c2f85c78b50fe"></a><!-- doxytag: member="bm::ilog2_LUT&lt; bm::gap_word_t &gt;" ref="a7074ee06dc4ee023170c2f85c78b50fe" args="(bm::gap_word_t x)" -->
 
2385
<div class="memitem">
 
2386
<div class="memproto">
 
2387
<div class="memtemplate">
 
2388
template&lt;&gt; </div>
 
2389
      <table class="memname">
 
2390
        <tr>
 
2391
          <td class="memname"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2_LUT&lt; <a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> &gt; </td>
 
2392
          <td>(</td>
 
2393
          <td class="paramtype"><a class="el" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a>&nbsp;</td>
 
2394
          <td class="paramname"> <em>x</em></td>
 
2395
          <td>&nbsp;)&nbsp;</td>
 
2396
          <td><code> [inline]</code></td>
 
2397
        </tr>
 
2398
      </table>
 
2399
</div>
 
2400
<div class="memdoc">
 
2401
 
 
2402
<p>Lookup table based short integer LOG2. </p>
 
2403
 
 
2404
</div>
 
2405
</div>
 
2406
<a class="anchor" id="a3deb310cdf11bca948817f94adfec160"></a><!-- doxytag: member="bm::is_const_set_operation" ref="a3deb310cdf11bca948817f94adfec160" args="(set_operation op)" -->
 
2407
<div class="memitem">
 
2408
<div class="memproto">
 
2409
      <table class="memname">
 
2410
        <tr>
 
2411
          <td class="memname">bool bm::is_const_set_operation </td>
 
2412
          <td>(</td>
 
2413
          <td class="paramtype">set_operation&nbsp;</td>
 
2414
          <td class="paramname"> <em>op</em></td>
 
2415
          <td>&nbsp;)&nbsp;</td>
 
2416
          <td><code> [inline]</code></td>
 
2417
        </tr>
 
2418
      </table>
 
2419
</div>
 
2420
<div class="memdoc">
 
2421
 
 
2422
<p>Returns true if set operation is constant (bitcount). </p>
 
2423
 
 
2424
<p>Definition at line <a class="el" href="a00094_source.html#l00266">266</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2425
 
 
2426
<p>References <a class="el" href="a00094_source.html#l00252">set_COUNT</a>.</p>
 
2427
 
 
2428
<p>Referenced by <a class="el" href="a00097_source.html#l03298">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00090_source.html#l00069">operation2metric()</a>.</p>
 
2429
 
 
2430
</div>
 
2431
</div>
 
2432
<a class="anchor" id="a515b2862b33efd4e36d72e4ba7729199"></a><!-- doxytag: member="bm::op_and" ref="a515b2862b33efd4e36d72e4ba7729199" args="(unsigned a, unsigned b)" -->
 
2433
<div class="memitem">
 
2434
<div class="memproto">
 
2435
      <table class="memname">
 
2436
        <tr>
 
2437
          <td class="memname">BMFORCEINLINE unsigned bm::op_and </td>
 
2438
          <td>(</td>
 
2439
          <td class="paramtype">unsigned&nbsp;</td>
 
2440
          <td class="paramname"> <em>a</em>, </td>
 
2441
        </tr>
 
2442
        <tr>
 
2443
          <td class="paramkey"></td>
 
2444
          <td></td>
 
2445
          <td class="paramtype">unsigned&nbsp;</td>
 
2446
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2447
        </tr>
 
2448
        <tr>
 
2449
          <td></td>
 
2450
          <td>)</td>
 
2451
          <td></td><td></td><td></td>
 
2452
        </tr>
 
2453
      </table>
 
2454
</div>
 
2455
<div class="memdoc">
 
2456
 
 
2457
<p>Definition at line <a class="el" href="a00099_source.html#l00102">102</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
 
2458
 
 
2459
</div>
 
2460
</div>
 
2461
<a class="anchor" id="a0ed9a1bcd143f7763b4b59ef442f6994"></a><!-- doxytag: member="bm::op_or" ref="a0ed9a1bcd143f7763b4b59ef442f6994" args="(unsigned a, unsigned b)" -->
 
2462
<div class="memitem">
 
2463
<div class="memproto">
 
2464
      <table class="memname">
 
2465
        <tr>
 
2466
          <td class="memname">BMFORCEINLINE unsigned bm::op_or </td>
 
2467
          <td>(</td>
 
2468
          <td class="paramtype">unsigned&nbsp;</td>
 
2469
          <td class="paramname"> <em>a</em>, </td>
 
2470
        </tr>
 
2471
        <tr>
 
2472
          <td class="paramkey"></td>
 
2473
          <td></td>
 
2474
          <td class="paramtype">unsigned&nbsp;</td>
 
2475
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2476
        </tr>
 
2477
        <tr>
 
2478
          <td></td>
 
2479
          <td>)</td>
 
2480
          <td></td><td></td><td></td>
 
2481
        </tr>
 
2482
      </table>
 
2483
</div>
 
2484
<div class="memdoc">
 
2485
 
 
2486
<p>Definition at line <a class="el" href="a00099_source.html#l00093">93</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
 
2487
 
 
2488
</div>
 
2489
</div>
 
2490
<a class="anchor" id="a6d8f327a7d19c11125ac77383a34e986"></a><!-- doxytag: member="bm::op_xor" ref="a6d8f327a7d19c11125ac77383a34e986" args="(unsigned a, unsigned b)" -->
 
2491
<div class="memitem">
 
2492
<div class="memproto">
 
2493
      <table class="memname">
 
2494
        <tr>
 
2495
          <td class="memname">BMFORCEINLINE unsigned bm::op_xor </td>
 
2496
          <td>(</td>
 
2497
          <td class="paramtype">unsigned&nbsp;</td>
 
2498
          <td class="paramname"> <em>a</em>, </td>
 
2499
        </tr>
 
2500
        <tr>
 
2501
          <td class="paramkey"></td>
 
2502
          <td></td>
 
2503
          <td class="paramtype">unsigned&nbsp;</td>
 
2504
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2505
        </tr>
 
2506
        <tr>
 
2507
          <td></td>
 
2508
          <td>)</td>
 
2509
          <td></td><td></td><td></td>
 
2510
        </tr>
 
2511
      </table>
 
2512
</div>
 
2513
<div class="memdoc">
 
2514
 
 
2515
<p>Definition at line <a class="el" href="a00099_source.html#l00083">83</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
 
2516
 
 
2517
</div>
 
2518
</div>
 
2519
<a class="anchor" id="ac766cc15ae8feca9e21a36c49bf3b557"></a><!-- doxytag: member="bm::operator&amp;" ref="ac766cc15ae8feca9e21a36c49bf3b557" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
 
2520
<div class="memitem">
 
2521
<div class="memproto">
 
2522
<div class="memtemplate">
 
2523
template&lt;class Alloc , class MS &gt; </div>
 
2524
      <table class="memname">
 
2525
        <tr>
 
2526
          <td class="memname"><a class="el" href="a00044.html">bvector</a>&lt;Alloc, MS&gt; bm::operator&amp; </td>
 
2527
          <td>(</td>
 
2528
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2529
          <td class="paramname"> <em>v1</em>, </td>
 
2530
        </tr>
 
2531
        <tr>
 
2532
          <td class="paramkey"></td>
 
2533
          <td></td>
 
2534
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2535
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
2536
        </tr>
 
2537
        <tr>
 
2538
          <td></td>
 
2539
          <td>)</td>
 
2540
          <td></td><td></td><td><code> [inline]</code></td>
 
2541
        </tr>
 
2542
      </table>
 
2543
</div>
 
2544
<div class="memdoc">
 
2545
 
 
2546
<p>Definition at line <a class="el" href="a00088_source.html#l01564">1564</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
 
2547
 
 
2548
<p>References <a class="el" href="a00088_source.html#l01296">bm::bvector&lt; Alloc, MS &gt;::bit_and()</a>.</p>
 
2549
 
 
2550
</div>
 
2551
</div>
 
2552
<a class="anchor" id="afe23d0ced66b48b9c4214e0b00dcc5ac"></a><!-- doxytag: member="bm::operator&#45;" ref="afe23d0ced66b48b9c4214e0b00dcc5ac" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
 
2553
<div class="memitem">
 
2554
<div class="memproto">
 
2555
<div class="memtemplate">
 
2556
template&lt;class Alloc , class MS &gt; </div>
 
2557
      <table class="memname">
 
2558
        <tr>
 
2559
          <td class="memname"><a class="el" href="a00044.html">bvector</a>&lt;Alloc, MS&gt; bm::operator- </td>
 
2560
          <td>(</td>
 
2561
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2562
          <td class="paramname"> <em>v1</em>, </td>
 
2563
        </tr>
 
2564
        <tr>
 
2565
          <td class="paramkey"></td>
 
2566
          <td></td>
 
2567
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2568
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
2569
        </tr>
 
2570
        <tr>
 
2571
          <td></td>
 
2572
          <td>)</td>
 
2573
          <td></td><td></td><td><code> [inline]</code></td>
 
2574
        </tr>
 
2575
      </table>
 
2576
</div>
 
2577
<div class="memdoc">
 
2578
 
 
2579
<p>Definition at line <a class="el" href="a00088_source.html#l01609">1609</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
 
2580
 
 
2581
<p>References <a class="el" href="a00088_source.html#l01318">bm::bvector&lt; Alloc, MS &gt;::bit_sub()</a>.</p>
 
2582
 
 
2583
</div>
 
2584
</div>
 
2585
<a class="anchor" id="a7042429992aec5891a3df1b0bddea05f"></a><!-- doxytag: member="bm::operator^" ref="a7042429992aec5891a3df1b0bddea05f" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc, MS &gt; &amp;v2)" -->
 
2586
<div class="memitem">
 
2587
<div class="memproto">
 
2588
<div class="memtemplate">
 
2589
template&lt;class Alloc , class MS &gt; </div>
 
2590
      <table class="memname">
 
2591
        <tr>
 
2592
          <td class="memname"><a class="el" href="a00044.html">bvector</a>&lt;Alloc, MS&gt; bm::operator^ </td>
 
2593
          <td>(</td>
 
2594
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2595
          <td class="paramname"> <em>v1</em>, </td>
 
2596
        </tr>
 
2597
        <tr>
 
2598
          <td class="paramkey"></td>
 
2599
          <td></td>
 
2600
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2601
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
2602
        </tr>
 
2603
        <tr>
 
2604
          <td></td>
 
2605
          <td>)</td>
 
2606
          <td></td><td></td><td><code> [inline]</code></td>
 
2607
        </tr>
 
2608
      </table>
 
2609
</div>
 
2610
<div class="memdoc">
 
2611
 
 
2612
<p>Definition at line <a class="el" href="a00088_source.html#l01594">1594</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
 
2613
 
 
2614
<p>References <a class="el" href="a00088_source.html#l01307">bm::bvector&lt; Alloc, MS &gt;::bit_xor()</a>.</p>
 
2615
 
 
2616
</div>
 
2617
</div>
 
2618
<a class="anchor" id="a5cc9411c5170df52c1c4ea436ef32745"></a><!-- doxytag: member="bm::operator|" ref="a5cc9411c5170df52c1c4ea436ef32745" args="(const bvector&lt; Alloc, MS &gt; &amp;v1, const bvector&lt; Alloc &gt; &amp;v2)" -->
 
2619
<div class="memitem">
 
2620
<div class="memproto">
 
2621
<div class="memtemplate">
 
2622
template&lt;class Alloc , class MS &gt; </div>
 
2623
      <table class="memname">
 
2624
        <tr>
 
2625
          <td class="memname"><a class="el" href="a00044.html">bvector</a>&lt;Alloc, MS&gt; bm::operator| </td>
 
2626
          <td>(</td>
 
2627
          <td class="paramtype">const bvector&lt; Alloc, MS &gt; &amp;&nbsp;</td>
 
2628
          <td class="paramname"> <em>v1</em>, </td>
 
2629
        </tr>
 
2630
        <tr>
 
2631
          <td class="paramkey"></td>
 
2632
          <td></td>
 
2633
          <td class="paramtype">const bvector&lt; Alloc &gt; &amp;&nbsp;</td>
 
2634
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
2635
        </tr>
 
2636
        <tr>
 
2637
          <td></td>
 
2638
          <td>)</td>
 
2639
          <td></td><td></td><td><code> [inline]</code></td>
 
2640
        </tr>
 
2641
      </table>
 
2642
</div>
 
2643
<div class="memdoc">
 
2644
 
 
2645
<p>Definition at line <a class="el" href="a00088_source.html#l01579">1579</a> of file <a class="el" href="a00088_source.html">bm.h</a>.</p>
 
2646
 
 
2647
<p>References <a class="el" href="a00088_source.html#l01285">bm::bvector&lt; Alloc, MS &gt;::bit_or()</a>.</p>
 
2648
 
 
2649
</div>
 
2650
</div>
 
2651
<a class="anchor" id="a30cec2c137813460f4b4c65c5879a4c3"></a><!-- doxytag: member="bm::parallel_popcnt_32" ref="a30cec2c137813460f4b4c65c5879a4c3" args="(unsigned int n)" -->
 
2652
<div class="memitem">
 
2653
<div class="memproto">
 
2654
      <table class="memname">
 
2655
        <tr>
 
2656
          <td class="memname">int bm::parallel_popcnt_32 </td>
 
2657
          <td>(</td>
 
2658
          <td class="paramtype">unsigned int&nbsp;</td>
 
2659
          <td class="paramname"> <em>n</em></td>
 
2660
          <td>&nbsp;)&nbsp;</td>
 
2661
          <td><code> [inline]</code></td>
 
2662
        </tr>
 
2663
      </table>
 
2664
</div>
 
2665
<div class="memdoc">
 
2666
 
 
2667
<p>Definition at line <a class="el" href="a00094_source.html#l00179">179</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2668
 
 
2669
</div>
 
2670
</div>
 
2671
<a class="anchor" id="a7c192b64adb0590a09b5c2dad77c4b76"></a><!-- doxytag: member="bm::setop2op" ref="a7c192b64adb0590a09b5c2dad77c4b76" args="(bm::set_operation op)" -->
 
2672
<div class="memitem">
 
2673
<div class="memproto">
 
2674
      <table class="memname">
 
2675
        <tr>
 
2676
          <td class="memname"><a class="el" href="a00116.html#a42405343976ec931388381cea4092bf1">bm::operation</a> bm::setop2op </td>
 
2677
          <td>(</td>
 
2678
          <td class="paramtype"><a class="el" href="a00116.html#a76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a>&nbsp;</td>
 
2679
          <td class="paramname"> <em>op</em></td>
 
2680
          <td>&nbsp;)&nbsp;</td>
 
2681
          <td><code> [inline]</code></td>
 
2682
        </tr>
 
2683
      </table>
 
2684
</div>
 
2685
<div class="memdoc">
 
2686
 
 
2687
<p>Convert set operation to operation. </p>
 
2688
 
 
2689
<p>Definition at line <a class="el" href="a00094_source.html#l00286">286</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2690
 
 
2691
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00094_source.html#l00247">set_AND</a>, <a class="el" href="a00094_source.html#l00248">set_OR</a>, <a class="el" href="a00094_source.html#l00249">set_SUB</a>, and <a class="el" href="a00094_source.html#l00250">set_XOR</a>.</p>
 
2692
 
 
2693
<p>Referenced by <a class="el" href="a00097_source.html#l03080">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>.</p>
 
2694
 
 
2695
</div>
 
2696
</div>
 
2697
<a class="anchor" id="ac0c75fb7b3dc61602843ac4e1b9b7ef5"></a><!-- doxytag: member="bm::sse2_and" ref="ac0c75fb7b3dc61602843ac4e1b9b7ef5" args="(__m128i a, __m128i b)" -->
 
2698
<div class="memitem">
 
2699
<div class="memproto">
 
2700
      <table class="memname">
 
2701
        <tr>
 
2702
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_and </td>
 
2703
          <td>(</td>
 
2704
          <td class="paramtype">__m128i&nbsp;</td>
 
2705
          <td class="paramname"> <em>a</em>, </td>
 
2706
        </tr>
 
2707
        <tr>
 
2708
          <td class="paramkey"></td>
 
2709
          <td></td>
 
2710
          <td class="paramtype">__m128i&nbsp;</td>
 
2711
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2712
        </tr>
 
2713
        <tr>
 
2714
          <td></td>
 
2715
          <td>)</td>
 
2716
          <td></td><td></td><td></td>
 
2717
        </tr>
 
2718
      </table>
 
2719
</div>
 
2720
<div class="memdoc">
 
2721
 
 
2722
<p>Definition at line <a class="el" href="a00100_source.html#l00384">384</a> of file <a class="el" href="a00100_source.html">bmsse_util.h</a>.</p>
 
2723
 
 
2724
</div>
 
2725
</div>
 
2726
<a class="anchor" id="a0479b7b6704c6ab64396e2365b8b5fa7"></a><!-- doxytag: member="bm::sse2_bit_block_calc_count_change" ref="a0479b7b6704c6ab64396e2365b8b5fa7" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)" -->
 
2727
<div class="memitem">
 
2728
<div class="memproto">
 
2729
      <table class="memname">
 
2730
        <tr>
 
2731
          <td class="memname"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_block_calc_count_change </td>
 
2732
          <td>(</td>
 
2733
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2734
          <td class="paramname"> <em>block</em>, </td>
 
2735
        </tr>
 
2736
        <tr>
 
2737
          <td class="paramkey"></td>
 
2738
          <td></td>
 
2739
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2740
          <td class="paramname"> <em>block_end</em>, </td>
 
2741
        </tr>
 
2742
        <tr>
 
2743
          <td class="paramkey"></td>
 
2744
          <td></td>
 
2745
          <td class="paramtype">unsigned *BMRESTRICT&nbsp;</td>
 
2746
          <td class="paramname"> <em>bit_count</em></td><td>&nbsp;</td>
 
2747
        </tr>
 
2748
        <tr>
 
2749
          <td></td>
 
2750
          <td>)</td>
 
2751
          <td></td><td></td><td><code> [inline]</code></td>
 
2752
        </tr>
 
2753
      </table>
 
2754
</div>
 
2755
<div class="memdoc">
 
2756
 
 
2757
<p>Definition at line <a class="el" href="a00098_source.html#l00237">237</a> of file <a class="el" href="a00098_source.html">bmsse2.h</a>.</p>
 
2758
 
 
2759
<p>References <a class="el" href="a00093_source.html#l00153">BM_ALIGN16ATTR</a>, and <a class="el" href="a00093_source.html#l00168">BM_INCWORD_BITCOUNT</a>.</p>
 
2760
 
 
2761
<p>Referenced by <a class="el" href="a00094_source.html#l02819">bit_block_calc_count_change()</a>.</p>
 
2762
 
 
2763
</div>
 
2764
</div>
 
2765
<a class="anchor" id="a8831a88ef538b3997d04d2ebf513160d"></a><!-- doxytag: member="bm::sse2_bit_count_op" ref="a8831a88ef538b3997d04d2ebf513160d" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
 
2766
<div class="memitem">
 
2767
<div class="memproto">
 
2768
<div class="memtemplate">
 
2769
template&lt;class Func &gt; </div>
 
2770
      <table class="memname">
 
2771
        <tr>
 
2772
          <td class="memname"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_count_op </td>
 
2773
          <td>(</td>
 
2774
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2775
          <td class="paramname"> <em>block</em>, </td>
 
2776
        </tr>
 
2777
        <tr>
 
2778
          <td class="paramkey"></td>
 
2779
          <td></td>
 
2780
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2781
          <td class="paramname"> <em>block_end</em>, </td>
 
2782
        </tr>
 
2783
        <tr>
 
2784
          <td class="paramkey"></td>
 
2785
          <td></td>
 
2786
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2787
          <td class="paramname"> <em>mask_block</em>, </td>
 
2788
        </tr>
 
2789
        <tr>
 
2790
          <td class="paramkey"></td>
 
2791
          <td></td>
 
2792
          <td class="paramtype">Func&nbsp;</td>
 
2793
          <td class="paramname"> <em>sse2_func</em></td><td>&nbsp;</td>
 
2794
        </tr>
 
2795
        <tr>
 
2796
          <td></td>
 
2797
          <td>)</td>
 
2798
          <td></td><td></td><td><code> [inline]</code></td>
 
2799
        </tr>
 
2800
      </table>
 
2801
</div>
 
2802
<div class="memdoc">
 
2803
 
 
2804
<p>Definition at line <a class="el" href="a00098_source.html#l00125">125</a> of file <a class="el" href="a00098_source.html">bmsse2.h</a>.</p>
 
2805
 
 
2806
<p>References <a class="el" href="a00093_source.html#l00153">BM_ALIGN16ATTR</a>.</p>
 
2807
 
 
2808
</div>
 
2809
</div>
 
2810
<a class="anchor" id="adea798a9a95a04845c33876087a2f46b"></a><!-- doxytag: member="bm::sse2_or" ref="adea798a9a95a04845c33876087a2f46b" args="(__m128i a, __m128i b)" -->
 
2811
<div class="memitem">
 
2812
<div class="memproto">
 
2813
      <table class="memname">
 
2814
        <tr>
 
2815
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_or </td>
 
2816
          <td>(</td>
 
2817
          <td class="paramtype">__m128i&nbsp;</td>
 
2818
          <td class="paramname"> <em>a</em>, </td>
 
2819
        </tr>
 
2820
        <tr>
 
2821
          <td class="paramkey"></td>
 
2822
          <td></td>
 
2823
          <td class="paramtype">__m128i&nbsp;</td>
 
2824
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2825
        </tr>
 
2826
        <tr>
 
2827
          <td></td>
 
2828
          <td>)</td>
 
2829
          <td></td><td></td><td></td>
 
2830
        </tr>
 
2831
      </table>
 
2832
</div>
 
2833
<div class="memdoc">
 
2834
 
 
2835
<p>Definition at line <a class="el" href="a00100_source.html#l00390">390</a> of file <a class="el" href="a00100_source.html">bmsse_util.h</a>.</p>
 
2836
 
 
2837
</div>
 
2838
</div>
 
2839
<a class="anchor" id="ab3e6d46fcba1bc2a1a5390c10f571382"></a><!-- doxytag: member="bm::sse2_sub" ref="ab3e6d46fcba1bc2a1a5390c10f571382" args="(__m128i a, __m128i b)" -->
 
2840
<div class="memitem">
 
2841
<div class="memproto">
 
2842
      <table class="memname">
 
2843
        <tr>
 
2844
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_sub </td>
 
2845
          <td>(</td>
 
2846
          <td class="paramtype">__m128i&nbsp;</td>
 
2847
          <td class="paramname"> <em>a</em>, </td>
 
2848
        </tr>
 
2849
        <tr>
 
2850
          <td class="paramkey"></td>
 
2851
          <td></td>
 
2852
          <td class="paramtype">__m128i&nbsp;</td>
 
2853
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2854
        </tr>
 
2855
        <tr>
 
2856
          <td></td>
 
2857
          <td>)</td>
 
2858
          <td></td><td></td><td></td>
 
2859
        </tr>
 
2860
      </table>
 
2861
</div>
 
2862
<div class="memdoc">
 
2863
 
 
2864
<p>Definition at line <a class="el" href="a00100_source.html#l00403">403</a> of file <a class="el" href="a00100_source.html">bmsse_util.h</a>.</p>
 
2865
 
 
2866
</div>
 
2867
</div>
 
2868
<a class="anchor" id="a6f5de19ee3e1be05037908b4777c4da8"></a><!-- doxytag: member="bm::sse2_xor" ref="a6f5de19ee3e1be05037908b4777c4da8" args="(__m128i a, __m128i b)" -->
 
2869
<div class="memitem">
 
2870
<div class="memproto">
 
2871
      <table class="memname">
 
2872
        <tr>
 
2873
          <td class="memname">BMFORCEINLINE __m128i bm::sse2_xor </td>
 
2874
          <td>(</td>
 
2875
          <td class="paramtype">__m128i&nbsp;</td>
 
2876
          <td class="paramname"> <em>a</em>, </td>
 
2877
        </tr>
 
2878
        <tr>
 
2879
          <td class="paramkey"></td>
 
2880
          <td></td>
 
2881
          <td class="paramtype">__m128i&nbsp;</td>
 
2882
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
 
2883
        </tr>
 
2884
        <tr>
 
2885
          <td></td>
 
2886
          <td>)</td>
 
2887
          <td></td><td></td><td></td>
 
2888
        </tr>
 
2889
      </table>
 
2890
</div>
 
2891
<div class="memdoc">
 
2892
 
 
2893
<p>Definition at line <a class="el" href="a00100_source.html#l00397">397</a> of file <a class="el" href="a00100_source.html">bmsse_util.h</a>.</p>
 
2894
 
 
2895
</div>
 
2896
</div>
 
2897
<a class="anchor" id="a295c6323a972a90e28c36e6012427a26"></a><!-- doxytag: member="bm::sse4_bit_count_op" ref="a295c6323a972a90e28c36e6012427a26" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
 
2898
<div class="memitem">
 
2899
<div class="memproto">
 
2900
<div class="memtemplate">
 
2901
template&lt;class Func &gt; </div>
 
2902
      <table class="memname">
 
2903
        <tr>
 
2904
          <td class="memname"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse4_bit_count_op </td>
 
2905
          <td>(</td>
 
2906
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2907
          <td class="paramname"> <em>block</em>, </td>
 
2908
        </tr>
 
2909
        <tr>
 
2910
          <td class="paramkey"></td>
 
2911
          <td></td>
 
2912
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2913
          <td class="paramname"> <em>block_end</em>, </td>
 
2914
        </tr>
 
2915
        <tr>
 
2916
          <td class="paramkey"></td>
 
2917
          <td></td>
 
2918
          <td class="paramtype">const __m128i *BMRESTRICT&nbsp;</td>
 
2919
          <td class="paramname"> <em>mask_block</em>, </td>
 
2920
        </tr>
 
2921
        <tr>
 
2922
          <td class="paramkey"></td>
 
2923
          <td></td>
 
2924
          <td class="paramtype">Func&nbsp;</td>
 
2925
          <td class="paramname"> <em>sse2_func</em></td><td>&nbsp;</td>
 
2926
        </tr>
 
2927
        <tr>
 
2928
          <td></td>
 
2929
          <td>)</td>
 
2930
          <td></td><td></td><td><code> [inline]</code></td>
 
2931
        </tr>
 
2932
      </table>
 
2933
</div>
 
2934
<div class="memdoc">
 
2935
 
 
2936
<p>Definition at line <a class="el" href="a00099_source.html#l00109">109</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
 
2937
 
 
2938
</div>
 
2939
</div>
 
2940
<a class="anchor" id="ac8f3443ba8fcd1b28face4b09dfd21bf"></a><!-- doxytag: member="bm::sum_arr" ref="ac8f3443ba8fcd1b28face4b09dfd21bf" args="(T *first, T *last)" -->
 
2941
<div class="memitem">
 
2942
<div class="memproto">
 
2943
<div class="memtemplate">
 
2944
template&lt;class T &gt; </div>
 
2945
      <table class="memname">
 
2946
        <tr>
 
2947
          <td class="memname">T bm::sum_arr </td>
 
2948
          <td>(</td>
 
2949
          <td class="paramtype">T *&nbsp;</td>
 
2950
          <td class="paramname"> <em>first</em>, </td>
 
2951
        </tr>
 
2952
        <tr>
 
2953
          <td class="paramkey"></td>
 
2954
          <td></td>
 
2955
          <td class="paramtype">T *&nbsp;</td>
 
2956
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
 
2957
        </tr>
 
2958
        <tr>
 
2959
          <td></td>
 
2960
          <td>)</td>
 
2961
          <td></td><td></td><td><code> [inline]</code></td>
 
2962
        </tr>
 
2963
      </table>
 
2964
</div>
 
2965
<div class="memdoc">
 
2966
<p>Computes SUM of all elements of the sequence </p>
 
2967
 
 
2968
<p>Definition at line <a class="el" href="a00094_source.html#l00633">633</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
2969
 
 
2970
</div>
 
2971
</div>
 
2972
<a class="anchor" id="a336ed7eb10da60438793f0ecff0fb7b1"></a><!-- doxytag: member="bm::tmatrix_reduce" ref="a336ed7eb10da60438793f0ecff0fb7b1" args="(TMatrix &amp;tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)" -->
 
2973
<div class="memitem">
 
2974
<div class="memproto">
 
2975
<div class="memtemplate">
 
2976
template&lt;class TMatrix &gt; </div>
 
2977
      <table class="memname">
 
2978
        <tr>
 
2979
          <td class="memname">void bm::tmatrix_reduce </td>
 
2980
          <td>(</td>
 
2981
          <td class="paramtype">TMatrix &amp;&nbsp;</td>
 
2982
          <td class="paramname"> <em>tmatrix</em>, </td>
 
2983
        </tr>
 
2984
        <tr>
 
2985
          <td class="paramkey"></td>
 
2986
          <td></td>
 
2987
          <td class="paramtype">const unsigned char *&nbsp;</td>
 
2988
          <td class="paramname"> <em>pc_vector</em>, </td>
 
2989
        </tr>
 
2990
        <tr>
 
2991
          <td class="paramkey"></td>
 
2992
          <td></td>
 
2993
          <td class="paramtype">const unsigned&nbsp;</td>
 
2994
          <td class="paramname"> <em>effective_cols</em></td><td>&nbsp;</td>
 
2995
        </tr>
 
2996
        <tr>
 
2997
          <td></td>
 
2998
          <td>)</td>
 
2999
          <td></td><td></td><td><code> [inline]</code></td>
 
3000
        </tr>
 
3001
      </table>
 
3002
</div>
 
3003
<div class="memdoc">
 
3004
 
 
3005
<p>Transposed Matrix reduction based on transformation pc vector. </p>
 
3006
 
 
3007
<p>Definition at line <a class="el" href="a00101_source.html#l00550">550</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3008
 
 
3009
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00101_source.html#l00386">ibpc_all_one</a>, <a class="el" href="a00101_source.html#l00385">ibpc_all_zero</a>, <a class="el" href="a00101_source.html#l00388">ibpc_close</a>, <a class="el" href="a00101_source.html#l00387">ibpc_equiv</a>, and <a class="el" href="a00101_source.html#l00384">ibpc_uncompr</a>.</p>
 
3010
 
 
3011
<p>Referenced by <a class="el" href="a00101_source.html#l00845">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::reduce()</a>.</p>
 
3012
 
 
3013
</div>
 
3014
</div>
 
3015
<a class="anchor" id="ab7544e494744b2c0b265ab7d81f766b8"></a><!-- doxytag: member="bm::tmatrix_restore" ref="ab7544e494744b2c0b265ab7d81f766b8" args="(TMatrix &amp;tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)" -->
 
3016
<div class="memitem">
 
3017
<div class="memproto">
 
3018
<div class="memtemplate">
 
3019
template&lt;class TMatrix &gt; </div>
 
3020
      <table class="memname">
 
3021
        <tr>
 
3022
          <td class="memname">void bm::tmatrix_restore </td>
 
3023
          <td>(</td>
 
3024
          <td class="paramtype">TMatrix &amp;&nbsp;</td>
 
3025
          <td class="paramname"> <em>tmatrix</em>, </td>
 
3026
        </tr>
 
3027
        <tr>
 
3028
          <td class="paramkey"></td>
 
3029
          <td></td>
 
3030
          <td class="paramtype">const unsigned char *&nbsp;</td>
 
3031
          <td class="paramname"> <em>pc_vector</em>, </td>
 
3032
        </tr>
 
3033
        <tr>
 
3034
          <td class="paramkey"></td>
 
3035
          <td></td>
 
3036
          <td class="paramtype">const unsigned&nbsp;</td>
 
3037
          <td class="paramname"> <em>effective_cols</em></td><td>&nbsp;</td>
 
3038
        </tr>
 
3039
        <tr>
 
3040
          <td></td>
 
3041
          <td>)</td>
 
3042
          <td></td><td></td><td><code> [inline]</code></td>
 
3043
        </tr>
 
3044
      </table>
 
3045
</div>
 
3046
<div class="memdoc">
 
3047
 
 
3048
<p>Transposed Matrix restore based on transformation pc vector. </p>
 
3049
 
 
3050
<p>Definition at line <a class="el" href="a00101_source.html#l00597">597</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3051
 
 
3052
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>, <a class="el" href="a00101_source.html#l00386">ibpc_all_one</a>, <a class="el" href="a00101_source.html#l00385">ibpc_all_zero</a>, <a class="el" href="a00101_source.html#l00388">ibpc_close</a>, <a class="el" href="a00101_source.html#l00387">ibpc_equiv</a>, and <a class="el" href="a00101_source.html#l00384">ibpc_uncompr</a>.</p>
 
3053
 
 
3054
<p>Referenced by <a class="el" href="a00101_source.html#l00851">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;::restore()</a>.</p>
 
3055
 
 
3056
</div>
 
3057
</div>
 
3058
<a class="anchor" id="a2e3af9c9f2eb481130d240ba4cd6fd68"></a><!-- doxytag: member="bm::vect_bit_transpose" ref="a2e3af9c9f2eb481130d240ba4cd6fd68" args="(const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])" -->
 
3059
<div class="memitem">
 
3060
<div class="memproto">
 
3061
<div class="memtemplate">
 
3062
template&lt;typename T , unsigned BPC, unsigned BPS&gt; </div>
 
3063
      <table class="memname">
 
3064
        <tr>
 
3065
          <td class="memname">void bm::vect_bit_transpose </td>
 
3066
          <td>(</td>
 
3067
          <td class="paramtype">const T *&nbsp;</td>
 
3068
          <td class="paramname"> <em>arr</em>, </td>
 
3069
        </tr>
 
3070
        <tr>
 
3071
          <td class="paramkey"></td>
 
3072
          <td></td>
 
3073
          <td class="paramtype">unsigned&nbsp;</td>
 
3074
          <td class="paramname"> <em>arr_size</em>, </td>
 
3075
        </tr>
 
3076
        <tr>
 
3077
          <td class="paramkey"></td>
 
3078
          <td></td>
 
3079
          <td class="paramtype">T&nbsp;</td>
 
3080
          <td class="paramname"> <em>tmatrix</em>[BPC][BPS]</td><td>&nbsp;</td>
 
3081
        </tr>
 
3082
        <tr>
 
3083
          <td></td>
 
3084
          <td>)</td>
 
3085
          <td></td><td></td><td><code> [inline]</code></td>
 
3086
        </tr>
 
3087
      </table>
 
3088
</div>
 
3089
<div class="memdoc">
 
3090
 
 
3091
<p>Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size. </p>
 
3092
<dl><dt><b>Parameters:</b></dt><dd>
 
3093
  <table border="0" cellspacing="2" cellpadding="0">
 
3094
    <tr><td valign="top"></td><td valign="top"><em>arr</em>&nbsp;</td><td>- source array start </td></tr>
 
3095
    <tr><td valign="top"></td><td valign="top"><em>arr_size</em>&nbsp;</td><td>- source array size </td></tr>
 
3096
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00087.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em>&nbsp;</td><td>- destination bit matrix </td></tr>
 
3097
  </table>
 
3098
  </dd>
 
3099
</dl>
 
3100
 
 
3101
<p>Definition at line <a class="el" href="a00101_source.html#l00290">290</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3102
 
 
3103
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>.</p>
 
3104
 
 
3105
</div>
 
3106
</div>
 
3107
<a class="anchor" id="a089ac7cd17ddca4bf3c661c96f749f3f"></a><!-- doxytag: member="bm::vect_bit_trestore" ref="a089ac7cd17ddca4bf3c661c96f749f3f" args="(const T tmatrix[BPC][BPS], T *arr)" -->
 
3108
<div class="memitem">
 
3109
<div class="memproto">
 
3110
<div class="memtemplate">
 
3111
template&lt;typename T , unsigned BPC, unsigned BPS&gt; </div>
 
3112
      <table class="memname">
 
3113
        <tr>
 
3114
          <td class="memname">void bm::vect_bit_trestore </td>
 
3115
          <td>(</td>
 
3116
          <td class="paramtype">const T&nbsp;</td>
 
3117
          <td class="paramname"> <em>tmatrix</em>[BPC][BPS], </td>
 
3118
        </tr>
 
3119
        <tr>
 
3120
          <td class="paramkey"></td>
 
3121
          <td></td>
 
3122
          <td class="paramtype">T *&nbsp;</td>
 
3123
          <td class="paramname"> <em>arr</em></td><td>&nbsp;</td>
 
3124
        </tr>
 
3125
        <tr>
 
3126
          <td></td>
 
3127
          <td>)</td>
 
3128
          <td></td><td></td><td><code> [inline]</code></td>
 
3129
        </tr>
 
3130
      </table>
 
3131
</div>
 
3132
<div class="memdoc">
 
3133
 
 
3134
<p>Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size. </p>
 
3135
<dl><dt><b>Parameters:</b></dt><dd>
 
3136
  <table border="0" cellspacing="2" cellpadding="0">
 
3137
    <tr><td valign="top"></td><td valign="top"><em>arr</em>&nbsp;</td><td>- dest array </td></tr>
 
3138
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00087.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em>&nbsp;</td><td>- source bit-slice matrix </td></tr>
 
3139
  </table>
 
3140
  </dd>
 
3141
</dl>
 
3142
 
 
3143
<p>Definition at line <a class="el" href="a00101_source.html#l00323">323</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3144
 
 
3145
</div>
 
3146
</div>
 
3147
<a class="anchor" id="a6e7085de3103a42f81c0d3d82903cd5f"></a><!-- doxytag: member="bm::xor_op" ref="a6e7085de3103a42f81c0d3d82903cd5f" args="(unsigned v1, unsigned v2)" -->
 
3148
<div class="memitem">
 
3149
<div class="memproto">
 
3150
      <table class="memname">
 
3151
        <tr>
 
3152
          <td class="memname">BMFORCEINLINE unsigned bm::xor_op </td>
 
3153
          <td>(</td>
 
3154
          <td class="paramtype">unsigned&nbsp;</td>
 
3155
          <td class="paramname"> <em>v1</em>, </td>
 
3156
        </tr>
 
3157
        <tr>
 
3158
          <td class="paramkey"></td>
 
3159
          <td></td>
 
3160
          <td class="paramtype">unsigned&nbsp;</td>
 
3161
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
 
3162
        </tr>
 
3163
        <tr>
 
3164
          <td></td>
 
3165
          <td>)</td>
 
3166
          <td></td><td></td><td></td>
 
3167
        </tr>
 
3168
      </table>
 
3169
</div>
 
3170
<div class="memdoc">
 
3171
 
 
3172
<p>GAP xor functor. </p>
 
3173
 
 
3174
<p>Definition at line <a class="el" href="a00094_source.html#l03108">3108</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
3175
 
 
3176
<p>Referenced by <a class="el" href="a00094_source.html#l03201">gap_operation_any_xor()</a>, and <a class="el" href="a00094_source.html#l03177">gap_operation_xor()</a>.</p>
 
3177
 
 
3178
</div>
 
3179
</div>
 
3180
<a class="anchor" id="afb2c1acc56270abb381741a709a2b17c"></a><!-- doxytag: member="bm::xor_swap" ref="afb2c1acc56270abb381741a709a2b17c" args="(W &amp;x, W &amp;y)" -->
 
3181
<div class="memitem">
 
3182
<div class="memproto">
 
3183
<div class="memtemplate">
 
3184
template&lt;typename W &gt; </div>
 
3185
      <table class="memname">
 
3186
        <tr>
 
3187
          <td class="memname">void bm::xor_swap </td>
 
3188
          <td>(</td>
 
3189
          <td class="paramtype">W &amp;&nbsp;</td>
 
3190
          <td class="paramname"> <em>x</em>, </td>
 
3191
        </tr>
 
3192
        <tr>
 
3193
          <td class="paramkey"></td>
 
3194
          <td></td>
 
3195
          <td class="paramtype">W &amp;&nbsp;</td>
 
3196
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
 
3197
        </tr>
 
3198
        <tr>
 
3199
          <td></td>
 
3200
          <td>)</td>
 
3201
          <td></td><td></td><td><code> [inline]</code></td>
 
3202
        </tr>
 
3203
      </table>
 
3204
</div>
 
3205
<div class="memdoc">
 
3206
 
 
3207
<p>XOR swap two scalar variables. </p>
 
3208
 
 
3209
<p>Definition at line <a class="el" href="a00094_source.html#l00321">321</a> of file <a class="el" href="a00094_source.html">bmfunc.h</a>.</p>
 
3210
 
 
3211
<p>References <a class="el" href="a00093_source.html#l00050">BM_ASSERT</a>.</p>
 
3212
 
 
3213
<p>Referenced by <a class="el" href="a00088_source.html#l01221">bm::bvector&lt; Alloc, MS &gt;::swap()</a>.</p>
 
3214
 
 
3215
</div>
 
3216
</div>
 
3217
<hr/><h2>Variable Documentation</h2>
 
3218
<a class="anchor" id="ad81dea46a256b93b2af3568ce409d40b"></a><!-- doxytag: member="bm::all_bits_mask" ref="ad81dea46a256b93b2af3568ce409d40b" args="" -->
 
3219
<div class="memitem">
 
3220
<div class="memproto">
 
3221
      <table class="memname">
 
3222
        <tr>
 
3223
          <td class="memname">const <a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a> <a class="el" href="a00116.html#ad81dea46a256b93b2af3568ce409d40b">bm::all_bits_mask</a> = 0xffffffff</td>
 
3224
        </tr>
 
3225
      </table>
 
3226
</div>
 
3227
<div class="memdoc">
 
3228
 
 
3229
<p>Definition at line <a class="el" href="a00092_source.html#l00101">101</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3230
 
 
3231
<p>Referenced by <a class="el" href="a00094_source.html#l03060">is_bits_one()</a>.</p>
 
3232
 
 
3233
</div>
 
3234
</div>
 
3235
<a class="anchor" id="a4dedd13a7b8a27c5067b20118002f025"></a><!-- doxytag: member="bm::bits_in_array" ref="a4dedd13a7b8a27c5067b20118002f025" args="" -->
 
3236
<div class="memitem">
 
3237
<div class="memproto">
 
3238
      <table class="memname">
 
3239
        <tr>
 
3240
          <td class="memname">const unsigned <a class="el" href="a00116.html#a4dedd13a7b8a27c5067b20118002f025">bm::bits_in_array</a> = <a class="el" href="a00116.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td>
 
3241
        </tr>
 
3242
      </table>
 
3243
</div>
 
3244
<div class="memdoc">
 
3245
 
 
3246
<p>Definition at line <a class="el" href="a00092_source.html#l00086">86</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3247
 
 
3248
<p>Referenced by <a class="el" href="a00088_source.html#l00435">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, and <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
 
3249
 
 
3250
</div>
 
3251
</div>
 
3252
<a class="anchor" id="ae9916f69ced0347d94472d7944ea0e45"></a><!-- doxytag: member="bm::bits_in_block" ref="ae9916f69ced0347d94472d7944ea0e45" args="" -->
 
3253
<div class="memitem">
 
3254
<div class="memproto">
 
3255
      <table class="memname">
 
3256
        <tr>
 
3257
          <td class="memname">const unsigned <a class="el" href="a00116.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td>
 
3258
        </tr>
 
3259
      </table>
 
3260
</div>
 
3261
<div class="memdoc">
 
3262
 
 
3263
<p>Definition at line <a class="el" href="a00092_source.html#l00085">85</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3264
 
 
3265
<p>Referenced by <a class="el" href="a00088_source.html#l01690">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00097_source.html#l03298">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00088_source.html#l00435">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, and <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
 
3266
 
 
3267
</div>
 
3268
</div>
 
3269
<a class="anchor" id="a9b1715d6d9164d56172e75bbbd0e3000"></a><!-- doxytag: member="bm::gap_equiv_len" ref="a9b1715d6d9164d56172e75bbbd0e3000" args="" -->
 
3270
<div class="memitem">
 
3271
<div class="memproto">
 
3272
      <table class="memname">
 
3273
        <tr>
 
3274
          <td class="memname">const unsigned <a class="el" href="a00116.html#a9b1715d6d9164d56172e75bbbd0e3000">bm::gap_equiv_len</a></td>
 
3275
        </tr>
 
3276
      </table>
 
3277
</div>
 
3278
<div class="memdoc">
 
3279
<b>Initial value:</b><div class="fragment"><pre class="fragment"> 
 
3280
   (<span class="keyword">sizeof</span>(<a class="code" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * <a class="code" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>) / <span class="keyword">sizeof</span>(<a class="code" href="a00116.html#ac654d6319039a86546d235a236fc7cf6">gap_word_t</a>)
 
3281
</pre></div>
 
3282
<p>Definition at line <a class="el" href="a00092_source.html#l00072">72</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3283
 
 
3284
<p>Referenced by <a class="el" href="a00090_source.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00097_source.html#l03080">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l00705">bm::serializer&lt; BV &gt;::encode_gap_block()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3285
 
 
3286
</div>
 
3287
</div>
 
3288
<a class="anchor" id="a773e9f5341919d58000bd54d50038733"></a><!-- doxytag: member="bm::gap_levels" ref="a773e9f5341919d58000bd54d50038733" args="" -->
 
3289
<div class="memitem">
 
3290
<div class="memproto">
 
3291
      <table class="memname">
 
3292
        <tr>
 
3293
          <td class="memname">const unsigned <a class="el" href="a00116.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> = 4</td>
 
3294
        </tr>
 
3295
      </table>
 
3296
</div>
 
3297
<div class="memdoc">
 
3298
 
 
3299
<p>Definition at line <a class="el" href="a00092_source.html#l00074">74</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3300
 
 
3301
<p>Referenced by <a class="el" href="a00091_source.html#l00193">bm::mem_alloc&lt; BA, PA &gt;::alloc_gap_block()</a>, <a class="el" href="a00088_source.html#l02051">bm::bvector&lt; Alloc, MS &gt;::calc_stat()</a>, <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l00582">bm::serializer&lt; BV &gt;::encode_header()</a>, <a class="el" href="a00094_source.html#l02405">gap_calc_level()</a>, <a class="el" href="a00094_source.html#l04722">gap_overhead()</a>, <a class="el" href="a00094_source.html#l04749">improve_gap_levels()</a>, <a class="el" href="a00088_source.html#l01842">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, <a class="el" href="a00088_source.html#l01884">bm::bvector&lt; Alloc, MS &gt;::optimize_gap_size()</a>, <a class="el" href="a00097_source.html#l01660">bm::serial_stream_iterator&lt; DEC &gt;::serial_stream_iterator()</a>, and <a class="el" href="a00094_source.html#l02389">set_gap_level()</a>.</p>
 
3302
 
 
3303
</div>
 
3304
</div>
 
3305
<a class="anchor" id="ad0b8714080144ac70197840ff96752b7"></a><!-- doxytag: member="bm::gap_max_bits" ref="ad0b8714080144ac70197840ff96752b7" args="" -->
 
3306
<div class="memitem">
 
3307
<div class="memproto">
 
3308
      <table class="memname">
 
3309
        <tr>
 
3310
          <td class="memname">const unsigned <a class="el" href="a00116.html#ad0b8714080144ac70197840ff96752b7">bm::gap_max_bits</a> = 65536</td>
 
3311
        </tr>
 
3312
      </table>
 
3313
</div>
 
3314
<div class="memdoc">
 
3315
 
 
3316
<p>Definition at line <a class="el" href="a00092_source.html#l00071">71</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3317
 
 
3318
<p>Referenced by <a class="el" href="a00090_source.html#l00343">combine_any_operation_with_block()</a>, <a class="el" href="a00088_source.html#l01921">bm::bvector&lt; Alloc, MS &gt;::compare()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00705">bm::serializer&lt; BV &gt;::encode_gap_block()</a>, <a class="el" href="a00094_source.html#l01226">gap_add_value()</a>, <a class="el" href="a00094_source.html#l00461">gap_bfind()</a>, <a class="el" href="a00094_source.html#l00990">gap_buff_any_op()</a>, <a class="el" href="a00094_source.html#l00908">gap_buff_op()</a>, <a class="el" href="a00094_source.html#l01401">gap_find_in_block()</a>, <a class="el" href="a00094_source.html#l01311">gap_set_array()</a>, <a class="el" href="a00094_source.html#l01133">gap_set_value()</a>, <a class="el" href="a00094_source.html#l00489">gap_test()</a>, <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3319
 
 
3320
</div>
 
3321
</div>
 
3322
<a class="anchor" id="aa5e01dfb650d168f9be0525e042af647"></a><!-- doxytag: member="bm::gap_max_buff_len" ref="aa5e01dfb650d168f9be0525e042af647" args="" -->
 
3323
<div class="memitem">
 
3324
<div class="memproto">
 
3325
      <table class="memname">
 
3326
        <tr>
 
3327
          <td class="memname">const unsigned <a class="el" href="a00116.html#aa5e01dfb650d168f9be0525e042af647">bm::gap_max_buff_len</a> = 1280</td>
 
3328
        </tr>
 
3329
      </table>
 
3330
</div>
 
3331
<div class="memdoc">
 
3332
 
 
3333
<p>Definition at line <a class="el" href="a00092_source.html#l00070">70</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3334
 
 
3335
<p>Referenced by <a class="el" href="a00090_source.html#l00343">combine_any_operation_with_block()</a>, and <a class="el" href="a00094_source.html#l04749">improve_gap_levels()</a>.</p>
 
3336
 
 
3337
</div>
 
3338
</div>
 
3339
<a class="anchor" id="a13793ad631e2b2fcbaaae9000ea1a924"></a><!-- doxytag: member="bm::gap_max_level" ref="a13793ad631e2b2fcbaaae9000ea1a924" args="" -->
 
3340
<div class="memitem">
 
3341
<div class="memproto">
 
3342
      <table class="memname">
 
3343
        <tr>
 
3344
          <td class="memname">const unsigned <a class="el" href="a00116.html#a13793ad631e2b2fcbaaae9000ea1a924">bm::gap_max_level</a> = <a class="el" href="a00116.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td>
 
3345
        </tr>
 
3346
      </table>
 
3347
</div>
 
3348
<div class="memdoc">
 
3349
 
 
3350
<p>Definition at line <a class="el" href="a00092_source.html#l00075">75</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3351
 
 
3352
</div>
 
3353
</div>
 
3354
<a class="anchor" id="aa6f59be0b838db693e0f081bcaf750f0"></a><!-- doxytag: member="bm::ibpc_all_one" ref="aa6f59be0b838db693e0f081bcaf750f0" args="" -->
 
3355
<div class="memitem">
 
3356
<div class="memproto">
 
3357
      <table class="memname">
 
3358
        <tr>
 
3359
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aa6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2</td>
 
3360
        </tr>
 
3361
      </table>
 
3362
</div>
 
3363
<div class="memdoc">
 
3364
 
 
3365
<p>!&lt; plain ALL ZERO </p>
 
3366
 
 
3367
<p>Definition at line <a class="el" href="a00101_source.html#l00386">386</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3368
 
 
3369
<p>Referenced by <a class="el" href="a00101_source.html#l00414">bit_iblock_make_pcv()</a>, <a class="el" href="a00101_source.html#l00494">bit_iblock_reduce()</a>, <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>, <a class="el" href="a00101_source.html#l00550">tmatrix_reduce()</a>, and <a class="el" href="a00101_source.html#l00597">tmatrix_restore()</a>.</p>
 
3370
 
 
3371
</div>
 
3372
</div>
 
3373
<a class="anchor" id="aaca6d3c887b5b7b66a78e95471f9a326"></a><!-- doxytag: member="bm::ibpc_all_zero" ref="aaca6d3c887b5b7b66a78e95471f9a326" args="" -->
 
3374
<div class="memitem">
 
3375
<div class="memproto">
 
3376
      <table class="memname">
 
3377
        <tr>
 
3378
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aaca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1</td>
 
3379
        </tr>
 
3380
      </table>
 
3381
</div>
 
3382
<div class="memdoc">
 
3383
 
 
3384
<p>!&lt; plain uncompressed </p>
 
3385
 
 
3386
<p>Definition at line <a class="el" href="a00101_source.html#l00385">385</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3387
 
 
3388
<p>Referenced by <a class="el" href="a00101_source.html#l00414">bit_iblock_make_pcv()</a>, <a class="el" href="a00101_source.html#l00494">bit_iblock_reduce()</a>, <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>, <a class="el" href="a00101_source.html#l00550">tmatrix_reduce()</a>, and <a class="el" href="a00101_source.html#l00597">tmatrix_restore()</a>.</p>
 
3389
 
 
3390
</div>
 
3391
</div>
 
3392
<a class="anchor" id="aa61bf7691d32a9bc7c65c05bb62657e5"></a><!-- doxytag: member="bm::ibpc_close" ref="aa61bf7691d32a9bc7c65c05bb62657e5" args="" -->
 
3393
<div class="memitem">
 
3394
<div class="memproto">
 
3395
      <table class="memname">
 
3396
        <tr>
 
3397
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aa61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4</td>
 
3398
        </tr>
 
3399
      </table>
 
3400
</div>
 
3401
<div class="memdoc">
 
3402
 
 
3403
<p>!&lt; plain is equal to plain M </p>
 
3404
 
 
3405
<p>Definition at line <a class="el" href="a00101_source.html#l00388">388</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3406
 
 
3407
<p>Referenced by <a class="el" href="a00101_source.html#l00414">bit_iblock_make_pcv()</a>, <a class="el" href="a00101_source.html#l00494">bit_iblock_reduce()</a>, <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>, <a class="el" href="a00101_source.html#l00550">tmatrix_reduce()</a>, and <a class="el" href="a00101_source.html#l00597">tmatrix_restore()</a>.</p>
 
3408
 
 
3409
</div>
 
3410
</div>
 
3411
<a class="anchor" id="ae4f14f0c2c5a9ee277808d36fd94693f"></a><!-- doxytag: member="bm::ibpc_end" ref="ae4f14f0c2c5a9ee277808d36fd94693f" args="" -->
 
3412
<div class="memitem">
 
3413
<div class="memproto">
 
3414
      <table class="memname">
 
3415
        <tr>
 
3416
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ae4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8</td>
 
3417
        </tr>
 
3418
      </table>
 
3419
</div>
 
3420
<div class="memdoc">
 
3421
 
 
3422
<p>!&lt; plain is close to plain M </p>
 
3423
 
 
3424
<p>Definition at line <a class="el" href="a00101_source.html#l00390">390</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3425
 
 
3426
</div>
 
3427
</div>
 
3428
<a class="anchor" id="a748d4095c39c9372a590b431e0ec17fe"></a><!-- doxytag: member="bm::ibpc_equiv" ref="a748d4095c39c9372a590b431e0ec17fe" args="" -->
 
3429
<div class="memitem">
 
3430
<div class="memproto">
 
3431
      <table class="memname">
 
3432
        <tr>
 
3433
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3</td>
 
3434
        </tr>
 
3435
      </table>
 
3436
</div>
 
3437
<div class="memdoc">
 
3438
 
 
3439
<p>!&lt; plain ALL ONE </p>
 
3440
 
 
3441
<p>Definition at line <a class="el" href="a00101_source.html#l00387">387</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3442
 
 
3443
<p>Referenced by <a class="el" href="a00101_source.html#l00414">bit_iblock_make_pcv()</a>, <a class="el" href="a00101_source.html#l00494">bit_iblock_reduce()</a>, <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>, <a class="el" href="a00101_source.html#l00550">tmatrix_reduce()</a>, and <a class="el" href="a00101_source.html#l00597">tmatrix_restore()</a>.</p>
 
3444
 
 
3445
</div>
 
3446
</div>
 
3447
<a class="anchor" id="ae34de9206be7a8aa05db9d5dc38bfc90"></a><!-- doxytag: member="bm::ibpc_uncompr" ref="ae34de9206be7a8aa05db9d5dc38bfc90" args="" -->
 
3448
<div class="memitem">
 
3449
<div class="memproto">
 
3450
      <table class="memname">
 
3451
        <tr>
 
3452
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ae34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0</td>
 
3453
        </tr>
 
3454
      </table>
 
3455
</div>
 
3456
<div class="memdoc">
 
3457
 
 
3458
<p>Definition at line <a class="el" href="a00101_source.html#l00384">384</a> of file <a class="el" href="a00101_source.html">bmtrans.h</a>.</p>
 
3459
 
 
3460
<p>Referenced by <a class="el" href="a00101_source.html#l00414">bit_iblock_make_pcv()</a>, <a class="el" href="a00101_source.html#l00494">bit_iblock_reduce()</a>, <a class="el" href="a00101_source.html#l00683">compute_tmatrix_rstat()</a>, <a class="el" href="a00101_source.html#l00550">tmatrix_reduce()</a>, and <a class="el" href="a00101_source.html#l00597">tmatrix_restore()</a>.</p>
 
3461
 
 
3462
</div>
 
3463
</div>
 
3464
<a class="anchor" id="a104b924a1df81542db2a6296fbf26a65"></a><!-- doxytag: member="bm::id_max" ref="a104b924a1df81542db2a6296fbf26a65" args="" -->
 
3465
<div class="memitem">
 
3466
<div class="memproto">
 
3467
      <table class="memname">
 
3468
        <tr>
 
3469
          <td class="memname">const unsigned <a class="el" href="a00116.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a> = 0xFFFFFFFF</td>
 
3470
        </tr>
 
3471
      </table>
 
3472
</div>
 
3473
<div class="memdoc">
 
3474
 
 
3475
<p>Definition at line <a class="el" href="a00092_source.html#l00048">48</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3476
 
 
3477
<p>Referenced by <a class="el" href="a00090_source.html#l01075">block_range_scan()</a>, <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, <a class="el" href="a00090_source.html#l01184">combine_xor()</a>, <a class="el" href="a00097_source.html#l00582">bm::serializer&lt; BV &gt;::encode_header()</a>, <a class="el" href="a00088_source.html#l01262">bm::bvector&lt; Alloc, MS &gt;::extract_next()</a>, <a class="el" href="a00088_source.html#l01250">bm::bvector&lt; Alloc, MS &gt;::get_next()</a>, <a class="el" href="a00088_source.html#l00281">bm::bvector&lt; Alloc, MS &gt;::iterator_base::invalidate()</a>, <a class="el" href="a00088_source.html#l01784">bm::bvector&lt; Alloc, MS &gt;::invert()</a>, <a class="el" href="a00088_source.html#l00352">bm::bvector&lt; Alloc, MS &gt;::insert_iterator::operator=()</a>, and <a class="el" href="a00088_source.html#l00272">bm::bvector&lt; Alloc, MS &gt;::iterator_base::valid()</a>.</p>
 
3478
 
 
3479
</div>
 
3480
</div>
 
3481
<a class="anchor" id="a00ffa7b38d7fcc7e522d864991a6de68"></a><!-- doxytag: member="bm::set_array_mask" ref="a00ffa7b38d7fcc7e522d864991a6de68" args="" -->
 
3482
<div class="memitem">
 
3483
<div class="memproto">
 
3484
      <table class="memname">
 
3485
        <tr>
 
3486
          <td class="memname">const unsigned <a class="el" href="a00116.html#a00ffa7b38d7fcc7e522d864991a6de68">bm::set_array_mask</a> = 0xFFu</td>
 
3487
        </tr>
 
3488
      </table>
 
3489
</div>
 
3490
<div class="memdoc">
 
3491
 
 
3492
<p>Definition at line <a class="el" href="a00092_source.html#l00082">82</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3493
 
 
3494
<p>Referenced by <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
 
3495
 
 
3496
</div>
 
3497
</div>
 
3498
<a class="anchor" id="ac1ff8647a089c751ec330cecee01907e"></a><!-- doxytag: member="bm::set_array_shift" ref="ac1ff8647a089c751ec330cecee01907e" args="" -->
 
3499
<div class="memitem">
 
3500
<div class="memproto">
 
3501
      <table class="memname">
 
3502
        <tr>
 
3503
          <td class="memname">const unsigned <a class="el" href="a00116.html#ac1ff8647a089c751ec330cecee01907e">bm::set_array_shift</a> = 8u</td>
 
3504
        </tr>
 
3505
      </table>
 
3506
</div>
 
3507
<div class="memdoc">
 
3508
 
 
3509
<p>Definition at line <a class="el" href="a00092_source.html#l00081">81</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3510
 
 
3511
<p>Referenced by <a class="el" href="a00097_source.html#l03080">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.</p>
 
3512
 
 
3513
</div>
 
3514
</div>
 
3515
<a class="anchor" id="a40ad34d6c46a2fb20ba2baa7f95d80b4"></a><!-- doxytag: member="bm::set_array_size" ref="a40ad34d6c46a2fb20ba2baa7f95d80b4" args="" -->
 
3516
<div class="memitem">
 
3517
<div class="memproto">
 
3518
      <table class="memname">
 
3519
        <tr>
 
3520
          <td class="memname">const unsigned <a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> = 256u</td>
 
3521
        </tr>
 
3522
      </table>
 
3523
</div>
 
3524
<div class="memdoc">
 
3525
 
 
3526
<p>Definition at line <a class="el" href="a00092_source.html#l00080">80</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3527
 
 
3528
<p>Referenced by <a class="el" href="a00088_source.html#l01176">bm::bvector&lt; Alloc, MS &gt;::any()</a>, <a class="el" href="a00088_source.html#l02051">bm::bvector&lt; Alloc, MS &gt;::calc_stat()</a>, <a class="el" href="a00088_source.html#l02518">bm::bvector&lt; Alloc, MS &gt;::combine_operation()</a>, <a class="el" href="a00088_source.html#l01921">bm::bvector&lt; Alloc, MS &gt;::compare()</a>, <a class="el" href="a00088_source.html#l01650">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00088_source.html#l01108">bm::bvector&lt; Alloc, MS &gt;::count_blocks()</a>, <a class="el" href="a00090_source.html#l01405">count_intervals()</a>, <a class="el" href="a00090_source.html#l00688">distance_operation()</a>, <a class="el" href="a00090_source.html#l00807">distance_operation_any()</a>, <a class="el" href="a00094_source.html#l00567">for_each_nzblock_if()</a>, <a class="el" href="a00088_source.html#l00435">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_first()</a>, <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, <a class="el" href="a00088_source.html#l01784">bm::bvector&lt; Alloc, MS &gt;::invert()</a>, <a class="el" href="a00088_source.html#l01842">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, and <a class="el" href="a00088_source.html#l01905">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.</p>
 
3529
 
 
3530
</div>
 
3531
</div>
 
3532
<a class="anchor" id="a2d1bf97ae342a7759943e62090fcf5d3"></a><!-- doxytag: member="bm::set_blkblk_mask" ref="a2d1bf97ae342a7759943e62090fcf5d3" args="" -->
 
3533
<div class="memitem">
 
3534
<div class="memproto">
 
3535
      <table class="memname">
 
3536
        <tr>
 
3537
          <td class="memname">const unsigned <a class="el" href="a00116.html#a2d1bf97ae342a7759943e62090fcf5d3">bm::set_blkblk_mask</a> = 0xFFFFFFu</td>
 
3538
        </tr>
 
3539
      </table>
 
3540
</div>
 
3541
<div class="memdoc">
 
3542
 
 
3543
<p>Definition at line <a class="el" href="a00092_source.html#l00055">55</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3544
 
 
3545
</div>
 
3546
</div>
 
3547
<a class="anchor" id="a3fad4a939708df59b1201910c7d37e30"></a><!-- doxytag: member="bm::set_block_16one" ref="a3fad4a939708df59b1201910c7d37e30" args="" -->
 
3548
<div class="memitem">
 
3549
<div class="memproto">
 
3550
      <table class="memname">
 
3551
        <tr>
 
3552
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6</td>
 
3553
        </tr>
 
3554
      </table>
 
3555
</div>
 
3556
<div class="memdoc">
 
3557
 
 
3558
<p>UP to 65536 all-set blocks. </p>
 
3559
 
 
3560
<p>Definition at line <a class="el" href="a00097_source.html#l00072">72</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3561
 
 
3562
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3563
 
 
3564
</div>
 
3565
</div>
 
3566
<a class="anchor" id="aef47eda6538ebf2624c1612d35694c01"></a><!-- doxytag: member="bm::set_block_16zero" ref="aef47eda6538ebf2624c1612d35694c01" args="" -->
 
3567
<div class="memitem">
 
3568
<div class="memproto">
 
3569
      <table class="memname">
 
3570
        <tr>
 
3571
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5</td>
 
3572
        </tr>
 
3573
      </table>
 
3574
</div>
 
3575
<div class="memdoc">
 
3576
 
 
3577
<p>Up to 65536 zero blocks. </p>
 
3578
 
 
3579
<p>Definition at line <a class="el" href="a00097_source.html#l00071">71</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3580
 
 
3581
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3582
 
 
3583
</div>
 
3584
</div>
 
3585
<a class="anchor" id="a715131318a361bcccf59fc0b1e41d444"></a><!-- doxytag: member="bm::set_block_1one" ref="a715131318a361bcccf59fc0b1e41d444" args="" -->
 
3586
<div class="memitem">
 
3587
<div class="memproto">
 
3588
      <table class="memname">
 
3589
        <tr>
 
3590
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2</td>
 
3591
        </tr>
 
3592
      </table>
 
3593
</div>
 
3594
<div class="memdoc">
 
3595
 
 
3596
<p>One block all-set (1111...). </p>
 
3597
 
 
3598
<p>Definition at line <a class="el" href="a00097_source.html#l00068">68</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3599
 
 
3600
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3601
 
 
3602
</div>
 
3603
</div>
 
3604
<a class="anchor" id="a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><!-- doxytag: member="bm::set_block_1zero" ref="a9e9cf918ca2ebec84eaf844d0e4c8bdb" args="" -->
 
3605
<div class="memitem">
 
3606
<div class="memproto">
 
3607
      <table class="memname">
 
3608
        <tr>
 
3609
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1</td>
 
3610
        </tr>
 
3611
      </table>
 
3612
</div>
 
3613
<div class="memdoc">
 
3614
 
 
3615
<p>One all-zero block. </p>
 
3616
 
 
3617
<p>Definition at line <a class="el" href="a00097_source.html#l00067">67</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3618
 
 
3619
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3620
 
 
3621
</div>
 
3622
</div>
 
3623
<a class="anchor" id="a5b87c58ae617ad1f104b4c6bc3ed6447"></a><!-- doxytag: member="bm::set_block_32one" ref="a5b87c58ae617ad1f104b4c6bc3ed6447" args="" -->
 
3624
<div class="memitem">
 
3625
<div class="memproto">
 
3626
      <table class="memname">
 
3627
        <tr>
 
3628
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8</td>
 
3629
        </tr>
 
3630
      </table>
 
3631
</div>
 
3632
<div class="memdoc">
 
3633
 
 
3634
<p>UP to 4G all-set blocks. </p>
 
3635
 
 
3636
<p>Definition at line <a class="el" href="a00097_source.html#l00074">74</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3637
 
 
3638
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3639
 
 
3640
</div>
 
3641
</div>
 
3642
<a class="anchor" id="ac7dfbd94a0534df88849bbce9e6c419a"></a><!-- doxytag: member="bm::set_block_32zero" ref="ac7dfbd94a0534df88849bbce9e6c419a" args="" -->
 
3643
<div class="memitem">
 
3644
<div class="memproto">
 
3645
      <table class="memname">
 
3646
        <tr>
 
3647
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ac7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7</td>
 
3648
        </tr>
 
3649
      </table>
 
3650
</div>
 
3651
<div class="memdoc">
 
3652
 
 
3653
<p>Up to 4G zero blocks. </p>
 
3654
 
 
3655
<p>Definition at line <a class="el" href="a00097_source.html#l00073">73</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3656
 
 
3657
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3658
 
 
3659
</div>
 
3660
</div>
 
3661
<a class="anchor" id="a57ad1090d6f380cf5de5f98c699b5a75"></a><!-- doxytag: member="bm::set_block_8one" ref="a57ad1090d6f380cf5de5f98c699b5a75" args="" -->
 
3662
<div class="memitem">
 
3663
<div class="memproto">
 
3664
      <table class="memname">
 
3665
        <tr>
 
3666
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4</td>
 
3667
        </tr>
 
3668
      </table>
 
3669
</div>
 
3670
<div class="memdoc">
 
3671
 
 
3672
<p>Up to 256 all-set blocks. </p>
 
3673
 
 
3674
<p>Definition at line <a class="el" href="a00097_source.html#l00070">70</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3675
 
 
3676
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3677
 
 
3678
</div>
 
3679
</div>
 
3680
<a class="anchor" id="ac9b85b261ab49b37d5e15b84ed2d8b99"></a><!-- doxytag: member="bm::set_block_8zero" ref="ac9b85b261ab49b37d5e15b84ed2d8b99" args="" -->
 
3681
<div class="memitem">
 
3682
<div class="memproto">
 
3683
      <table class="memname">
 
3684
        <tr>
 
3685
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ac9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3</td>
 
3686
        </tr>
 
3687
      </table>
 
3688
</div>
 
3689
<div class="memdoc">
 
3690
 
 
3691
<p>Up to 256 zero blocks. </p>
 
3692
 
 
3693
<p>Definition at line <a class="el" href="a00097_source.html#l00069">69</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3694
 
 
3695
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3696
 
 
3697
</div>
 
3698
</div>
 
3699
<a class="anchor" id="ad506b63262c52870758432a95e71907e"></a><!-- doxytag: member="bm::set_block_aone" ref="ad506b63262c52870758432a95e71907e" args="" -->
 
3700
<div class="memitem">
 
3701
<div class="memproto">
 
3702
      <table class="memname">
 
3703
        <tr>
 
3704
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ad506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10</td>
 
3705
        </tr>
 
3706
      </table>
 
3707
</div>
 
3708
<div class="memdoc">
 
3709
 
 
3710
<p>All other blocks one. </p>
 
3711
 
 
3712
<p>Definition at line <a class="el" href="a00097_source.html#l00076">76</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3713
 
 
3714
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3715
 
 
3716
</div>
 
3717
</div>
 
3718
<a class="anchor" id="a6ec6acb175ce77a229003f088ecd3923"></a><!-- doxytag: member="bm::set_block_arrbit" ref="a6ec6acb175ce77a229003f088ecd3923" args="" -->
 
3719
<div class="memitem">
 
3720
<div class="memproto">
 
3721
      <table class="memname">
 
3722
        <tr>
 
3723
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16</td>
 
3724
        </tr>
 
3725
      </table>
 
3726
</div>
 
3727
<div class="memdoc">
 
3728
 
 
3729
<p>List of bits ON. </p>
 
3730
 
 
3731
<p>Definition at line <a class="el" href="a00097_source.html#l00082">82</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3732
 
 
3733
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l02690">bm::serial_stream_iterator&lt; DEC &gt;::get_arr_bit()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
 
3734
 
 
3735
</div>
 
3736
</div>
 
3737
<a class="anchor" id="aae33ceefae804cdd94412beee8c52720"></a><!-- doxytag: member="bm::set_block_arrgap" ref="aae33ceefae804cdd94412beee8c52720" args="" -->
 
3738
<div class="memitem">
 
3739
<div class="memproto">
 
3740
      <table class="memname">
 
3741
        <tr>
 
3742
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18</td>
 
3743
        </tr>
 
3744
      </table>
 
3745
</div>
 
3746
<div class="memdoc">
 
3747
 
 
3748
<p>List of bits ON (GAP block). </p>
 
3749
 
 
3750
<p>Definition at line <a class="el" href="a00097_source.html#l00084">84</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3751
 
 
3752
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00658">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, and <a class="el" href="a00097_source.html#l01180">bm::deseriaizer_base&lt; DEC &gt;::read_id_list()</a>.</p>
 
3753
 
 
3754
</div>
 
3755
</div>
 
3756
<a class="anchor" id="a9674ddb1b9ee66948465249688708188"></a><!-- doxytag: member="bm::set_block_arrgap_egamma" ref="a9674ddb1b9ee66948465249688708188" args="" -->
 
3757
<div class="memitem">
 
3758
<div class="memproto">
 
3759
      <table class="memname">
 
3760
        <tr>
 
3761
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21</td>
 
3762
        </tr>
 
3763
      </table>
 
3764
</div>
 
3765
<div class="memdoc">
 
3766
 
 
3767
<p>Gamma compressed delta GAP array. </p>
 
3768
 
 
3769
<p>Definition at line <a class="el" href="a00097_source.html#l00087">87</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3770
 
 
3771
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00658">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, and <a class="el" href="a00097_source.html#l01180">bm::deseriaizer_base&lt; DEC &gt;::read_id_list()</a>.</p>
 
3772
 
 
3773
</div>
 
3774
</div>
 
3775
<a class="anchor" id="a1caddb62b332a568ba590794800610f6"></a><!-- doxytag: member="bm::set_block_arrgap_egamma_inv" ref="a1caddb62b332a568ba590794800610f6" args="" -->
 
3776
<div class="memitem">
 
3777
<div class="memproto">
 
3778
      <table class="memname">
 
3779
        <tr>
 
3780
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a1caddb62b332a568ba590794800610f6">bm::set_block_arrgap_egamma_inv</a> = 23</td>
 
3781
        </tr>
 
3782
      </table>
 
3783
</div>
 
3784
<div class="memdoc">
 
3785
 
 
3786
<p>Gamma compressed inverted delta GAP array. </p>
 
3787
 
 
3788
<p>Definition at line <a class="el" href="a00097_source.html#l00089">89</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3789
 
 
3790
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00658">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, and <a class="el" href="a00097_source.html#l01180">bm::deseriaizer_base&lt; DEC &gt;::read_id_list()</a>.</p>
 
3791
 
 
3792
</div>
 
3793
</div>
 
3794
<a class="anchor" id="a746a03f6f5563cc8c75db93bba40095d"></a><!-- doxytag: member="bm::set_block_arrgap_inv" ref="a746a03f6f5563cc8c75db93bba40095d" 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="a00116.html#a746a03f6f5563cc8c75db93bba40095d">bm::set_block_arrgap_inv</a> = 24</td>
 
3800
        </tr>
 
3801
      </table>
 
3802
</div>
 
3803
<div class="memdoc">
 
3804
 
 
3805
<p>List of bits OFF (GAP block). </p>
 
3806
 
 
3807
<p>Definition at line <a class="el" href="a00097_source.html#l00090">90</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3808
 
 
3809
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00658">bm::serializer&lt; BV &gt;::gamma_gap_array()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, and <a class="el" href="a00097_source.html#l01180">bm::deseriaizer_base&lt; DEC &gt;::read_id_list()</a>.</p>
 
3810
 
 
3811
</div>
 
3812
</div>
 
3813
<a class="anchor" id="ae87b5c61d7ba6e2e592a279db0b21cc0"></a><!-- doxytag: member="bm::set_block_azero" ref="ae87b5c61d7ba6e2e592a279db0b21cc0" args="" -->
 
3814
<div class="memitem">
 
3815
<div class="memproto">
 
3816
      <table class="memname">
 
3817
        <tr>
 
3818
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ae87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9</td>
 
3819
        </tr>
 
3820
      </table>
 
3821
</div>
 
3822
<div class="memdoc">
 
3823
 
 
3824
<p>All other blocks zero. </p>
 
3825
 
 
3826
<p>Definition at line <a class="el" href="a00097_source.html#l00075">75</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3827
 
 
3828
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3829
 
 
3830
</div>
 
3831
</div>
 
3832
<a class="anchor" id="aef86ab2eb42c198272eea7cdfe42951b"></a><!-- doxytag: member="bm::set_block_bit" ref="aef86ab2eb42c198272eea7cdfe42951b" args="" -->
 
3833
<div class="memitem">
 
3834
<div class="memproto">
 
3835
      <table class="memname">
 
3836
        <tr>
 
3837
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11</td>
 
3838
        </tr>
 
3839
      </table>
 
3840
</div>
 
3841
<div class="memdoc">
 
3842
 
 
3843
<p>Plain bit block. </p>
 
3844
 
 
3845
<p>Definition at line <a class="el" href="a00097_source.html#l00077">77</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3846
 
 
3847
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3848
 
 
3849
</div>
 
3850
</div>
 
3851
<a class="anchor" id="a5e21adca3bc6902f33e43e5cfd824f0e"></a><!-- doxytag: member="bm::set_block_bit_0runs" ref="a5e21adca3bc6902f33e43e5cfd824f0e" args="" -->
 
3852
<div class="memitem">
 
3853
<div class="memproto">
 
3854
      <table class="memname">
 
3855
        <tr>
 
3856
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22</td>
 
3857
        </tr>
 
3858
      </table>
 
3859
</div>
 
3860
<div class="memdoc">
 
3861
 
 
3862
<p>Bit block with encoded zero intervals. </p>
 
3863
 
 
3864
<p>Definition at line <a class="el" href="a00097_source.html#l00088">88</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3865
 
 
3866
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l00758">bm::serializer&lt; BV &gt;::encode_bit_interval()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
 
3867
 
 
3868
</div>
 
3869
</div>
 
3870
<a class="anchor" id="ad0e6607a9771fa49a658c3078208c2dc"></a><!-- doxytag: member="bm::set_block_bit_1bit" ref="ad0e6607a9771fa49a658c3078208c2dc" args="" -->
 
3871
<div class="memitem">
 
3872
<div class="memproto">
 
3873
      <table class="memname">
 
3874
        <tr>
 
3875
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ad0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19</td>
 
3876
        </tr>
 
3877
      </table>
 
3878
</div>
 
3879
<div class="memdoc">
 
3880
 
 
3881
<p>Bit block with 1 bit ON. </p>
 
3882
 
 
3883
<p>Definition at line <a class="el" href="a00097_source.html#l00085">85</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3884
 
 
3885
<p>Referenced by <a class="el" href="a00097_source.html#l03080">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l00705">bm::serializer&lt; BV &gt;::encode_gap_block()</a>, <a class="el" href="a00097_source.html#l02690">bm::serial_stream_iterator&lt; DEC &gt;::get_arr_bit()</a>, <a class="el" href="a00097_source.html#l02728">bm::serial_stream_iterator&lt; DEC &gt;::get_bit()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00097_source.html#l02739">bm::serial_stream_iterator&lt; DEC &gt;::get_gap_block()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>, <a class="el" href="a00097_source.html#l01180">bm::deseriaizer_base&lt; DEC &gt;::read_id_list()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3886
 
 
3887
</div>
 
3888
</div>
 
3889
<a class="anchor" id="a0f2d3289a95dc3bd224a6a73c3d3afce"></a><!-- doxytag: member="bm::set_block_bit_interval" ref="a0f2d3289a95dc3bd224a6a73c3d3afce" args="" -->
 
3890
<div class="memitem">
 
3891
<div class="memproto">
 
3892
      <table class="memname">
 
3893
        <tr>
 
3894
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17</td>
 
3895
        </tr>
 
3896
      </table>
 
3897
</div>
 
3898
<div class="memdoc">
 
3899
 
 
3900
<p>Interval block. </p>
 
3901
 
 
3902
<p>Definition at line <a class="el" href="a00097_source.html#l00083">83</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3903
 
 
3904
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, and <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
 
3905
 
 
3906
</div>
 
3907
</div>
 
3908
<a class="anchor" id="aa24e7c08930cf959d383c6b930fb0508"></a><!-- doxytag: member="bm::set_block_end" ref="aa24e7c08930cf959d383c6b930fb0508" args="" -->
 
3909
<div class="memitem">
 
3910
<div class="memproto">
 
3911
      <table class="memname">
 
3912
        <tr>
 
3913
          <td class="memname">const unsigned char <a class="el" href="a00116.html#aa24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0</td>
 
3914
        </tr>
 
3915
      </table>
 
3916
</div>
 
3917
<div class="memdoc">
 
3918
 
 
3919
<p>End of serialization. </p>
 
3920
 
 
3921
<p>Definition at line <a class="el" href="a00097_source.html#l00066">66</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3922
 
 
3923
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
3924
 
 
3925
</div>
 
3926
</div>
 
3927
<a class="anchor" id="a09b8c4b17b7d6f613c237c46d04a9cd6"></a><!-- doxytag: member="bm::set_block_gap" ref="a09b8c4b17b7d6f613c237c46d04a9cd6" args="" -->
 
3928
<div class="memitem">
 
3929
<div class="memproto">
 
3930
      <table class="memname">
 
3931
        <tr>
 
3932
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14</td>
 
3933
        </tr>
 
3934
      </table>
 
3935
</div>
 
3936
<div class="memdoc">
 
3937
 
 
3938
<p>Plain GAP block. </p>
 
3939
 
 
3940
<p>Definition at line <a class="el" href="a00097_source.html#l00080">80</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3941
 
 
3942
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00621">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>.</p>
 
3943
 
 
3944
</div>
 
3945
</div>
 
3946
<a class="anchor" id="ac47dea3917e15264ed3ba0cf4055adbe"></a><!-- doxytag: member="bm::set_block_gap_egamma" ref="ac47dea3917e15264ed3ba0cf4055adbe" args="" -->
 
3947
<div class="memitem">
 
3948
<div class="memproto">
 
3949
      <table class="memname">
 
3950
        <tr>
 
3951
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ac47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20</td>
 
3952
        </tr>
 
3953
      </table>
 
3954
</div>
 
3955
<div class="memdoc">
 
3956
 
 
3957
<p>Gamma compressed GAP block. </p>
 
3958
 
 
3959
<p>Definition at line <a class="el" href="a00097_source.html#l00086">86</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3960
 
 
3961
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l00621">bm::serializer&lt; BV &gt;::gamma_gap_block()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l01223">bm::deseriaizer_base&lt; DEC &gt;::read_gap_block()</a>.</p>
 
3962
 
 
3963
</div>
 
3964
</div>
 
3965
<a class="anchor" id="a77dc965397e31a1d39c3d8e628792779"></a><!-- doxytag: member="bm::set_block_gapbit" ref="a77dc965397e31a1d39c3d8e628792779" args="" -->
 
3966
<div class="memitem">
 
3967
<div class="memproto">
 
3968
      <table class="memname">
 
3969
        <tr>
 
3970
          <td class="memname">const unsigned char <a class="el" href="a00116.html#a77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15</td>
 
3971
        </tr>
 
3972
      </table>
 
3973
</div>
 
3974
<div class="memdoc">
 
3975
 
 
3976
<p>GAP compressed bitblock. </p>
 
3977
 
 
3978
<p>Definition at line <a class="el" href="a00097_source.html#l00081">81</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
3979
 
 
3980
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l01308">bm::deserializer&lt; BV, DEC &gt;::deserialize_gap()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, and <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>.</p>
 
3981
 
 
3982
</div>
 
3983
</div>
 
3984
<a class="anchor" id="a201fb8b1f81b7487f1c1c129fc3d6557"></a><!-- doxytag: member="bm::set_block_mask" ref="a201fb8b1f81b7487f1c1c129fc3d6557" args="" -->
 
3985
<div class="memitem">
 
3986
<div class="memproto">
 
3987
      <table class="memname">
 
3988
        <tr>
 
3989
          <td class="memname">const unsigned <a class="el" href="a00116.html#a201fb8b1f81b7487f1c1c129fc3d6557">bm::set_block_mask</a> = 0xFFFFu</td>
 
3990
        </tr>
 
3991
      </table>
 
3992
</div>
 
3993
<div class="memdoc">
 
3994
 
 
3995
<p>Definition at line <a class="el" href="a00092_source.html#l00054">54</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
3996
 
 
3997
<p>Referenced by <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, <a class="el" href="a00090_source.html#l01184">combine_xor()</a>, <a class="el" href="a00088_source.html#l01690">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00088_source.html#l01808">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00094_source.html#l01456">or_bit_block()</a>, <a class="el" href="a00094_source.html#l01426">set_bit()</a>, <a class="el" href="a00094_source.html#l01518">sub_bit_block()</a>, <a class="el" href="a00094_source.html#l01439">test_bit()</a>, and <a class="el" href="a00094_source.html#l01580">xor_bit_block()</a>.</p>
 
3998
 
 
3999
</div>
 
4000
</div>
 
4001
<a class="anchor" id="a3428cf384446982017ba9ee68152d238"></a><!-- doxytag: member="bm::set_block_plain_cnt" ref="a3428cf384446982017ba9ee68152d238" args="" -->
 
4002
<div class="memitem">
 
4003
<div class="memproto">
 
4004
      <table class="memname">
 
4005
        <tr>
 
4006
          <td class="memname">const unsigned <a class="el" href="a00116.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a> = sizeof(<a class="el" href="a00116.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td>
 
4007
        </tr>
 
4008
      </table>
 
4009
</div>
 
4010
<div class="memdoc">
 
4011
 
 
4012
<p>Definition at line <a class="el" href="a00092_source.html#l00058">58</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4013
 
 
4014
</div>
 
4015
</div>
 
4016
<a class="anchor" id="a35780565f6d8f2831ebff8877d3ba662"></a><!-- doxytag: member="bm::set_block_plain_size" ref="a35780565f6d8f2831ebff8877d3ba662" args="" -->
 
4017
<div class="memitem">
 
4018
<div class="memproto">
 
4019
      <table class="memname">
 
4020
        <tr>
 
4021
          <td class="memname">const unsigned <a class="el" href="a00116.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td>
 
4022
        </tr>
 
4023
      </table>
 
4024
</div>
 
4025
<div class="memdoc">
 
4026
 
 
4027
<p>Definition at line <a class="el" href="a00092_source.html#l00057">57</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4028
 
 
4029
</div>
 
4030
</div>
 
4031
<a class="anchor" id="afe4b1011b09271c5f3882b926e250d39"></a><!-- doxytag: member="bm::set_block_sgapbit" ref="afe4b1011b09271c5f3882b926e250d39" args="" -->
 
4032
<div class="memitem">
 
4033
<div class="memproto">
 
4034
      <table class="memname">
 
4035
        <tr>
 
4036
          <td class="memname">const unsigned char <a class="el" href="a00116.html#afe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12</td>
 
4037
        </tr>
 
4038
      </table>
 
4039
</div>
 
4040
<div class="memdoc">
 
4041
 
 
4042
<p>SGAP compressed bitblock. </p>
 
4043
 
 
4044
<p>Definition at line <a class="el" href="a00097_source.html#l00078">78</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
4045
 
 
4046
</div>
 
4047
</div>
 
4048
<a class="anchor" id="ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><!-- doxytag: member="bm::set_block_sgapgap" ref="ab3a8d57c0b898c3c5a23cd27a8f856ad" args="" -->
 
4049
<div class="memitem">
 
4050
<div class="memproto">
 
4051
      <table class="memname">
 
4052
        <tr>
 
4053
          <td class="memname">const unsigned char <a class="el" href="a00116.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13</td>
 
4054
        </tr>
 
4055
      </table>
 
4056
</div>
 
4057
<div class="memdoc">
 
4058
 
 
4059
<p>SGAP compressed GAP block. </p>
 
4060
 
 
4061
<p>Definition at line <a class="el" href="a00097_source.html#l00079">79</a> of file <a class="el" href="a00097_source.html">bmserial.h</a>.</p>
 
4062
 
 
4063
</div>
 
4064
</div>
 
4065
<a class="anchor" id="ad8723fbeea6290d3daa8917ea7ce9bb2"></a><!-- doxytag: member="bm::set_block_shift" ref="ad8723fbeea6290d3daa8917ea7ce9bb2" args="" -->
 
4066
<div class="memitem">
 
4067
<div class="memproto">
 
4068
      <table class="memname">
 
4069
        <tr>
 
4070
          <td class="memname">const unsigned <a class="el" href="a00116.html#ad8723fbeea6290d3daa8917ea7ce9bb2">bm::set_block_shift</a> = 16u</td>
 
4071
        </tr>
 
4072
      </table>
 
4073
</div>
 
4074
<div class="memdoc">
 
4075
 
 
4076
<p>Definition at line <a class="el" href="a00092_source.html#l00053">53</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4077
 
 
4078
<p>Referenced by <a class="el" href="a00090_source.html#l01075">block_range_scan()</a>, <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, <a class="el" href="a00090_source.html#l01184">combine_xor()</a>, <a class="el" href="a00088_source.html#l01690">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00097_source.html#l03080">bm::iterator_deserializer&lt; BV, SerialIterator &gt;::deserialize()</a>, and <a class="el" href="a00088_source.html#l01808">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>.</p>
 
4079
 
 
4080
</div>
 
4081
</div>
 
4082
<a class="anchor" id="a91319dbc0d0e1bf3a3efc4d92bac7972"></a><!-- doxytag: member="bm::set_block_size" ref="a91319dbc0d0e1bf3a3efc4d92bac7972" args="" -->
 
4083
<div class="memitem">
 
4084
<div class="memproto">
 
4085
      <table class="memname">
 
4086
        <tr>
 
4087
          <td class="memname">const unsigned <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> = 2048u</td>
 
4088
        </tr>
 
4089
      </table>
 
4090
</div>
 
4091
<div class="memdoc">
 
4092
 
 
4093
<p>Definition at line <a class="el" href="a00092_source.html#l00052">52</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4094
 
 
4095
<p>Referenced by <a class="el" href="a00094_source.html#l00066">bm::bv_statistics::add_bit_block()</a>, <a class="el" href="a00091_source.html#l00173">bm::mem_alloc&lt; BA, PA &gt;::alloc_bit_block()</a>, <a class="el" href="a00094_source.html#l03321">bit_block_and()</a>, <a class="el" href="a00094_source.html#l03301">bit_block_copy()</a>, <a class="el" href="a00094_source.html#l03935">bit_block_or()</a>, <a class="el" href="a00094_source.html#l02096">bit_block_set()</a>, <a class="el" href="a00094_source.html#l04031">bit_block_sub()</a>, <a class="el" href="a00094_source.html#l04127">bit_block_xor()</a>, <a class="el" href="a00094_source.html#l04320">bit_find_in_block()</a>, <a class="el" href="a00094_source.html#l03973">bit_operation_or()</a>, <a class="el" href="a00090_source.html#l00343">combine_any_operation_with_block()</a>, <a class="el" href="a00090_source.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00097_source.html#l00758">bm::serializer&lt; BV &gt;::encode_bit_interval()</a>, <a class="el" href="a00090_source.html#l01431">export_array()</a>, <a class="el" href="a00091_source.html#l00180">bm::mem_alloc&lt; BA, PA &gt;::free_bit_block()</a>, <a class="el" href="a00097_source.html#l02013">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_AND()</a>, <a class="el" href="a00097_source.html#l01889">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_ASSIGN()</a>, <a class="el" href="a00097_source.html#l02203">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT()</a>, <a class="el" href="a00097_source.html#l02260">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_A()</a>, <a class="el" href="a00097_source.html#l02323">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00097_source.html#l02382">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00097_source.html#l02538">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00097_source.html#l02617">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00097_source.html#l02460">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00097_source.html#l01951">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_OR()</a>, <a class="el" href="a00097_source.html#l02144">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_SUB()</a>, <a class="el" href="a00097_source.html#l02084">bm::serial_stream_iterator&lt; DEC &gt;::get_bit_block_XOR()</a>, <a class="el" href="a00088_source.html#l00500">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
4096
 
 
4097
</div>
 
4098
</div>
 
4099
<a class="anchor" id="a7049fd70220fc3a3072e9f82abf4ad66"></a><!-- doxytag: member="bm::set_block_size_op" ref="a7049fd70220fc3a3072e9f82abf4ad66" args="" -->
 
4100
<div class="memitem">
 
4101
<div class="memproto">
 
4102
      <table class="memname">
 
4103
        <tr>
 
4104
          <td class="memname">const unsigned <a class="el" href="a00116.html#a7049fd70220fc3a3072e9f82abf4ad66">bm::set_block_size_op</a> = <a class="el" href="a00116.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></td>
 
4105
        </tr>
 
4106
      </table>
 
4107
</div>
 
4108
<div class="memdoc">
 
4109
 
 
4110
<p>Definition at line <a class="el" href="a00092_source.html#l00104">104</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4111
 
 
4112
<p>Referenced by <a class="el" href="a00088_source.html#l01921">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.</p>
 
4113
 
 
4114
</div>
 
4115
</div>
 
4116
<a class="anchor" id="a505011007f54598794e0b9477c0b0b11"></a><!-- doxytag: member="bm::set_total_blocks" ref="a505011007f54598794e0b9477c0b0b11" args="" -->
 
4117
<div class="memitem">
 
4118
<div class="memproto">
 
4119
      <table class="memname">
 
4120
        <tr>
 
4121
          <td class="memname">const unsigned <a class="el" href="a00116.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> = (<a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00116.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td>
 
4122
        </tr>
 
4123
      </table>
 
4124
</div>
 
4125
<div class="memdoc">
 
4126
 
 
4127
<p>Definition at line <a class="el" href="a00092_source.html#l00083">83</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4128
 
 
4129
<p>Referenced by <a class="el" href="a00097_source.html#l01403">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>, <a class="el" href="a00090_source.html#l01431">export_array()</a>, <a class="el" href="a00097_source.html#l01741">bm::serial_stream_iterator&lt; DEC &gt;::next()</a>, and <a class="el" href="a00097_source.html#l00810">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
4130
 
 
4131
</div>
 
4132
</div>
 
4133
<a class="anchor" id="addbf345be3733d5e4575d71733ed1da8"></a><!-- doxytag: member="bm::set_word_mask" ref="addbf345be3733d5e4575d71733ed1da8" args="" -->
 
4134
<div class="memitem">
 
4135
<div class="memproto">
 
4136
      <table class="memname">
 
4137
        <tr>
 
4138
          <td class="memname">const unsigned <a class="el" href="a00116.html#addbf345be3733d5e4575d71733ed1da8">bm::set_word_mask</a> = 0x1Fu</td>
 
4139
        </tr>
 
4140
      </table>
 
4141
</div>
 
4142
<div class="memdoc">
 
4143
 
 
4144
<p>Definition at line <a class="el" href="a00092_source.html#l00063">63</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4145
 
 
4146
<p>Referenced by <a class="el" href="a00094_source.html#l02974">bit_block_any_range()</a>, <a class="el" href="a00094_source.html#l02905">bit_block_calc_count_range()</a>, <a class="el" href="a00094_source.html#l04320">bit_find_in_block()</a>, <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, <a class="el" href="a00090_source.html#l01184">combine_xor()</a>, <a class="el" href="a00088_source.html#l01808">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00094_source.html#l01456">or_bit_block()</a>, <a class="el" href="a00104_source.html#l00237">bm::bvmini&lt; N &gt;::set()</a>, <a class="el" href="a00104_source.html#l00101">bm::miniset&lt; A, N &gt;::set()</a>, <a class="el" href="a00094_source.html#l01426">set_bit()</a>, <a class="el" href="a00094_source.html#l01518">sub_bit_block()</a>, <a class="el" href="a00104_source.html#l00232">bm::bvmini&lt; N &gt;::test()</a>, <a class="el" href="a00104_source.html#l00090">bm::miniset&lt; A, N &gt;::test()</a>, <a class="el" href="a00094_source.html#l01439">test_bit()</a>, and <a class="el" href="a00094_source.html#l01580">xor_bit_block()</a>.</p>
 
4147
 
 
4148
</div>
 
4149
</div>
 
4150
<a class="anchor" id="a83d76bccf6fe3770f32d5ba11d2a37ad"></a><!-- doxytag: member="bm::set_word_shift" ref="a83d76bccf6fe3770f32d5ba11d2a37ad" args="" -->
 
4151
<div class="memitem">
 
4152
<div class="memproto">
 
4153
      <table class="memname">
 
4154
        <tr>
 
4155
          <td class="memname">const unsigned <a class="el" href="a00116.html#a83d76bccf6fe3770f32d5ba11d2a37ad">bm::set_word_shift</a> = 5u</td>
 
4156
        </tr>
 
4157
      </table>
 
4158
</div>
 
4159
<div class="memdoc">
 
4160
 
 
4161
<p>Definition at line <a class="el" href="a00092_source.html#l00062">62</a> of file <a class="el" href="a00092_source.html">bmconst.h</a>.</p>
 
4162
 
 
4163
<p>Referenced by <a class="el" href="a00094_source.html#l02974">bit_block_any_range()</a>, <a class="el" href="a00094_source.html#l02905">bit_block_calc_count_range()</a>, <a class="el" href="a00094_source.html#l04320">bit_find_in_block()</a>, <a class="el" href="a00090_source.html#l01105">combine_or()</a>, <a class="el" href="a00090_source.html#l01268">combine_sub()</a>, <a class="el" href="a00090_source.html#l01184">combine_xor()</a>, <a class="el" href="a00088_source.html#l01808">bm::bvector&lt; Alloc, MS &gt;::get_bit()</a>, <a class="el" href="a00094_source.html#l01456">or_bit_block()</a>, <a class="el" href="a00104_source.html#l00237">bm::bvmini&lt; N &gt;::set()</a>, <a class="el" href="a00104_source.html#l00101">bm::miniset&lt; A, N &gt;::set()</a>, <a class="el" href="a00094_source.html#l01426">set_bit()</a>, <a class="el" href="a00094_source.html#l01518">sub_bit_block()</a>, <a class="el" href="a00104_source.html#l00232">bm::bvmini&lt; N &gt;::test()</a>, <a class="el" href="a00104_source.html#l00090">bm::miniset&lt; A, N &gt;::test()</a>, <a class="el" href="a00094_source.html#l01439">test_bit()</a>, and <a class="el" href="a00094_source.html#l01580">xor_bit_block()</a>.</p>
 
4164
 
 
4165
</div>
 
4166
</div>
 
4167
</div>
 
4168
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:48:12 2010 for BitMagic by&nbsp;
 
4169
<a href="http://www.doxygen.org/index.html">
 
4170
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
 
4171
</body>
 
4172
</html>