<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>GEOS: geos::index::quadtree::DoubleBits Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespacegeos.html">geos</a> </li> <li><a class="el" href="namespacegeos_1_1index.html">index</a> </li> <li><a class="el" href="namespacegeos_1_1index_1_1quadtree.html">quadtree</a> </li> <li><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html">geos::index::quadtree::DoubleBits</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-static-attribs">Static Public Attributes</a> </div> <div class="headertitle"> <h1>geos::index::quadtree::DoubleBits Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="geos::index::quadtree::DoubleBits" --> <p><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html" title="DoubleBits manipulates Double numbers by using bit manipulation and bit-field extraction.">DoubleBits</a> manipulates Double numbers by using bit manipulation and bit-field extraction. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="DoubleBits_8h_source.html">DoubleBits.h</a>></code></p> <p><a href="classgeos_1_1index_1_1quadtree_1_1DoubleBits-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8820e3b716e42983d50ad72af874e0eb"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::DoubleBits" ref="a8820e3b716e42983d50ad72af874e0eb" args="(double nx)" --> </td><td class="memItemRight" valign="bottom"><b>DoubleBits</b> (double nx)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6670e4596f08d0d15105c4bb454d1682"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::getDouble" ref="a6670e4596f08d0d15105c4bb454d1682" args="() const " --> double </td><td class="memItemRight" valign="bottom"><b>getDouble</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a017d2bdf360c8db4631cba0dab2d9b08"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::biasedExponent" ref="a017d2bdf360c8db4631cba0dab2d9b08" args="() const " --> int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html#a017d2bdf360c8db4631cba0dab2d9b08">biasedExponent</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines the exponent for the number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1167ee742f40b9adae353b9e340baca"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::getExponent" ref="af1167ee742f40b9adae353b9e340baca" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html#af1167ee742f40b9adae353b9e340baca">getExponent</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines the exponent for the number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3caa1e1abc70e8ed49a5692ac87a299a"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::zeroLowerBits" ref="a3caa1e1abc70e8ed49a5692ac87a299a" args="(int nBits)" --> void </td><td class="memItemRight" valign="bottom"><b>zeroLowerBits</b> (int nBits)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62fa562b5643c5f58c50a28942f0a802"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::getBit" ref="a62fa562b5643c5f58c50a28942f0a802" args="(int i) const " --> int </td><td class="memItemRight" valign="bottom"><b>getBit</b> (int i) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html#a8ac3df9612e3831e7d28641fd77275b2">numCommonMantissaBits</a> (const <a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html">DoubleBits</a> &db) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This computes the number of common most-significant bits in the mantissa. <a href="#a8ac3df9612e3831e7d28641fd77275b2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af54c64b2c7e4110617c67881d9ad2463"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::toString" ref="af54c64b2c7e4110617c67881d9ad2463" args="() const " --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html#af54c64b2c7e4110617c67881d9ad2463">toString</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A representation of the Double bits formatted for easy readability. <br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62ba7279e8d7967c9c456cb366c7b7e2"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::powerOf2" ref="a62ba7279e8d7967c9c456cb366c7b7e2" args="(int exp)" --> static double </td><td class="memItemRight" valign="bottom"><b>powerOf2</b> (int exp)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ed6a8e56ece0087401f781e3acf7568"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::exponent" ref="a3ed6a8e56ece0087401f781e3acf7568" args="(double d)" --> static int </td><td class="memItemRight" valign="bottom"><b>exponent</b> (double d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63bc6a4c5bb097369b32247d371263d0"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::truncateToPowerOfTwo" ref="a63bc6a4c5bb097369b32247d371263d0" args="(double d)" --> static double </td><td class="memItemRight" valign="bottom"><b>truncateToPowerOfTwo</b> (double d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cb86f31f7c86c81db410207aa6aec8c"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::toBinaryString" ref="a4cb86f31f7c86c81db410207aa6aec8c" args="(double d)" --> static std::string </td><td class="memItemRight" valign="bottom"><b>toBinaryString</b> (double d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec81346a758589ed33a92915a0307c8a"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::maximumCommonMantissa" ref="aec81346a758589ed33a92915a0307c8a" args="(double d1, double d2)" --> static double </td><td class="memItemRight" valign="bottom"><b>maximumCommonMantissa</b> (double d1, double d2)</td></tr> <tr><td colspan="2"><h2><a name="pub-static-attribs"></a> Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14b2212b19ce4c82defdaebbbf0916c2"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::EXPONENT_BIAS" ref="a14b2212b19ce4c82defdaebbbf0916c2" args="" --> static const int </td><td class="memItemRight" valign="bottom"><b>EXPONENT_BIAS</b> = 1023</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html" title="DoubleBits manipulates Double numbers by using bit manipulation and bit-field extraction.">DoubleBits</a> manipulates Double numbers by using bit manipulation and bit-field extraction. </p> <p>For some operations (such as determining the exponent) this is more accurate than using mathematical operations (which suffer from round-off error).</p> <p>The algorithms and constants in this class apply only to IEEE-754 double-precision floating point format. </p> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a8ac3df9612e3831e7d28641fd77275b2"></a><!-- doxytag: member="geos::index::quadtree::DoubleBits::numCommonMantissaBits" ref="a8ac3df9612e3831e7d28641fd77275b2" args="(const DoubleBits &db) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int geos::index::quadtree::DoubleBits::numCommonMantissaBits </td> <td>(</td> <td class="paramtype">const <a class="el" href="classgeos_1_1index_1_1quadtree_1_1DoubleBits.html">DoubleBits</a> & </td> <td class="paramname"> <em>db</em></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This computes the number of common most-significant bits in the mantissa. </p> <p>It does not count the hidden bit, which is always 1. It does not determine whether the numbers have the same exponent; if they do not, the value computed by this function is meaningless.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>db</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of common most-significant mantissa bits </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="DoubleBits_8h_source.html">DoubleBits.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Jul 22 2010 for GEOS by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>