diff options
Diffstat (limited to '3rdparty/glm/doc/api/a00193.html')
| -rw-r--r-- | 3rdparty/glm/doc/api/a00193.html | 449 |
1 files changed, 197 insertions, 252 deletions
diff --git a/3rdparty/glm/doc/api/a00193.html b/3rdparty/glm/doc/api/a00193.html index 7eb5dc76133..16eeb157035 100644 --- a/3rdparty/glm/doc/api/a00193.html +++ b/3rdparty/glm/doc/api/a00193.html @@ -4,10 +4,16 @@ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.10"/> -<title>0.9.7: GLM_GTX_dual_quaternion</title> +<title>0.9.9 API documenation: GLM_GTX_fast_exponential</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { init_search(); }); +</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> @@ -16,9 +22,9 @@ <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> - <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> + <td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> - <div id="projectname">0.9.7 + <div id="projectname">0.9.9 API documenation </div> </td> </tr> @@ -27,361 +33,309 @@ </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.10 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> </ul> </div> </div><!-- top --> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + <div class="header"> <div class="summary"> -<a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> -<div class="title">GLM_GTX_dual_quaternion<div class="ingroups"><a class="el" href="a00161.html">GTX Extensions (Experimental)</a></div></div> </div> +<div class="title">GLM_GTX_fast_exponential<div class="ingroups"><a class="el" href="a00154.html">GTX Extensions (Experimental)</a></div></div> </div> </div><!--header--> <div class="contents"> + +<p>Fast but less accurate implementations of exponential based functions. +<a href="#details">More...</a></p> <table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> -Typedefs</h2></td></tr> -<tr class="memitem:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memItemLeft" align="right" valign="top">typedef highp_ddualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a></td></tr> -<tr class="separator:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a></td></tr> -<tr class="separator:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a></td></tr> -<tr class="separator:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a></td></tr> -<tr class="separator:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a></td></tr> -<tr class="separator:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga4c4e55e9c99dc57b299ed590968da564"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a></td></tr> -<tr class="separator:ga4c4e55e9c99dc57b299ed590968da564"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a></td></tr> -<tr class="separator:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a></td></tr> -<tr class="separator:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaa38f671be25a7f3b136a452a8bb42860"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a></td></tr> -<tr class="separator:gaa38f671be25a7f3b136a452a8bb42860"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a></td></tr> -<tr class="separator:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a></td></tr> -<tr class="separator:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga4a6b594ff7e81150d8143001367a9431"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00193.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a></td></tr> -<tr class="separator:ga4a6b594ff7e81150d8143001367a9431"><td class="memSeparator" colspan="2"> </td></tr> -</table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gada9799afe2b62394dc498534beb5bc78">dualquat_cast</a> (tmat2x4< T, P > const &x)</td></tr> -<tr class="separator:gada9799afe2b62394dc498534beb5bc78"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga20eb5758beb73cc6dbc2d9104f03ec20">dualquat_cast</a> (tmat3x4< T, P > const &x)</td></tr> -<tr class="separator:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga2149d3cb8af04d9530de0cd16aa1aab2">inverse</a> (tdualquat< T, P > const &q)</td></tr> -<tr class="separator:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga8039b88397ca09275be924a26a806a59">lerp</a> (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)</td></tr> -<tr class="separator:ga8039b88397ca09275be924a26a806a59"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat2x4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga2d124748183e12db8288eeaca350298e">mat2x4_cast</a> (tdualquat< T, P > const &x)</td></tr> -<tr class="separator:ga2d124748183e12db8288eeaca350298e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga576745d979e3c079a64152490c816954">mat3x4_cast</a> (tdualquat< T, P > const &x)</td></tr> -<tr class="separator:ga576745d979e3c079a64152490c816954"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr> -<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga495818aa48c23e9e730f87a3c337d1d5">normalize</a> (tdualquat< T, P > const &q)</td></tr> -<tr class="separator:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> +<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gaa3180ac8f96ab37ab96e0cacaf608e10">fastExp</a> (T x)</td></tr> +<tr class="memdesc:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp function but less accurate. <a href="a00193.html#gaa3180ac8f96ab37ab96e0cacaf608e10">More...</a><br /></td></tr> +<tr class="separator:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">fastExp</a> (vecType< T, P > const &x)</td></tr> +<tr class="memdesc:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp function but less accurate. <a href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">More...</a><br /></td></tr> +<tr class="separator:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> +<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga0af50585955eb14c60bb286297fabab2">fastExp2</a> (T x)</td></tr> +<tr class="memdesc:ga0af50585955eb14c60bb286297fabab2"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00193.html#ga0af50585955eb14c60bb286297fabab2">More...</a><br /></td></tr> +<tr class="separator:ga0af50585955eb14c60bb286297fabab2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9e6219327b7a33077dbec7620d981fff"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:ga9e6219327b7a33077dbec7620d981fff"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">fastExp2</a> (vecType< T, P > const &x)</td></tr> +<tr class="memdesc:ga9e6219327b7a33077dbec7620d981fff"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">More...</a><br /></td></tr> +<tr class="separator:ga9e6219327b7a33077dbec7620d981fff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> +<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gae1bdc97b7f96a600e29c753f1cd4388a">fastLog</a> (T x)</td></tr> +<tr class="memdesc:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log function but less accurate. <a href="a00193.html#gae1bdc97b7f96a600e29c753f1cd4388a">More...</a><br /></td></tr> +<tr class="separator:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">fastLog</a> (vecType< T, P > const &x)</td></tr> +<tr class="memdesc:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">More...</a><br /></td></tr> +<tr class="separator:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> +<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga6e98118685f6dc9e05fbb13dd5e5234e">fastLog2</a> (T x)</td></tr> +<tr class="memdesc:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log2 function but less accurate. <a href="a00193.html#ga6e98118685f6dc9e05fbb13dd5e5234e">More...</a><br /></td></tr> +<tr class="separator:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">fastLog2</a> (vecType< T, P > const &x)</td></tr> +<tr class="memdesc:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log2 function but less accurate. <a href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">More...</a><br /></td></tr> +<tr class="separator:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr> +<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga5340e98a11fcbbd936ba6e983a154d50">fastPow</a> (genType x, genType y)</td></tr> +<tr class="memdesc:ga5340e98a11fcbbd936ba6e983a154d50"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00193.html#ga5340e98a11fcbbd936ba6e983a154d50">More...</a><br /></td></tr> +<tr class="separator:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga07b73976a9af4005945bc338b45d8466"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:ga07b73976a9af4005945bc338b45d8466"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga07b73976a9af4005945bc338b45d8466">fastPow</a> (vecType< T, P > const &x, vecType< T, P > const &y)</td></tr> +<tr class="memdesc:ga07b73976a9af4005945bc338b45d8466"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00193.html#ga07b73976a9af4005945bc338b45d8466">More...</a><br /></td></tr> +<tr class="separator:ga07b73976a9af4005945bc338b45d8466"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplParams" colspan="2">template<typename genTypeT , typename genTypeU > </td></tr> +<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genTypeT </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga7f2562db9c3e02ae76169c36b086c3f6">fastPow</a> (genTypeT x, genTypeU y)</td></tr> +<tr class="memdesc:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00193.html#ga7f2562db9c3e02ae76169c36b086c3f6">More...</a><br /></td></tr> +<tr class="separator:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga29924aea1aa11c5c504fb2d621221906"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr> +<tr class="memitem:ga29924aea1aa11c5c504fb2d621221906"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a> (vecType< T, P > const &x)</td></tr> +<tr class="memdesc:ga29924aea1aa11c5c504fb2d621221906"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">More...</a><br /></td></tr> +<tr class="separator:ga29924aea1aa11c5c504fb2d621221906"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>Defines a templated dual-quaternion type and several dual-quaternion operations. </p> -<p><<a class="el" href="a00019.html" title="OpenGL Mathematics (glm.g-truc.net) ">glm/gtx/dual_quaternion.hpp</a>> need to be included to use these functionalities. </p> -<h2 class="groupheader">Typedef Documentation</h2> -<a class="anchor" id="ga3d71f98d84ba59dfe4e369fde4714cd6"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef highp_ddualquat ddualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of default double-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00283">283</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="gae93abee0c979902fbec6a7bee0f6fae1"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef highp_fdualquat dualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00259">259</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="ga237c2b9b42c9a930e49de5840ae0f930"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef highp_fdualquat fdualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00264">264</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="ga8f67eafa7197d7a668dad5105a463d2a"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef tdualquat<double, highp> highp_ddualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of high double-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00252">252</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="ga9ef5bf1da52a9d4932335a517086ceaf"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef tdualquat<float, highp> highp_dualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of high single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00220">220</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="ga4c4e55e9c99dc57b299ed590968da564"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">typedef tdualquat<float, highp> highp_fdualquat</td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Dual-quaternion of high single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00236">236</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> - -</div> -</div> -<a class="anchor" id="gab4c5103338af3dac7e0fbc86895a3f1a"></a> +<p>Fast but less accurate implementations of exponential based functions. </p> +<p><<a class="el" href="a00027.html" title="GLM_GTX_fast_exponential ">glm/gtx/fast_exponential.hpp</a>> need to be included to use these functionalities. </p> +<h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="gaa3180ac8f96ab37ab96e0cacaf608e10"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<double, lowp> lowp_ddualquat</td> + <td class="memname">GLM_FUNC_DECL T glm::fastExp </td> + <td>(</td> + <td class="paramtype">T </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of low double-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00242">242</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common exp function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="gade05d29ebd4deea0f883d0e1bb4169aa"></a> +<a class="anchor" id="ga4faf0b61115de36efcf47c4ecb55a5fa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<float, lowp> lowp_dualquat</td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastExp </td> + <td>(</td> + <td class="paramtype">vecType< T, P > const & </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of low single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00210">210</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common exp function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="gaa38f671be25a7f3b136a452a8bb42860"></a> +<a class="anchor" id="ga0af50585955eb14c60bb286297fabab2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<float, lowp> lowp_fdualquat</td> + <td class="memname">GLM_FUNC_DECL T glm::fastExp2 </td> + <td>(</td> + <td class="paramtype">T </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of low single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00226">226</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common exp2 function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga0fb11e48e2d16348ccb06a25213641b4"></a> +<a class="anchor" id="ga9e6219327b7a33077dbec7620d981fff"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<double, mediump> mediump_ddualquat</td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastExp2 </td> + <td>(</td> + <td class="paramtype">vecType< T, P > const & </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of medium double-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00247">247</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common exp2 function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="gaa7aeb54c167712b38f2178a1be2360ad"></a> +<a class="anchor" id="gae1bdc97b7f96a600e29c753f1cd4388a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<float, mediump> mediump_dualquat</td> + <td class="memname">GLM_FUNC_DECL T glm::fastLog </td> + <td>(</td> + <td class="paramtype">T </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of medium single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00215">215</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common log function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga4a6b594ff7e81150d8143001367a9431"></a> +<a class="anchor" id="ga789abcbc34d08008d2f5a4547dd6e5e3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef tdualquat<float, mediump> mediump_fdualquat</td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastLog </td> + <td>(</td> + <td class="paramtype">vecType< T, P > const & </td> + <td class="paramname"><em>x</em></td><td>)</td> + <td></td> </tr> </table> </div><div class="memdoc"> -<p>Dual-quaternion of medium single-precision floating-point numbers. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -<p>Definition at line <a class="el" href="a00019_source.html#l00231">231</a> of file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p> +<p>Faster than the common exp2 function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="gada9799afe2b62394dc498534beb5bc78"></a> +<a class="anchor" id="ga6e98118685f6dc9e05fbb13dd5e5234e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast </td> + <td class="memname">GLM_FUNC_DECL T glm::fastLog2 </td> <td>(</td> - <td class="paramtype">tmat2x4< T, P > const & </td> + <td class="paramtype">T </td> <td class="paramname"><em>x</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> -<p>Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> +<p>Faster than the common log2 function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga20eb5758beb73cc6dbc2d9104f03ec20"></a> +<a class="anchor" id="gabc46086fe6636b8be87f09e6c5d2bb58"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast </td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastLog2 </td> <td>(</td> - <td class="paramtype">tmat3x4< T, P > const & </td> + <td class="paramtype">vecType< T, P > const & </td> <td class="paramname"><em>x</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> -<p>Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> +<p>Faster than the common log2 function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga2149d3cb8af04d9530de0cd16aa1aab2"></a> +<a class="anchor" id="ga5340e98a11fcbbd936ba6e983a154d50"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tdualquat<T, P> glm::inverse </td> + <td class="memname">GLM_FUNC_DECL genType glm::fastPow </td> <td>(</td> - <td class="paramtype">tdualquat< T, P > const & </td> - <td class="paramname"><em>q</em></td><td>)</td> + <td class="paramtype">genType </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">genType </td> + <td class="paramname"><em>y</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> </div><div class="memdoc"> -<p>Returns the q inverse. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> +<p>Faster than the common pow function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga8039b88397ca09275be924a26a806a59"></a> +<a class="anchor" id="ga07b73976a9af4005945bc338b45d8466"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tdualquat<T, P> glm::lerp </td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastPow </td> <td>(</td> - <td class="paramtype">tdualquat< T, P > const & </td> + <td class="paramtype">vecType< T, P > const & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">tdualquat< T, P > const & </td> - <td class="paramname"><em>y</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">T const & </td> - <td class="paramname"><em>a</em> </td> + <td class="paramtype">vecType< T, P > const & </td> + <td class="paramname"><em>y</em> </td> </tr> <tr> <td></td> @@ -391,65 +345,56 @@ Functions</h2></td></tr> </table> </div><div class="memdoc"> -<p>Returns the linear interpolation of two dual quaternion. </p> -<dl class="section see"><dt>See also</dt><dd>gtc_dual_quaternion </dd></dl> +<p>Faster than the common pow function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga2d124748183e12db8288eeaca350298e"></a> +<a class="anchor" id="ga7f2562db9c3e02ae76169c36b086c3f6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tmat2x4<T, P> glm::mat2x4_cast </td> + <td class="memname">GLM_FUNC_DECL genTypeT glm::fastPow </td> <td>(</td> - <td class="paramtype">tdualquat< T, P > const & </td> - <td class="paramname"><em>x</em></td><td>)</td> + <td class="paramtype">genTypeT </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">genTypeU </td> + <td class="paramname"><em>y</em> </td> </tr> - </table> -</div><div class="memdoc"> - -<p>Converts a quaternion to a 2 * 4 matrix. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> - -</div> -</div> -<a class="anchor" id="ga576745d979e3c079a64152490c816954"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tmat3x4<T, P> glm::mat3x4_cast </td> - <td>(</td> - <td class="paramtype">tdualquat< T, P > const & </td> - <td class="paramname"><em>x</em></td><td>)</td> <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> </div><div class="memdoc"> -<p>Converts a quaternion to a 3 * 4 matrix. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> +<p>Faster than the common pow function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> -<a class="anchor" id="ga495818aa48c23e9e730f87a3c337d1d5"></a> +<a class="anchor" id="ga29924aea1aa11c5c504fb2d621221906"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">GLM_FUNC_DECL tdualquat<T, P> glm::normalize </td> + <td class="memname">GLM_FUNC_DECL vecType<T, P> glm::fastPow </td> <td>(</td> - <td class="paramtype">tdualquat< T, P > const & </td> - <td class="paramname"><em>q</em></td><td>)</td> + <td class="paramtype">vecType< T, P > const & </td> + <td class="paramname"><em>x</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> -<p>Returns the normalized quaternion. </p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Defines a templated dual-quaternion type and several dual-quaternion operations. ">GLM_GTX_dual_quaternion</a> </dd></dl> +<p>Faster than the common pow function but less accurate. </p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00193.html" title="Fast but less accurate implementations of exponential based functions. ">GLM_GTX_fast_exponential</a> </dd></dl> </div> </div> |
