Fix atan2(y,x)

This commit is contained in:
Tom Kneiphof 2023-07-10 12:28:42 +02:00
parent 5c46b9c070
commit 21db8fbdcb
7 changed files with 21 additions and 21 deletions

View File

@ -328,22 +328,22 @@ typedef mat&lt; 4, 4, int, highp &gt;&#160;</td><td class="memItemRight" valign=
Functions</h2></td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac63011205bf6d0be82589dc56dd26708"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T x, T y)</td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T y, T x)</td></tr>
<tr class="memdesc:gac63011205bf6d0be82589dc56dd26708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gac63011205bf6d0be82589dc56dd26708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga83bc41bd6f89113ee8006576b12bfc50"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 2, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50">atan2</a> (const vec&lt; 2, T, Q &gt; &amp;x, const vec&lt; 2, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 2, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50">atan2</a> (const vec&lt; 2, T, Q &gt; &amp;y, const vec&lt; 2, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:ga83bc41bd6f89113ee8006576b12bfc50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac39314f5087e7e51e592897cabbc1927"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac39314f5087e7e51e592897cabbc1927">atan2</a> (const vec&lt; 3, T, Q &gt; &amp;x, const vec&lt; 3, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac39314f5087e7e51e592897cabbc1927">atan2</a> (const vec&lt; 3, T, Q &gt; &amp;y, const vec&lt; 3, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:gac39314f5087e7e51e592897cabbc1927"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gac39314f5087e7e51e592897cabbc1927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaba86c28da7bf5bdac64fecf7d56e8ff3"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a> (const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a> (const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4b04dcd3526996d68c1bfe17bfc8657"></a>

View File

@ -129,10 +129,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00315.html#ga39bfe3a421286ee31680d45c31ccc161"> 52</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;3, T, Q&gt; <a class="code" href="a00315.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(<span class="keyword">const</span> vec&lt;3, T, Q&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00241.html#ga7cd77683da6361e297c56443fc70806d">clamp</a>(x, T(0), T(1));} </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a00315.html#ga356f8c3a7e7d6376d3d4b0a026407183"> 53</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;4, T, Q&gt; <a class="code" href="a00315.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(<span class="keyword">const</span> vec&lt;4, T, Q&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00241.html#ga7cd77683da6361e297c56443fc70806d">clamp</a>(x, T(0), T(1));} </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00315.html#gac63011205bf6d0be82589dc56dd26708"> 55</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50"> 56</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;2, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;2, T, Q&gt;&amp; x, <span class="keyword">const</span> vec&lt;2, T, Q&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00315.html#gac39314f5087e7e51e592897cabbc1927"> 57</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;3, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;3, T, Q&gt;&amp; x, <span class="keyword">const</span> vec&lt;3, T, Q&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3"> 58</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;4, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;4, T, Q&gt;&amp; x, <span class="keyword">const</span> vec&lt;4, T, Q&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00315.html#gac63011205bf6d0be82589dc56dd26708"> 55</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(T y, T x){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(y, x);} </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50"> 56</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;2, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;2, T, Q&gt;&amp; y, <span class="keyword">const</span> vec&lt;2, T, Q&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(y, x);} </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00315.html#gac39314f5087e7e51e592897cabbc1927"> 57</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;3, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;3, T, Q&gt;&amp; y, <span class="keyword">const</span> vec&lt;3, T, Q&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(y, x);} </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3"> 58</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_QUALIFIER vec&lt;4, T, Q&gt; <a class="code" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec&lt;4, T, Q&gt;&amp; y, <span class="keyword">const</span> vec&lt;4, T, Q&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00373.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(y, x);} </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt; GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00315.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(genType <span class="keyword">const</span>&amp; x); </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt; GLM_FUNC_DECL vec&lt;1, bool, Q&gt; <a class="code" href="a00315.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(<span class="keyword">const</span> vec&lt;1, T, Q&gt;&amp; x); </div>
@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="a00315_html_gacd33061fc64a7b2dcfd7322c49d9557a"><div class="ttname"><a href="a00315.html#gacd33061fc64a7b2dcfd7322c49d9557a">glm::double2x4</a></div><div class="ttdeci">mat&lt; 2, 4, double, highp &gt; double2x4</div><div class="ttdoc">double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00122">compatibility.hpp:122</a></div></div>
<div class="ttc" id="a00315_html_gae57d0201096834d25f2b91b319e7cdbd"><div class="ttname"><a href="a00315.html#gae57d0201096834d25f2b91b319e7cdbd">glm::double2x2</a></div><div class="ttdeci">mat&lt; 2, 2, double, highp &gt; double2x2</div><div class="ttdoc">double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00120">compatibility.hpp:120</a></div></div>
<div class="ttc" id="a00315_html_ga5ec08fc39c9d783dfcc488be240fe975"><div class="ttname"><a href="a00315.html#ga5ec08fc39c9d783dfcc488be240fe975">glm::double3x2</a></div><div class="ttdeci">mat&lt; 3, 2, double, highp &gt; double3x2</div><div class="ttdoc">double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00123">compatibility.hpp:123</a></div></div>
<div class="ttc" id="a00315_html_gaba86c28da7bf5bdac64fecf7d56e8ff3"><div class="ttname"><a href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">glm::atan2</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt; atan2(const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y)</div><div class="ttdoc">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00058">compatibility.hpp:58</a></div></div>
<div class="ttc" id="a00315_html_gaba86c28da7bf5bdac64fecf7d56e8ff3"><div class="ttname"><a href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">glm::atan2</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt; atan2(const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;x)</div><div class="ttdoc">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00058">compatibility.hpp:58</a></div></div>
<div class="ttc" id="a00315_html_ga45f16a4dd0db1f199afaed9fd12fe9a8"><div class="ttname"><a href="a00315.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">glm::double1x1</a></div><div class="ttdeci">double double1x1</div><div class="ttdoc">double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00119">compatibility.hpp:119</a></div></div>
<div class="ttc" id="a00315_html_gab5477ab69c40de4db5d58d3359529724"><div class="ttname"><a href="a00315.html#gab5477ab69c40de4db5d58d3359529724">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt; lerp(const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;a)</div><div class="ttdoc">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00048">compatibility.hpp:48</a></div></div>
<div class="ttc" id="a00315_html_ga4bad5bb20c6ddaecfe4006c93841d180"><div class="ttname"><a href="a00315.html#ga4bad5bb20c6ddaecfe4006c93841d180">glm::double3x3</a></div><div class="ttdeci">mat&lt; 3, 3, double, highp &gt; double3x3</div><div class="ttdoc">double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00124">compatibility.hpp:124</a></div></div>

View File

@ -317,22 +317,22 @@ typedef mat&lt; 4, 4, int, highp &gt;&#160;</td><td class="memItemRight" valign=
Functions</h2></td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac63011205bf6d0be82589dc56dd26708"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T x, T y)</td></tr>
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T y, T x)</td></tr>
<tr class="memdesc:gac63011205bf6d0be82589dc56dd26708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gac63011205bf6d0be82589dc56dd26708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga83bc41bd6f89113ee8006576b12bfc50"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 2, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50">atan2</a> (const vec&lt; 2, T, Q &gt; &amp;x, const vec&lt; 2, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 2, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#ga83bc41bd6f89113ee8006576b12bfc50">atan2</a> (const vec&lt; 2, T, Q &gt; &amp;y, const vec&lt; 2, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:ga83bc41bd6f89113ee8006576b12bfc50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac39314f5087e7e51e592897cabbc1927"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac39314f5087e7e51e592897cabbc1927">atan2</a> (const vec&lt; 3, T, Q &gt; &amp;x, const vec&lt; 3, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gac39314f5087e7e51e592897cabbc1927">atan2</a> (const vec&lt; 3, T, Q &gt; &amp;y, const vec&lt; 3, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:gac39314f5087e7e51e592897cabbc1927"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gac39314f5087e7e51e592897cabbc1927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaba86c28da7bf5bdac64fecf7d56e8ff3"></a>
template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a> (const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y)</td></tr>
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a> (const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;x)</td></tr>
<tr class="memdesc:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
<tr class="separator:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4b04dcd3526996d68c1bfe17bfc8657"></a>

View File

@ -200,7 +200,7 @@ var searchData=
['associatedmax',['associatedMax',['../a00308.html#ga7d9c8785230c8db60f72ec8975f1ba45',1,'glm::associatedMax(T x, U a, T y, U b)'],['../a00308.html#ga5c6758bc50aa7fbe700f87123a045aad',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#ga0d169d6ce26b03248df175f39005d77f',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#ga4086269afabcb81dd7ded33cb3448653',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b)'],['../a00308.html#gaec891e363d91abbf3a4443cf2f652209',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c)'],['../a00308.html#gab84fdc35016a31e8cd0cbb8296bddf7c',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#gadd2a2002f4f2144bbc39eb2336dd2fba',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#ga19f59d1141a51a3b2108a9807af78f7f',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c)'],['../a00308.html#ga3038ffcb43eaa6af75897a99a5047ccc',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga11477c2c4b5b0bfd1b72b29df3725a9d',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c, T w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#gab9c3dd74cac899d2c625b5767ea3b3fb',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c, vec&lt; L, T, Q &gt; const &amp;w, U d)']]],
['associatedmin',['associatedMin',['../a00308.html#gacc01bd272359572fc28437ae214a02df',1,'glm::associatedMin(T x, U a, T y, U b)'],['../a00308.html#gac2f0dff90948f2e44386a5eafd941d1c',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#gacfec519c820331d023ef53a511749319',1,'glm::associatedMin(T x, const vec&lt; L, U, Q &gt; &amp;a, T y, const vec&lt; L, U, Q &gt; &amp;b)'],['../a00308.html#ga4757c7cab2d809124a8525d0a9deeb37',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b)'],['../a00308.html#gad0aa8f86259a26d839d34a3577a923fc',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c)'],['../a00308.html#ga723e5411cebc7ffbd5c81ffeec61127d',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#ga432224ebe2085eaa2b63a077ecbbbff6',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#ga66b08118bc88f0494bcacb7cdb940556',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga78c28fde1a7080fb7420bd88e68c6c68',1,'glm::associatedMin(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c, T w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga2db7e351994baee78540a562d4bb6d3b',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c, vec&lt; L, T, Q &gt; const &amp;w, U d)']]],
['atan',['atan',['../a00373.html#gac61629f3a4aa14057e7a8cae002291db',1,'glm::atan(vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;x)'],['../a00373.html#ga5229f087eaccbc466f1c609ce3107b95',1,'glm::atan(vec&lt; L, T, Q &gt; const &amp;y_over_x)']]],
['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T x, T y)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec&lt; 2, T, Q &gt; &amp;x, const vec&lt; 2, T, Q &gt; &amp;y)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec&lt; 3, T, Q &gt; &amp;x, const vec&lt; 3, T, Q &gt; &amp;y)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y)']]],
['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T y, T x)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec&lt; 2, T, Q &gt; &amp;y, const vec&lt; 2, T, Q &gt; &amp;x)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec&lt; 3, T, Q &gt; &amp;y, const vec&lt; 3, T, Q &gt; &amp;x)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;x)']]],
['atanh',['atanh',['../a00373.html#gabc925650e618357d07da255531658b87',1,'glm']]],
['axis',['axis',['../a00257.html#ga764254f10248b505e936e5309a88c23d',1,'glm']]],
['axisangle',['axisAngle',['../a00337.html#gafefe32ce5a90a135287ba34fac3623bc',1,'glm']]],

View File

@ -23,7 +23,7 @@ var searchData=
['associatedmax',['associatedMax',['../a00308.html#ga7d9c8785230c8db60f72ec8975f1ba45',1,'glm::associatedMax(T x, U a, T y, U b)'],['../a00308.html#ga5c6758bc50aa7fbe700f87123a045aad',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#ga0d169d6ce26b03248df175f39005d77f',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#ga4086269afabcb81dd7ded33cb3448653',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b)'],['../a00308.html#gaec891e363d91abbf3a4443cf2f652209',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c)'],['../a00308.html#gab84fdc35016a31e8cd0cbb8296bddf7c',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#gadd2a2002f4f2144bbc39eb2336dd2fba',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#ga19f59d1141a51a3b2108a9807af78f7f',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c)'],['../a00308.html#ga3038ffcb43eaa6af75897a99a5047ccc',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga11477c2c4b5b0bfd1b72b29df3725a9d',1,'glm::associatedMax(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c, T w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#gab9c3dd74cac899d2c625b5767ea3b3fb',1,'glm::associatedMax(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c, vec&lt; L, T, Q &gt; const &amp;w, U d)']]],
['associatedmin',['associatedMin',['../a00308.html#gacc01bd272359572fc28437ae214a02df',1,'glm::associatedMin(T x, U a, T y, U b)'],['../a00308.html#gac2f0dff90948f2e44386a5eafd941d1c',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b)'],['../a00308.html#gacfec519c820331d023ef53a511749319',1,'glm::associatedMin(T x, const vec&lt; L, U, Q &gt; &amp;a, T y, const vec&lt; L, U, Q &gt; &amp;b)'],['../a00308.html#ga4757c7cab2d809124a8525d0a9deeb37',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b)'],['../a00308.html#gad0aa8f86259a26d839d34a3577a923fc',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c)'],['../a00308.html#ga723e5411cebc7ffbd5c81ffeec61127d',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c)'],['../a00308.html#ga432224ebe2085eaa2b63a077ecbbbff6',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#ga66b08118bc88f0494bcacb7cdb940556',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, U, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, U, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, U, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga78c28fde1a7080fb7420bd88e68c6c68',1,'glm::associatedMin(T x, vec&lt; L, U, Q &gt; const &amp;a, T y, vec&lt; L, U, Q &gt; const &amp;b, T z, vec&lt; L, U, Q &gt; const &amp;c, T w, vec&lt; L, U, Q &gt; const &amp;d)'],['../a00308.html#ga2db7e351994baee78540a562d4bb6d3b',1,'glm::associatedMin(vec&lt; L, T, Q &gt; const &amp;x, U a, vec&lt; L, T, Q &gt; const &amp;y, U b, vec&lt; L, T, Q &gt; const &amp;z, U c, vec&lt; L, T, Q &gt; const &amp;w, U d)']]],
['atan',['atan',['../a00373.html#gac61629f3a4aa14057e7a8cae002291db',1,'glm::atan(vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;x)'],['../a00373.html#ga5229f087eaccbc466f1c609ce3107b95',1,'glm::atan(vec&lt; L, T, Q &gt; const &amp;y_over_x)']]],
['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T x, T y)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec&lt; 2, T, Q &gt; &amp;x, const vec&lt; 2, T, Q &gt; &amp;y)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec&lt; 3, T, Q &gt; &amp;x, const vec&lt; 3, T, Q &gt; &amp;y)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y)']]],
['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T y, T x)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec&lt; 2, T, Q &gt; &amp;y, const vec&lt; 2, T, Q &gt; &amp;x)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec&lt; 3, T, Q &gt; &amp;y, const vec&lt; 3, T, Q &gt; &amp;x)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;x)']]],
['atanh',['atanh',['../a00373.html#gabc925650e618357d07da255531658b87',1,'glm']]],
['axis',['axis',['../a00257.html#ga764254f10248b505e936e5309a88c23d',1,'glm']]],
['axisangle',['axisAngle',['../a00337.html#gafefe32ce5a90a135287ba34fac3623bc',1,'glm']]],

View File

@ -89,9 +89,9 @@ namespace glm
}
template<length_t L, typename T, qualifier Q>
GLM_FUNC_QUALIFIER vec<L, T, Q> atan(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
GLM_FUNC_QUALIFIER vec<L, T, Q> atan(vec<L, T, Q> const& y, vec<L, T, Q> const& x)
{
return detail::functor2<vec, L, T, Q>::call(::std::atan2, a, b);
return detail::functor2<vec, L, T, Q>::call(::std::atan2, y, x);
}
using std::atan;

View File

@ -52,10 +52,10 @@ namespace glm
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> saturate(const vec<3, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> saturate(const vec<4, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typename T> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> atan2(const vec<2, T, Q>& x, const vec<2, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> atan2(const vec<3, T, Q>& x, const vec<3, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> atan2(const vec<4, T, Q>& x, const vec<4, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T> GLM_FUNC_QUALIFIER T atan2(T y, T x){return atan(y, x);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> atan2(const vec<2, T, Q>& y, const vec<2, T, Q>& x){return atan(y, x);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> atan2(const vec<3, T, Q>& y, const vec<3, T, Q>& x){return atan(y, x);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> atan2(const vec<4, T, Q>& y, const vec<4, T, Q>& x){return atan(y, x);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typename genType> GLM_FUNC_DECL bool isfinite(genType const& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typename T, qualifier Q> GLM_FUNC_DECL vec<1, bool, Q> isfinite(const vec<1, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)