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: Memory Allocation</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
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">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>BitMagic: Processor specific optimizations for SSE4.2 instructions</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
11
14
<li><a href="index.html"><span>Main 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 Structures</span></a></li>
17
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
18
<li><a href="files.html"><span>Files</span></a></li>
16
19
<li><a href="examples.html"><span>Examples</span></a></li>
20
23
<div class="contents">
21
<h1>Memory Allocation<br>
24
<h1>Processor specific optimizations for SSE4.2 instructions<br/>
23
[<a class="el" href="a00108.html">BitMagic C++ Library</a>]</small>
26
[<a class="el" href="a00112.html">BitMagic C++ Library</a>]</small>
26
<div class="dynheader">
27
Collaboration diagram for Memory Allocation:</div>
28
<p><div class="dynheader">
29
Collaboration diagram for Processor specific optimizations for SSE4.2 instructions:</div>
28
30
<div class="dynsection">
29
<center><table><tr><td><img src="a00117.png" border="0" alt="" usemap="#a00185_map">
30
<map name="a00185_map">
31
<area shape="rect" id="node1" href="a00108.html" title="For more information please visit: http://bmagic.sourceforge.net." alt="" coords="5,5,149,33">
b'</map></td></tr></table></center>'
31
<center><table><tr><td><img src="a00117.png" border="0" alt="" usemap="#a00117_map"/>
32
<map name="a00117_map" id="a00117">
33
<area shape="rect" href="a00112.html" title="For more information please visit: http://bmagic.sourceforge.net." alt="" coords="5,5,149,35"/></map></td></tr></table></center>
33
36
<table border="0" cellpadding="0" cellspacing="0">
35
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
36
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">bm::block_allocator</a></td></tr>
38
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00037.html#_details">More...</a><br></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">bm::ptr_allocator</a></td></tr>
41
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00077.html#_details">More...</a><br></td></tr>
42
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">bm::mem_alloc< BA, PA ></a></td></tr>
44
<tr><td class="mdescLeft"> </td><td class="mdescRight">BM style allocator adapter. <a href="a00073.html#_details">More...</a><br></td></tr>
45
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef mem_alloc<br>
47
< block_allocator, <br>
48
ptr_allocator > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#gb9059bfb40a6588cdbacfd93901593c1">bm::standard_allocator</a></td></tr>
37
<tr><td colspan="2"><h2>Functions</h2></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#ga266ed6594dc786e46c1f353443dc41fe">bm::sse4_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
39
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#gad686391db4cdc6382ae6785f62981474">bm::sse4_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
51
<hr><a name="_details"></a><h2>Detailed Description</h2>
52
Memory allocation related units <hr><h2>Typedef Documentation</h2>
53
<a class="anchor" name="gb9059bfb40a6588cdbacfd93901593c1"></a><!-- doxytag: member="bm::standard_allocator" ref="gb9059bfb40a6588cdbacfd93901593c1" args="" -->
55
<div class="memproto">
56
<table class="memname">
58
<td class="memname">typedef mem_alloc<block_allocator, ptr_allocator> <a class="el" href="a00073.html">bm::standard_allocator</a> </td>
66
<p>Definition at line <a class="el" href="a00131.html#l00231">231</a> of file <a class="el" href="a00131.html">bmalloc.h</a>.</p>
71
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:16:57 2009 for BitMagic by
41
<hr/><h2>Function Documentation</h2>
42
<a class="anchor" id="gad686391db4cdc6382ae6785f62981474"></a><!-- doxytag: member="bm::sse4_bit_block_calc_count_change" ref="gad686391db4cdc6382ae6785f62981474" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)" -->
44
<div class="memproto">
45
<table class="memname">
47
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse4_bit_block_calc_count_change </td>
49
<td class="paramtype">const __m128i *BMRESTRICT </td>
50
<td class="paramname"> <em>block</em>, </td>
53
<td class="paramkey"></td>
55
<td class="paramtype">const __m128i *BMRESTRICT </td>
56
<td class="paramname"> <em>block_end</em>, </td>
59
<td class="paramkey"></td>
61
<td class="paramtype">unsigned *BMRESTRICT </td>
62
<td class="paramname"> <em>bit_count</em></td><td> </td>
67
<td></td><td></td><td><code> [inline]</code></td>
72
<p>SSE4.2 optimized bitcounting and number of GAPs </p>
74
<p>Definition at line <a class="el" href="a00094_source.html#l00199">199</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
76
<p>Referenced by <a class="el" href="a00090_source.html#l02569">bm::bit_block_calc_count_change()</a>.</p>
80
<a class="anchor" id="ga266ed6594dc786e46c1f353443dc41fe"></a><!-- doxytag: member="bm::sse4_bit_count" ref="ga266ed6594dc786e46c1f353443dc41fe" args="(const __m128i *block, const __m128i *block_end)" -->
82
<div class="memproto">
83
<table class="memname">
85
<td class="memname"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse4_bit_count </td>
87
<td class="paramtype">const __m128i * </td>
88
<td class="paramname"> <em>block</em>, </td>
91
<td class="paramkey"></td>
93
<td class="paramtype">const __m128i * </td>
94
<td class="paramname"> <em>block_end</em></td><td> </td>
99
<td></td><td></td><td><code> [inline]</code></td>
104
<p>SSE4.2 optimized bitcounting . </p>
106
<p>Definition at line <a class="el" href="a00094_source.html#l00054">54</a> of file <a class="el" href="a00094_source.html">bmsse4.h</a>.</p>
111
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:40 2009 for BitMagic by
72
112
<a href="http://www.doxygen.org/index.html">
73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
113
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>