glm/doc/api-0.9.2/a00292.html
Christophe Riccio 8d2d112180 Added API doc
2011-10-24 15:24:48 +01:00

1070 lines
50 KiB
HTML
Raw Blame History

<!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"/>
<title>GLM_GTX_simd_vec4: SIMD vec4 type and functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<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>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTX_simd_vec4: SIMD vec4 type and functions</div> </div>
<div class="ingroups"><a class="el" href="a00248.html">GTX Extensions (Experimental)</a></div></div>
<div class="contents">
<p>SIMD implementation of vec4 type.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga427e341830f94e41ece21ea4ebc854c3">abs</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga3ce76f0bb739c0d5f04e7bfa4251993d">ceil</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga73e895d1fdba2b620e84383517c552b0">clamp</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;minVal, detail::fvec4SIMD const &amp;maxVal)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gabe4bd036ccfd0e1d53ea828d478cdd2c">cross</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gac514ca90bcc5a17bd7162ea32a220580">distance</a> (detail::fvec4SIMD const &amp;p0, detail::fvec4SIMD const &amp;p1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gae9238f5011fd124d44dad7b39f0d5a0f">distance4</a> (detail::fvec4SIMD const &amp;p0, detail::fvec4SIMD const &amp;p1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaa50f94e3de246ea1a1914266aef2f74b">dot4</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gab299477526abc9646263950bfbe32b3f">fastInversesqrt</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga0d4469acfe98c8b2eab8696bf25a3dde">fastLength</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga1c85830900d5d3f29902b12d46c60dd3">fastLength4</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga58eeeead0d2b381f7d461dac26381125">fastNormalize</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga56465ed17cafbff1e225f82eeb7184e5">fastSqrt</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gab7b1e6c9349aec87e1d3346e867588d6">floor</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga4b9f36f4524482b43324f4631944569d">fma</a> (detail::fvec4SIMD const &amp;a, detail::fvec4SIMD const &amp;b, detail::fvec4SIMD const &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga0a98f9d76fee0ca46c1f97861e3e366c">fract</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaa4e215b72e48012a6388a1477c84e2ad">inversesqrt</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaf76a38ce8c466c9b0bc4c1b5db1a6faa">length</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga6c7fffeb58db66f602585b24a8e4f2db">length4</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga10dbe289232abf23c8d668c646ff05d6">max</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gac8850ebd4ae655de76f375105cf7b3d8">min</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gafb120dd721c6b87f5f23c3edd159cfaa">mix</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y, detail::fvec4SIMD const &amp;a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaf95a2c5c60a6f2a36911d32901e44aba">mod</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaba1f7a090566667c615a4a53c2f4a0c6">mod</a> (detail::fvec4SIMD const &amp;x, float const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga97a71f5eed0feb541ea1131a46e4422e">niceLength</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga159f5857abf0df4250bae94f95b9d015">niceLength4</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga163877845325804cda05e8b5142822d5">niceSqrt</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga4e5cbc78bdd522b61ecd2154b50251af">normalize</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga42f1073cf493e7c299c72ae95180265d">reflect</a> (detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;N)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga894c3ec0524d03313dc9c72d36290c00">refract</a> (detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;N, float const &amp;eta)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gad17e750a691edfe51fd1f60d8cac2329">round</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga5a32ecd67af075293c5c8278f2938d4d">sign</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga44faf22be31f5809ed97bf611a56f3e9">simdDot</a> (detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gac11cb08f6ba68f761b7146a60e72da55">simdFaceforward</a> (detail::fvec4SIMD const &amp;N, detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;Nref)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaeadaacf6c87b0699292de98b7140a278">smoothstep</a> (detail::fvec4SIMD const &amp;edge0, detail::fvec4SIMD const &amp;edge1, detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga28dbd1d165fc4301de4fb16a049fcfb2">sqrt</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga459647604ac2aa0a97c4eb739a7302cb">step</a> (detail::fvec4SIMD const &amp;edge, detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::fvec4SIMD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ga4733720fa96ed2125f15e4b96578f486">trunc</a> (detail::fvec4SIMD const &amp;x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::tvec4&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#gaf44c64b2f9e70746b8a83571812670fc">vec4_cast</a> (detail::fvec4SIMD const &amp;x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>SIMD implementation of vec4 type. </p>
<p>&lt;<a class="el" href="a00102_source.html">glm/gtx/simd_vec4.hpp</a>&gt; need to be included to use these functionalities. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga427e341830f94e41ece21ea4ebc854c3"></a><!-- doxytag: member="glm::gtx::simd_vec4::abs" ref="ga427e341830f94e41ece21ea4ebc854c3" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::abs </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns x if x &gt;= 0; otherwise, it returns -x. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga3ce76f0bb739c0d5f04e7bfa4251993d"></a><!-- doxytag: member="glm::gtx::simd_vec4::ceil" ref="ga3ce76f0bb739c0d5f04e7bfa4251993d" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::ceil </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a value equal to the nearest integer to x. </p>
<p>A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.) (From GLM_GTX_simd_vec4 extension, common function) Returns a value equal to the nearest integer that is greater than or equal to x. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga73e895d1fdba2b620e84383517c552b0"></a><!-- doxytag: member="glm::gtx::simd_vec4::clamp" ref="ga73e895d1fdba2b620e84383517c552b0" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;minVal, detail::fvec4SIMD const &amp;maxVal)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::clamp </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>minVal</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>maxVal</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gabe4bd036ccfd0e1d53ea828d478cdd2c"></a><!-- doxytag: member="glm::gtx::simd_vec4::cross" ref="gabe4bd036ccfd0e1d53ea828d478cdd2c" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::cross </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the cross product of x and y. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gac514ca90bcc5a17bd7162ea32a220580"></a><!-- doxytag: member="glm::gtx::simd_vec4::distance" ref="gac514ca90bcc5a17bd7162ea32a220580" args="(detail::fvec4SIMD const &amp;p0, detail::fvec4SIMD const &amp;p1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float glm::gtx::simd_vec4::distance </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>p0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>p1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gae9238f5011fd124d44dad7b39f0d5a0f"></a><!-- doxytag: member="glm::gtx::simd_vec4::distance4" ref="gae9238f5011fd124d44dad7b39f0d5a0f" args="(detail::fvec4SIMD const &amp;p0, detail::fvec4SIMD const &amp;p1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::distance4 </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>p0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>p1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gaa50f94e3de246ea1a1914266aef2f74b"></a><!-- doxytag: member="glm::gtx::simd_vec4::dot4" ref="gaa50f94e3de246ea1a1914266aef2f74b" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::dot4 </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the dot product of x and y, i.e., result = x * y. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gab299477526abc9646263950bfbe32b3f"></a><!-- doxytag: member="glm::gtx::simd_vec4::fastInversesqrt" ref="gab299477526abc9646263950bfbe32b3f" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fastInversesqrt </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the reciprocal of the positive square root of x. </p>
<p>Faster than inversesqrt but less accurate. (From GLM_GTX_simd_vec4 extension, exponential function) </p>
</div>
</div>
<a class="anchor" id="ga0d4469acfe98c8b2eab8696bf25a3dde"></a><!-- doxytag: member="glm::gtx::simd_vec4::fastLength" ref="ga0d4469acfe98c8b2eab8696bf25a3dde" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float glm::gtx::simd_vec4::fastLength </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the length of x, i.e., sqrt(x * x). </p>
<p>Less accurate but much faster than simdLength. (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga1c85830900d5d3f29902b12d46c60dd3"></a><!-- doxytag: member="glm::gtx::simd_vec4::fastLength4" ref="ga1c85830900d5d3f29902b12d46c60dd3" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fastLength4 </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the length of x, i.e., sqrt(x * x). </p>
<p>Less accurate but much faster than simdLength4. (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga58eeeead0d2b381f7d461dac26381125"></a><!-- doxytag: member="glm::gtx::simd_vec4::fastNormalize" ref="ga58eeeead0d2b381f7d461dac26381125" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fastNormalize </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a vector in the same direction as x but with length of 1. </p>
<p>Less accurate but much faster than simdNormalize. (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga56465ed17cafbff1e225f82eeb7184e5"></a><!-- doxytag: member="glm::gtx::simd_vec4::fastSqrt" ref="ga56465ed17cafbff1e225f82eeb7184e5" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fastSqrt </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the positive square root of x Less accurate but much faster than sqrt. </p>
<p>(From GLM_GTX_simd_vec4 extension, exponential function) </p>
</div>
</div>
<a class="anchor" id="gab7b1e6c9349aec87e1d3346e867588d6"></a><!-- doxytag: member="glm::gtx::simd_vec4::floor" ref="gab7b1e6c9349aec87e1d3346e867588d6" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::floor </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a value equal to the nearest integer that is less then or equal to x. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga4b9f36f4524482b43324f4631944569d"></a><!-- doxytag: member="glm::gtx::simd_vec4::fma" ref="ga4b9f36f4524482b43324f4631944569d" args="(detail::fvec4SIMD const &amp;a, detail::fvec4SIMD const &amp;b, detail::fvec4SIMD const &amp;c)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fma </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. </p>
<p>Returns false otherwise, including for implementations with no NaN representations. (From GLM_GTX_simd_vec4 extension, common function) Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. Returns false otherwise, including for implementations with no infinity representations. (From GLM_GTX_simd_vec4 extension, common function) Returns a signed or unsigned integer value representing the encoding of a floating-point value. The floatingpoint value's bit-level representation is preserved. (From GLM_GTX_simd_vec4 extension, common function) Returns a floating-point value corresponding to a signed or unsigned integer encoding of a floating-point value. If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved. (From GLM_GTX_simd_vec4 extension, common function) Computes and returns a * b + c. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga0a98f9d76fee0ca46c1f97861e3e366c"></a><!-- doxytag: member="glm::gtx::simd_vec4::fract" ref="ga0a98f9d76fee0ca46c1f97861e3e366c" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::fract </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return x - floor(x). </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gaa4e215b72e48012a6388a1477c84e2ad"></a><!-- doxytag: member="glm::gtx::simd_vec4::inversesqrt" ref="gaa4e215b72e48012a6388a1477c84e2ad" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::inversesqrt </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the reciprocal of the positive square root of x. </p>
<p>(From GLM_GTX_simd_vec4 extension, exponential function) </p>
</div>
</div>
<a class="anchor" id="gaf76a38ce8c466c9b0bc4c1b5db1a6faa"></a><!-- doxytag: member="glm::gtx::simd_vec4::length" ref="gaf76a38ce8c466c9b0bc4c1b5db1a6faa" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float glm::gtx::simd_vec4::length </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) The significand is returned by the function and the exponent is returned in the parameter exp. </p>
<p>For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined. (From GLM_GTX_simd_vec4 extension, common function) Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) If this product is too large to be represented in the floating-point type, the result is undefined. (From GLM_GTX_simd_vec4 extension, common function) Returns the length of x, i.e., sqrt(x * x). (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga6c7fffeb58db66f602585b24a8e4f2db"></a><!-- doxytag: member="glm::gtx::simd_vec4::length4" ref="ga6c7fffeb58db66f602585b24a8e4f2db" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::length4 </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the length of x, i.e., sqrt(x * x). </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga10dbe289232abf23c8d668c646ff05d6"></a><!-- doxytag: member="glm::gtx::simd_vec4::max" ref="ga10dbe289232abf23c8d668c646ff05d6" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::max </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns y if x &lt; y; otherwise, it returns x. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gac8850ebd4ae655de76f375105cf7b3d8"></a><!-- doxytag: member="glm::gtx::simd_vec4::min" ref="gac8850ebd4ae655de76f375105cf7b3d8" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::min </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). </p>
<p>Both the return value and the output parameter will have the same sign as x. (From GLM_GTX_simd_vec4 extension, common function) Returns y if y &lt; x; otherwise, it returns x. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gafb120dd721c6b87f5f23c3edd159cfaa"></a><!-- doxytag: member="glm::gtx::simd_vec4::mix" ref="gafb120dd721c6b87f5f23c3edd159cfaa" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y, detail::fvec4SIMD const &amp;a)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::mix </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1].</dd>
<dd>
If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of a that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. Components of x and y that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.</dd></dl>
<p>From GLSL 1.30.08 specification, section 8.3</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Floating point scalar or vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Floating point scalar or vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>Floating point or boolean scalar or vector. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf95a2c5c60a6f2a36911d32901e44aba"></a><!-- doxytag: member="glm::gtx::simd_vec4::mod" ref="gaf95a2c5c60a6f2a36911d32901e44aba" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::mod </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Modulus. </p>
<p>Returns x - y * floor(x / y) for each component in x using the floating point value y. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gaba1f7a090566667c615a4a53c2f4a0c6"></a><!-- doxytag: member="glm::gtx::simd_vec4::mod" ref="gaba1f7a090566667c615a4a53c2f4a0c6" args="(detail::fvec4SIMD const &amp;x, float const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::mod </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Modulus. </p>
<p>Returns x - y * floor(x / y) for each component in x using the floating point value y. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga97a71f5eed0feb541ea1131a46e4422e"></a><!-- doxytag: member="glm::gtx::simd_vec4::niceLength" ref="ga97a71f5eed0feb541ea1131a46e4422e" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float glm::gtx::simd_vec4::niceLength </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the length of x, i.e., sqrt(x * x). </p>
<p>Slightly more accurate but much slower than simdLength. (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga159f5857abf0df4250bae94f95b9d015"></a><!-- doxytag: member="glm::gtx::simd_vec4::niceLength4" ref="ga159f5857abf0df4250bae94f95b9d015" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::niceLength4 </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the length of x, i.e., sqrt(x * x). </p>
<p>Slightly more accurate but much slower than simdLength4. (From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga163877845325804cda05e8b5142822d5"></a><!-- doxytag: member="glm::gtx::simd_vec4::niceSqrt" ref="ga163877845325804cda05e8b5142822d5" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::niceSqrt </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the positive square root of x with the nicest quality but very slow. </p>
<p>Slightly more accurate but much slower than simdSqrt. (From GLM_GTX_simd_vec4 extension, exponential function) </p>
</div>
</div>
<a class="anchor" id="ga4e5cbc78bdd522b61ecd2154b50251af"></a><!-- doxytag: member="glm::gtx::simd_vec4::normalize" ref="ga4e5cbc78bdd522b61ecd2154b50251af" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::normalize </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a vector in the same direction as x but with length of 1. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga42f1073cf493e7c299c72ae95180265d"></a><!-- doxytag: member="glm::gtx::simd_vec4::reflect" ref="ga42f1073cf493e7c299c72ae95180265d" args="(detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;N)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::reflect </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>I</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>N</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="ga894c3ec0524d03313dc9c72d36290c00"></a><!-- doxytag: member="glm::gtx::simd_vec4::refract" ref="ga894c3ec0524d03313dc9c72d36290c00" args="(detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;N, float const &amp;eta)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::refract </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>I</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>N</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float const &amp;&#160;</td>
<td class="paramname"><em>eta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gad17e750a691edfe51fd1f60d8cac2329"></a><!-- doxytag: member="glm::gtx::simd_vec4::round" ref="gad17e750a691edfe51fd1f60d8cac2329" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::round </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a value equal to the nearest integer to x. </p>
<p>The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga5a32ecd67af075293c5c8278f2938d4d"></a><!-- doxytag: member="glm::gtx::simd_vec4::sign" ref="ga5a32ecd67af075293c5c8278f2938d4d" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::sign </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns 1.0 if x &gt; 0, 0.0 if x = 0, or -1.0 if x &lt; 0. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga44faf22be31f5809ed97bf611a56f3e9"></a><!-- doxytag: member="glm::gtx::simd_vec4::simdDot" ref="ga44faf22be31f5809ed97bf611a56f3e9" args="(detail::fvec4SIMD const &amp;x, detail::fvec4SIMD const &amp;y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float glm::gtx::simd_vec4::simdDot </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the dot product of x and y, i.e., result = x * y. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gac11cb08f6ba68f761b7146a60e72da55"></a><!-- doxytag: member="glm::gtx::simd_vec4::simdFaceforward" ref="gac11cb08f6ba68f761b7146a60e72da55" args="(detail::fvec4SIMD const &amp;N, detail::fvec4SIMD const &amp;I, detail::fvec4SIMD const &amp;Nref)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::simdFaceforward </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>N</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>I</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>Nref</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N. </p>
<p>(From GLM_GTX_simd_vec4 extension, geometry functions) </p>
</div>
</div>
<a class="anchor" id="gaeadaacf6c87b0699292de98b7140a278"></a><!-- doxytag: member="glm::gtx::simd_vec4::smoothstep" ref="gaeadaacf6c87b0699292de98b7140a278" args="(detail::fvec4SIMD const &amp;edge0, detail::fvec4SIMD const &amp;edge1, detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::smoothstep </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>edge0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>edge1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 &lt; x &lt; edge1. </p>
<p>This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x <20> edge0) / (edge1 <20> edge0), 0, 1); return t * t * (3 <20> 2 * t); Results are undefined if edge0 &gt;= edge1. (From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga28dbd1d165fc4301de4fb16a049fcfb2"></a><!-- doxytag: member="glm::gtx::simd_vec4::sqrt" ref="ga28dbd1d165fc4301de4fb16a049fcfb2" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::sqrt </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the positive square root of x. </p>
<p>(From GLM_GTX_simd_vec4 extension, exponential function) </p>
</div>
</div>
<a class="anchor" id="ga459647604ac2aa0a97c4eb739a7302cb"></a><!-- doxytag: member="glm::gtx::simd_vec4::step" ref="ga459647604ac2aa0a97c4eb739a7302cb" args="(detail::fvec4SIMD const &amp;edge, detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::step </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns 0.0 if x &lt; edge, otherwise it returns 1.0. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="ga4733720fa96ed2125f15e4b96578f486"></a><!-- doxytag: member="glm::gtx::simd_vec4::trunc" ref="ga4733720fa96ed2125f15e4b96578f486" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::fvec4SIMD glm::gtx::simd_vec4::trunc </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. </p>
<p>(From GLM_GTX_simd_vec4 extension, common function) </p>
</div>
</div>
<a class="anchor" id="gaf44c64b2f9e70746b8a83571812670fc"></a><!-- doxytag: member="glm::gtx::simd_vec4::vec4_cast" ref="gaf44c64b2f9e70746b8a83571812670fc" args="(detail::fvec4SIMD const &amp;x)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec4&lt;float&gt; glm::gtx::simd_vec4::vec4_cast </td>
<td>(</td>
<td class="paramtype">detail::fvec4SIMD const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert a simdVec4 to a vec4. </p>
<p>(From GLM_GTX_simd_vec4 extension) </p>
</div>
</div>
</div>
<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.7.4 </small></address>
</body>
</html>