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

« back to all changes in this revision

Viewing changes to doc/html/a00092.html

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
 
<title>BitMagic: bmtrans.h File Reference</title>
4
 
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
 
<link href="tabs.css" rel="stylesheet" type="text/css">
6
 
</head><body>
7
 
<!-- Generated by Doxygen 1.5.5 -->
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml">
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 
5
<title>BitMagic: bmserial.h File Reference</title>
 
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
 
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
 
8
</head>
 
9
<body>
 
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
9
12
  <div class="tabs">
10
13
    <ul>
11
14
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
15
      <li><a href="modules.html"><span>Modules</span></a></li>
13
16
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
 
      <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
 
17
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
18
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
19
      <li><a href="examples.html"><span>Examples</span></a></li>
17
20
    </ul>
18
21
  </div>
 
22
  <div class="tabs">
 
23
    <ul>
 
24
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
 
25
      <li><a href="globals.html"><span>Globals</span></a></li>
 
26
    </ul>
 
27
  </div>
19
28
</div>
20
29
<div class="contents">
21
 
<h1>bmtrans.h File Reference</h1>
22
 
<p>
 
30
<h1>bmserial.h File Reference</h1><code>#include &quot;<a class="el" href="a00084_source.html">bm.h</a>&quot;</code><br/>
 
31
<code>#include &quot;<a class="el" href="a00100_source.html">encoding.h</a>&quot;</code><br/>
 
32
<code>#include &quot;<a class="el" href="a00089_source.html">bmdef.h</a>&quot;</code><br/>
 
33
<code>#include &quot;<a class="el" href="a00090_source.html">bmfunc.h</a>&quot;</code><br/>
 
34
<code>#include &quot;<a class="el" href="a00096_source.html">bmtrans.h</a>&quot;</code><br/>
 
35
<code>#include &quot;<a class="el" href="a00086_source.html">bmalgo_impl.h</a>&quot;</code><br/>
 
36
<code>#include &quot;<a class="el" href="a00098_source.html">bmutil.h</a>&quot;</code><br/>
 
37
<code>#include &quot;<a class="el" href="a00097_source.html">bmundef.h</a>&quot;</code><br/>
 
38
<div class="dynheader">
 
39
Include dependency graph for bmserial.h:</div>
 
40
<div class="dynsection">
 
41
<div class="center"><img src="a00136.png" border="0" usemap="#bmserial_8h_map" alt=""/></div>
 
42
<map name="bmserial_8h_map" id="bmserial_8h">
 
43
<area shape="rect" href="a00084.html" title="bm.h" alt="" coords="497,83,548,112"/><area shape="rect" href="a00089.html" title="bmdef.h" alt="" coords="997,315,1064,344"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="864,160,939,189"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="1085,237,1152,267"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="963,160,1045,189"/><area shape="rect" href="a00097.html" title="bmundef.h" alt="" coords="1069,160,1152,189"/><area shape="rect" href="a00096.html" title="bmtrans.h" alt="" coords="1277,83,1357,112"/><area shape="rect" href="a00086.html" title="bmalgo_impl.h" alt="" coords="1381,83,1485,112"/><area shape="rect" href="a00088.html" title="bmconst.h" alt="" coords="617,315,700,344"/><area shape="rect" href="a00093.html" title="bmsse2.h" alt="" coords="663,160,740,189"/><area shape="rect" href="a00099.html" title="bmvmin.h" alt="" coords="99,160,176,189"/><area shape="rect" href="a00087.html" title="bmalloc.h" alt="" coords="336,160,413,189"/><area shape="rect" href="a00095.html" title="bmsse_util.h" alt="" coords="653,237,749,267"/></map>
 
44
</div>
23
45
<div class="dynheader">
24
46
This graph shows which files directly or indirectly include this file:</div>
25
47
<div class="dynsection">
26
 
<p><center><img src="a00160.png" border="0" usemap="#bmtrans.hdep_map" alt=""></center>
27
 
<map name="bmtrans.hdep_map">
28
 
<area shape="rect" id="node3" href="a00090.html" title="bmserial.h" alt="" coords="13,83,93,111">
 
 
b'<area shape="rect" id="node5" href="a00100.html" title="sample4.cpp" alt="" coords="5,161,101,189">'
 
 
b'</map>'
 
48
<div class="center"><img src="a00137.png" border="0" usemap="#bmserial_8hdep_map" alt=""/></div>
 
49
<map name="bmserial_8hdep_map" id="bmserial_8hdep">
 
