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
|
<!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>integer.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">integer.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00042.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 <span class="preprocessor">#ifndef GLM_GTX_integer</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_integer GLM_VERSION</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="comment">// Dependency:</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "../glm.hpp"</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(glm_ext))</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTX_integer extension included")</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="a00128.html#gac93ea301c287d87a63fa14a4c44b719b" title="Returns x raised to the y power.">pow</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keywordtype">int</span> <a class="code" href="a00128.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(<span class="keywordtype">int</span> x);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType>
<a name="l00064"></a>00064 genIUType <a class="code" href="a00128.html#gae19ff18661b33a0fe1b8edee61382f40" title="Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...">log2</a>(genIUType <span class="keyword">const</span> & x);
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="a00174.html#ga054b9fd24e0d18af9ae7e9b6bfb5a2c9" title="Returns the floor log2 of x.">floor_log2</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keywordtype">int</span> <a class="code" href="a00127.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<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 genType <a class="code" href="a00174.html#ga6912d62d2f314fa38ef4c94fda778294" title="Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...">factorial</a>(genType <span class="keyword">const</span> & x);
<a name="l00078"></a>00078
<a name="l00081"></a><a class="code" href="a00174.html#gada7e83fdfe943aba4f1d5bf80cb66f40">00081</a> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="a00174.html#gada7e83fdfe943aba4f1d5bf80cb66f40" title="32bit signed integer.">sint</a>;
<a name="l00082"></a>00082
<a name="l00085"></a>00085 <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00128.html#gac93ea301c287d87a63fa14a4c44b719b" title="Returns x raised to the y power.">pow</a>(<a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x, <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> y);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00128.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(<a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x);
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00127.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(<a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x, <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> y);
<a name="l00094"></a>00094
<a name="l00097"></a>00097 <a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> <a class="code" href="a00174.html#gade78ad3e82d61001f4641571db4dd56e" title="Returns the number of leading zeros.">nlz</a>(<a class="code" href="a00141.html#ga4d16da297112d05af72fc456a1c4f386" title="Unsigned integer type.">uint</a> x);
<a name="l00098"></a>00098
<a name="l00100"></a>00100 }<span class="comment">//namespace glm</span>
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="preprocessor">#include "integer.inl"</span>
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="preprocessor">#endif//GLM_GTX_integer</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>
|