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
|
<!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>bit.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.8.0 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">bit.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00010.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_bit</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_bit GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "../glm.hpp"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "../gtc/half_float.hpp"</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTX_bit extension included")</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">typename</span> genIType>
<a name="l00058"></a>00058 genIType <a class="code" href="a00155.html#ga0d044f92de0108409d25ebcfea034dcb" title="Build a mask of 'count' bits.">mask</a>(genIType <span class="keyword">const</span> & count);
<a name="l00059"></a>00059
<a name="l00063"></a>00063 <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType, <span class="keyword">typename</span> sizeType>
<a name="l00064"></a>00064 genIUType <a class="code" href="a00155.html#ga929b849daa656caecf8bd0febcd71f7a" title="Component wise extraction of bit fields.">extractField</a>(
<a name="l00065"></a>00065 genIUType <span class="keyword">const</span> & v,
<a name="l00066"></a>00066 sizeType <span class="keyword">const</span> & first,
<a name="l00067"></a>00067 sizeType <span class="keyword">const</span> & count);
<a name="l00068"></a>00068
<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00072"></a>00072 <span class="keywordtype">int</span> <a class="code" href="a00155.html#ga94e553e5aabf9b202b5915719966d323" title="Find the lowest bit set to 1 in a integer variable.">lowestBit</a>(genType <span class="keyword">const</span> & value);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00077"></a>00077 <span class="keywordtype">int</span> <a class="code" href="a00155.html#gaa3679c623c2ff5dfb745f9ce4316b23c" title="Find the highest bit set to 1 in a integer variable.">highestBit</a>(genType <span class="keyword">const</span> & value);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00082"></a>00082 genType <a class="code" href="a00155.html#ga485d3ead7f6c624b00cc800c68ab8e08" title="Find the highest bit set to 1 in a integer variable and return its value.">highestBitValue</a>(genType <span class="keyword">const</span> & value);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00087"></a>00087 <span class="keywordtype">bool</span> <a class="code" href="a00155.html#ga3c0b3e843fa21220f08e801bb558470a" title="Return true if the value is a power of two number.">isPowerOfTwo</a>(genType <span class="keyword">const</span> & value);
<a name="l00088"></a>00088
<a name="l00091"></a>00091 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00092"></a>00092 genType <a class="code" href="a00155.html#ga335322b4fcb2e5444ec467a1e7a40301" title="Return the power of two number which value is just higher the input value.">powerOfTwoAbove</a>(genType <span class="keyword">const</span> & value);
<a name="l00093"></a>00093
<a name="l00096"></a>00096 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00097"></a>00097 genType <a class="code" href="a00155.html#ga4c3ea31127e64ec283fb6cf715b4d9ac" title="Return the power of two number which value is just lower the input value.">powerOfTwoBelow</a>(genType <span class="keyword">const</span> & value);
<a name="l00098"></a>00098
<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00102"></a>00102 genType <a class="code" href="a00155.html#ga00cb2e4b82215e4d531ec046c19e2ce7" title="Return the power of two number which value is the closet to the input value.">powerOfTwoNearest</a>(genType <span class="keyword">const</span> & value);
<a name="l00103"></a>00103
<a name="l00106"></a>00106 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00107"></a>00107 genType <a class="code" href="a00155.html#ga7aadf1d73b4236e9cf9b2f23c13af604" title="Revert all bits of any integer based type.">bitRevert</a>(genType <span class="keyword">const</span> & value);
<a name="l00108"></a>00108
<a name="l00111"></a>00111 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00112"></a>00112 genType <a class="code" href="a00155.html#gae2ceed046e662a889cd938de3191dd55" title="Rotate all bits to the right.">bitRotateRight</a>(genType <span class="keyword">const</span> & In, std::size_t Shift);
<a name="l00113"></a>00113
<a name="l00116"></a>00116 <span class="keyword">template</span> <<span class="keyword">typename</span> genType>
<a name="l00117"></a>00117 genType <a class="code" href="a00155.html#gad9bc7e42a75381c3f6b68b8ba20863d3" title="Rotate all bits to the left.">bitRotateLeft</a>(genType <span class="keyword">const</span> & In, std::size_t Shift);
<a name="l00118"></a>00118
<a name="l00121"></a>00121 <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType>
<a name="l00122"></a>00122 genIUType <a class="code" href="a00155.html#gaf937428f9e6e9bb2e9214ff3be96cf95" title="Set to 1 a range of bits.">fillBitfieldWithOne</a>(
<a name="l00123"></a>00123 genIUType <span class="keyword">const</span> & Value,
<a name="l00124"></a>00124 <span class="keywordtype">int</span> <span class="keyword">const</span> & FromBit,
<a name="l00125"></a>00125 <span class="keywordtype">int</span> <span class="keyword">const</span> & ToBit);
<a name="l00126"></a>00126
<a name="l00129"></a>00129 <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType>
<a name="l00130"></a>00130 genIUType <a class="code" href="a00155.html#gabb9c7b3bd390a61437667e5625834a7c" title="Set to 0 a range of bits.">fillBitfieldWithZero</a>(
<a name="l00131"></a>00131 genIUType <span class="keyword">const</span> & Value,
<a name="l00132"></a>00132 <span class="keywordtype">int</span> <span class="keyword">const</span> & FromBit,
<a name="l00133"></a>00133 <span class="keywordtype">int</span> <span class="keyword">const</span> & ToBit);
<a name="l00134"></a>00134
<a name="l00136"></a>00136 } <span class="comment">//namespace glm</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="preprocessor">#include "bit.inl"</span>
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="preprocessor">#endif//GLM_GTX_bit</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.0
</small></address>
</body>
</html>
|