50
<area shape="rect" href="a00104.html" title="sample4.cpp" alt="" coords="5,83,101,112"/></map>
29
51
</div>
30
52
 
31
 
<p>
32
 
<a href="a00138.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
33
 
<tr><td></td></tr>
34
 
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
35
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html">bm</a></td></tr>
36
 
 
37
 
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
38
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">bm::tmatrix&lt; T, ROWS, COLS &gt;</a></td></tr>
39
 
 
40
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mini-matrix for bit transposition purposes.  <a href="a00081.html#_details">More...</a><br></td></tr>
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">bm::bit_grabber&lt; T, BPC &gt;</a></td></tr>
42
 
 
43
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">bm::bm::bit_grabber&lt; unsigned, 32 &gt;</a></td></tr>
44
 
 
45
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bm::bm::bit_grabber&lt; unsigned short, 16 &gt;</a></td></tr>
46
 
 
47
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">bm::bm::bit_grabber&lt; unsigned char, 8 &gt;</a></td></tr>
48
 
 
49
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">bm::bit_trans_grabber&lt; T, BPC, BPS &gt;</a></td></tr>
50
 
 
51
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;</a></td></tr>
52
 
 
53
 
<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>
54
 
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
55
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
56
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#2e3af9c9f2eb481130d240ba4cd6fd68">bm::vect_bit_transpose</a> (const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])</td></tr>
57
 
 
58
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size.  <a href="#2e3af9c9f2eb481130d240ba4cd6fd68"></a><br></td></tr>
59
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
60
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#089ac7cd17ddca4bf3c661c96f749f3f">bm::vect_bit_trestore</a> (const T tmatrix[BPC][BPS], T *arr)</td></tr>
61
 
 
62
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size.  <a href="#089ac7cd17ddca4bf3c661c96f749f3f"></a><br></td></tr>
63
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
64
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae">bm::tmatrix_distance</a> (const T tmatrix[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
65
 
 
66
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block.  <a href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae"></a><br></td></tr>
67
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, unsigned BPC, unsigned BPS&gt; </td></tr>
68
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75">bm::bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
69
 
 
70
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; ibpc limiter  <a href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75"></a><br></td></tr>
71
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dfae226f696ef821c7d351216c00fe0d">bm::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>
72
 
 
73
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute number of ibpc codes in pc_vector.  <a href="#dfae226f696ef821c7d351216c00fe0d"></a><br></td></tr>
74
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#62808b64adfcf2a7e610a4f713f470c0">bm::bit_iblock_reduce</a> (const unsigned tmatrix[<a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[<a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
75
 
 
76
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix reduction based on transformation pc vector.  <a href="#62808b64adfcf2a7e610a4f713f470c0"></a><br></td></tr>
77
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GT, typename BT&gt; </td></tr>
78
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#76724fb233f93c15146641482311ce28">bm::gap_2_bitblock</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)</td></tr>
79
 
 
80
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation.  <a href="#76724fb233f93c15146641482311ce28"></a><br></td></tr>
81
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TM&gt; </td></tr>
82
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#f92597461aff2926f9adcbf51bac98f9">bm::find_effective_columns</a> (const TM &amp;tmatrix)</td></tr>
83
 
 
84
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute effective right column border of the t-matrix.  <a href="#f92597461aff2926f9adcbf51bac98f9"></a><br></td></tr>
85
 
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
86
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0</td></tr>
87
 
 
88
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1</td></tr>
89
 
 
90
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain uncompressed  <a href="#aca6d3c887b5b7b66a78e95471f9a326"></a><br></td></tr>
91
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2</td></tr>
92
 
 
93
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ZERO  <a href="#a6f59be0b838db693e0f081bcaf750f0"></a><br></td></tr>
94
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3</td></tr>
95
 
 
96
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain ALL ONE  <a href="#748d4095c39c9372a590b431e0ec17fe"></a><br></td></tr>
97
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4</td></tr>
98
 
 
99
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is equal to plain M  <a href="#a61bf7691d32a9bc7c65c05bb62657e5"></a><br></td></tr>
100
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8</td></tr>
101
 
 
102
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">!&lt; plain is close to plain M  <a href="#e4f14f0c2c5a9ee277808d36fd94693f"></a><br></td></tr>
 
53
<p><a href="a00092_source.html">Go to the source code of this file.</a></p>
 
54
<table border="0" cellpadding="0" cellspacing="0">
 
55
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
 
