File: bmtrans_8h.html

package info (click to toggle)
bmagic 6.3.0-1
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 49,956 kB
  • sloc: cpp: 84,298; ansic: 9,703; sh: 1,664; makefile: 742
file content (216 lines) | stat: -rwxr-xr-x 26,289 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BitMagic-C++: bmtrans.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">BitMagic-C++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">bmtrans.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Utilities for bit transposition (internal) (experimental!)  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="bmdef_8h_source.html">bmdef.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for bmtrans.h:</div>
<div class="dyncontent">
<div class="center"><img src="bmtrans_8h__incl.png" border="0" usemap="#bmtrans_8h" alt=""/></div>
<map name="bmtrans_8h" id="bmtrans_8h">
<area shape="rect" title="Utilities for bit transposition (internal) (experimental!)" alt="" coords="38,5,118,32"/>
<area shape="rect" href="bmdef_8h.html" title="Definitions(internal)" alt="" coords="44,80,112,107"/>
<area shape="rect" title=" " alt="" coords="5,155,65,181"/>
<area shape="rect" title=" " alt="" coords="89,155,155,181"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="bmtrans_8h__dep__incl.png" border="0" usemap="#bmtrans_8hdep" alt=""/></div>
<map name="bmtrans_8hdep" id="bmtrans_8hdep">
<area shape="rect" title="Utilities for bit transposition (internal) (experimental!)" alt="" coords="2010,5,2090,32"/>
<area shape="rect" href="bmbmatrix_8h.html" title="basic bit&#45;matrix class and utilities" alt="" coords="1960,80,2055,107"/>
<area shape="rect" href="bmsparsevec_8h.html" title="Sparse constainer sparse_vector&lt;&gt; for integer types using bit&#45;transposition transform." alt="" coords="993,155,1102,181"/>
<area shape="rect" href="bmstrsparsevec_8h.html" title="string sparse vector based on bit&#45;transposed matrix" alt="" coords="2687,229,2811,256"/>
<area shape="rect" href="bmserial_8h.html" title="Serialization / compression of bvector&lt;&gt;. Set theoretical operations on compressed BLOBs." alt="" coords="2051,155,2134,181"/>
<area shape="rect" href="bmsparsevec__algo_8h.html" title="Algorithms for bm::sparse_vector." alt="" coords="1136,229,1276,256"/>
<area shape="rect" href="xsample01_8cpp.html" title="Example: Example: memory consumption techniques." alt="" coords="1397,304,1508,331"/>
<area shape="rect" href="xsample03_8cpp.html" title="Example: SNP search in human genome." alt="" coords="1672,304,1783,331"/>
<area shape="rect" href="xsample06_8cpp.html" title="Example: Use of sparse vector for compressed DNA strings." alt="" coords="1263,304,1373,331"/>
<area shape="rect" href="svsample05_8cpp.html" title="Example: sparse_vector&lt;&gt; used for set 2 set remapping (theory of groups Image)" alt="" coords="1123,304,1238,331"/>
<area shape="rect" href="svsample06_8cpp.html" title="Example: sparse_vector&lt;&gt; scan search (non&#45;ordered set functionality)" alt="" coords="707,304,822,331"/>
<area shape="rect" href="svsample07_8cpp.html" title="Example: sparse_vector&lt;&gt; lower bound search." alt="" coords="846,304,961,331"/>
<area shape="rect" href="svsample09_8cpp.html" title="Example: Use of sparse vector mismatch search." alt="" coords="985,304,1099,331"/>
<area shape="rect" href="bmsparsevec__serial_8h.html" title="Serialization for sparse_vector&lt;&gt;" alt="" coords="1554,229,1701,256"/>
<area shape="rect" href="svsample02_8cpp.html" title="Example: sparse_vector&lt;&gt; serialization." alt="" coords="1533,304,1647,331"/>
<area shape="rect" href="svsample08_8cpp.html" title="Example: sparse_vector&lt;&gt; selective de&#45;serialization (gather) and range deserialization." alt="" coords="1962,304,2077,331"/>
<area shape="rect" href="rscsample01_8cpp.html" title="Example: rsc_sparse_vector&lt;&gt; usage." alt="" coords="285,304,407,331"/>
<area shape="rect" href="rscsample02_8cpp.html" title="Example: rsc_sparse_vector&lt;&gt; selective and range de&#45;serialization." alt="" coords="431,304,552,331"/>
<area shape="rect" href="bmsparsevec__compr_8h.html" title="Compressed sparse container rsc_sparse_vector&lt;&gt; for integer types." alt="" coords="154,229,306,256"/>
<area shape="rect" href="rscsample03_8cpp.html" title="Example: bm::rsc_sparse_vector&lt;&gt;::const_iterator." alt="" coords="5,304,127,331"/>
<area shape="rect" href="xsample02_8cpp.html" title="Example: sparse_vector&lt;&gt; used for counting sort / historgam construction." alt="" coords="381,229,492,256"/>
<area shape="rect" href="svsample01_8cpp.html" title="Example: sparse_vector&lt;&gt; container set values." alt="" coords="517,229,631,256"/>
<area shape="rect" href="svsample03_8cpp.html" title="Example: sparse_vector&lt;&gt; merge and fast extraction of content." alt="" coords="655,229,770,256"/>
<area shape="rect" href="svsample04_8cpp.html" title="Example: sparse_vector&lt;&gt; with NULL (unset) values." alt="" coords="794,229,909,256"/>
<area shape="rect" href="xsample05_8cpp.html" title="Example: Example on how to use bit&#45;transposed string sparse vector." alt="" coords="2101,304,2212,331"/>
<area shape="rect" href="strsvsample02_8cpp.html" title="Example: str_sparse_vector&lt;&gt; insertion sort example." alt="" coords="1807,304,1938,331"/>
<area shape="rect" href="strsvsample03_8cpp.html" title="Example: str_sparse_vector&lt;&gt; back insert iterator example." alt="" coords="2497,304,2627,331"/>
<area shape="rect" href="strsvsample05_8cpp.html" title="Example: str_sparse_vector&lt;&gt; gather deserialization example." alt="" coords="2307,304,2438,331"/>
<area shape="rect" href="xsample08_8cpp.html" title=" " alt="" coords="151,304,261,331"/>
<area shape="rect" href="strsvsample01_8cpp.html" title="Example: str_sparse_vector&lt;&gt; set values, optimize memory." alt="" coords="2669,304,2799,331"/>
<area shape="rect" href="strsvsample04_8cpp.html" title="Example: str_sparse_vector&lt;&gt; how to work with NULLs values." alt="" coords="2823,304,2954,331"/>
<area shape="rect" href="bmsparsevec__util_8h.html" title=" " alt="" coords="1826,229,1959,256"/>
<area shape="rect" href="sample4_8cpp.html" title="Example: bvector&lt;&gt; serialization/deserialization." alt="" coords="1983,229,2079,256"/>
<area shape="rect" href="sample14_8cpp.html" title="Example: bvector&lt;&gt; set operations on serialized/compressed BLOBs." alt="" coords="2104,229,2207,256"/>
<area shape="rect" href="sample22_8cpp.html" title="Example: bvector&lt;&gt; &#45; ranges and intervals functions." alt="" coords="2231,229,2333,256"/>
<area shape="rect" href="bvsetalgebra_8cpp.html" title="Example: algebra of sets operations." alt="" coords="2357,229,2476,256"/>
<area shape="rect" href="xsample04_8cpp.html" title="Example: DNA substring search." alt="" coords="2500,229,2611,256"/>
</map>
</div>
</div>
<p><a href="bmtrans_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1tmatrix.html">bm::tmatrix&lt; T, ROWS, COLS &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mini-matrix for bit transposition purposes.  <a href="structbm_1_1tmatrix.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1tmatrix_1_1rstat.html">bm::tmatrix&lt; T, ROWS, COLS &gt;::rstat</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Row characteristics for transposed matrix.  <a href="structbm_1_1tmatrix_1_1rstat.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1bit__grabber.html">bm::bit_grabber&lt; T, BPC &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1bit__grabber_3_01unsigned_00_0132_01_4.html">bm::bit_grabber&lt; unsigned, 32 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1bit__grabber_3_01unsigned_01short_00_0116_01_4.html">bm::bit_grabber&lt; unsigned short, 16 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1bit__grabber_3_01unsigned_01char_00_018_01_4.html">bm::bit_grabber&lt; unsigned char, 8 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbm_1_1bit__trans__grabber.html">bm::bit_trans_grabber&lt; T, BPC, BPS &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbm_1_1gap__transpose__engine.html">bm::gap_transpose_engine&lt; GT, BT, BLOCK_SIZE &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit-plain splicing of a GAP block.  <a href="classbm_1_1gap__transpose__engine.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacebm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html">bm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7a67b3f631a500acccf2981b260f055d"><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
<tr class="memitem:a7a67b3f631a500acccf2981b260f055d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a7a67b3f631a500acccf2981b260f055d">bm::vect_bit_transpose</a> (const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])</td></tr>
<tr class="memdesc:a7a67b3f631a500acccf2981b260f055d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size.  <a href="namespacebm.html#a7a67b3f631a500acccf2981b260f055d">More...</a><br /></td></tr>
<tr class="separator:a7a67b3f631a500acccf2981b260f055d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a0f0ffb06d2254260bfbad9f4994489"><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
<tr class="memitem:a9a0f0ffb06d2254260bfbad9f4994489"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a9a0f0ffb06d2254260bfbad9f4994489">bm::vect_bit_trestore</a> (const T tmatrix[BPC][BPS], T *arr)</td></tr>
<tr class="memdesc:a9a0f0ffb06d2254260bfbad9f4994489"><td class="mdescLeft">&#160;</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="namespacebm.html#a9a0f0ffb06d2254260bfbad9f4994489">More...</a><br /></td></tr>
<tr class="separator:a9a0f0ffb06d2254260bfbad9f4994489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0f132af304fbf162227a2f4ad7fdd21"><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
<tr class="memitem:gab0f132af304fbf162227a2f4ad7fdd21"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__bitfunc.html#gab0f132af304fbf162227a2f4ad7fdd21">bm::tmatrix_distance</a> (const T tmatrix[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
<tr class="memdesc:gab0f132af304fbf162227a2f4ad7fdd21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block.  <a href="group__bitfunc.html#gab0f132af304fbf162227a2f4ad7fdd21">More...</a><br /></td></tr>
<tr class="separator:gab0f132af304fbf162227a2f4ad7fdd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae228048f427237b31e49adbb8042da31"><td class="memTemplParams" colspan="2">template&lt;typename T , unsigned BPC, unsigned BPS&gt; </td></tr>
<tr class="memitem:gae228048f427237b31e49adbb8042da31"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__bitfunc.html#gae228048f427237b31e49adbb8042da31">bm::bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
<tr class="memdesc:gae228048f427237b31e49adbb8042da31"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; ibpc limiter  <a href="group__bitfunc.html#gae228048f427237b31e49adbb8042da31">More...</a><br /></td></tr>
<tr class="separator:gae228048f427237b31e49adbb8042da31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfae226f696ef821c7d351216c00fe0d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#adfae226f696ef821c7d351216c00fe0d">bm::bit_iblock_pcv_stat</a> (const unsigned char *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> pc_vector, const unsigned char *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> pc_vector_end, unsigned *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> pc_vector_stat)</td></tr>
<tr class="memdesc:adfae226f696ef821c7d351216c00fe0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute number of ibpc codes in pc_vector.  <a href="namespacebm.html#adfae226f696ef821c7d351216c00fe0d">More...</a><br /></td></tr>
<tr class="separator:adfae226f696ef821c7d351216c00fe0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62808b64adfcf2a7e610a4f713f470c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#a62808b64adfcf2a7e610a4f713f470c0">bm::bit_iblock_reduce</a> (const unsigned tmatrix[<a class="el" href="namespacebm.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="namespacebm.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>], const unsigned char *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> pc_vector, const unsigned char *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> pc_vector_end, unsigned tmatrix_out[<a class="el" href="namespacebm.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="namespacebm.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
<tr class="memdesc:a62808b64adfcf2a7e610a4f713f470c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix reduction based on transformation pc vector.  <a href="namespacebm.html#a62808b64adfcf2a7e610a4f713f470c0">More...</a><br /></td></tr>
<tr class="separator:a62808b64adfcf2a7e610a4f713f470c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de78f7fbbb7740779ccb913b1d3499b"><td class="memTemplParams" colspan="2">template&lt;class TMatrix &gt; </td></tr>
<tr class="memitem:a4de78f7fbbb7740779ccb913b1d3499b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a4de78f7fbbb7740779ccb913b1d3499b">bm::tmatrix_reduce</a> (TMatrix &amp;tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)</td></tr>
<tr class="memdesc:a4de78f7fbbb7740779ccb913b1d3499b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transposed Matrix reduction based on transformation pc vector.  <a href="namespacebm.html#a4de78f7fbbb7740779ccb913b1d3499b">More...</a><br /></td></tr>
<tr class="separator:a4de78f7fbbb7740779ccb913b1d3499b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83315419103d63ac6da6f0eb66d55fc0"><td class="memTemplParams" colspan="2">template&lt;class TMatrix &gt; </td></tr>
<tr class="memitem:a83315419103d63ac6da6f0eb66d55fc0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a83315419103d63ac6da6f0eb66d55fc0">bm::tmatrix_restore</a> (TMatrix &amp;tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)</td></tr>
<tr class="memdesc:a83315419103d63ac6da6f0eb66d55fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transposed Matrix restore based on transformation pc vector.  <a href="namespacebm.html#a83315419103d63ac6da6f0eb66d55fc0">More...</a><br /></td></tr>
<tr class="separator:a83315419103d63ac6da6f0eb66d55fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d9aa58ed24c0206f3869182c7705dcc"><td class="memTemplParams" colspan="2">template&lt;typename GT , typename BT &gt; </td></tr>
<tr class="memitem:a4d9aa58ed24c0206f3869182c7705dcc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a4d9aa58ed24c0206f3869182c7705dcc">bm::gap_2_bitblock</a> (const GT *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> gap_buf, BT *<a class="el" href="bmdef_8h.html#a3d4b22f50e6783522689451783907dc7">BMRESTRICT</a> block, unsigned block_size)</td></tr>
<tr class="memdesc:a4d9aa58ed24c0206f3869182c7705dcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation.  <a href="namespacebm.html#a4d9aa58ed24c0206f3869182c7705dcc">More...</a><br /></td></tr>
<tr class="separator:a4d9aa58ed24c0206f3869182c7705dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72634c1c59fc544573766ed515100c84"><td class="memTemplParams" colspan="2">template&lt;typename TM &gt; </td></tr>
<tr class="memitem:a72634c1c59fc544573766ed515100c84"><td class="memTemplItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacebm.html#a72634c1c59fc544573766ed515100c84">bm::find_effective_columns</a> (const TM &amp;tmatrix)</td></tr>
<tr class="memdesc:a72634c1c59fc544573766ed515100c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute effective right column border of the t-matrix.  <a href="namespacebm.html#a72634c1c59fc544573766ed515100c84">More...</a><br /></td></tr>
<tr class="separator:a72634c1c59fc544573766ed515100c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ae34de9206be7a8aa05db9d5dc38bfc90"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#ae34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0</td></tr>
<tr class="separator:ae34de9206be7a8aa05db9d5dc38bfc90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca6d3c887b5b7b66a78e95471f9a326"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#aaca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1</td></tr>
<tr class="memdesc:aaca6d3c887b5b7b66a78e95471f9a326"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; plain uncompressed  <a href="namespacebm.html#aaca6d3c887b5b7b66a78e95471f9a326">More...</a><br /></td></tr>
<tr class="separator:aaca6d3c887b5b7b66a78e95471f9a326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6f59be0b838db693e0f081bcaf750f0"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#aa6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2</td></tr>
<tr class="memdesc:aa6f59be0b838db693e0f081bcaf750f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; plain ALL ZERO  <a href="namespacebm.html#aa6f59be0b838db693e0f081bcaf750f0">More...</a><br /></td></tr>
<tr class="separator:aa6f59be0b838db693e0f081bcaf750f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a748d4095c39c9372a590b431e0ec17fe"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#a748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3</td></tr>
<tr class="memdesc:a748d4095c39c9372a590b431e0ec17fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; plain ALL ONE  <a href="namespacebm.html#a748d4095c39c9372a590b431e0ec17fe">More...</a><br /></td></tr>
<tr class="separator:a748d4095c39c9372a590b431e0ec17fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa61bf7691d32a9bc7c65c05bb62657e5"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#aa61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4</td></tr>
<tr class="memdesc:aa61bf7691d32a9bc7c65c05bb62657e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; plain is equal to plain M  <a href="namespacebm.html#aa61bf7691d32a9bc7c65c05bb62657e5">More...</a><br /></td></tr>
<tr class="separator:aa61bf7691d32a9bc7c65c05bb62657e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f14f0c2c5a9ee277808d36fd94693f"><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebm.html#ae4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8</td></tr>
<tr class="memdesc:ae4f14f0c2c5a9ee277808d36fd94693f"><td class="mdescLeft">&#160;</td><td class="mdescRight">!&lt; plain is close to plain M  <a href="namespacebm.html#ae4f14f0c2c5a9ee277808d36fd94693f">More...</a><br /></td></tr>
<tr class="separator:ae4f14f0c2c5a9ee277808d36fd94693f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Utilities for bit transposition (internal) (experimental!) </p>

<p class="definition">Definition in file <a class="el" href="bmtrans_8h_source.html">bmtrans.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>