diff options
Diffstat (limited to 'docs/source_docs/files/bt_scalar_8h.html')
| -rw-r--r-- | docs/source_docs/files/bt_scalar_8h.html | 1462 |
1 files changed, 1462 insertions, 0 deletions
diff --git a/docs/source_docs/files/bt_scalar_8h.html b/docs/source_docs/files/bt_scalar_8h.html new file mode 100644 index 0000000..91be34e --- /dev/null +++ b/docs/source_docs/files/bt_scalar_8h.html @@ -0,0 +1,1462 @@ +<html> + <head> + <title>NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/VHACD/inc/btScalar.h File Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="blast_logo.png"> + <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <!-- <a class="qindex" href="hierarchy.html">Class Hierarchy</a> //--> + <a class="qindex" href="annotated.html">Class List</a> + <a class="qindex" href="functions.html">Class Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="main.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>User's Guide</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 class="current"><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>sdk/extensions/authoring/source/VHACD/inc/btScalar.h File Reference</h1><code>#include <float.h></code><br> +<code>#include <math.h></code><br> +<code>#include <stdlib.h></code><br> +<code>#include <stdint.h></code><br> +<code>#include <assert.h></code><br> + +<p> +<a href="bt_scalar_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Classes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structbt_typed_object.html">btTypedObject</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">rudimentary class to provide type info <a href="structbt_typed_object.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Defines</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#cb9392bc9b30095ec1ff9d98576b47e4">ATTRIBUTE_ALIGNED128</a>(a) a</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#38c30fdd0ea2558373a1b6e41c77d9d2">ATTRIBUTE_ALIGNED16</a>(a) a</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#f70e8b45dc0ad52b962f128ce45365dc">ATTRIBUTE_ALIGNED64</a>(a) a</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#cdcfe44a281881cbd298ecdee240ea46">BT_BULLET_VERSION</a> 279</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#0bd5b84db13a000ac43fffe2bfc32187">BT_DECLARE_ALIGNED_ALLOCATOR</a>()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#358fff092c05693d8351cef9e9dae9a7">BT_DECLARE_HANDLE</a>(name)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#3a24ecdd029d38fef175bee5d965710a">BT_LARGE_FLOAT</a> 1e18f</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#ff3e6078c073f6ba0edb95353f2c2c62">btAssert</a>(x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#cb1bcde16483d0a21f71ac4fe1c334be">btFsels</a>(a, b, c) (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>) btFsel(a, b, c)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#90bc8c8b8f79211b2b7f0356c4cd804f">btFullAssert</a>(x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#e9d26f737755d56d5374339f176a55ac">btLikely</a>(_c) _c</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#3103b9da34215c512d7fbff3cd94dd60">btRecipSqrt</a>(x) ((<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>)(<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(1.0) / btSqrt(<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(x))))</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#75f41f19fd54104288141671ecf47427">btUnlikely</a>(_c) _c</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#fa3dad5a5edb29663834714c0ef492bb">SIMD_2_PI</a> <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(6.283185307179586232)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#3f5619d3b313715b716a938afe47207d">SIMD_DEGS_PER_RAD</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(360.0) / SIMD_2_PI)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#e51eef6845bd59f964c1b2dbfe7054b7">SIMD_EPSILON</a> FLT_EPSILON</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> inline</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#f451c843c6b96c5ce1fa0d1c39f4c255">SIMD_HALF_PI</a> (SIMD_2_PI * <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.25))</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#87dcd463392e45ddb5350989e566f34a">SIMD_INFINITY</a> FLT_MAX</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#1bdff187c878167505bcedbbbabf7b0a">SIMD_PI</a> (SIMD_2_PI * <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.5))</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#0bec5e0f836008c100e66bddc0dc464d">SIMD_RADS_PER_DEG</a> (SIMD_2_PI / <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(360.0))</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#568883327ba96f54afed8dfd7ec1c66e">SIMDSQRT12</a> <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.7071067811865475244008443621048490)</td></tr> + +<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef float </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The btScalar type abstracts floating point numbers, to easily switch between double and single floating point precision. <a href="#1e5824cfc8adbf5a77f2622132d16018"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#004c41de4028b1437d1aafbaa0769cd5">btAcos</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#47baddce9fad101519c2a7456e2d6c9f">btAsin</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#92ffb99031b0c2c191ce69400c620bd0">btAtan</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#c7d89f182c6f2997f9a50fe963f6f986">btAtan2</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#66aac39acce2b5c6d043d390f3ef4d4f">btAtan2Fast</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#08cebf88560180c665f205810cc02d0f">btCos</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#62ae1d5b53ca14238715ed7a1a483aea">btDegrees</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#06a781aa5e366e7e0c434e071a149215">btEqual</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> a, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> eps)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#95a570162190c25ed6d54b719f4f617b">btExp</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#4c4bd8e065ab617f4e37273d76e6d581">btFabs</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#e7ebb0f0f37c7851cf64cdae2075ca2f">btFmod</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#a7bb31b9cab5f27d555f039f957ce4f3">btFsel</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> a, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> b, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> c)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#64883187cf63c81ef5fb15f6f0c7ae05">btFuzzyZero</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#f25771f9443fab6ab8fcc9a0b78abce3">btGetVersion</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#6aa33f13609b0c21f7ee3c27abf4b0e6">btGreaterEqual</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> a, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> eps)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#3feafcddd4c61e81aabd36c098953eaa">btIsNegative</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#8192288b73d65bcbc66d9e5f05a1b346">btLog</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#c1da8e69f1dad68053601dbfee8b3c60">btMachineIsLittleEndian</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#451c9dba9cd626281ab92dec7705b1a3">btNormalizeAngle</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> angleInRadians)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#fb9af7ad85bcd92acfd2bd813b706ae6">btPow</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#8fc2a728bab313f80f38c27508fef2cc">btRadians</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#17fb72058bc8ff21cac791c87c8afc52">btSelect</a> (unsigned condition, float valueIfConditionNonZero, float valueIfConditionZero)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#ef88ac3279b66587efd1fc594ec4c740">btSelect</a> (unsigned condition, int32_t valueIfConditionNonZero, int32_t valueIfConditionZero)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#1e6b7e4fdd9e5402805e4da711f96af0">btSelect</a> (unsigned condition, unsigned valueIfConditionNonZero, unsigned valueIfConditionZero)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#21de15ec6359a37d7876fa26be384a4b">btSin</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#6b200a8d26a49406ca13329be909ec10">btSqrt</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y)</td></tr> + +<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr> +<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#2914d44e9957536703eda13dd0a4a2b2">btSwap</a> (T &a, T &b)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#37fef177a45696453f84b5de8b5a2dd3">btSwapEndian</a> (short val)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#4bf92f546517c647cf87ae6e476ec733">btSwapEndian</a> (int32_t val)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#62f53958f838c392ff106c83deb50933">btSwapEndian</a> (unsigned short val)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#21b4d7889e86774c7f56b4a9da21e4f9">btSwapEndian</a> (unsigned val)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#29e3fd9bbf730416c5d60c18ae21b1ba">btSwapEndianDouble</a> (double d, unsigned char *dst)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#f37c54c90dcb716e0190b9c41eb0f3dc">btSwapEndianFloat</a> (float d)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">btSwapFloat uses using char pointers to swap the endianness <a href="#f37c54c90dcb716e0190b9c41eb0f3dc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#61eba4cb1055a482189cb096b93e0862">btTan</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE double </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#0092a5e4ef2131b31a2d3f669e2d4abf">btUnswapEndianDouble</a> (const unsigned char *src)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="bt_scalar_8h.html#cde4b445d01bf42cb389be3cc9ddeccd">btUnswapEndianFloat</a> (uint32_t a)</td></tr> + +</table> +<hr><h2>Define Documentation</h2> +<a class="anchor" name="cb9392bc9b30095ec1ff9d98576b47e4"></a><!-- doxytag: member="btScalar.h::ATTRIBUTE_ALIGNED128" ref="cb9392bc9b30095ec1ff9d98576b47e4" args="(a)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define ATTRIBUTE_ALIGNED128 </td> + <td>(</td> + <td class="paramtype">a </td> + <td class="paramname"> </td> + <td> ) </td> + <td> a</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="38c30fdd0ea2558373a1b6e41c77d9d2"></a><!-- doxytag: member="btScalar.h::ATTRIBUTE_ALIGNED16" ref="38c30fdd0ea2558373a1b6e41c77d9d2" args="(a)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define ATTRIBUTE_ALIGNED16 </td> + <td>(</td> + <td class="paramtype">a </td> + <td class="paramname"> </td> + <td> ) </td> + <td> a</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>: check out alignment methods for other platforms/compilers define <a class="el" href="bt_scalar_8h.html#38c30fdd0ea2558373a1b6e41c77d9d2">ATTRIBUTE_ALIGNED16(a)</a> a __attribute__ ((aligned (16))) define <a class="el" href="bt_scalar_8h.html#f70e8b45dc0ad52b962f128ce45365dc">ATTRIBUTE_ALIGNED64(a)</a> a __attribute__ ((aligned (64))) define <a class="el" href="bt_scalar_8h.html#cb9392bc9b30095ec1ff9d98576b47e4">ATTRIBUTE_ALIGNED128(a)</a> a __attribute__ ((aligned (128))) </dd></dl> + +</div> +</div><p> +<a class="anchor" name="f70e8b45dc0ad52b962f128ce45365dc"></a><!-- doxytag: member="btScalar.h::ATTRIBUTE_ALIGNED64" ref="f70e8b45dc0ad52b962f128ce45365dc" args="(a)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define ATTRIBUTE_ALIGNED64 </td> + <td>(</td> + <td class="paramtype">a </td> + <td class="paramname"> </td> + <td> ) </td> + <td> a</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="cdcfe44a281881cbd298ecdee240ea46"></a><!-- doxytag: member="btScalar.h::BT_BULLET_VERSION" ref="cdcfe44a281881cbd298ecdee240ea46" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BT_BULLET_VERSION 279 </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="0bd5b84db13a000ac43fffe2bfc32187"></a><!-- doxytag: member="btScalar.h::BT_DECLARE_ALIGNED_ALLOCATOR" ref="0bd5b84db13a000ac43fffe2bfc32187" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BT_DECLARE_ALIGNED_ALLOCATOR </td> + <td>(</td> + </td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span>* operator new(<span class="keywordtype">size_t</span> sizeInBytes) { <span class="keywordflow">return</span> <a class="code" href="bt_aligned_allocator_8h.html#5798ef3418d84a1761ef917ef6720db7">btAlignedAlloc</a>(sizeInBytes, 16); } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span> operator delete(<span class="keywordtype">void</span>* ptr) { <a class="code" href="bt_aligned_allocator_8h.html#053f25687d0cd7a29571c8669cf9bcd4">btAlignedFree</a>(ptr); } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span>* operator new(<span class="keywordtype">size_t</span>, <span class="keywordtype">void</span>* ptr) { <span class="keywordflow">return</span> ptr; } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span> operator delete(<span class="keywordtype">void</span>*, <span class="keywordtype">void</span>*) {} \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span>* operator new[](<span class="keywordtype">size_t</span> sizeInBytes) { <span class="keywordflow">return</span> <a class="code" href="bt_aligned_allocator_8h.html#5798ef3418d84a1761ef917ef6720db7">btAlignedAlloc</a>(sizeInBytes, 16); } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span> operator delete[](<span class="keywordtype">void</span>* ptr) { <a class="code" href="bt_aligned_allocator_8h.html#053f25687d0cd7a29571c8669cf9bcd4">btAlignedFree</a>(ptr); } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span>* operator new[](<span class="keywordtype">size_t</span>, <span class="keywordtype">void</span>* ptr) { <span class="keywordflow">return</span> ptr; } \ + <a class="code" href="bt_scalar_8h.html#8a6a3e8b28846a3d7271e376c738ec40">SIMD_FORCE_INLINE</a> <span class="keywordtype">void</span> operator delete[](<span class="keywordtype">void</span>*, <span class="keywordtype">void</span>*) {} +</pre></div> +</div> +</div><p> +<a class="anchor" name="358fff092c05693d8351cef9e9dae9a7"></a><!-- doxytag: member="btScalar.h::BT_DECLARE_HANDLE" ref="358fff092c05693d8351cef9e9dae9a7" args="(name)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BT_DECLARE_HANDLE </td> + <td>(</td> + <td class="paramtype">name </td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">typedef</span> <span class="keyword">struct </span>name##__ { \ + int32_t unused; \ + } * name +</pre></div> +</div> +</div><p> +<a class="anchor" name="3a24ecdd029d38fef175bee5d965710a"></a><!-- doxytag: member="btScalar.h::BT_LARGE_FLOAT" ref="3a24ecdd029d38fef175bee5d965710a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BT_LARGE_FLOAT 1e18f </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="ff3e6078c073f6ba0edb95353f2c2c62"></a><!-- doxytag: member="btScalar.h::btAssert" ref="ff3e6078c073f6ba0edb95353f2c2c62" args="(x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btAssert </td> + <td>(</td> + <td class="paramtype">x </td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="cb1bcde16483d0a21f71ac4fe1c334be"></a><!-- doxytag: member="btScalar.h::btFsels" ref="cb1bcde16483d0a21f71ac4fe1c334be" args="(a, b, c)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btFsels </td> + <td>(</td> + <td class="paramtype">a, <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">b, <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">c </td> + <td class="paramname"> </td> + <td> ) </td> + <td> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>) btFsel(a, b, c)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="90bc8c8b8f79211b2b7f0356c4cd804f"></a><!-- doxytag: member="btScalar.h::btFullAssert" ref="90bc8c8b8f79211b2b7f0356c4cd804f" args="(x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btFullAssert </td> + <td>(</td> + <td class="paramtype">x </td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="e9d26f737755d56d5374339f176a55ac"></a><!-- doxytag: member="btScalar.h::btLikely" ref="e9d26f737755d56d5374339f176a55ac" args="(_c)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btLikely </td> + <td>(</td> + <td class="paramtype">_c </td> + <td class="paramname"> </td> + <td> ) </td> + <td> _c</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="3103b9da34215c512d7fbff3cd94dd60"></a><!-- doxytag: member="btScalar.h::btRecipSqrt" ref="3103b9da34215c512d7fbff3cd94dd60" args="(x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btRecipSqrt </td> + <td>(</td> + <td class="paramtype">x </td> + <td class="paramname"> </td> + <td> ) </td> + <td> ((<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>)(<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(1.0) / btSqrt(<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(x))))</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="75f41f19fd54104288141671ecf47427"></a><!-- doxytag: member="btScalar.h::btUnlikely" ref="75f41f19fd54104288141671ecf47427" args="(_c)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define btUnlikely </td> + <td>(</td> + <td class="paramtype">_c </td> + <td class="paramname"> </td> + <td> ) </td> + <td> _c</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="fa3dad5a5edb29663834714c0ef492bb"></a><!-- doxytag: member="btScalar.h::SIMD_2_PI" ref="fa3dad5a5edb29663834714c0ef492bb" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_2_PI <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(6.283185307179586232) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="3f5619d3b313715b716a938afe47207d"></a><!-- doxytag: member="btScalar.h::SIMD_DEGS_PER_RAD" ref="3f5619d3b313715b716a938afe47207d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_DEGS_PER_RAD (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(360.0) / SIMD_2_PI) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="e51eef6845bd59f964c1b2dbfe7054b7"></a><!-- doxytag: member="btScalar.h::SIMD_EPSILON" ref="e51eef6845bd59f964c1b2dbfe7054b7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_EPSILON FLT_EPSILON </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="8a6a3e8b28846a3d7271e376c738ec40"></a><!-- doxytag: member="btScalar.h::SIMD_FORCE_INLINE" ref="8a6a3e8b28846a3d7271e376c738ec40" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_FORCE_INLINE inline </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="f451c843c6b96c5ce1fa0d1c39f4c255"></a><!-- doxytag: member="btScalar.h::SIMD_HALF_PI" ref="f451c843c6b96c5ce1fa0d1c39f4c255" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_HALF_PI (SIMD_2_PI * <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.25)) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="87dcd463392e45ddb5350989e566f34a"></a><!-- doxytag: member="btScalar.h::SIMD_INFINITY" ref="87dcd463392e45ddb5350989e566f34a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_INFINITY FLT_MAX </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="1bdff187c878167505bcedbbbabf7b0a"></a><!-- doxytag: member="btScalar.h::SIMD_PI" ref="1bdff187c878167505bcedbbbabf7b0a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_PI (SIMD_2_PI * <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.5)) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="0bec5e0f836008c100e66bddc0dc464d"></a><!-- doxytag: member="btScalar.h::SIMD_RADS_PER_DEG" ref="0bec5e0f836008c100e66bddc0dc464d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMD_RADS_PER_DEG (SIMD_2_PI / <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(360.0)) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="568883327ba96f54afed8dfd7ec1c66e"></a><!-- doxytag: member="btScalar.h::SIMDSQRT12" ref="568883327ba96f54afed8dfd7ec1c66e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SIMDSQRT12 <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>(0.7071067811865475244008443621048490) </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr><h2>Typedef Documentation</h2> +<a class="anchor" name="1e5824cfc8adbf5a77f2622132d16018"></a><!-- doxytag: member="btScalar.h::btScalar" ref="1e5824cfc8adbf5a77f2622132d16018" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef float <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +The btScalar type abstracts floating point numbers, to easily switch between double and single floating point precision. +<p> + +</div> +</div><p> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="004c41de4028b1437d1aafbaa0769cd5"></a><!-- doxytag: member="btScalar.h::btAcos" ref="004c41de4028b1437d1aafbaa0769cd5" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAcos </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="47baddce9fad101519c2a7456e2d6c9f"></a><!-- doxytag: member="btScalar.h::btAsin" ref="47baddce9fad101519c2a7456e2d6c9f" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAsin </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="92ffb99031b0c2c191ce69400c620bd0"></a><!-- doxytag: member="btScalar.h::btAtan" ref="92ffb99031b0c2c191ce69400c620bd0" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAtan </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="c7d89f182c6f2997f9a50fe963f6f986"></a><!-- doxytag: member="btScalar.h::btAtan2" ref="c7d89f182c6f2997f9a50fe963f6f986" args="(btScalar x, btScalar y)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAtan2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>y</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="66aac39acce2b5c6d043d390f3ef4d4f"></a><!-- doxytag: member="btScalar.h::btAtan2Fast" ref="66aac39acce2b5c6d043d390f3ef4d4f" args="(btScalar y, btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAtan2Fast </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="08cebf88560180c665f205810cc02d0f"></a><!-- doxytag: member="btScalar.h::btCos" ref="08cebf88560180c665f205810cc02d0f" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btCos </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="62ae1d5b53ca14238715ed7a1a483aea"></a><!-- doxytag: member="btScalar.h::btDegrees" ref="62ae1d5b53ca14238715ed7a1a483aea" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btDegrees </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="06a781aa5e366e7e0c434e071a149215"></a><!-- doxytag: member="btScalar.h::btEqual" ref="06a781aa5e366e7e0c434e071a149215" args="(btScalar a, btScalar eps)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE bool btEqual </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>eps</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="95a570162190c25ed6d54b719f4f617b"></a><!-- doxytag: member="btScalar.h::btExp" ref="95a570162190c25ed6d54b719f4f617b" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btExp </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="4c4bd8e065ab617f4e37273d76e6d581"></a><!-- doxytag: member="btScalar.h::btFabs" ref="4c4bd8e065ab617f4e37273d76e6d581" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btFabs </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="e7ebb0f0f37c7851cf64cdae2075ca2f"></a><!-- doxytag: member="btScalar.h::btFmod" ref="e7ebb0f0f37c7851cf64cdae2075ca2f" args="(btScalar x, btScalar y)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btFmod </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>y</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="a7bb31b9cab5f27d555f039f957ce4f3"></a><!-- doxytag: member="btScalar.h::btFsel" ref="a7bb31b9cab5f27d555f039f957ce4f3" args="(btScalar a, btScalar b, btScalar c)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btFsel </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>b</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>c</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="64883187cf63c81ef5fb15f6f0c7ae05"></a><!-- doxytag: member="btScalar.h::btFuzzyZero" ref="64883187cf63c81ef5fb15f6f0c7ae05" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE bool btFuzzyZero </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="f25771f9443fab6ab8fcc9a0b78abce3"></a><!-- doxytag: member="btScalar.h::btGetVersion" ref="f25771f9443fab6ab8fcc9a0b78abce3" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int32_t btGetVersion </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="6aa33f13609b0c21f7ee3c27abf4b0e6"></a><!-- doxytag: member="btScalar.h::btGreaterEqual" ref="6aa33f13609b0c21f7ee3c27abf4b0e6" args="(btScalar a, btScalar eps)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE bool btGreaterEqual </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>eps</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="3feafcddd4c61e81aabd36c098953eaa"></a><!-- doxytag: member="btScalar.h::btIsNegative" ref="3feafcddd4c61e81aabd36c098953eaa" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE int32_t btIsNegative </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="8192288b73d65bcbc66d9e5f05a1b346"></a><!-- doxytag: member="btScalar.h::btLog" ref="8192288b73d65bcbc66d9e5f05a1b346" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btLog </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="c1da8e69f1dad68053601dbfee8b3c60"></a><!-- doxytag: member="btScalar.h::btMachineIsLittleEndian" ref="c1da8e69f1dad68053601dbfee8b3c60" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE bool btMachineIsLittleEndian </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="451c9dba9cd626281ab92dec7705b1a3"></a><!-- doxytag: member="btScalar.h::btNormalizeAngle" ref="451c9dba9cd626281ab92dec7705b1a3" args="(btScalar angleInRadians)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btNormalizeAngle </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>angleInRadians</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="fb9af7ad85bcd92acfd2bd813b706ae6"></a><!-- doxytag: member="btScalar.h::btPow" ref="fb9af7ad85bcd92acfd2bd813b706ae6" args="(btScalar x, btScalar y)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btPow </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>y</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="8fc2a728bab313f80f38c27508fef2cc"></a><!-- doxytag: member="btScalar.h::btRadians" ref="8fc2a728bab313f80f38c27508fef2cc" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btRadians </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="17fb72058bc8ff21cac791c87c8afc52"></a><!-- doxytag: member="btScalar.h::btSelect" ref="17fb72058bc8ff21cac791c87c8afc52" args="(unsigned condition, float valueIfConditionNonZero, float valueIfConditionZero)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE float btSelect </td> + <td>(</td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>condition</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> <em>valueIfConditionNonZero</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> <em>valueIfConditionZero</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="ef88ac3279b66587efd1fc594ec4c740"></a><!-- doxytag: member="btScalar.h::btSelect" ref="ef88ac3279b66587efd1fc594ec4c740" args="(unsigned condition, int32_t valueIfConditionNonZero, int32_t valueIfConditionZero)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE int32_t btSelect </td> + <td>(</td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>condition</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int32_t </td> + <td class="paramname"> <em>valueIfConditionNonZero</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int32_t </td> + <td class="paramname"> <em>valueIfConditionZero</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="1e6b7e4fdd9e5402805e4da711f96af0"></a><!-- doxytag: member="btScalar.h::btSelect" ref="1e6b7e4fdd9e5402805e4da711f96af0" args="(unsigned condition, unsigned valueIfConditionNonZero, unsigned valueIfConditionZero)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE unsigned btSelect </td> + <td>(</td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>condition</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>valueIfConditionNonZero</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>valueIfConditionZero</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +btSelect avoids branches, which makes performance much better for consoles like Playstation 3 and XBox 360 Thanks Phil Knight. See also <a href="http://www.cellperformance.com/articles/2006/04/more_techniques_for_eliminatin_1.html">http://www.cellperformance.com/articles/2006/04/more_techniques_for_eliminatin_1.html</a> +</div> +</div><p> +<a class="anchor" name="21de15ec6359a37d7876fa26be384a4b"></a><!-- doxytag: member="btScalar.h::btSin" ref="21de15ec6359a37d7876fa26be384a4b" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btSin </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="6b200a8d26a49406ca13329be909ec10"></a><!-- doxytag: member="btScalar.h::btSqrt" ref="6b200a8d26a49406ca13329be909ec10" args="(btScalar y)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btSqrt </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>y</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="2914d44e9957536703eda13dd0a4a2b2"></a><!-- doxytag: member="btScalar.h::btSwap" ref="2914d44e9957536703eda13dd0a4a2b2" args="(T &a, T &b)" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename T > </div> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE void btSwap </td> + <td>(</td> + <td class="paramtype">T & </td> + <td class="paramname"> <em>a</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">T & </td> + <td class="paramname"> <em>b</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="37fef177a45696453f84b5de8b5a2dd3"></a><!-- doxytag: member="btScalar.h::btSwapEndian" ref="37fef177a45696453f84b5de8b5a2dd3" args="(short val)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE unsigned short btSwapEndian </td> + <td>(</td> + <td class="paramtype">short </td> + <td class="paramname"> <em>val</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="4bf92f546517c647cf87ae6e476ec733"></a><!-- doxytag: member="btScalar.h::btSwapEndian" ref="4bf92f546517c647cf87ae6e476ec733" args="(int32_t val)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE unsigned btSwapEndian </td> + <td>(</td> + <td class="paramtype">int32_t </td> + <td class="paramname"> <em>val</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="62f53958f838c392ff106c83deb50933"></a><!-- doxytag: member="btScalar.h::btSwapEndian" ref="62f53958f838c392ff106c83deb50933" args="(unsigned short val)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE unsigned short btSwapEndian </td> + <td>(</td> + <td class="paramtype">unsigned short </td> + <td class="paramname"> <em>val</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="21b4d7889e86774c7f56b4a9da21e4f9"></a><!-- doxytag: member="btScalar.h::btSwapEndian" ref="21b4d7889e86774c7f56b4a9da21e4f9" args="(unsigned val)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE unsigned btSwapEndian </td> + <td>(</td> + <td class="paramtype">unsigned </td> + <td class="paramname"> <em>val</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="29e3fd9bbf730416c5d60c18ae21b1ba"></a><!-- doxytag: member="btScalar.h::btSwapEndianDouble" ref="29e3fd9bbf730416c5d60c18ae21b1ba" args="(double d, unsigned char *dst)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE void btSwapEndianDouble </td> + <td>(</td> + <td class="paramtype">double </td> + <td class="paramname"> <em>d</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char * </td> + <td class="paramname"> <em>dst</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="f37c54c90dcb716e0190b9c41eb0f3dc"></a><!-- doxytag: member="btScalar.h::btSwapEndianFloat" ref="f37c54c90dcb716e0190b9c41eb0f3dc" args="(float d)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE uint32_t btSwapEndianFloat </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>d</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +btSwapFloat uses using char pointers to swap the endianness +<p> +btSwapFloat/btSwapDouble will NOT return a float, because the machine might 'correct' invalid floating point values Not all values of sign/exponent/mantissa are valid floating point numbers according to IEEE 754. When a floating point unit is faced with an invalid value, it may actually change the value, or worse, throw an exception. In most systems, running user mode code, you wouldn't get an exception, but instead the hardware/os/runtime will 'fix' the number for you. so instead of returning a float/double, we return integer/long long integer +</div> +</div><p> +<a class="anchor" name="61eba4cb1055a482189cb096b93e0862"></a><!-- doxytag: member="btScalar.h::btTan" ref="61eba4cb1055a482189cb096b93e0862" args="(btScalar x)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btTan </td> + <td>(</td> + <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> </td> + <td class="paramname"> <em>x</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="0092a5e4ef2131b31a2d3f669e2d4abf"></a><!-- doxytag: member="btScalar.h::btUnswapEndianDouble" ref="0092a5e4ef2131b31a2d3f669e2d4abf" args="(const unsigned char *src)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE double btUnswapEndianDouble </td> + <td>(</td> + <td class="paramtype">const unsigned char * </td> + <td class="paramname"> <em>src</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="cde4b445d01bf42cb389be3cc9ddeccd"></a><!-- doxytag: member="btScalar.h::btUnswapEndianFloat" ref="cde4b445d01bf42cb389be3cc9ddeccd" args="(uint32_t a)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SIMD_FORCE_INLINE float btUnswapEndianFloat </td> + <td>(</td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>a</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +</div> +<!-- start footer part --> +<div class="footer"> +Copyright © 2015-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</div> +</body> +</html> |