56
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">bm::serializer&lt; BV &gt;</a></td></tr>
 
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-vector serialization class.  <a href="a00080.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="a00057.html">bm::deseriaizer_base&lt; DEC &gt;</a></td></tr>
 
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base deserialization class.  <a href="a00057.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="a00058.html">bm::deserializer&lt; BV, DEC &gt;</a></td></tr>
 
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>.  <a href="a00058.html#_details">More...</a><br/></td></tr>
 
62
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">bm::iterator_deserializer&lt; BV, SerialIterator &gt;</a></td></tr>
 
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator to walk forward the serialized stream.  <a href="a00072.html#_details">More...</a><br/></td></tr>
 
64
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">bm::serial_stream_iterator&lt; DEC &gt;</a></td></tr>
 
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialization stream iterator.  <a href="a00079.html#_details">More...</a><br/></td></tr>
 
66
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">bm::operation_deserializer&lt; BV &gt;</a></td></tr>
 
67
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="a00058.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector.  <a href="a00075.html#_details">More...</a><br/></td></tr>
 
68
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 
69
<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html">bm</a></td></tr>
 
70
<tr><td colspan="2"><h2>Defines</h2></td></tr>
 
71
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a6a3d8841118b48dc31cf507ac70c763a">SER_NEXT_GRP</a>(enc, nb, B_1ZERO, B_8ZERO, B_16ZERO, B_32ZERO)</td></tr>
 
72
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a045ab59db462c831654a8acefdf65443">BM_SET_ONE_BLOCKS</a>(x)</td></tr>
 
73
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
 
74
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a> { <br/>
 
75
&nbsp;&nbsp;<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a97434d6617bb5f0d6f3bf44491f712ca">bm::BM_HM_DEFAULT</a> =  1, 
 
76
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0af4fbefa0ed0a8ff42dd664f120782c27">bm::BM_HM_RESIZE</a> =  (1 &lt;&lt; 1), 
 
77
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a64c44c57a6f8b8e89f0916db9e120d47">bm::BM_HM_ID_LIST</a> =  (1 &lt;&lt; 2), 
 
78
<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a6b127bde401907318702dd4827c8f74e">bm::BM_HM_NO_BO</a> =  (1 &lt;&lt; 3), 
 
79
<br/>
 
80
&nbsp;&nbsp;<a class="el" href="a00110.html#ab69f66b71d349b0757370f54318bb2c0a04c714af376c203bc8b082856ad622a3">bm::BM_HM_NO_GAPL</a> =  (1 &lt;&lt; 4)
 
81
<br/>
 
82
 }</td></tr>
 
83
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">bm::serialization_flags</a> { <a class="el" href="a00121.html#gga537dfe6318f1f1fe18d86dac312be978acdd8c071c079589388c3ca7bd4f367c8">bm::BM_NO_BYTE_ORDER</a> =  1, 
 
84
<a class="el" href="a00121.html#gga537dfe6318f1f1fe18d86dac312be978a5521473081d341bc32ac59538e6a8096">bm::BM_NO_GAP_LENGTH</a> =  (1 &lt;&lt; 1)
 
85
 }</td></tr>
 
86
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Bit mask flags for serialization algorithm. </p>
 
87
 <a href="a00121.html#ga537dfe6318f1f1fe18d86dac312be978">More...</a><br/></td></tr>
 
88
<tr><td colspan="2"><h2>Functions</h2></td></tr>
 
89
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
90
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga5210c3bda57254ef2e8c71e23306cc88">bm::serialize</a> (const BV &amp;bv, unsigned char *buf, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned serialization_flags=0)</td></tr>
 
91
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory.  <a href="a00121.html#ga5210c3bda57254ef2e8c71e23306cc88"></a><br/></td></tr>
 
92
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
93
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#ga213033b5cc6add74aa4bd1d614b56192">bm::serialize</a> (BV &amp;bv, unsigned char *buf, unsigned serialization_flags=0)</td></tr>
 
94
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00043.html" title="bitvector with runtime compression of bits.">bvector</a>.  <a href="a00121.html#ga213033b5cc6add74aa4bd1d614b56192"></a><br/></td></tr>
 
95
<tr><td class="memTemplParams" colspan="2">template&lt;class BV &gt; </td></tr>
 
96
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00121.html#gafbe633db8da3d867f098468269fd8d3d">bm::deserialize</a> (BV &amp;bv, const unsigned char *buf, <a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
 
97
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitvector deserialization from memory.  <a href="a00121.html#gafbe633db8da3d867f098468269fd8d3d"></a><br/></td></tr>
 
98
<tr><td colspan="2"><h2>Variables</h2></td></tr>
 
99
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0</td></tr>
 
