glm/doc/api/a00161.html
2012-11-18 14:05:52 +01:00

435 lines
21 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>GLM_GTX_bit</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="projectlogo"><img alt="Logo" src="logo.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTX_bit</div> </div>
<div class="ingroups"><a class="el" href="a00139.html">GTX Extensions (Experimental)</a></div></div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga655d3e378520be64a7832cdc8ebf20fb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga655d3e378520be64a7832cdc8ebf20fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga655d3e378520be64a7832cdc8ebf20fb">bitRevert</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga655d3e378520be64a7832cdc8ebf20fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9bc7e42a75381c3f6b68b8ba20863d3"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:gad9bc7e42a75381c3f6b68b8ba20863d3"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gad9bc7e42a75381c3f6b68b8ba20863d3">bitRotateLeft</a> (genType const &amp;In, std::size_t Shift)</td></tr>
<tr class="separator:gad9bc7e42a75381c3f6b68b8ba20863d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2ceed046e662a889cd938de3191dd55"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:gae2ceed046e662a889cd938de3191dd55"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gae2ceed046e662a889cd938de3191dd55">bitRotateRight</a> (genType const &amp;In, std::size_t Shift)</td></tr>
<tr class="separator:gae2ceed046e662a889cd938de3191dd55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff795f058953fb7369dbca274291f2fe"><td class="memTemplParams" colspan="2">template&lt;typename genIUType , typename sizeType &gt; </td></tr>
<tr class="memitem:gaff795f058953fb7369dbca274291f2fe"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gaff795f058953fb7369dbca274291f2fe">extractField</a> (genIUType const &amp;v, sizeType const &amp;first, sizeType const &amp;count)</td></tr>
<tr class="separator:gaff795f058953fb7369dbca274291f2fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf937428f9e6e9bb2e9214ff3be96cf95"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
<tr class="memitem:gaf937428f9e6e9bb2e9214ff3be96cf95"><td class="memTemplItemLeft" align="right" valign="top">genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gaf937428f9e6e9bb2e9214ff3be96cf95">fillBitfieldWithOne</a> (genIUType const &amp;Value, int const &amp;FromBit, int const &amp;ToBit)</td></tr>
<tr class="separator:gaf937428f9e6e9bb2e9214ff3be96cf95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb9c7b3bd390a61437667e5625834a7c"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
<tr class="memitem:gabb9c7b3bd390a61437667e5625834a7c"><td class="memTemplItemLeft" align="right" valign="top">genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gabb9c7b3bd390a61437667e5625834a7c">fillBitfieldWithZero</a> (genIUType const &amp;Value, int const &amp;FromBit, int const &amp;ToBit)</td></tr>
<tr class="separator:gabb9c7b3bd390a61437667e5625834a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01e02cdbfd0f7487fa800942ac911801"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga01e02cdbfd0f7487fa800942ac911801"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga01e02cdbfd0f7487fa800942ac911801">highestBit</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga01e02cdbfd0f7487fa800942ac911801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga485d3ead7f6c624b00cc800c68ab8e08"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga485d3ead7f6c624b00cc800c68ab8e08"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga485d3ead7f6c624b00cc800c68ab8e08">highestBitValue</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga485d3ead7f6c624b00cc800c68ab8e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c0b3e843fa21220f08e801bb558470a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga3c0b3e843fa21220f08e801bb558470a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga3c0b3e843fa21220f08e801bb558470a">isPowerOfTwo</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga3c0b3e843fa21220f08e801bb558470a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga760038264d7d0c0e87f05849c8c158cc"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga760038264d7d0c0e87f05849c8c158cc"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga760038264d7d0c0e87f05849c8c158cc">lowestBit</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga760038264d7d0c0e87f05849c8c158cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d044f92de0108409d25ebcfea034dcb"><td class="memTemplParams" colspan="2">template&lt;typename genIType &gt; </td></tr>
<tr class="memitem:ga0d044f92de0108409d25ebcfea034dcb"><td class="memTemplItemLeft" align="right" valign="top">genIType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga0d044f92de0108409d25ebcfea034dcb">mask</a> (genIType const &amp;count)</td></tr>
<tr class="separator:ga0d044f92de0108409d25ebcfea034dcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga335322b4fcb2e5444ec467a1e7a40301"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga335322b4fcb2e5444ec467a1e7a40301"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga335322b4fcb2e5444ec467a1e7a40301">powerOfTwoAbove</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga335322b4fcb2e5444ec467a1e7a40301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c3ea31127e64ec283fb6cf715b4d9ac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga4c3ea31127e64ec283fb6cf715b4d9ac"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga4c3ea31127e64ec283fb6cf715b4d9ac">powerOfTwoBelow</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga4c3ea31127e64ec283fb6cf715b4d9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00cb2e4b82215e4d531ec046c19e2ce7"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr class="memitem:ga00cb2e4b82215e4d531ec046c19e2ce7"><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga00cb2e4b82215e4d531ec046c19e2ce7">powerOfTwoNearest</a> (genType const &amp;value)</td></tr>
<tr class="separator:ga00cb2e4b82215e4d531ec046c19e2ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Allow to perform bit operations on integer values. </p>
<p>&lt;<a class="el" href="a00008.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtx/bit.hpp</a>&gt; need to be included to use these functionalities. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga655d3e378520be64a7832cdc8ebf20fb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_DEPRECATED genType glm::bitRevert </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Revert all bits of any integer based type. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gad9bc7e42a75381c3f6b68b8ba20863d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::bitRotateLeft </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>In</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>Shift</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotate all bits to the left. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae2ceed046e662a889cd938de3191dd55"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::bitRotateRight </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>In</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>Shift</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotate all bits to the right. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaff795f058953fb7369dbca274291f2fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_DEPRECATED genIUType glm::extractField </td>
<td>(</td>
<td class="paramtype">genIUType const &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">sizeType const &amp;&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">sizeType const &amp;&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Component wise extraction of bit fields. </p>
<p>genType and genIType could be a scalar or a vector. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaf937428f9e6e9bb2e9214ff3be96cf95"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genIUType glm::fillBitfieldWithOne </td>
<td>(</td>
<td class="paramtype">genIUType const &amp;&#160;</td>
<td class="paramname"><em>Value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int const &amp;&#160;</td>
<td class="paramname"><em>FromBit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int const &amp;&#160;</td>
<td class="paramname"><em>ToBit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 1 a range of bits. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gabb9c7b3bd390a61437667e5625834a7c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genIUType glm::fillBitfieldWithZero </td>
<td>(</td>
<td class="paramtype">genIUType const &amp;&#160;</td>
<td class="paramname"><em>Value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int const &amp;&#160;</td>
<td class="paramname"><em>FromBit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int const &amp;&#160;</td>
<td class="paramname"><em>ToBit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 0 a range of bits. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga01e02cdbfd0f7487fa800942ac911801"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_DEPRECATED int glm::highestBit </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the highest bit set to 1 in a integer variable. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga485d3ead7f6c624b00cc800c68ab8e08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::highestBitValue </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the highest bit set to 1 in a integer variable and return its value. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga3c0b3e843fa21220f08e801bb558470a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool glm::isPowerOfTwo </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return true if the value is a power of two number. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga760038264d7d0c0e87f05849c8c158cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_DEPRECATED int glm::lowestBit </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the lowest bit set to 1 in a integer variable. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga0d044f92de0108409d25ebcfea034dcb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genIType glm::mask </td>
<td>(</td>
<td class="paramtype">genIType const &amp;&#160;</td>
<td class="paramname"><em>count</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a mask of 'count' bits. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga335322b4fcb2e5444ec467a1e7a40301"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::powerOfTwoAbove </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the power of two number which value is just higher the input value. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4c3ea31127e64ec283fb6cf715b4d9ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::powerOfTwoBelow </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the power of two number which value is just lower the input value. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga00cb2e4b82215e4d531ec046c19e2ce7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType glm::powerOfTwoNearest </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the power of two number which value is the closet to the input value. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00161.html" title="Allow to perform bit operations on integer values.">GLM_GTX_bit</a> </dd></dl>
</div>
</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.2
</small></address>
</body>
</html>