100
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of serialization.  <a href="#aa24e7c08930cf959d383c6b930fb0508"></a><br/></td></tr>
 
101
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1</td></tr>
 
102
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One all-zero block.  <a href="#a9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br/></td></tr>
 
103
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2</td></tr>
 
104
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One block all-set (1111...).  <a href="#a715131318a361bcccf59fc0b1e41d444"></a><br/></td></tr>
 
105
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3</td></tr>
 
106
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 zero blocks.  <a href="#ac9b85b261ab49b37d5e15b84ed2d8b99"></a><br/></td></tr>
 
107
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4</td></tr>
 
108
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 256 all-set blocks.  <a href="#a57ad1090d6f380cf5de5f98c699b5a75"></a><br/></td></tr>
 
109
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5</td></tr>
 
110
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 65536 zero blocks.  <a href="#aef47eda6538ebf2624c1612d35694c01"></a><br/></td></tr>
 
111
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6</td></tr>
 
112
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 65536 all-set blocks.  <a href="#a3fad4a939708df59b1201910c7d37e30"></a><br/></td></tr>
 
113
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7</td></tr>
 
114
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Up to 4G zero blocks.  <a href="#ac7dfbd94a0534df88849bbce9e6c419a"></a><br/></td></tr>
 
115
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8</td></tr>
 
116
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UP to 4G all-set blocks.  <a href="#a5b87c58ae617ad1f104b4c6bc3ed6447"></a><br/></td></tr>
 
117
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9</td></tr>
 
118
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks zero.  <a href="#ae87b5c61d7ba6e2e592a279db0b21cc0"></a><br/></td></tr>
 
119
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10</td></tr>
 
120
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All other blocks one.  <a href="#ad506b63262c52870758432a95e71907e"></a><br/></td></tr>
 
121
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11</td></tr>
 
122
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bit block.  <a href="#aef86ab2eb42c198272eea7cdfe42951b"></a><br/></td></tr>
 
123
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#afe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12</td></tr>
 
124
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed bitblock.  <a href="#afe4b1011b09271c5f3882b926e250d39"></a><br/></td></tr>
 
125
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13</td></tr>
 
126
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SGAP compressed GAP block.  <a href="#ab3a8d57c0b898c3c5a23cd27a8f856ad"></a><br/></td></tr>
 
127
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14</td></tr>
 
128
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain GAP block.  <a href="#a09b8c4b17b7d6f613c237c46d04a9cd6"></a><br/></td></tr>
 
129
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15</td></tr>
 
130
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP compressed bitblock.  <a href="#a77dc965397e31a1d39c3d8e628792779"></a><br/></td></tr>
 
131
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16</td></tr>
 
132
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON.  <a href="#a6ec6acb175ce77a229003f088ecd3923"></a><br/></td></tr>
 
133
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17</td></tr>
 
134
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interval block.  <a href="#a0f2d3289a95dc3bd224a6a73c3d3afce"></a><br/></td></tr>
 
135
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18</td></tr>
 
136
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits ON (GAP block).  <a href="#aae33ceefae804cdd94412beee8c52720"></a><br/></td></tr>
 
137
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19</td></tr>
 
138
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with 1 bit ON.  <a href="#ad0e6607a9771fa49a658c3078208c2dc"></a><br/></td></tr>
 
139
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20</td></tr>
 
140
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed GAP block.  <a href="#ac47dea3917e15264ed3ba0cf4055adbe"></a><br/></td></tr>
 
141
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21</td></tr>
 
142
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed delta GAP array.  <a href="#a9674ddb1b9ee66948465249688708188"></a><br/></td></tr>
 
143
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22</td></tr>
 
144
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit block with encoded zero intervals.  <a href="#a5e21adca3bc6902f33e43e5cfd824f0e"></a><br/></td></tr>
 
145
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a1caddb62b332a568ba590794800610f6">bm::set_block_arrgap_egamma_inv</a> = 23</td></tr>
 
146
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma compressed inverted delta GAP array.  <a href="#a1caddb62b332a568ba590794800610f6"></a><br/></td></tr>
 
147
<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a746a03f6f5563cc8c75db93bba40095d">bm::set_block_arrgap_inv</a> = 24</td></tr>
 
148
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of bits OFF (GAP block).  <a href="#a746a03f6f5563cc8c75db93bba40095d"></a><br/></td></tr>
103
149
</table>
104
 
</div>
105
 
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:16:46 2009 for BitMagic by&nbsp;
 
150
<hr/><h2>Define Documentation</h2>
 
151
<a class="anchor" id="a045ab59db462c831654a8acefdf65443"></a><!-- doxytag: member="bmserial.h::BM_SET_ONE_BLOCKS" ref="a045ab59db462c831654a8acefdf65443" args="(x)" -->
 
152
<div class="memitem">
 
153
<div class="memproto">
 
154
      <table class="memname">
 
155
        <tr>
 
156
          <td class="memname">#define BM_SET_ONE_BLOCKS</td>
 
157
          <td>(</td>
 
158
          <td class="paramtype">x&nbsp;</td>
 
159
          <td class="paramname"></td>
 
160
          <td>&nbsp;)&nbsp;</td>
 
161
          <td></td>
 
162
        </tr>
 
163
      </table>
 
164
</div>
 
165
<div class="memdoc">
 
166
<b>Value:</b><div class="fragment"><pre class="fragment">{\
 
167
         <span class="keywordtype">unsigned</span> end_block = i + x; \
 
168
         <span class="keywordflow">for</span> (;i &lt; end_block; ++i) \
 
169
            bman.set_block_all_set(i); \
 
170
    } \
 
171
    --i
 
172
</pre></div>
 
173
<p>Definition at line <a class="el" href="a00092_source.html#l00125">125</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
 
174
 
 
175
<p>Referenced by <a class="el" href="a00092_source.html#l01453">bm::deserializer&lt; BV, DEC &gt;::deserialize()</a>.</p>
 
176
 
 
177
</div>
 
178
</div>
 
179
<a class="anchor" id="a6a3d8841118b48dc31cf507ac70c763a"></a><!-- doxytag: member="bmserial.h::SER_NEXT_GRP" ref="a6a3d8841118b48dc31cf507ac70c763a" args="(enc, nb, B_1ZERO, B_8ZERO, B_16ZERO, B_32ZERO)" -->
 
180
<div class="memitem">
 
181
<div class="memproto">
 
182
      <table class="memname">
 
183
        <tr>
 
184
          <td class="memname">#define SER_NEXT_GRP</td>
 
185
          <td>(</td>
 
186
          <td class="paramtype">enc, </td>
 
187
        </tr>
 
188
        <tr>
 
189
          <td class="paramkey"></td>
 
190
          <td></td>
 
191
          <td class="paramtype">nb, </td>
 
192
        </tr>
 
193
        <tr>
 
194
          <td class="paramkey"></td>
 
195
          <td></td>
 
196
          <td class="paramtype">B_1ZERO, </td>
 
197
        </tr>
 
198
        <tr>
 
199
          <td class="paramkey"></td>
 
200
          <td></td>
 
201
          <td class="paramtype">B_8ZERO, </td>
 
202
        </tr>
 
203
        <tr>
 
204
          <td class="paramkey"></td>
 
205
          <td></td>
 
206
          <td class="paramtype">B_16ZERO, </td>
 
207
        </tr>
 
208
        <tr>
 
209
          <td class="paramkey"></td>
 
210
          <td></td>
 
211
          <td class="paramtype">B_32ZERO&nbsp;</td>
 
212
          <td class="paramname"></td>
 
213
          <td>&nbsp;)&nbsp;</td>
 
214
          <td></td>
 
215
        </tr>
 
216
      </table>
 
217
</div>
 
218
<div class="memdoc">
 
219
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (nb == 1) \
 
220
      enc.put_8(B_1ZERO); \
 
221
   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nb &lt; 256) \
 
222
   { \
 
223
      enc.put_8(B_8ZERO); \
 
224
      enc.put_8((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)nb); \
 
225
   } \
 
226
   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nb &lt; 65536) \
 
227
   { \
 
228
      enc.put_8(B_16ZERO); \
 
229
      enc.put_16((<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>)nb); \
 
230
   } \
 
231
   <span class="keywordflow">else</span> \
 
232
   {\
 
233
      enc.put_8(B_32ZERO); \
 
234
      enc.put_32(nb); \
 
235
   }
 
236
</pre></div>
 
237
<p>Definition at line <a class="el" href="a00092_source.html#l00105">105</a> of file <a class="el" href="a00092_source.html">bmserial.h</a>.</p>
 
238
 
 
239
<p>Referenced by <a class="el" href="a00092_source.html#l00758">bm::serializer&lt; BV &gt;::serialize()</a>.</p>
 
240
 
 
241
</div>
 
242
</div>
 
243
</div>
 
244
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:36 2009 for BitMagic by&nbsp;
106
245
<a href="http://www.doxygen.org/index.html">
107
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 
246
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
108
247
</body>
109
248
</html>