Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60973 - sandbox/xint/libs/xint/doc/doxygen/html
From: pbristow_at_[hidden]
Date: 2010-03-31 10:48:32


Author: pbristow
Date: 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
New Revision: 60973
URL: http://svn.boost.org/trac/boost/changeset/60973

Log:
rebuild
Text files modified:
   sandbox/xint/libs/xint/doc/doxygen/html/annotated.html | 12
   sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html | 11
   sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html | 30
   sandbox/xint/libs/xint/doc/doxygen/html/classes.html | 24
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html | 290 +++++++-----
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html | 5
   sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html | 231 ----------
   sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html | 24
   sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html | 12
   sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html | 253 +++++-----
   sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/files.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/functions.html | 97 +++
   sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html | 56 ++
   sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html | 36 +
   sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html | 90 ++-
   sandbox/xint/libs/xint/doc/doxygen/html/globals.html | 114 ----
   sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html | 79 ---
   sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html | 22
   sandbox/xint/libs/xint/doc/doxygen/html/index.html | 15
   sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html | 374 ++++++++--------
   sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html | 18
   sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html | 22
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html | 78 ++
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html | 75 ++
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html | 7
   sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html | 651 +++++++++++++++++++++--------
   sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html | 102 +++
   sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html | 317 -------------
   sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html | 28
   sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html | 16
   sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html | 10
   sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html | 481 ++++++++++-----------
   sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html | 70 --
   sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html | 396 ++++++++---------
   sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html | 43 +
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html | 19
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html | 91 ++--
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html | 13
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html | 29
   sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html | 7
   sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html | 571 +------------------------
   sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html | 885 +++++++++++++++++++++------------------
   sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html | 12
   sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html | 26
   sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html | 100 ++--
   sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html | 8
   sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html | 4
   sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html | 9
   sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html | 17
   81 files changed, 2744 insertions(+), 3364 deletions(-)

Modified: sandbox/xint/libs/xint/doc/doxygen/html/annotated.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/annotated.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/annotated.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,20 +51,28 @@
   <div class="tabs">
     <ul>
       <li class="current">Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
 </div>
 <div class="contents">
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">xint::detail::base_random_generator</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html">xint::strong_random_generator::impl_t</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classxint_1_1no__strong__random.html">xint::no_strong_random</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classxint_1_1overflow__error.html">xint::overflow_error</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1random__generator.html">xint::detail::random_generator&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classxint_1_1strong__random__generator.html">xint::strong_random_generator</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structxint_1_1detail_1_1token.html">xint::detail::token</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classxint_1_1too__big.html">xint::too_big</a></td><td class="indexvalue"></td></tr>
 </table>
@@ -87,7 +95,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -66,17 +66,16 @@
 <code>#include &lt;boost/integer.hpp&gt;</code><br/>
 <code>#include &lt;boost/cstdint.hpp&gt;</code><br/>
 <code>#include &lt;boost/function.hpp&gt;</code><br/>
+<code>#include &lt;boost/type_traits.hpp&gt;</code><br/>
 <code>#include &lt;boost/static_assert.hpp&gt;</code><br/>
+<code>#include &lt;boost/random/uniform_int.hpp&gt;</code><br/>
+<code>#include &lt;boost/random/variate_generator.hpp&gt;</code><br/>
 <code>#include &lt;vector&gt;</code><br/>
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint::setbit</a> (integer &amp;n, size_t bit)</td></tr>
@@ -109,7 +108,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/bit__manipulations_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -89,7 +89,7 @@
 <a name="l00033"></a>00033 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *ndata=n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
 <a name="l00034"></a>00034
 <a name="l00035"></a>00035 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()) ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a>(index+1);
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()) ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(index+1);
 <a name="l00037"></a>00037
 <a name="l00038"></a>00038 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
 <a name="l00039"></a>00039 ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index] |= mask;
@@ -111,7 +111,7 @@
 <a name="l00055"></a>00055 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0) <span class="keywordflow">return</span> defaultValue;
 <a name="l00056"></a>00056
 <a name="l00057"></a>00057 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *ndata=n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00058"></a>00058 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00058"></a>00058 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00059"></a>00059 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
 <a name="l00060"></a>00060
 <a name="l00061"></a>00061 <span class="keywordtype">size_t</span> index=(p - ndata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>);
@@ -136,13 +136,13 @@
 <a name="l00080"></a>00080 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
 <a name="l00081"></a>00081
 <a name="l00082"></a>00082 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00083"></a>00083 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
 <a name="l00084"></a>00084
 <a name="l00085"></a>00085 <a class="code" href="classxint_1_1integer.html">integer</a> r;
 <a name="l00086"></a>00086 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00087"></a>00087 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00087"></a>00087 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, *s2=larger-&gt;digits;
+<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, *s2=larger-&gt;digits;
 <a name="l00090"></a>00090 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
 <a name="l00091"></a>00091
 <a name="l00092"></a>00092 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
@@ -156,13 +156,13 @@
 <a name="l00100"></a>00100 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
 <a name="l00101"></a>00101
 <a name="l00102"></a>00102 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00103"></a>00103 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
 <a name="l00104"></a>00104
 <a name="l00105"></a>00105 <a class="code" href="classxint_1_1integer.html">integer</a> r;
 <a name="l00106"></a>00106 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00107"></a>00107 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(larger-&gt;mLength);
+<a name="l00107"></a>00107 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(larger-&gt;mLength);
 <a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00109"></a>00109 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00110"></a>00110 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
 <a name="l00111"></a>00111 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
 <a name="l00112"></a>00112
@@ -178,13 +178,13 @@
 <a name="l00122"></a>00122 n2.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
 <a name="l00123"></a>00123
 <a name="l00124"></a>00124 <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *smaller=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *larger=n2.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
 <a name="l00126"></a>00126
 <a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html">integer</a> r;
 <a name="l00128"></a>00128 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00129"></a>00129 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(larger-&gt;mLength);
+<a name="l00129"></a>00129 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(larger-&gt;mLength);
 <a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00131"></a>00131 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s1=smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00132"></a>00132 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
 <a name="l00133"></a>00133 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
 <a name="l00134"></a>00134
@@ -207,7 +207,7 @@
 <a name="l00151"></a>00151
 <a name="l00152"></a>00152 <a class="code" href="classxint_1_1integer.html">integer</a> n(_n);
 <a name="l00153"></a>00153 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00154"></a>00154 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">shift_left</a>(byBits);
+<a name="l00154"></a>00154 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(byBits);
 <a name="l00155"></a>00155 <span class="keywordflow">return</span> n;
 <a name="l00156"></a>00156 }
 <a name="l00157"></a>00157
@@ -218,7 +218,7 @@
 <a name="l00162"></a>00162
 <a name="l00163"></a>00163 <a class="code" href="classxint_1_1integer.html">integer</a> n(_n);
 <a name="l00164"></a>00164 n.<a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00165"></a>00165 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">shift_right</a>(byBits);
+<a name="l00165"></a>00165 n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(byBits);
 <a name="l00166"></a>00166 <span class="keywordflow">return</span> n;
 <a name="l00167"></a>00167 }
 <a name="l00168"></a>00168
@@ -242,7 +242,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classes.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classes.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classes.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,19 +51,25 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
 </div>
 <div class="contents">
-<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1integer.html">integer</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structxint_1_1detail_1_1token.html">token</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">data_t::QuickDigits</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1too__big.html">too_big</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+<tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classxint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html">strong_random_generator::impl_t</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">data_t::QuickDigits</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classxint_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1integer.html">integer</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structxint_1_1detail_1_1token.html">token</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classxint_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structxint_1_1detail_1_1random__generator.html">random_generator</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1too__big.html">too_big</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespacexint_1_1detail.html">xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespacexint.html">xint</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href=
"#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -83,7 +89,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1divide__by__zero.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00297">297</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00306">306</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a31233d42a45ca6ef7078e700fa114ad2"></a><!-- doxytag: member="xint::divide_by_zero::divide_by_zero" ref="a31233d42a45ca6ef7078e700fa114ad2" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00299">299</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00308">308</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -76,7 +77,8 @@
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a65df30415a5d2f91a72fb2c55d7cd33c">integer</a>(const T &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a>(const not_a_number &amp;)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
@@ -121,7 +123,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1integer.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -65,15 +66,13 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The extended integer class. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Can throw std::overflow_error if not enough memory to construct a new integer). <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a65df30415a5d2f91a72fb2c55d7cd33c">integer</a> (const T &amp;n)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructs a integer from a digits string (decimal by default). <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a> (const <a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> &amp;)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an extended integer with the NotANumber value;. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a> () const </td></tr>
@@ -106,9 +105,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a> () const </td></tr>
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">zero</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extended integer holding zero. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extended integer holding one. <br/></td></tr>
 <tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">_init</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;c)</td></tr>
@@ -117,14 +114,13 @@
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a> ()</td></tr>
 <tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raw data representing an extended integer. <br/></td></tr>
 <tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a> = 0</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classxint_1_1integer.html">integer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a> = 0</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00093">93</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00086">86</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="ad32b3b13167c61e48aede083a3e1c7a8"></a><!-- doxytag: member="xint::integer::integer" ref="ad32b3b13167c61e48aede083a3e1c7a8" args="()" -->
 <div class="memitem">
@@ -141,14 +137,11 @@
 </div>
 <div class="memdoc">
 
-<p>The extended integer class. </p>
-<p>Constructs a default integer, value zero. (Can throw std::overflow_error if not enough memory to construct a new integer). </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00022">22</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00026">26</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00205">one()</a>, and <a class="el" href="integer_8cpp_source.html#l00200">zero()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00209">one()</a>, and <a class="el" href="integer_8cpp_source.html#l00204">zero()</a>.</p>
 
 </div>
 </div>
@@ -168,16 +161,52 @@
 </div>
 <div class="memdoc">
 
-<p>(Can throw std::overflow_error if not enough memory to construct a new integer). </p>
-<p>Copy constructs a integer from another integer. </p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00030">30</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00026">26</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="integer_8cpp_source.html#l00122">nan()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a67db70248d9890990c257a1d069192e3"></a><!-- doxytag: member="xint::integer::integer" ref="a67db70248d9890990c257a1d069192e3" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">xint::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00345">345</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00105">_set_negative()</a>, and <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a65df30415a5d2f91a72fb2c55d7cd33c"></a><!-- doxytag: member="xint::integer::integer" ref="a65df30415a5d2f91a72fb2c55d7cd33c" args="(const T &amp;n)" -->
+<a class="anchor" id="a0cad684bc9d7032497c7178edb91a5eb"></a><!-- doxytag: member="xint::integer::integer" ref="a0cad684bc9d7032497c7178edb91a5eb" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -187,17 +216,32 @@
           <td class="memname">xint::integer::integer </td>
           <td>(</td>
           <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00319">319</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00365">365</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00101">_set_negative()</a>, and <a class="el" href="xint_8hpp_source.html#l00073">xint::detail::digit_mask</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, and <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>.</p>
 
 </div>
 </div>
@@ -226,11 +270,9 @@
 </div>
 <div class="memdoc">
 
-<p>Copy constructs a integer from a digits string (decimal by default). </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00031">31</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>, and <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, and <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string()</a>.</p>
 
 </div>
 </div>
@@ -250,11 +292,9 @@
 </div>
 <div class="memdoc">
 
-<p>Constructs an extended integer with the NotANumber value;. </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00035">35</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00039">39</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
 </div>
 </div>
@@ -273,9 +313,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00039">39</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00043">43</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00084">_detach()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>.</p>
 
 </div>
 </div>
@@ -295,11 +335,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00080">80</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00084">84</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00059">xint::detail::data_t::attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="xint__data__t_8hpp_source.html#l00059">xint::detail::data_t::attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, and <a class="el" href="integer_8cpp_source.html#l00158">operator=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, and <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>.</p>
 
 </div>
 </div>
@@ -318,11 +358,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00084">84</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00088">88</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00060">xint::detail::data_t::detach()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00060">xint::detail::data_t::detach()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00158">operator=()</a>, and <a class="el" href="integer_8cpp_source.html#l00039">~integer()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>, and <a class="el" href="integer_8cpp_source.html#l00043">~integer()</a>.</p>
 
 </div>
 </div>
@@ -341,9 +381,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00142">142</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00136">136</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
 </div>
 </div>
@@ -362,12 +402,9 @@
 </div>
 <div class="memdoc">
 
-<p><dl class="return"><dt><b>Returns:</b></dt><dd>raw data representing an extended integer. </dd></dl>
-</p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00138">138</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00135">135</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
 </div>
 </div>
@@ -387,11 +424,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00210">210</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00214">214</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00110">even()</a>, <a class="el" href="integer_8cpp_source.html#l00105">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00343">xint::to()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00114">even()</a>, <a class="el" href="integer_8cpp_source.html#l00109">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
 
 </div>
 </div>
@@ -410,11 +447,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00214">214</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00218">218</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00343">xint::to()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
 
 </div>
 </div>
@@ -434,9 +471,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00061">61</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00065">65</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">xint::detail::data_t::alloc()</a>, <a class="el" href="xint_8hpp_source.html#l00069">xint::detail::bits_per_digit</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, <a class="el" href="xint_8hpp_source.html#l00073">xint::detail::digit_mask</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">xint::detail::data_t::skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">xint::detail::data_t::alloc()</a>, <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="xint_8hpp_source.html#l00046">xint::detail::digit_mask</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">xint::detail::data_t::digits</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">xint::detail::data_t::skipLeadingZeros()</a>.</p>
 
 </div>
 </div>
@@ -456,9 +493,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00052">52</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00056">56</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
 </div>
 </div>
@@ -478,11 +515,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00043">43</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00047">47</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00022">integer()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
 
 </div>
 </div>
@@ -501,11 +538,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00088">88</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00092">92</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00084">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00048">xint::detail::data_t::mCopies</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00048">xint::detail::data_t::mCopies</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00132">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00146">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00184">operator&lt;&lt;=()</a>, and <a class="el" href="integer_8cpp_source.html#l00192">operator&gt;&gt;=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00188">operator&lt;&lt;=()</a>, and <a class="el" href="integer_8cpp_source.html#l00196">operator&gt;&gt;=()</a>.</p>
 
 </div>
 </div>
@@ -525,11 +562,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00101">101</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate()</a>, and <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>.</p>
+<p>References <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate()</a>, and <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>.</p>
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00319">integer()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00345">integer()</a>.</p>
 
 </div>
 </div>
@@ -548,11 +585,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00218">218</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00222">222</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00122">nan()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00110">even()</a>, <a class="el" href="integer_8cpp_source.html#l00126">hex_digits()</a>, <a class="el" href="integer_8cpp_source.html#l00105">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00343">xint::to()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00114">even()</a>, <a class="el" href="integer_8cpp_source.html#l00130">hex_digits()</a>, <a class="el" href="integer_8cpp_source.html#l00109">odd()</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
 
 </div>
 </div>
@@ -570,11 +607,10 @@
       </table>
 </div>
 <div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>true if extended integer is even. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00110">110</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00114">114</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00210">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00218">_throw_if_nan()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>.</p>
 
 </div>
 </div>
@@ -592,11 +628,10 @@
       </table>
 </div>
 <div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>the number of hex digits to show the integer. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00126">126</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00130">130</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00218">_throw_if_nan()</a>, and <a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint::log2()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, and <a class="el" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">xint::log2()</a>.</p>
 
 </div>
 </div>
@@ -614,13 +649,12 @@
       </table>
 </div>
 <div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>true if extended integer is Not-a-Number. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00122">122</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00126">126</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00218">_throw_if_nan()</a>, <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00381">xint::operator&lt;&lt;()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, <a class="el" href="integer_8cpp_source.html#l00030">integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>.</p>
 
 </div>
 </div>
@@ -638,11 +672,10 @@
       </table>
 </div>
 <div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>true if extended integer is odd. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00105">105</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00109">109</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00210">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00218">_throw_if_nan()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, and <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>.</p>
 
 </div>
 </div>
@@ -661,13 +694,11 @@
 </div>
 <div class="memdoc">
 
-<p>Extended integer holding one. </p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00209">209</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00205">205</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00150">cOne</a>, and <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00157">cOne</a>, and <a class="el" href="integer_8cpp_source.html#l00022">integer()</a>.</p>
-
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00173">operator++()</a>, and <a class="el" href="integer_8cpp_source.html#l00174">operator--()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00177">operator++()</a>, and <a class="el" href="integer_8cpp_source.html#l00178">operator--()</a>.</p>
 
 </div>
 </div>
@@ -687,7 +718,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod()</a>.</p>
 
@@ -709,7 +740,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and()</a>.</p>
 
@@ -731,7 +762,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply()</a>.</p>
 
@@ -753,9 +784,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00175">175</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00179">179</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00205">one()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
 
 </div>
 </div>
@@ -774,9 +805,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00173">173</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00205">one()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
 
 </div>
 </div>
@@ -796,9 +827,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00132">132</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00136">136</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>, and <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">xint::detail::data_t::mLength</a>, and <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>.</p>
 
 </div>
 </div>
@@ -818,9 +849,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00176">176</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00180">180</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00205">one()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
 
 </div>
 </div>
@@ -839,9 +870,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00205">one()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
 
 </div>
 </div>
@@ -861,9 +892,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00146">146</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00150">150</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, <a class="el" href="integer_8cpp_source.html#l00115">sign()</a>, <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, <a class="el" href="integer_8cpp_source.html#l00119">sign()</a>, <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>.</p>
 
 </div>
 </div>
@@ -883,7 +914,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00170">170</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide()</a>.</p>
 
@@ -905,7 +936,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00178">178</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">xint::shift_left()</a>.</p>
 
@@ -927,9 +958,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00188">188</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00251">xint::detail::data_t::shift_left()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00252">xint::detail::data_t::shift_left()</a>.</p>
 
 </div>
 </div>
@@ -949,9 +980,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00158">158</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00162">162</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00084">_detach()</a>, and <a class="el" href="xint_8hpp_source.html#l00158">data</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, and <a class="el" href="xint_8hpp_source.html#l00152">data</a>.</p>
 
 </div>
 </div>
@@ -971,7 +1002,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00179">179</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00183">183</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">xint::shift_right()</a>.</p>
 
@@ -993,9 +1024,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00196">196</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00279">xint::detail::data_t::shift_right()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="data__t_8cpp_source.html#l00280">xint::detail::data_t::shift_right()</a>.</p>
 
 </div>
 </div>
@@ -1015,7 +1046,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00182">182</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00186">186</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor()</a>.</p>
 
@@ -1037,7 +1068,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00181">181</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00185">185</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 <p>References <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or()</a>.</p>
 
@@ -1057,13 +1088,12 @@
       </table>
 </div>
 <div class="memdoc">
-<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if extended integer is &lt; 0. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00115">115</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00119">119</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00210">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00214">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00218">_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00158">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00049">xint::detail::data_t::mIsNegative</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00222">_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00152">data</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00049">xint::detail::data_t::mIsNegative</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00101">_set_negative()</a>, <a class="el" href="compare_8cpp_source.html#l00054">operator!()</a>, <a class="el" href="integer_8cpp_source.html#l00132">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00146">operator-=()</a>, <a class="el" href="xint_8hpp_source.html#l00381">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00343">xint::to()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00105">_set_negative()</a>, <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
 
 </div>
 </div>
@@ -1082,11 +1112,9 @@
 </div>
 <div class="memdoc">
 
-<p>Extended integer holding zero. </p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00204">204</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00200">200</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-<p>References <a class="el" href="xint_8hpp_source.html#l00156">cZero</a>, and <a class="el" href="integer_8cpp_source.html#l00022">integer()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00150">cZero</a>, and <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>.</p>
 
 </div>
 </div>
@@ -1102,9 +1130,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00157">157</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00150">150</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00205">one()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00209">one()</a>.</p>
 
 </div>
 </div>
@@ -1119,9 +1147,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00156">156</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00150">150</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00200">zero()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00204">zero()</a>.</p>
 
 </div>
 </div>
@@ -1136,11 +1164,9 @@
 </div>
 <div class="memdoc">
 
-<p>Raw data representing an extended integer. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00158">158</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00152">152</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00080">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00084">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00138">_get_data()</a>, <a class="el" href="integer_8cpp_source.html#l00210">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00214">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00043">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00026">integer()</a>, <a class="el" href="integer_8cpp_source.html#l00122">nan()</a>, <a class="el" href="integer_8cpp_source.html#l00132">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00146">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00184">operator&lt;&lt;=()</a>, <a class="el" href="integer_8cpp_source.html#l00158">operator=()</a>, <a class="el" href="integer_8cpp_source.html#l00192">operator&gt;&gt;=()</a>, and <a class="el" hr
ef="integer_8cpp_source.html#l00115">sign()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00084">_attach()</a>, <a class="el" href="integer_8cpp_source.html#l00088">_detach()</a>, <a class="el" href="xint_8hpp_source.html#l00135">_get_data()</a>, <a class="el" href="integer_8cpp_source.html#l00214">_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00047">_init()</a>, <a class="el" href="integer_8cpp_source.html#l00092">_make_unique()</a>, <a class="el" href="integer_8cpp_source.html#l00030">integer()</a>, <a class="el" href="integer_8cpp_source.html#l00126">nan()</a>, <a class="el" href="integer_8cpp_source.html#l00136">operator+=()</a>, <a class="el" href="integer_8cpp_source.html#l00150">operator-=()</a>, <a class="el" href="integer_8cpp_source.html#l00188">operator&lt;&lt;=()</a>, <a class="el" href="integer_8cpp_source.html#l00162">operator=()</a>, <a class="el" href="integer_8cpp_source.html#l00196">operator&gt;&gt;=()</a>, and <a class="el" hr
ef="integer_8cpp_source.html#l00119">sign()</a>.</p>
 
 </div>
 </div>
@@ -1167,7 +1193,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__base.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00279">279</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00288">288</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a16a577d5584652ca358450cbb55b5d55"></a><!-- doxytag: member="xint::invalid_base::invalid_base" ref="a16a577d5584652ca358450cbb55b5d55" args="(const std::string &amp;what=&quot;invalid base&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00281">281</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00290">290</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__digit.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00285">285</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00294">294</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a832283e75569bd7e9d09f38ebae87a27"></a><!-- doxytag: member="xint::invalid_digit::invalid_digit" ref="a832283e75569bd7e9d09f38ebae87a27" args="(const std::string &amp;what=&quot;invalid digit&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00287">287</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00296">296</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1invalid__modulus.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00291">291</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00300">300</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a691026e352d38fc5120c12d6d134e854"></a><!-- doxytag: member="xint::invalid_modulus::invalid_modulus" ref="a691026e352d38fc5120c12d6d134e854" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00293">293</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00302">302</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1not__a__number.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00309">309</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00324">324</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a4ecc5bcc06a5d660176d51fc63c996cd"></a><!-- doxytag: member="xint::not_a_number::not_a_number" ref="a4ecc5bcc06a5d660176d51fc63c996cd" args="(const std::string &amp;what=&quot;attempted to use a Not&#45;a&#45;Number&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00311">311</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00326">326</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -77,7 +78,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/classxint_1_1too__big.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -68,7 +69,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00303">303</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00318">318</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a37a714ef8bfef8a1cf6cfa08a5db1ccc"></a><!-- doxytag: member="xint::too_big::too_big" ref="a37a714ef8bfef8a1cf6cfa08a5db1ccc" args="(const std::string &amp;what=&quot;value out of range for requested &quot;&quot;conversion&quot;)" -->
 <div class="memitem">
@@ -86,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00305">305</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00320">320</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -112,7 +113,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -63,229 +63,16 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#ac7523d81be85d97950c95f10c17a8c9d">operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#a8afed82c679c5a4edee2108ddbf24e76">operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#ae28b8d9fc3781805e9bb9cfaf0dc01df">operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#a13bf860274cbfba7049ee1109ef79ece">operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#aafe4265378fbdfe8382de5624439cf86">operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#aab167dd151d36a75704e98361c845e67">operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="compare_8cpp.html#a3e59818919966e38b68c5af625acf65e">operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint::operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint::operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint::operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint::operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint::operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint::operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint::operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
 </table>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ac7523d81be85d97950c95f10c17a8c9d"></a><!-- doxytag: member="compare.cpp::operator!" ref="ac7523d81be85d97950c95f10c17a8c9d" args="(const xint::integer &amp;num1)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator! </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00054">54</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00115">xint::integer::sign()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae28b8d9fc3781805e9bb9cfaf0dc01df"></a><!-- doxytag: member="compare.cpp::operator!=" ref="ae28b8d9fc3781805e9bb9cfaf0dc01df" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator!= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00056">56</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a13bf860274cbfba7049ee1109ef79ece"></a><!-- doxytag: member="compare.cpp::operator&lt;" ref="a13bf860274cbfba7049ee1109ef79ece" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&lt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00057">57</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aab167dd151d36a75704e98361c845e67"></a><!-- doxytag: member="compare.cpp::operator&lt;=" ref="aab167dd151d36a75704e98361c845e67" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&lt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00059">59</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8afed82c679c5a4edee2108ddbf24e76"></a><!-- doxytag: member="compare.cpp::operator==" ref="a8afed82c679c5a4edee2108ddbf24e76" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator== </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00055">55</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aafe4265378fbdfe8382de5624439cf86"></a><!-- doxytag: member="compare.cpp::operator&gt;" ref="aafe4265378fbdfe8382de5624439cf86" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&gt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00058">58</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3e59818919966e38b68c5af625acf65e"></a><!-- doxytag: member="compare.cpp::operator&gt;=" ref="a3e59818919966e38b68c5af625acf65e" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&gt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00060">60</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -305,7 +92,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/compare_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -94,7 +94,7 @@
 <a name="l00038"></a>00038 <span class="keywordflow">if</span> (b1data-&gt;mLength != b2data-&gt;mLength) {
 <a name="l00039"></a>00039 answer=((b1data-&gt;mLength &lt; b2data-&gt;mLength) ? -1 : 1);
 <a name="l00040"></a>00040 } <span class="keywordflow">else</span> {
-<a name="l00041"></a>00041 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = b1data-&gt;mLength - 1; x &gt;= 0; --x) {
+<a name="l00041"></a>00041 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = <span class="keywordtype">int</span>(b1data-&gt;mLength) - 1; x &gt;= 0; --x) {
 <a name="l00042"></a>00042 <span class="keywordflow">if</span> (b1data-&gt;digits[x] != b2data-&gt;digits[x]) {
 <a name="l00043"></a>00043 answer=((b1data-&gt;digits[x] &lt; b2data-&gt;digits[x]) ? -1 : 1);
 <a name="l00044"></a>00044 <span class="keywordflow">break</span>;
@@ -105,15 +105,15 @@
 <a name="l00049"></a>00049 <span class="keywordflow">return</span> answer;
 <a name="l00050"></a>00050 }
 <a name="l00051"></a>00051
-<a name="l00052"></a>00052 } <span class="comment">// namespace xint</span>
-<a name="l00053"></a>00053
-<a name="l00054"></a><a class="code" href="xint_8hpp.html#aab9cb2021cb63480542f266a67c50314">00054</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#ac7523d81be85d97950c95f10c17a8c9d">operator!</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1) { <span class="keywordflow">return</span> num1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0; }
-<a name="l00055"></a><a class="code" href="xint_8hpp.html#a255c817c8569ac9365878a9476bfe3b3">00055</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a8afed82c679c5a4edee2108ddbf24e76">operator==</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)==0; }
-<a name="l00056"></a><a class="code" href="xint_8hpp.html#a7f95e1c65d52023897d57fac225ba297">00056</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#ae28b8d9fc3781805e9bb9cfaf0dc01df">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)!=0; }
-<a name="l00057"></a><a class="code" href="xint_8hpp.html#a2271282006f914e5442f53508f6c5355">00057</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a13bf860274cbfba7049ee1109ef79ece">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;0; }
-<a name="l00058"></a><a class="code" href="xint_8hpp.html#a328006b6ca161372a3cd91ca199a56df">00058</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#aafe4265378fbdfe8382de5624439cf86">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;0; }
-<a name="l00059"></a><a class="code" href="xint_8hpp.html#aa6909705d9662396b60b7dca7193895c">00059</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#aab167dd151d36a75704e98361c845e67">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;=0; }
-<a name="l00060"></a><a class="code" href="xint_8hpp.html#a9b081858436ec650e95e857faff0cf4e">00060</a> <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a3e59818919966e38b68c5af625acf65e">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;=0; }
+<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">operator!</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1) { <span class="keywordflow">return</span> num1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>()==0; }
+<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">operator==</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a> &amp;num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)==0; }
+<a name="l00054"></a>00054 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)!=0; }
+<a name="l00055"></a>00055 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;0; }
+<a name="l00056"></a>00056 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;0; }
+<a name="l00057"></a>00057 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&lt;=0; }
+<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare</a>(num1, num2)&gt;=0; }
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -133,7 +133,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -66,10 +66,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a> (const integer &amp;n, size_t base, bool upperCase)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
@@ -95,7 +91,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/convert_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -133,7 +133,7 @@
 <a name="l00077"></a>00077 <span class="keywordflow">return</span> r;
 <a name="l00078"></a>00078 } <span class="keywordflow">else</span> {
 <a name="l00079"></a>00079 <span class="keyword">const</span> integer <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>=base;
-<a name="l00080"></a>00080 std::pair&lt;integer, integer&gt; a=std::make_pair(n, <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>());
+<a name="l00080"></a>00080 std::pair&lt;integer, integer&gt; a=std::make_pair(n, <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>());
 <a name="l00081"></a>00081 a.first._set_negative(<span class="keyword">false</span>);
 <a name="l00082"></a>00082
 <a name="l00083"></a>00083 integer r;
@@ -209,7 +209,7 @@
 <a name="l00153"></a>00153
 <a name="l00154"></a>00154 integer r;
 <a name="l00155"></a>00155 detail::data_t *rdata=r.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>();
-<a name="l00156"></a>00156 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>((str.length() + bytesPerDigit - 1)/bytesPerDigit);
+<a name="l00156"></a>00156 rdata-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>((str.length() + bytesPerDigit - 1)/bytesPerDigit);
 <a name="l00157"></a>00157 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p=rdata-&gt;digits;
 <a name="l00158"></a>00158
 <a name="l00159"></a>00159 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *s=(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)str.data(), *se=s+str.length();
@@ -265,7 +265,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -64,15 +64,7 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>implementation details, normal users should not need to use these. </p>
-<br/></td></tr>
-</p>
 </table>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -93,7 +85,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/data__t_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -76,8 +76,8 @@
 <a name="l00020"></a><a class="code" href="namespacexint_1_1detail.html">00020</a> <span class="keyword">namespace </span>detail {
 <a name="l00021"></a>00021
 <a name="l00022"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">00022</a> <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t::data_t</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial2, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> initial3) {
-<a name="l00023"></a>00023 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=1;
-<a name="l00024"></a>00024 <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>;
+<a name="l00023"></a>00023 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=1;
+<a name="l00024"></a>00024 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>;
 <a name="l00025"></a>00025 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>;
 <a name="l00026"></a>00026 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]=initial1;
 <a name="l00027"></a>00027 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[1]=initial2;
@@ -87,24 +87,24 @@
 <a name="l00031"></a>00031 }
 <a name="l00032"></a>00032
 <a name="l00033"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">00033</a> <a class="code" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t::data_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c) {
-<a name="l00034"></a>00034 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00034"></a>00034 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00035"></a>00035 <span class="keywordflow">if</span> (c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> == c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
 <a name="l00036"></a>00036 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>;
-<a name="l00037"></a>00037 <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>;
+<a name="l00037"></a>00037 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>;
 <a name="l00038"></a>00038 } <span class="keywordflow">else</span> {
 <a name="l00039"></a>00039 <span class="keywordflow">try</span> {
-<a name="l00040"></a>00040 <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00040"></a>00040 <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00041"></a>00041 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[<a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>];
+<a name="l00042"></a>00042 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>];
 <a name="l00043"></a>00043 <span class="preprocessor"> #else</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(<a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>, 0);
+<a name="l00044"></a>00044 <span class="preprocessor"></span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>, 0);
 <a name="l00045"></a>00045 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=&amp;<a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>[0];
 <a name="l00046"></a>00046 <span class="preprocessor"> #endif</span>
 <a name="l00047"></a>00047 <span class="preprocessor"></span> } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00048"></a>00048 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00048"></a>00048 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
 <a name="l00049"></a>00049 }
 <a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
+<a name="l00051"></a>00051 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
 <a name="l00052"></a>00052
 <a name="l00053"></a>00053 <a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>=0;
 <a name="l00054"></a>00054 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
@@ -112,16 +112,16 @@
 <a name="l00056"></a>00056
 <a name="l00057"></a>00057 <span class="preprocessor">#ifdef XINT_SECURE</span>
 <a name="l00058"></a>00058 <span class="preprocessor"></span>data_t::~data_t() {
-<a name="l00059"></a>00059 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>);
+<a name="l00059"></a>00059 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>);
 <a name="l00060"></a>00060 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> != <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
-<a name="l00061"></a>00061 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>);
+<a name="l00061"></a>00061 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>);
 <a name="l00062"></a>00062 <span class="keyword">delete</span>[] <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
 <a name="l00063"></a>00063 }
 <a name="l00064"></a>00064 }
 <a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
 <a name="l00066"></a>00066 <span class="preprocessor"></span>
 <a name="l00067"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">00067</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">data_t::skipLeadingZeros</a>() {
-<a name="l00068"></a>00068 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>-1;
+<a name="l00068"></a>00068 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-1;
 <a name="l00069"></a>00069 <span class="keywordflow">while</span> (d&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> &amp;&amp; *d==0) --d;
 <a name="l00070"></a>00070 mLength=int((d-<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>)+1);
 <a name="l00071"></a>00071 <span class="keywordflow">if</span> (mLength==1 &amp;&amp; <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]==0) <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=<span class="keyword">false</span>; <span class="comment">// Zero isn&#39;t negative</span>
@@ -130,7 +130,7 @@
 <a name="l00074"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">00074</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">data_t::quickset</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3) {
 <a name="l00075"></a>00075 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
 <a name="l00076"></a>00076
-<a name="l00077"></a>00077 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=3;
+<a name="l00077"></a>00077 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=3;
 <a name="l00078"></a>00078 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]=d1;
 <a name="l00079"></a>00079 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[1]=d2;
 <a name="l00080"></a>00080 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[2]=d3;
@@ -138,18 +138,18 @@
 <a name="l00082"></a>00082 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
 <a name="l00083"></a>00083 }
 <a name="l00084"></a>00084
-<a name="l00085"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">00085</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">data_t::alloc</a>(<span class="keywordtype">int</span> newcount, <span class="keywordtype">bool</span> copydigits) {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>==<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> &amp;&amp; newcount&lt;=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>) {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (!copydigits) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>);
-<a name="l00088"></a>00088 <span class="keywordflow">else</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, (newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>));
-<a name="l00089"></a>00089 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=newcount;
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newcount &lt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>) {
+<a name="l00085"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">00085</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">data_t::alloc</a>(<span class="keywordtype">size_t</span> newcount, <span class="keywordtype">bool</span> copydigits) {
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>==<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> &amp;&amp; newcount&lt;=<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>) {
+<a name="l00087"></a>00087 <span class="keywordflow">if</span> (!copydigits) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>);
+<a name="l00088"></a>00088 <span class="keywordflow">else</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, (newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>));
+<a name="l00089"></a>00089 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
+<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newcount &lt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>) {
 <a name="l00091"></a>00091 <span class="keywordflow">if</span> (copydigits) {
-<a name="l00092"></a>00092 <span class="keywordflow">if</span> (newcount&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
-<a name="l00093"></a>00093 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=newcount;
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (newcount&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
+<a name="l00093"></a>00093 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
 <a name="l00094"></a>00094 } <span class="keywordflow">else</span> {
-<a name="l00095"></a>00095 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=newcount;
-<a name="l00096"></a>00096 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00095"></a>00095 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=newcount;
+<a name="l00096"></a>00096 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00097"></a>00097 }
 <a name="l00098"></a>00098 } <span class="keywordflow">else</span> {
 <a name="l00099"></a>00099 <span class="preprocessor"> #ifdef XINT_SECURE</span>
@@ -168,27 +168,27 @@
 <a name="l00112"></a>00112 <span class="preprocessor"> #endif</span>
 <a name="l00113"></a>00113 <span class="preprocessor"></span> } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
 <a name="l00114"></a>00114 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>; <span class="comment">// Might allow for recovery in some cases</span>
-<a name="l00115"></a>00115 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00115"></a>00115 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
 <a name="l00116"></a>00116 }
 <a name="l00117"></a>00117
-<a name="l00118"></a>00118 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00119"></a>00119 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00118"></a>00118 memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
+<a name="l00119"></a>00119 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00120"></a>00120 } <span class="keywordflow">else</span> {
 <a name="l00121"></a>00121 <span class="preprocessor"> #ifdef XINT_SECURE</span>
 <a name="l00122"></a>00122 <span class="preprocessor"></span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *newDigits=0;
 <a name="l00123"></a>00123 <span class="keywordflow">try</span> {
 <a name="l00124"></a>00124 newDigits=<span class="keyword">new</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>[newcount];
 <a name="l00125"></a>00125 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00126"></a>00126 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00126"></a>00126 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
 <a name="l00127"></a>00127 }
 <a name="l00128"></a>00128
 <a name="l00129"></a>00129 <span class="keywordflow">if</span> (copydigits) {
-<a name="l00130"></a>00130 memcpy(newDigits, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
-<a name="l00131"></a>00131 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(newDigits+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00130"></a>00130 memcpy(newDigits, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
+<a name="l00131"></a>00131 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(newDigits+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, newcount-<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00132"></a>00132 } <span class="keywordflow">else</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(newDigits, newcount);
 <a name="l00133"></a>00133
 <a name="l00134"></a>00134 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>!=<a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>) {
-<a name="l00135"></a>00135 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>);
+<a name="l00135"></a>00135 <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>);
 <a name="l00136"></a>00136 <span class="keyword">delete</span>[] <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
 <a name="l00137"></a>00137 }
 <a name="l00138"></a>00138 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=newDigits;
@@ -196,22 +196,22 @@
 <a name="l00140"></a>00140 <span class="preprocessor"></span> <span class="keywordflow">try</span> {
 <a name="l00141"></a>00141 <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>.resize(newcount);
 <a name="l00142"></a>00142 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00143"></a>00143 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00143"></a>00143 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
 <a name="l00144"></a>00144 }
 <a name="l00145"></a>00145 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=&amp;<a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>[0];
 <a name="l00146"></a>00146 <span class="keywordflow">if</span> (!copydigits) <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, newcount);
 <a name="l00147"></a>00147 <span class="preprocessor"> #endif</span>
 <a name="l00148"></a>00148 <span class="preprocessor"></span> }
-<a name="l00149"></a>00149 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>=newcount;
+<a name="l00149"></a>00149 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=<a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>=newcount;
 <a name="l00150"></a>00150 }
 <a name="l00151"></a>00151 }
 <a name="l00152"></a>00152
-<a name="l00153"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">00153</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">data_t::copy</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, <span class="keywordtype">int</span> extraDigits) {
-<a name="l00154"></a>00154 <a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>+extraDigits);
+<a name="l00153"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">00153</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">data_t::copy</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, <span class="keywordtype">size_t</span> extraDigits) {
+<a name="l00154"></a>00154 <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+extraDigits);
 <a name="l00155"></a>00155
-<a name="l00156"></a>00156 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
-<a name="l00157"></a>00157 <span class="keywordflow">if</span> (c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>==1) *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> = *c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
-<a name="l00158"></a>00158 <span class="keywordflow">else</span> memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
+<a name="l00156"></a>00156 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
+<a name="l00157"></a>00157 <span class="keywordflow">if</span> (c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>==1) *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> = *c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>;
+<a name="l00158"></a>00158 <span class="keywordflow">else</span> memcpy(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>*<span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>));
 <a name="l00159"></a>00159
 <a name="l00160"></a>00160 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=c-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
 <a name="l00161"></a>00161
@@ -228,7 +228,7 @@
 <a name="l00172"></a>00172
 <a name="l00173"></a>00173 <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=!<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
 <a name="l00174"></a>00174
-<a name="l00175"></a>00175 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *e=d+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00175"></a>00175 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *e=d+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00176"></a>00176 <span class="keywordflow">while</span> (d&lt;e) {
 <a name="l00177"></a>00177 *d=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> - 1 - *d);
 <a name="l00178"></a>00178 ++d;
@@ -248,21 +248,21 @@
 <a name="l00192"></a>00192 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
 <a name="l00193"></a>00193
 <a name="l00194"></a>00194 <span class="comment">// If it&#39;s zero, don&#39;t change the sign</span>
-<a name="l00195"></a>00195 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>&gt;1 || <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]!=0) <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=!<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
+<a name="l00195"></a>00195 <span class="keywordflow">if</span> (<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>&gt;1 || <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[0]!=0) <a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>=!<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>;
 <a name="l00196"></a>00196 }
 <a name="l00197"></a>00197
 <a name="l00198"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">00198</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">data_t::add</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>&amp; addend) {
 <a name="l00199"></a>00199 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00200"></a>00200 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt;= addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00200"></a>00200 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00201"></a>00201
 <a name="l00202"></a>00202 <span class="comment">// The answer to any addition problem contains, at most, one digit more</span>
 <a name="l00203"></a>00203 <span class="comment">// than the largest addend.</span>
-<a name="l00204"></a>00204 <a class="code" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>+1);
+<a name="l00204"></a>00204 <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+1);
 <a name="l00205"></a>00205
 <a name="l00206"></a>00206 <span class="comment">// Now add the digits, starting at the least-significant digit.</span>
 <a name="l00207"></a>00207 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> carry=0;
-<a name="l00208"></a>00208 <span class="keywordtype">int</span> x=0;
-<a name="l00209"></a>00209 <span class="keywordflow">for</span> (; x&lt;addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>; ++x) {
+<a name="l00208"></a>00208 <span class="keywordtype">size_t</span> x=0;
+<a name="l00209"></a>00209 <span class="keywordflow">for</span> (; x&lt;addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>; ++x) {
 <a name="l00210"></a>00210 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x])+addend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+carry;
 <a name="l00211"></a>00211 <span class="keywordflow">if</span> (t&gt;=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) { carry=1; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; } <span class="keywordflow">else</span> carry=0;
 <a name="l00212"></a>00212 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
@@ -280,92 +280,93 @@
 <a name="l00224"></a>00224
 <a name="l00225"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">00225</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">data_t::subtract</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>&amp; subtrahend) {
 <a name="l00226"></a>00226 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00227"></a>00227 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt;= subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>);
+<a name="l00227"></a>00227 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>);
 <a name="l00228"></a>00228
 <a name="l00229"></a>00229 <span class="comment">// For subtraction, the answer will always be less than or equal to the</span>
 <a name="l00230"></a>00230 <span class="comment">// size of the longest operand, so we&#39;ve already got enough room.</span>
 <a name="l00231"></a>00231
 <a name="l00232"></a>00232 <span class="comment">// Now subtract the digits, starting at the least-significant one.</span>
-<a name="l00233"></a>00233 <span class="keywordtype">int</span> borrow=0, x;
-<a name="l00234"></a>00234 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t;
-<a name="l00235"></a>00235 <span class="keywordflow">for</span> (x=0; x&lt;subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>; ++x) {
-<a name="l00236"></a>00236 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]-borrow;
-<a name="l00237"></a>00237 if (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
-<a name="l00238"></a>00238 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00239"></a>00239 }
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 <span class="keywordflow">for</span> (; x&lt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &amp;&amp; borrow; ++x) {
-<a name="l00242"></a>00242 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-borrow;
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
-<a name="l00244"></a>00244 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
-<a name="l00245"></a>00245 }
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247 <span class="keywordflow">if</span> (borrow) <a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>();
-<a name="l00248"></a>00248 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00249"></a>00249 }
-<a name="l00250"></a>00250
-<a name="l00251"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">00251</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">data_t::shift_left</a>(<span class="keywordtype">int</span> byBits) {
-<a name="l00252"></a>00252 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00253"></a>00253 assert(byBits&gt;0);
-<a name="l00254"></a>00254
-<a name="l00255"></a>00255 <span class="keywordtype">int</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
-<a name="l00256"></a>00256 <span class="keywordtype">int</span> oldLength=<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <a class="code" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>+bytes+1);
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00261"></a>00261 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00262"></a>00262 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+oldLength-1, *t=s+bytes+1;
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264 *t-- = *s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits);
-<a name="l00265"></a>00265 <span class="keywordflow">while</span> (s &gt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>) {
-<a name="l00266"></a>00266 *t = (*s-- &lt;&lt; bits);
-<a name="l00267"></a>00267 *t-- |= (*s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits));
-<a name="l00268"></a>00268 }
-<a name="l00269"></a>00269 *t = (*s &lt;&lt; bits);
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271 <span class="keywordflow">if</span> (bytes != 0) memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00272"></a>00272 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00273"></a>00273 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * oldLength);
-<a name="l00274"></a>00274 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00277"></a>00277 }
-<a name="l00278"></a>00278
-<a name="l00279"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">00279</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">data_t::shift_right</a>(<span class="keywordtype">int</span> byBits) {
-<a name="l00280"></a>00280 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
-<a name="l00281"></a>00281 assert(byBits&gt;0);
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 <span class="keywordtype">int</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>,
-<a name="l00284"></a>00284 bits2 = <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits;
-<a name="l00285"></a>00285
-<a name="l00286"></a>00286 <span class="keywordflow">if</span> (bytes &gt;= <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>) {
-<a name="l00287"></a>00287 <span class="comment">// Right-shift it into oblivion.</span>
-<a name="l00288"></a>00288 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>=1;
-<a name="l00289"></a>00289 *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=0;
-<a name="l00290"></a>00290 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00291"></a>00291 <span class="comment">// Handle both bits and bytes in one pass</span>
-<a name="l00292"></a>00292 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, *se=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>-1;
-<a name="l00293"></a>00293 <span class="keywordflow">while</span> (s!=se) {
-<a name="l00294"></a>00294 *t = (*s++ &gt;&gt; bits);
-<a name="l00295"></a>00295 *t++ |= (*s &lt;&lt; bits2);
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 *t = (*s &gt;&gt; bits);
-<a name="l00298"></a>00298 <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00299"></a>00299 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+mLength-bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00300"></a>00300 mLength-=bytes;
-<a name="l00301"></a>00301 }
-<a name="l00302"></a>00302 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00303"></a>00303 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
-<a name="l00304"></a>00304 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + bytes, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * (<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> - bytes));
-<a name="l00305"></a>00305 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> - bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
-<a name="l00306"></a>00306 <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>-=bytes;
-<a name="l00307"></a>00307 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00308"></a>00308 }
-<a name="l00309"></a>00309 }
-<a name="l00310"></a>00310
-<a name="l00311"></a>00311 } <span class="comment">// namespace detail</span>
-<a name="l00312"></a>00312 } <span class="comment">// namespace xint</span>
+<a name="l00233"></a>00233 <span class="keywordtype">size_t</span> x;
+<a name="l00234"></a>00234 <span class="keywordtype">int</span> borrow=0;
+<a name="l00235"></a>00235 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t;
+<a name="l00236"></a>00236 <span class="keywordflow">for</span> (x=0; x&lt;subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>; ++x) {
+<a name="l00237"></a>00237 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-subtrahend.<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]-borrow;
+<a name="l00238"></a>00238 if (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
+<a name="l00239"></a>00239 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="keywordflow">for</span> (; x&lt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &amp;&amp; borrow; ++x) {
+<a name="l00243"></a>00243 t=(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]+<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>)-borrow;
+<a name="l00244"></a>00244 <span class="keywordflow">if</span> (t&lt;<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) borrow=1; <span class="keywordflow">else</span> { borrow=0; t-=<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>; }
+<a name="l00245"></a>00245 <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(t);
+<a name="l00246"></a>00246 }
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keywordflow">if</span> (borrow) <a class="code" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>();
+<a name="l00249"></a>00249 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251
+<a name="l00252"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">00252</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">data_t::shift_left</a>(<span class="keywordtype">size_t</span> byBits) {
+<a name="l00253"></a>00253 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
+<a name="l00254"></a>00254 assert(byBits&gt;0);
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="keywordtype">size_t</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>;
+<a name="l00257"></a>00257 <span class="keywordtype">size_t</span> oldLength=<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>+bytes+1);
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00262"></a>00262 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00263"></a>00263 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+oldLength-1, *t=s+bytes+1;
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 *t-- = *s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits);
+<a name="l00266"></a>00266 <span class="keywordflow">while</span> (s &gt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>) {
+<a name="l00267"></a>00267 *t = (*s-- &lt;&lt; bits);
+<a name="l00268"></a>00268 *t-- |= (*s &gt;&gt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits));
+<a name="l00269"></a>00269 }
+<a name="l00270"></a>00270 *t = (*s &lt;&lt; bits);
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 <span class="keywordflow">if</span> (bytes != 0) memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
+<a name="l00273"></a>00273 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00274"></a>00274 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * oldLength);
+<a name="l00275"></a>00275 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
+<a name="l00278"></a>00278 }
+<a name="l00279"></a>00279
+<a name="l00280"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">00280</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">data_t::shift_right</a>(<span class="keywordtype">size_t</span> byBits) {
+<a name="l00281"></a>00281 assert(<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==1);
+<a name="l00282"></a>00282 assert(byBits&gt;0);
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 <span class="keywordtype">size_t</span> bytes=byBits / <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>, bits=byBits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>,
+<a name="l00285"></a>00285 bits2 = <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> - bits;
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="keywordflow">if</span> (bytes &gt;= <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>) {
+<a name="l00288"></a>00288 <span class="comment">// Right-shift it into oblivion.</span>
+<a name="l00289"></a>00289 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>=1;
+<a name="l00290"></a>00290 *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>=0;
+<a name="l00291"></a>00291 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00292"></a>00292 <span class="comment">// Handle both bits and bytes in one pass</span>
+<a name="l00293"></a>00293 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *t=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, *s=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+bytes, *se=<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-1;
+<a name="l00294"></a>00294 <span class="keywordflow">while</span> (s!=se) {
+<a name="l00295"></a>00295 *t = (*s++ &gt;&gt; bits);
+<a name="l00296"></a>00296 *t++ |= (*s &lt;&lt; bits2);
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298 *t = (*s &gt;&gt; bits);
+<a name="l00299"></a>00299 <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00300"></a>00300 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>+mLength-bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
+<a name="l00301"></a>00301 mLength-=bytes;
+<a name="l00302"></a>00302 }
+<a name="l00303"></a>00303 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
+<a name="l00304"></a>00304 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bytes != 0) {
+<a name="l00305"></a>00305 memmove(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + bytes, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * (<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> - bytes));
+<a name="l00306"></a>00306 memset(<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a> + <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> - bytes, 0, <span class="keyword">sizeof</span>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>) * bytes);
+<a name="l00307"></a>00307 <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>-=bytes;
+<a name="l00308"></a>00308 <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
+<a name="l00309"></a>00309 }
+<a name="l00310"></a>00310 }
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 } <span class="comment">// namespace detail</span>
+<a name="l00313"></a>00313 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -385,7 +386,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,10 +62,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">xint::exceptions_allowed</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint::block_exceptions</a> ()</td></tr>
@@ -106,7 +102,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/exception__blocker_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -140,7 +140,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/files.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/files.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/files.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -99,7 +99,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/functions.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/functions.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li class="current">Class Members</li>
     </ul>
   </div>
@@ -59,6 +60,7 @@
       <li class="current">All</li>
       <li>Functions</li>
       <li>Variables</li>
+ <li>Typedefs</li>
     </ul>
   </div>
   <div class="tabs">
@@ -68,6 +70,7 @@
       <li>c</li>
       <li>d</li>
       <li>e</li>
+ <li>g</li>
       <li>h</li>
       <li>i</li>
       <li>m</li>
@@ -121,7 +124,7 @@
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">xint::detail::data_t</a>
 </li>
 <li>alloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">xint::detail::data_t</a>
 </li>
 <li>attach()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">xint::detail::data_t</a>
@@ -130,14 +133,17 @@
 
 
 <h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cannot_represent()
+: <a class="el" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">xint::cannot_represent</a>
+</li>
 <li>cOne
 : <a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">xint::integer</a>
 </li>
 <li>copy()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">xint::detail::data_t</a>
 </li>
 <li>count
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>cZero
 : <a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">xint::integer</a>
@@ -158,6 +164,9 @@
 <li>digits
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">xint::detail::data_t</a>
 </li>
+<li>dist_t
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">xint::detail::random_generator&lt; T &gt;</a>
+</li>
 <li>divide_by_zero()
 : <a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">xint::divide_by_zero</a>
 </li>
@@ -165,13 +174,29 @@
 
 
 <h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>entropy()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">xint::strong_random_generator</a>
+</li>
 <li>even()
 : <a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">xint::integer</a>
 </li>
 </ul>
 
 
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>gen
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">xint::detail::random_generator&lt; T &gt;</a>
+</li>
+<li>gen_t
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">xint::detail::random_generator&lt; T &gt;</a>
+</li>
+</ul>
+
+
 <h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>has_fixed_range
+: <a class="el" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">xint::strong_random_generator</a>
+</li>
 <li>hex_digits()
 : <a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">xint::integer</a>
 </li>
@@ -179,8 +204,14 @@
 
 
 <h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>impl
+: <a class="el" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">xint::strong_random_generator</a>
+</li>
+<li>impl_t()
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">xint::strong_random_generator::impl_t</a>
+</li>
 <li>intbits
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>integer()
 : <a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">xint::integer</a>
@@ -202,19 +233,31 @@
 
 <h3><a class="anchor" id="index_m">- m -</a></h3><ul>
 <li>mAllocated
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t</a>
+</li>
+<li>max()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">xint::strong_random_generator</a>
+</li>
+<li>max_value
+: <a class="el" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">xint::strong_random_generator</a>
 </li>
 <li>mCopies
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">xint::detail::data_t</a>
 </li>
+<li>min()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">xint::strong_random_generator</a>
+</li>
+<li>min_value
+: <a class="el" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">xint::strong_random_generator</a>
+</li>
 <li>minimum
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>mIsNegative
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">xint::detail::data_t</a>
 </li>
 <li>mLength
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t</a>
 </li>
 <li>mQuickDigits
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t</a>
@@ -232,6 +275,9 @@
 <li>negate()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">xint::detail::data_t</a>
 </li>
+<li>no_strong_random()
+: <a class="el" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">xint::no_strong_random</a>
+</li>
 <li>not_a_number()
 : <a class="el" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">xint::not_a_number</a>
 </li>
@@ -251,6 +297,11 @@
 <li>operator&amp;=()
 : <a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">xint::integer</a>
 </li>
+<li>operator()()
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">xint::strong_random_generator::impl_t</a>
+, <a class="el" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">xint::detail::random_generator&lt; T &gt;</a>
+, <a class="el" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">xint::strong_random_generator</a>
+</li>
 <li>operator*=()
 : <a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">xint::integer</a>
 </li>
@@ -290,6 +341,9 @@
 <li>operator|=()
 : <a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">xint::integer</a>
 </li>
+<li>overflow_error()
+: <a class="el" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">xint::overflow_error</a>
+</li>
 </ul>
 
 
@@ -301,18 +355,29 @@
 
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>random_generator()
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">xint::detail::random_generator&lt; T &gt;</a>
+</li>
 <li>realloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">xint::detail::data_t</a>
+</li>
+<li>result_type
+: <a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">xint::strong_random_generator</a>
+, <a class="el" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">xint::detail::base_random_generator</a>
+, <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">xint::strong_random_generator::impl_t</a>
+</li>
+<li>rng
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">xint::strong_random_generator::impl_t</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
 <li>shift_left()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">xint::detail::data_t</a>
 </li>
 <li>shift_right()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">xint::detail::data_t</a>
 </li>
 <li>sign()
 : <a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">xint::integer</a>
@@ -320,11 +385,14 @@
 <li>skipLeadingZeros()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">xint::detail::data_t</a>
 </li>
+<li>strong_random_generator()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">xint::strong_random_generator</a>
+</li>
 <li>subtract()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">xint::detail::data_t</a>
 </li>
 <li>suggested
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits</a>
 </li>
 </ul>
 
@@ -348,6 +416,9 @@
 <li>~integer()
 : <a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">xint::integer</a>
 </li>
+<li>~strong_random_generator()
+: <a class="el" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">xint::strong_random_generator</a>
+</li>
 </ul>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -368,7 +439,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/functions_func.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li class="current">Class Members</li>
     </ul>
   </div>
@@ -59,6 +60,7 @@
       <li>All</li>
       <li class="current">Functions</li>
       <li>Variables</li>
+ <li>Typedefs</li>
     </ul>
   </div>
   <div class="tabs">
@@ -70,6 +72,7 @@
       <li>e</li>
       <li>h</li>
       <li>i</li>
+ <li>m</li>
       <li>n</li>
       <li>o</li>
       <li>q</li>
@@ -120,7 +123,7 @@
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">xint::detail::data_t</a>
 </li>
 <li>alloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">xint::detail::data_t</a>
 </li>
 <li>attach()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">xint::detail::data_t</a>
@@ -129,8 +132,11 @@
 
 
 <h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cannot_represent()
+: <a class="el" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">xint::cannot_represent</a>
+</li>
 <li>copy()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">xint::detail::data_t</a>
 </li>
 </ul>
 
@@ -149,6 +155,9 @@
 
 
 <h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>entropy()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">xint::strong_random_generator</a>
+</li>
 <li>even()
 : <a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">xint::integer</a>
 </li>
@@ -163,6 +172,9 @@
 
 
 <h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>impl_t()
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">xint::strong_random_generator::impl_t</a>
+</li>
 <li>integer()
 : <a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">xint::integer</a>
 </li>
@@ -181,6 +193,16 @@
 </ul>
 
 
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>max()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">xint::strong_random_generator</a>
+</li>
+<li>min()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">xint::strong_random_generator</a>
+</li>
+</ul>
+
+
 <h3><a class="anchor" id="index_n">- n -</a></h3><ul>
 <li>nan()
 : <a class="el" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">xint::integer</a>
@@ -188,6 +210,9 @@
 <li>negate()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">xint::detail::data_t</a>
 </li>
+<li>no_strong_random()
+: <a class="el" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">xint::no_strong_random</a>
+</li>
 <li>not_a_number()
 : <a class="el" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">xint::not_a_number</a>
 </li>
@@ -207,6 +232,11 @@
 <li>operator&amp;=()
 : <a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">xint::integer</a>
 </li>
+<li>operator()()
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">xint::strong_random_generator::impl_t</a>
+, <a class="el" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">xint::detail::random_generator&lt; T &gt;</a>
+, <a class="el" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">xint::strong_random_generator</a>
+</li>
 <li>operator*=()
 : <a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">xint::integer</a>
 </li>
@@ -246,6 +276,9 @@
 <li>operator|=()
 : <a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">xint::integer</a>
 </li>
+<li>overflow_error()
+: <a class="el" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">xint::overflow_error</a>
+</li>
 </ul>
 
 
@@ -257,18 +290,21 @@
 
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>random_generator()
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">xint::detail::random_generator&lt; T &gt;</a>
+</li>
 <li>realloc()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">xint::detail::data_t</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
 <li>shift_left()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">xint::detail::data_t</a>
 </li>
 <li>shift_right()
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">xint::detail::data_t</a>
 </li>
 <li>sign()
 : <a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">xint::integer</a>
@@ -276,6 +312,9 @@
 <li>skipLeadingZeros()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">xint::detail::data_t</a>
 </li>
+<li>strong_random_generator()
+: <a class="el" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">xint::strong_random_generator</a>
+</li>
 <li>subtract()
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">xint::detail::data_t</a>
 </li>
@@ -301,6 +340,9 @@
 <li>~integer()
 : <a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">xint::integer</a>
 </li>
+<li>~strong_random_generator()
+: <a class="el" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">xint::strong_random_generator</a>
+</li>
 </ul>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -321,7 +363,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/functions_vars.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li class="current">Class Members</li>
     </ul>
   </div>
@@ -59,6 +60,7 @@
       <li>All</li>
       <li>Functions</li>
       <li class="current">Variables</li>
+ <li>Typedefs</li>
     </ul>
   </div>
 </div>
@@ -68,7 +70,7 @@
 : <a class="el" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">xint::integer</a>
 </li>
 <li>count
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>cZero
 : <a class="el" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">xint::integer</a>
@@ -79,23 +81,38 @@
 <li>digits
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">xint::detail::data_t</a>
 </li>
+<li>gen
+: <a class="el" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">xint::detail::random_generator&lt; T &gt;</a>
+</li>
+<li>has_fixed_range
+: <a class="el" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">xint::strong_random_generator</a>
+</li>
+<li>impl
+: <a class="el" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">xint::strong_random_generator</a>
+</li>
 <li>intbits
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>mAllocated
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t</a>
+</li>
+<li>max_value
+: <a class="el" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">xint::strong_random_generator</a>
 </li>
 <li>mCopies
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">xint::detail::data_t</a>
 </li>
+<li>min_value
+: <a class="el" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">xint::strong_random_generator</a>
+</li>
 <li>minimum
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits</a>
 </li>
 <li>mIsNegative
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">xint::detail::data_t</a>
 </li>
 <li>mLength
-: <a class="el" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">xint::detail::data_t</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t</a>
 </li>
 <li>mQuickDigits
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t</a>
@@ -103,8 +120,11 @@
 <li>mStorage
 : <a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">xint::detail::data_t</a>
 </li>
+<li>rng
+: <a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">xint::strong_random_generator::impl_t</a>
+</li>
 <li>suggested
-: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">xint::detail::data_t::QuickDigits</a>
+: <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits</a>
 </li>
 </ul>
 </div>
@@ -126,7 +146,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,10 +62,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">xint::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
@@ -136,7 +132,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/gcd_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -77,7 +77,7 @@
 <a name="l00021"></a>00021 gcd_core(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m): <a class="code" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">u1</a>(integer::one()),
 <a name="l00022"></a>00022 <a class="code" href="gcd_8cpp.html#a35cdbdce7a7d33309a6cabd35c878b2f">u2</a>(integer::zero()), <a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>(n)
 <a name="l00023"></a>00023 {
-<a name="l00024"></a>00024 integer t1=m, t2=n-<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>(), t3=m;
+<a name="l00024"></a>00024 integer t1=m, t2=n-<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>(), t3=m;
 <a name="l00025"></a>00025 <span class="keywordflow">do</span> {
 <a name="l00026"></a>00026 <span class="keywordflow">do</span> {
 <a name="l00027"></a>00027 <span class="keywordflow">if</span> (<a class="code" href="gcd_8cpp.html#a7ac8f5a4ca4a1c621ad1c8ea155faaf2">u3</a>.even()) {
@@ -111,50 +111,58 @@
 <a name="l00055"></a>00055 num1.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
 <a name="l00056"></a>00056 num2._throw_if_nan();
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 integer n(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1)), m(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num2));
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="keywordtype">size_t</span> k=0;
-<a name="l00061"></a>00061 <span class="keywordflow">while</span> (n.even() &amp;&amp; m.even()) { ++k; n &gt;&gt;= 1; m &gt;&gt;= 1; }
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> sign1=num1.sign(), sign2=num2.sign();
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (sign1==0 &amp;&amp; sign2==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
+<a name="l00060"></a>00060 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> num2;
+<a name="l00061"></a>00061 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> num1;
 <a name="l00062"></a>00062
-<a name="l00063"></a>00063 gcd_core core(n, m);
+<a name="l00063"></a>00063 integer n(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1)), m(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num2));
 <a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">if</span> (core.u3.sign() != 0) <span class="keywordflow">return</span> core.u3 &lt;&lt; k;
-<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>() &lt;&lt; k;
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 integer <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
-<a name="l00070"></a>00070 <span class="keywordflow">if</span> (num1.sign() == 0 || num2.sign() == 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>();
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1 * num2) / <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(num1, num2);
+<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> k=0;
+<a name="l00066"></a>00066 <span class="keywordflow">while</span> (n.even() &amp;&amp; m.even()) { ++k; n &gt;&gt;= 1; m &gt;&gt;= 1; }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 gcd_core core(n, m);
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keywordflow">if</span> (core.u3.sign() != 0) <span class="keywordflow">return</span> core.u3 &lt;&lt; k;
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() &lt;&lt; k;
 <a name="l00072"></a>00072 }
 <a name="l00073"></a>00073
-<a name="l00074"></a>00074 integer <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
-<a name="l00075"></a>00075 <span class="comment">// Calculates the modular inverse of n mod m, or (n^(-1)) mod m</span>
-<a name="l00076"></a>00076 <span class="comment">// Defined as b, where n*b corresponds to 1 (mod m)</span>
-<a name="l00077"></a>00077 <span class="keywordflow">if</span> (m &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>()) {
-<a name="l00078"></a>00078 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus();
-<a name="l00079"></a>00079 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keywordflow">if</span> (n.sign() &lt; 0) {
-<a name="l00083"></a>00083 integer _n(n);
-<a name="l00084"></a>00084 _n._set_negative(<span class="keyword">false</span>);
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 integer nn=<a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(_n, m);
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (nn.nan()) <span class="keywordflow">return</span> nn;
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 nn._set_negative(<span class="keyword">true</span>);
-<a name="l00090"></a>00090 <span class="keywordflow">return</span> nn + m;
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">if</span> (n.even() &amp;&amp; m.even()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 gcd_core core(n, m);
+<a name="l00074"></a>00074 integer <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00075"></a>00075 <span class="keywordflow">if</span> (num1.sign() == 0 || num2.sign() == 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(num1 * num2) / <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(num1, num2);
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 integer <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00080"></a>00080 <span class="comment">// Calculates the modular inverse of n mod m, or (n^(-1)) mod m</span>
+<a name="l00081"></a>00081 <span class="comment">// Defined as b, where n*b corresponds to 1 (mod m)</span>
+<a name="l00082"></a>00082 <span class="keywordflow">if</span> (m &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) {
+<a name="l00083"></a>00083 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus();
+<a name="l00084"></a>00084 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keywordtype">int</span> sign=n.sign();
+<a name="l00088"></a>00088 <span class="keywordflow">if</span> (sign==0) {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> integer(not_a_number());
+<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n.sign() &lt; 0) {
+<a name="l00091"></a>00091 integer _n(n);
+<a name="l00092"></a>00092 _n._set_negative(<span class="keyword">false</span>);
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 integer nn=<a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(_n, m);
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (nn.nan()) <span class="keywordflow">return</span> nn;
 <a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keywordflow">if</span> (core.u3 != <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> core.u1;
-<a name="l00099"></a>00099 }
+<a name="l00097"></a>00097 nn._set_negative(<span class="keyword">true</span>);
+<a name="l00098"></a>00098 <span class="keywordflow">return</span> nn + m;
+<a name="l00099"></a>00099 }
 <a name="l00100"></a>00100
-<a name="l00101"></a>00101 } <span class="comment">// namespace xint</span>
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (n.even() &amp;&amp; m.even()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 gcd_core core(n, m);
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordflow">if</span> (core.u3 != <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) <span class="keywordflow">return</span> integer(not_a_number()); <span class="comment">// GCD(x,y)!=1, no inverse possible.</span>
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> core.u1;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -174,7 +182,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/globals.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/globals.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,43 +62,24 @@
       <li>Defines</li>
     </ul>
   </div>
- <div class="tabs">
- <ul>
- <li>c</li>
- <li>d</li>
- <li>m</li>
- <li>o</li>
- <li>u</li>
- </ul>
- </div>
 </div>
 <div class="contents">
-Here is a list of all file members with links to the files they belong to:
-
-<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
-<li>cSeedMaximumBytes
-: <a class="el" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">random.cpp</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+Here is a list of all file members with links to the files they belong to:<ul>
 <li>ddPowerOfTwo
 : <a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">monty.cpp</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
 <li>main()
 : <a class="el" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_fibonacci.cpp</a>
 , <a class="el" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_simple.cpp</a>
 </li>
-<li>mGen
-: <a class="el" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">random.cpp</a>
+<li>mDefaultGenerator
+: <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">random.cpp</a>
+</li>
+<li>mGeneratorFn
+: <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">random.cpp</a>
 </li>
-<li>mNumber
-: <a class="el" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">random.cpp</a>
+<li>mGeneratorObj
+: <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">random.cpp</a>
 </li>
 <li>mOldState
 : <a class="el" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">exception_blocker.cpp</a>
@@ -106,84 +87,9 @@
 <li>mPtr
 : <a class="el" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">monty.cpp</a>
 </li>
-<li>mSeeded
-: <a class="el" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">random.cpp</a>
-</li>
-<li>mString
-: <a class="el" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">random.cpp</a>
-</li>
 <li>mTable
 : <a class="el" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">monty.cpp</a>
 </li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="compare_8cpp.html#ac7523d81be85d97950c95f10c17a8c9d">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#aab9cb2021cb63480542f266a67c50314">xint.hpp</a>
-</li>
-<li>operator!=()
-: <a class="el" href="xint_8hpp.html#a7f95e1c65d52023897d57fac225ba297">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#ae28b8d9fc3781805e9bb9cfaf0dc01df">compare.cpp</a>
-</li>
-<li>operator%()
-: <a class="el" href="operators_8cpp.html#ab5c9d4bfca6c406876f2317fe4ebdc17">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a33c06e966e5497a57df414783f4bd32d">xint.hpp</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="xint_8hpp.html#a279ea8fa85f56774ecf87a9f70e44986">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a279ea8fa85f56774ecf87a9f70e44986">operators.cpp</a>
-</li>
-<li>operator*()
-: <a class="el" href="operators_8cpp.html#a9b5f3e5db8d7dac5c83687433265d679">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a17b0f742cf4240f0453ecdc690527f55">xint.hpp</a>
-</li>
-<li>operator+()
-: <a class="el" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">xint.hpp</a>
-</li>
-<li>operator-()
-: <a class="el" href="operators_8cpp.html#aed0b4dc3caadb337775cebf4434c9b4a">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operators.cpp</a>
-</li>
-<li>operator/()
-: <a class="el" href="operators_8cpp.html#ade5c31d601a221f90102f09d3985a1b1">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a92017cd694e753636affcb05919a7dc2">xint.hpp</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="compare_8cpp.html#a13bf860274cbfba7049ee1109ef79ece">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a2271282006f914e5442f53508f6c5355">xint.hpp</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="xint_8hpp.html#aa6909705d9662396b60b7dca7193895c">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#aab167dd151d36a75704e98361c845e67">compare.cpp</a>
-</li>
-<li>operator==()
-: <a class="el" href="compare_8cpp.html#a8afed82c679c5a4edee2108ddbf24e76">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a255c817c8569ac9365878a9476bfe3b3">xint.hpp</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="xint_8hpp.html#a328006b6ca161372a3cd91ca199a56df">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#aafe4265378fbdfe8382de5624439cf86">compare.cpp</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="compare_8cpp.html#a3e59818919966e38b68c5af625acf65e">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a9b081858436ec650e95e857faff0cf4e">xint.hpp</a>
-</li>
-<li>operator^()
-: <a class="el" href="xint_8hpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operators.cpp</a>
-</li>
-<li>operator|()
-: <a class="el" href="xint_8hpp.html#ae43c9ba6b179f6336284e00609951c7c">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#ae43c9ba6b179f6336284e00609951c7c">operators.cpp</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
 <li>u1
 : <a class="el" href="gcd_8cpp.html#accb7b3088be4aa6fea6fe05dc527f01c">gcd.cpp</a>
 </li>
@@ -213,7 +119,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/globals_defs.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -88,7 +88,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/globals_func.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,87 +62,14 @@
       <li>Defines</li>
     </ul>
   </div>
- <div class="tabs">
- <ul>
- <li>m</li>
- <li>o</li>
- </ul>
- </div>
 </div>
 <div class="contents">
-&nbsp;
-
-<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+&nbsp;<ul>
 <li>main()
 : <a class="el" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_fibonacci.cpp</a>
 , <a class="el" href="xint__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xint_simple.cpp</a>
 </li>
 </ul>
-
-
-<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
-<li>operator!()
-: <a class="el" href="compare_8cpp.html#ac7523d81be85d97950c95f10c17a8c9d">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#aab9cb2021cb63480542f266a67c50314">xint.hpp</a>
-</li>
-<li>operator!=()
-: <a class="el" href="xint_8hpp.html#a7f95e1c65d52023897d57fac225ba297">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#ae28b8d9fc3781805e9bb9cfaf0dc01df">compare.cpp</a>
-</li>
-<li>operator%()
-: <a class="el" href="operators_8cpp.html#ab5c9d4bfca6c406876f2317fe4ebdc17">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a33c06e966e5497a57df414783f4bd32d">xint.hpp</a>
-</li>
-<li>operator&amp;()
-: <a class="el" href="xint_8hpp.html#a279ea8fa85f56774ecf87a9f70e44986">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a279ea8fa85f56774ecf87a9f70e44986">operators.cpp</a>
-</li>
-<li>operator*()
-: <a class="el" href="operators_8cpp.html#a9b5f3e5db8d7dac5c83687433265d679">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a17b0f742cf4240f0453ecdc690527f55">xint.hpp</a>
-</li>
-<li>operator+()
-: <a class="el" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">xint.hpp</a>
-</li>
-<li>operator-()
-: <a class="el" href="operators_8cpp.html#aed0b4dc3caadb337775cebf4434c9b4a">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operators.cpp</a>
-</li>
-<li>operator/()
-: <a class="el" href="operators_8cpp.html#ade5c31d601a221f90102f09d3985a1b1">operators.cpp</a>
-, <a class="el" href="xint_8hpp.html#a92017cd694e753636affcb05919a7dc2">xint.hpp</a>
-</li>
-<li>operator&lt;()
-: <a class="el" href="compare_8cpp.html#a13bf860274cbfba7049ee1109ef79ece">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a2271282006f914e5442f53508f6c5355">xint.hpp</a>
-</li>
-<li>operator&lt;=()
-: <a class="el" href="xint_8hpp.html#aa6909705d9662396b60b7dca7193895c">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#aab167dd151d36a75704e98361c845e67">compare.cpp</a>
-</li>
-<li>operator==()
-: <a class="el" href="compare_8cpp.html#a8afed82c679c5a4edee2108ddbf24e76">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a255c817c8569ac9365878a9476bfe3b3">xint.hpp</a>
-</li>
-<li>operator&gt;()
-: <a class="el" href="xint_8hpp.html#a328006b6ca161372a3cd91ca199a56df">xint.hpp</a>
-, <a class="el" href="compare_8cpp.html#aafe4265378fbdfe8382de5624439cf86">compare.cpp</a>
-</li>
-<li>operator&gt;=()
-: <a class="el" href="compare_8cpp.html#a3e59818919966e38b68c5af625acf65e">compare.cpp</a>
-, <a class="el" href="xint_8hpp.html#a9b081858436ec650e95e857faff0cf4e">xint.hpp</a>
-</li>
-<li>operator^()
-: <a class="el" href="xint_8hpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operators.cpp</a>
-</li>
-<li>operator|()
-: <a class="el" href="xint_8hpp.html#ae43c9ba6b179f6336284e00609951c7c">xint.hpp</a>
-, <a class="el" href="operators_8cpp.html#ae43c9ba6b179f6336284e00609951c7c">operators.cpp</a>
-</li>
-</ul>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -162,7 +89,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/globals_vars.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -65,14 +65,14 @@
 </div>
 <div class="contents">
 &nbsp;<ul>
-<li>cSeedMaximumBytes
-: <a class="el" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">random.cpp</a>
+<li>mDefaultGenerator
+: <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">random.cpp</a>
 </li>
-<li>mGen
-: <a class="el" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">random.cpp</a>
+<li>mGeneratorFn
+: <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">random.cpp</a>
 </li>
-<li>mNumber
-: <a class="el" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">random.cpp</a>
+<li>mGeneratorObj
+: <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">random.cpp</a>
 </li>
 <li>mOldState
 : <a class="el" href="exception__blocker_8cpp.html#a50f7131c1e1f52ac26fb604e489b0dbe">exception_blocker.cpp</a>
@@ -80,12 +80,6 @@
 <li>mPtr
 : <a class="el" href="monty_8cpp.html#a997daa830ee78d2ad1a859d2f71594f6">monty.cpp</a>
 </li>
-<li>mSeeded
-: <a class="el" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">random.cpp</a>
-</li>
-<li>mString
-: <a class="el" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">random.cpp</a>
-</li>
 <li>mTable
 : <a class="el" href="monty_8cpp.html#a68c397b3981dc1bc151f425c0aee31b9">monty.cpp</a>
 </li>
@@ -118,7 +112,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/index.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/index.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/index.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -50,16 +50,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>eXtended Integer library. </h1><p>The Extended Integer (XInt) Library A fast, portable C++ library for multi-precision integer math.</p>
-<p>This is the main header file for the library, and the only one that programs using it should need to include.</p>
-<p>A C++ library that lets your program handle much, much larger integer numbers than the built-in int, long, or even long long types, and handle them using the same syntax that C and C++ use for the standard integer types.</p>
-<p>Completely portable, written entirely in modern C++, with many different types of operating system, compiler, and hardware in mind. It will compile cleanly on many operating systems without any changes, automatically adapting to whatever native integer sizes are available.</p>
-<p>It's fast. Speed of execution takes a back seat to portability, so it doesn't include things like assembly-language modules to wring every last CPU cycle out of it -- but it's still pretty darn fast.</p>
-<p>Features you need. Modular arithmetic. Bit manipulation functions. Cryptographically-secure random and prime number generation. A friendly and intuitive interface. An option for thread-safe operation.</p>
-<p>It has the Boost Software License, Version 1.0. at http://www.boost.org/LICENSE_1_0.txt</p>
-<p>Documentation in full as html is at https://svn.boost.org/svn/boost/sandbox/xint/libs/xint/doc/html/index/html</p>
-<p>and a pdf version is also available. </p>
-</div>
+<h1>xInt eXtended Integer Library Documentation</h1></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
 <!-- Copyright 2009 Chad Nelson. -->
@@ -78,7 +69,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -63,10 +63,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 </table>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -87,7 +83,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/integer_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -70,212 +70,216 @@
 <a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
 <a name="l00015"></a>00015 <span class="preprocessor">#include &quot;../xint_data_t.hpp&quot;</span>
 <a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="keyword">namespace </span>xint {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">const</span> integer *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">integer::cZero</a>=0, *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">integer::cOne</a>=0;
-<a name="l00020"></a>00020 <span class="keyword">const</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
-<a name="l00021"></a>00021
-<a name="l00022"></a><a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">00022</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer::integer</a>() {
-<a name="l00023"></a>00023 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>();
-<a name="l00024"></a>00024 }
+<a name="l00017"></a>00017 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor"> #define XINT_DISABLE_COPY_ON_WRITE</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">const</span> integer *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">integer::cZero</a>=0, *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">integer::cOne</a>=0;
+<a name="l00024"></a>00024 <span class="keyword">const</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
 <a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">00026</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) {
-<a name="l00027"></a>00027 <span class="keywordflow">if</span> (b.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=0;
-<a name="l00028"></a>00028 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(b);
-<a name="l00029"></a>00029 }
-<a name="l00030"></a>00030
-<a name="l00031"></a><a class="code" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">00031</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
-<a name="l00032"></a>00032 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(str, base));
+<a name="l00026"></a><a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">00026</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>() {
+<a name="l00027"></a>00027 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>();
+<a name="l00028"></a>00028 }
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">00030</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) {
+<a name="l00031"></a>00031 <span class="keywordflow">if</span> (b.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=0;
+<a name="l00032"></a>00032 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(b);
 <a name="l00033"></a>00033 }
 <a name="l00034"></a>00034
-<a name="l00035"></a><a class="code" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">00035</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;) {
-<a name="l00036"></a>00036 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=0;
+<a name="l00035"></a><a class="code" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">00035</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00036"></a>00036 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(str, base));
 <a name="l00037"></a>00037 }
 <a name="l00038"></a>00038
-<a name="l00039"></a><a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">00039</a> <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">integer::~integer</a>() {
-<a name="l00040"></a>00040 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
+<a name="l00039"></a><a class="code" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">00039</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;) {
+<a name="l00040"></a>00040 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=0;
 <a name="l00041"></a>00041 }
 <a name="l00042"></a>00042
-<a name="l00043"></a><a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">00043</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init) {
-<a name="l00044"></a>00044 <span class="keywordflow">try</span> {
-<a name="l00045"></a>00045 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(init);
-<a name="l00046"></a>00046 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00047"></a>00047 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a><a class="code" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">00052</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
-<a name="l00053"></a>00053 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>) : 0);
-<a name="l00055"></a>00055 <span class="preprocessor"> #else</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>;
-<a name="l00057"></a>00057 <span class="preprocessor"> #endif</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060
-<a name="l00061"></a><a class="code" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">00061</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(boost::uintmax_t n) {
-<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keywordtype">int</span> bits=std::numeric_limits&lt;boost::uintmax_t&gt;::digits;
-<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keywordtype">int</span> maxDigits=(bits+<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>-1)/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
+<a name="l00043"></a><a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">00043</a> <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">integer::~integer</a>() {
+<a name="l00044"></a>00044 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a><a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">00047</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init) {
+<a name="l00048"></a>00048 <span class="keywordflow">try</span> {
+<a name="l00049"></a>00049 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(init);
+<a name="l00050"></a>00050 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
+<a name="l00051"></a>00051 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a><a class="code" href="classxint_1_1integer.html#adaaff26c817fec0bef3cf903773e3f7b">00056</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
+<a name="l00057"></a>00057 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) : 0);
+<a name="l00059"></a>00059 <span class="preprocessor"> #else</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
+<a name="l00061"></a>00061 <span class="preprocessor"> #endif</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00063"></a>00063 }
 <a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">try</span> {
-<a name="l00066"></a>00066 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>;
-<a name="l00067"></a>00067 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00068"></a>00068 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(maxDigits);
-<a name="l00073"></a>00073 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x=0; n != 0; ++x) {
-<a name="l00074"></a>00074 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>);
-<a name="l00075"></a>00075 n &gt;&gt;= <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a><a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">00080</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">integer::_attach</a>() {
-<a name="l00081"></a>00081 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>();
+<a name="l00065"></a><a class="code" href="classxint_1_1integer.html#aed205d80e7b1a495a2d67abde5c406e8">00065</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">integer::_init</a>(boost::uintmax_t n) {
+<a name="l00066"></a>00066 <span class="keyword">static</span> <span class="keywordtype">int</span> bits=std::numeric_limits&lt;boost::uintmax_t&gt;::digits;
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keywordtype">int</span> maxDigits=(bits+<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>-1)/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keywordflow">try</span> {
+<a name="l00070"></a>00070 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>;
+<a name="l00071"></a>00071 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
+<a name="l00072"></a>00072 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(maxDigits);
+<a name="l00077"></a>00077 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x=0; n != 0; ++x) {
+<a name="l00078"></a>00078 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[x]=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>);
+<a name="l00079"></a>00079 n &gt;&gt;= <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
 <a name="l00082"></a>00082 }
 <a name="l00083"></a>00083
-<a name="l00084"></a><a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">00084</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">integer::_detach</a>() {
-<a name="l00085"></a>00085 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>()) <span class="keyword">delete</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>;
+<a name="l00084"></a><a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">00084</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">integer::_attach</a>() {
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>();
 <a name="l00086"></a>00086 }
 <a name="l00087"></a>00087
-<a name="l00088"></a><a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">00088</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">integer::_make_unique</a>() {
-<a name="l00089"></a>00089 <span class="keywordflow">try</span> {
-<a name="l00090"></a>00090 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a> &gt; 1) {
-<a name="l00091"></a>00091 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *newstore=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>);
-<a name="l00092"></a>00092 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00093"></a>00093 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=newstore;
-<a name="l00094"></a>00094 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00097"></a>00097 <span class="keywordflow">throw</span> std::overflow_error(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a><a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">00101</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">integer::_set_negative</a>(<span class="keywordtype">bool</span> negative) {
-<a name="l00102"></a>00102 <span class="keywordflow">if</span> (negative != (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)) *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(*<span class="keyword">this</span>);
+<a name="l00088"></a><a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">00088</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">integer::_detach</a>() {
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>()) <span class="keyword">delete</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a><a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">00092</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">integer::_make_unique</a>() {
+<a name="l00093"></a>00093 <span class="keywordflow">try</span> {
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a> &gt; 1) {
+<a name="l00095"></a>00095 <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *newstore=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
+<a name="l00096"></a>00096 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
+<a name="l00097"></a>00097 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=newstore;
+<a name="l00098"></a>00098 <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
+<a name="l00101"></a>00101 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1overflow__error.html">xint::overflow_error</a>(<span class="stringliteral">&quot;Out of memory allocating xint::integer&quot;</span>);
+<a name="l00102"></a>00102 }
 <a name="l00103"></a>00103 }
 <a name="l00104"></a>00104
-<a name="l00105"></a><a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">00105</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">integer::odd</a>()<span class="keyword"> const </span>{
-<a name="l00106"></a>00106 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00107"></a>00107 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==1);
-<a name="l00108"></a>00108 }
-<a name="l00109"></a>00109
-<a name="l00110"></a><a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">00110</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">integer::even</a>()<span class="keyword"> const </span>{
-<a name="l00111"></a>00111 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==0);
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00115"></a><a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">00115</a> <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">integer::sign</a>()<span class="keyword"> const </span>{
-<a name="l00116"></a>00116 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00117"></a>00117 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>) <span class="keywordflow">return</span> -1;
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()==1 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0)==0) <span class="keywordflow">return</span> 0;
-<a name="l00119"></a>00119 <span class="keywordflow">return</span> 1;
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121
-<a name="l00122"></a><a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">00122</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">integer::nan</a>()<span class="keyword"> const </span>{
-<a name="l00123"></a>00123 <span class="keywordflow">return</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>==0);
+<a name="l00105"></a><a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">00105</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">integer::_set_negative</a>(<span class="keywordtype">bool</span> negative) {
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (negative != (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)) *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(*<span class="keyword">this</span>);
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00109"></a><a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">00109</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">integer::odd</a>()<span class="keyword"> const </span>{
+<a name="l00110"></a>00110 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==1);
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00114"></a><a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">00114</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">integer::even</a>()<span class="keyword"> const </span>{
+<a name="l00115"></a>00115 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> ((<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0) &amp; 0x01)==0);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a><a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">00119</a> <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">integer::sign</a>()<span class="keyword"> const </span>{
+<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
+<a name="l00121"></a>00121 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a>) <span class="keywordflow">return</span> -1;
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>()==1 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(0)==0) <span class="keywordflow">return</span> 0;
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> 1;
 <a name="l00124"></a>00124 }
 <a name="l00125"></a>00125
-<a name="l00126"></a><a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">00126</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">integer::hex_digits</a>()<span class="keyword"> const </span>{
-<a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00128"></a>00128 <span class="keywordtype">size_t</span> bits=<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(*<span class="keyword">this</span>);
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a><a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">00132</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend) {
-<a name="l00133"></a>00133 <span class="keywordflow">if</span> ((<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) == (addend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)
-<a name="l00134"></a>00134 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a> &gt;= addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>)
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 <span class="comment">// Fast in-place add</span>
-<a name="l00137"></a>00137 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00138"></a>00138 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a>(addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>);
-<a name="l00139"></a>00139 } <span class="keywordflow">else</span> {
-<a name="l00140"></a>00140 <span class="comment">// This works for all cases</span>
-<a name="l00141"></a>00141 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(*<span class="keyword">this</span>, addend);
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a><a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">00146</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend) {
-<a name="l00147"></a>00147 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; subtrahend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; *<span class="keyword">this</span> &gt;= subtrahend) {
-<a name="l00148"></a>00148 <span class="comment">// Fast in-place subtract</span>
-<a name="l00149"></a>00149 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00150"></a>00150 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(subtrahend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>);
-<a name="l00151"></a>00151 } <span class="keywordflow">else</span> {
-<a name="l00152"></a>00152 <span class="comment">// This works for all cases</span>
-<a name="l00153"></a>00153 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(*<span class="keyword">this</span>, subtrahend);
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">00158</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
-<a name="l00159"></a>00159 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00160"></a>00160 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00161"></a>00161 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>) : 0);
-<a name="l00162"></a>00162 <span class="preprocessor"> #else</span>
-<a name="l00163"></a>00163 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>;
-<a name="l00164"></a>00164 <span class="preprocessor"> #endif</span>
-<a name="l00165"></a>00165 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168
-<a name="l00169"></a><a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">00169</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00170"></a><a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">00170</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00171"></a><a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">00171</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00126"></a><a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">00126</a> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">integer::nan</a>()<span class="keyword"> const </span>{
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> (<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>==0);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a><a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">00130</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">integer::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00131"></a>00131 <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
+<a name="l00132"></a>00132 <span class="keywordtype">size_t</span> bits=<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(*<span class="keyword">this</span>);
+<a name="l00133"></a>00133 <span class="keywordflow">return</span> (bits+3)/4; <span class="comment">// Four bits per hex digit, rounded up</span>
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00136"></a><a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">00136</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend) {
+<a name="l00137"></a>00137 <span class="keywordflow">if</span> ((<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) == (addend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0)
+<a name="l00138"></a>00138 &amp;&amp; <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a> &gt;= addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 <span class="comment">// Fast in-place add</span>
+<a name="l00141"></a>00141 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
+<a name="l00142"></a>00142 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a>(addend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
+<a name="l00143"></a>00143 } <span class="keywordflow">else</span> {
+<a name="l00144"></a>00144 <span class="comment">// This works for all cases</span>
+<a name="l00145"></a>00145 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(*<span class="keyword">this</span>, addend);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149
+<a name="l00150"></a><a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">00150</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend) {
+<a name="l00151"></a>00151 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; subtrahend.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &gt;= 0 &amp;&amp; *<span class="keyword">this</span> &gt;= subtrahend) {
+<a name="l00152"></a>00152 <span class="comment">// Fast in-place subtract</span>
+<a name="l00153"></a>00153 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
+<a name="l00154"></a>00154 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(subtrahend.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>);
+<a name="l00155"></a>00155 } <span class="keywordflow">else</span> {
+<a name="l00156"></a>00156 <span class="comment">// This works for all cases</span>
+<a name="l00157"></a>00157 *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(*<span class="keyword">this</span>, subtrahend);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a><a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">00162</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c) {
+<a name="l00163"></a>00163 <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
+<a name="l00164"></a>00164 <span class="preprocessor"> #ifdef XINT_DISABLE_COPY_ON_WRITE</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a> ? <span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a>(c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>) : 0);
+<a name="l00166"></a>00166 <span class="preprocessor"> #else</span>
+<a name="l00167"></a>00167 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>=c.<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
+<a name="l00168"></a>00168 <span class="preprocessor"> #endif</span>
+<a name="l00169"></a>00169 <span class="preprocessor"></span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00171"></a>00171 }
 <a name="l00172"></a>00172
-<a name="l00173"></a><a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">00173</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00174"></a><a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">00174</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00175"></a><a class="code" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">00175</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00176"></a><a class="code" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">00176</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">one</a>(); <span class="keywordflow">return</span> s; }
-<a name="l00177"></a>00177
-<a name="l00178"></a><a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">00178</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00179"></a><a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">00179</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(*<span class="keyword">this</span>, shift); }
-<a name="l00180"></a><a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">00180</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00181"></a><a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">00181</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00182"></a><a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">00182</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00183"></a>00183
-<a name="l00184"></a><a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">00184</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
-<a name="l00185"></a>00185 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00186"></a>00186 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00187"></a>00187 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">shift_left</a>(shift);
-<a name="l00188"></a>00188 }
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191
-<a name="l00192"></a><a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">00192</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
-<a name="l00193"></a>00193 <span class="keywordflow">if</span> (shift&gt;0) {
-<a name="l00194"></a>00194 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00195"></a>00195 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">shift_right</a>(shift);
-<a name="l00196"></a>00196 }
-<a name="l00197"></a>00197 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00198"></a>00198 }
-<a name="l00199"></a>00199
-<a name="l00200"></a><a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">00200</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>() {
-<a name="l00201"></a>00201 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>==0) <a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(0);
-<a name="l00202"></a>00202 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>;
-<a name="l00203"></a>00203 }
-<a name="l00204"></a>00204
-<a name="l00205"></a><a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">00205</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>() {
-<a name="l00206"></a>00206 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>==0) <a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(1);
-<a name="l00207"></a>00207 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209
-<a name="l00210"></a><a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">00210</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">integer::_get_digit</a>(<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{
-<a name="l00211"></a>00211 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index];
+<a name="l00173"></a><a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">00173</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00174"></a><a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">00174</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00175"></a><a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">00175</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00176"></a>00176
+<a name="l00177"></a><a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">00177</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00178"></a><a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">00178</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00179"></a><a class="code" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">00179</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00180"></a><a class="code" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">00180</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classxint_1_1integer.html">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00181"></a>00181
+<a name="l00182"></a><a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">00182</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00183"></a><a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">00183</a> <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00184"></a><a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">00184</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00185"></a><a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">00185</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00186"></a><a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">00186</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00187"></a>00187
+<a name="l00188"></a><a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">00188</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
+<a name="l00189"></a>00189 <span class="keywordflow">if</span> (shift&gt;0) {
+<a name="l00190"></a>00190 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
+<a name="l00191"></a>00191 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(shift);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00196"></a><a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">00196</a> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) {
+<a name="l00197"></a>00197 <span class="keywordflow">if</span> (shift&gt;0) {
+<a name="l00198"></a>00198 <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
+<a name="l00199"></a>00199 <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(shift);
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203
+<a name="l00204"></a><a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">00204</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>() {
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>==0) <a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(0);
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00209"></a><a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">00209</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() {
+<a name="l00210"></a>00210 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>==0) <a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>=<span class="keyword">new</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(1);
+<a name="l00211"></a>00211 <span class="keywordflow">return</span> *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
 <a name="l00212"></a>00212 }
 <a name="l00213"></a>00213
-<a name="l00214"></a><a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">00214</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">integer::_get_length</a>()<span class="keyword"> const </span>{
-<a name="l00215"></a>00215 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>;
+<a name="l00214"></a><a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">00214</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">integer::_get_digit</a>(<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{
+<a name="l00215"></a>00215 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>[index];
 <a name="l00216"></a>00216 }
 <a name="l00217"></a>00217
-<a name="l00218"></a><a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">00218</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">integer::_throw_if_nan</a>()<span class="keyword"> const </span>{
-<a name="l00219"></a>00219 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>();
+<a name="l00218"></a><a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">00218</a> <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">integer::_get_length</a>()<span class="keyword"> const </span>{
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>-&gt;<a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>;
 <a name="l00220"></a>00220 }
 <a name="l00221"></a>00221
-<a name="l00222"></a>00222 } <span class="comment">// namespace xint</span>
+<a name="l00222"></a><a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">00222</a> <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">integer::_throw_if_nan</a>()<span class="keyword"> const </span>{
+<a name="l00223"></a>00223 <span class="keywordflow">if</span> (<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>();
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -295,7 +299,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,10 +62,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint::opt_secure_mode</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">xint::opt_thread_safe</a> ()</td></tr>
@@ -90,7 +86,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/misc_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -121,7 +121,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -63,10 +63,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod</a> (const integer &amp;n, const integer &amp;modBy)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">xint::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;modulus)</td></tr>
@@ -92,7 +88,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/modular_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -90,15 +90,15 @@
 <a name="l00034"></a>00034 integer <a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; exponent, <span class="keyword">const</span> integer&amp;
 <a name="l00035"></a>00035 modulus, <span class="keywordtype">bool</span> noMontgomery)
 <a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (modulus &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>()) {
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (modulus &lt; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()) {
 <a name="l00038"></a>00038 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus();
 <a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
 <a name="l00040"></a>00040 }
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> (exponent.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>();
+<a name="l00041"></a>00041 <span class="keywordflow">if</span> (exponent.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
 <a name="l00042"></a>00042
 <a name="l00043"></a>00043 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; exponent.odd());
 <a name="l00044"></a>00044
-<a name="l00045"></a>00045 integer answer(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>());
+<a name="l00045"></a>00045 integer answer(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
 <a name="l00046"></a>00046
 <a name="l00047"></a>00047 <span class="comment">// Montgomery&#39;s method is often noticeably faster, but only works if the</span>
 <a name="l00048"></a>00048 <span class="comment">// modulus is odd.</span>
@@ -107,15 +107,15 @@
 <a name="l00051"></a>00051 } <span class="keywordflow">else</span> {
 <a name="l00052"></a>00052 integer p(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n));
 <a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keywordtype">int</span> length=exponent._get_length(), lastBitCount=0;
+<a name="l00054"></a>00054 <span class="keywordtype">size_t</span> length=exponent._get_length(), lastBitCount=0;
 <a name="l00055"></a>00055 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> ee(exponent._get_digit(length-1));
 <a name="l00056"></a>00056 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> eIndex=0; eIndex &lt; length; ++eIndex) {
+<a name="l00058"></a>00058 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
 <a name="l00059"></a>00059 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> e(exponent._get_digit(eIndex));
 <a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keywordtype">int</span> bitCount(eIndex == length-1 ? lastBitCount :
-<a name="l00062"></a>00062 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>);
+<a name="l00061"></a>00061 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount :
+<a name="l00062"></a>00062 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">detail::bits_per_digit</a>));
 <a name="l00063"></a>00063 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
 <a name="l00064"></a>00064 <span class="keywordflow">if</span> (e &amp; 0x01) answer=<a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a>(answer, p, modulus);
 <a name="l00065"></a>00065 p=<a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(p, modulus);
@@ -148,7 +148,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -64,10 +64,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Defines</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(p)&nbsp;&nbsp;&nbsp;(doubledigit_t(1) &lt;&lt; p)</td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
@@ -149,7 +145,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/monty_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -88,7 +88,7 @@
 <a name="l00032"></a>00032 }
 <a name="l00033"></a>00033
 <a name="l00034"></a>00034 integer <a class="code" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">montgomeryR</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>() &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * n._get_data()-&gt;mLength);
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * n._get_data()-&gt;mLength);
 <a name="l00036"></a>00036 }
 <a name="l00037"></a>00037
 <a name="l00038"></a>00038 integer <a class="code" href="namespacexint.html#ab8e85cd5425fcec419c07155e2a91e13">toMontgomeryForm</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
@@ -140,10 +140,10 @@
 <a name="l00084"></a>00084 <span class="comment">// nPrime0 is nPrime mod B, or digit zero of nPrime</span>
 <a name="l00085"></a>00085
 <a name="l00086"></a>00086 <span class="keyword">const</span> integer B(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>);
-<a name="l00087"></a>00087 <span class="keyword">const</span> <span class="keywordtype">int</span> L(n._get_length()), L1(L-1);
+<a name="l00087"></a>00087 <span class="keyword">const</span> <span class="keywordtype">size_t</span> L(n._get_length()), L1(L-1);
 <a name="l00088"></a>00088
 <a name="l00089"></a>00089 integer t=a*b;
-<a name="l00090"></a>00090 <span class="keywordtype">int</span> i=0;
+<a name="l00090"></a>00090 <span class="keywordtype">size_t</span> i=0;
 <a name="l00091"></a>00091
 <a name="l00092"></a>00092 <span class="keywordflow">do</span> {
 <a name="l00093"></a>00093 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mi=<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(t._get_digit(i))*nPrime0);
@@ -222,13 +222,13 @@
 <a name="l00166"></a>00166 integer aa=a*r%n, aSquared=a*a%n;
 <a name="l00167"></a>00167
 <a name="l00168"></a>00168 vxint_t rval;
-<a name="l00169"></a>00169 rval.reserve(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k));
-<a name="l00170"></a>00170 rval.push_back(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
+<a name="l00169"></a>00169 rval.reserve(<span class="keywordtype">size_t</span>(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)));
+<a name="l00170"></a>00170 rval.push_back(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>()); <span class="comment">// Anything to the zeroth power is one</span>
 <a name="l00171"></a>00171 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
 <a name="l00172"></a>00172
 <a name="l00173"></a>00173 <span class="keywordflow">for</span> (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> i=3, ie=(<a class="code" href="monty_8cpp.html#a5e044fcc16f6eb5e891ef312f47209ac">ddPowerOfTwo</a>(k)); i&lt;ie; i+=2) {
 <a name="l00174"></a>00174 aa=aa*aSquared%n;
-<a name="l00175"></a>00175 rval.push_back(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
+<a name="l00175"></a>00175 rval.push_back(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>()); <span class="comment">// Even powers not needed or calculated</span>
 <a name="l00176"></a>00176 rval.push_back(aa); <span class="comment">// Odd power</span>
 <a name="l00177"></a>00177 }
 <a name="l00178"></a>00178
@@ -271,7 +271,7 @@
 <a name="l00215"></a>00215
 <a name="l00216"></a>00216 <span class="keyword">const</span> TUTable &amp;tuTable(TUTable::get());
 <a name="l00217"></a>00217
-<a name="l00218"></a>00218 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>();
+<a name="l00218"></a>00218 <span class="keywordflow">if</span> (e.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
 <a name="l00219"></a>00219 <span class="keywordflow">if</span> (n.even()) {
 <a name="l00220"></a>00220 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> invalid_modulus(<span class="stringliteral">&quot;montgomeryPowerMod &quot;</span>
 <a name="l00221"></a>00221 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
@@ -309,7 +309,7 @@
 <a name="l00253"></a>00253 } <span class="keywordflow">else</span> {
 <a name="l00254"></a>00254 std::pair&lt;int, int&gt; tu=tuTable[i];
 <a name="l00255"></a>00255
-<a name="l00256"></a>00256 <span class="keywordtype">int</span> s=k-tu.first;
+<a name="l00256"></a>00256 <span class="keywordtype">size_t</span> s=k-tu.first;
 <a name="l00257"></a>00257 <span class="keywordflow">while</span> (s-- &gt; 0) pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, pp, n, nPrime0);
 <a name="l00258"></a>00258
 <a name="l00259"></a>00259 pp=<a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, oddPowersOfAa[tu.second], n, nPrime0);
@@ -318,7 +318,7 @@
 <a name="l00262"></a>00262 }
 <a name="l00263"></a>00263 }
 <a name="l00264"></a>00264
-<a name="l00265"></a>00265 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>(), n, nPrime0);
+<a name="l00265"></a>00265 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a>(pp, <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>(), n, nPrime0);
 <a name="l00266"></a>00266 }
 <a name="l00267"></a>00267
 <a name="l00268"></a>00268 } <span class="comment">// namespace xint</span>
@@ -341,7 +341,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -119,6 +119,9 @@
 <li>block_exceptions()
 : <a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint</a>
 </li>
+<li>BOOST_PREVENT_MACRO_SUBSTITUTION()
+: <a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint</a>
+</li>
 </ul>
 
 
@@ -190,6 +193,9 @@
 <li>gcd()
 : <a class="el" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint</a>
 </li>
+<li>get_random()
+: <a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail</a>
+</li>
 <li>getbit()
 : <a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint</a>
 </li>
@@ -265,12 +271,57 @@
 
 
 <h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>operator!()
+: <a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint</a>
+</li>
+<li>operator!=()
+: <a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint</a>
+</li>
+<li>operator%()
+: <a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint</a>
+</li>
+<li>operator&amp;()
+: <a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint</a>
+</li>
+<li>operator*()
+: <a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint</a>
+</li>
+<li>operator+()
+: <a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint</a>
+</li>
+<li>operator-()
+: <a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint</a>
+</li>
+<li>operator/()
+: <a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint</a>
+</li>
 <li>operator&lt;&lt;()
 : <a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint</a>
 </li>
+<li>operator&lt;=()
+: <a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint</a>
+</li>
+<li>operator==()
+: <a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint</a>
+</li>
+<li>operator&gt;()
+: <a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint</a>
+</li>
+<li>operator&gt;=()
+: <a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint</a>
+</li>
 <li>operator&gt;&gt;()
 : <a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">xint</a>
 </li>
+<li>operator^()
+: <a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint</a>
+</li>
+<li>operator|()
+: <a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint</a>
+</li>
 <li>opt_secure_mode()
 : <a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint</a>
 </li>
@@ -294,30 +345,22 @@
 
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random()
-: <a class="el" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">xint</a>
-</li>
-<li>random&lt; integer &gt;()
-: <a class="el" href="namespacexint.html#a989d063e3298649704c804efca714ac6">xint</a>
-</li>
 <li>random_by_size()
 : <a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint</a>
 </li>
 <li>random_prime()
 : <a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint</a>
 </li>
+<li>random_t
+: <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail</a>
+</li>
 </ul>
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>seed_fallback()
-: <a class="el" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">xint</a>
-</li>
-<li>seed_manual()
-: <a class="el" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">xint</a>
-</li>
-<li>seed_secure()
-: <a class="el" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">xint</a>
+<li>set_random_generator()
+: <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail</a>
+, <a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint</a>
 </li>
 <li>setbit()
 : <a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint</a>
@@ -371,9 +414,6 @@
 <li>testMultiply()
 : <a class="el" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">xint</a>
 </li>
-<li>testRandom()
-: <a class="el" href="namespacexint.html#aa1dbeb0c1ad12e8a8de7efb6c47e455f">xint</a>
-</li>
 <li>testStreams()
 : <a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint</a>
 </li>
@@ -412,7 +452,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_func.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -113,6 +113,9 @@
 <li>block_exceptions()
 : <a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint</a>
 </li>
+<li>BOOST_PREVENT_MACRO_SUBSTITUTION()
+: <a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint</a>
+</li>
 </ul>
 
 
@@ -163,6 +166,9 @@
 <li>gcd()
 : <a class="el" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">xint</a>
 </li>
+<li>get_random()
+: <a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail</a>
+</li>
 <li>getbit()
 : <a class="el" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">xint</a>
 </li>
@@ -232,12 +238,57 @@
 
 
 <h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>operator!()
+: <a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint</a>
+</li>
+<li>operator!=()
+: <a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint</a>
+</li>
+<li>operator%()
+: <a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint</a>
+</li>
+<li>operator&amp;()
+: <a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint</a>
+</li>
+<li>operator*()
+: <a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint</a>
+</li>
+<li>operator+()
+: <a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint</a>
+</li>
+<li>operator-()
+: <a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint</a>
+</li>
+<li>operator/()
+: <a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint</a>
+</li>
 <li>operator&lt;&lt;()
 : <a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint</a>
 </li>
+<li>operator&lt;=()
+: <a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint</a>
+</li>
+<li>operator==()
+: <a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint</a>
+</li>
+<li>operator&gt;()
+: <a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint</a>
+</li>
+<li>operator&gt;=()
+: <a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint</a>
+</li>
 <li>operator&gt;&gt;()
 : <a class="el" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">xint</a>
 </li>
+<li>operator^()
+: <a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint</a>
+</li>
+<li>operator|()
+: <a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint</a>
+</li>
 <li>opt_secure_mode()
 : <a class="el" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">xint</a>
 </li>
@@ -261,12 +312,6 @@
 
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
-<li>random()
-: <a class="el" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">xint</a>
-</li>
-<li>random&lt; integer &gt;()
-: <a class="el" href="namespacexint.html#a989d063e3298649704c804efca714ac6">xint</a>
-</li>
 <li>random_by_size()
 : <a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint</a>
 </li>
@@ -277,14 +322,9 @@
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>seed_fallback()
-: <a class="el" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">xint</a>
-</li>
-<li>seed_manual()
-: <a class="el" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">xint</a>
-</li>
-<li>seed_secure()
-: <a class="el" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">xint</a>
+<li>set_random_generator()
+: <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail</a>
+, <a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint</a>
 </li>
 <li>setbit()
 : <a class="el" href="namespacexint.html#adf2652627e78682c17e120816987984a">xint</a>
@@ -338,9 +378,6 @@
 <li>testMultiply()
 : <a class="el" href="namespacexint.html#affe2e221777d4263a420d014fa9640d0">xint</a>
 </li>
-<li>testRandom()
-: <a class="el" href="namespacexint.html#aa1dbeb0c1ad12e8a8de7efb6c47e455f">xint</a>
-</li>
 <li>testStreams()
 : <a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint</a>
 </li>
@@ -376,7 +413,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_type.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -74,6 +74,9 @@
 <li>doubledigit_t
 : <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail</a>
 </li>
+<li>random_t
+: <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail</a>
+</li>
 <li>token
 : <a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">xint</a>
 </li>
@@ -97,7 +100,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacemembers_vars.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -109,7 +109,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespaces.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -57,8 +57,8 @@
 </div>
 <div class="contents">
 <h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="namespacexint.html">xint</a></td><td class="indexvalue">Namespace for all extended integer classes and functions </td></tr>
- <tr><td class="indexkey"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td><td class="indexvalue">Implementation details, normal users should not need to use these </td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespacexint.html">xint</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -79,7 +79,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacexint.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -56,24 +56,21 @@
   </div>
 </div>
 <div class="contents">
-<h1>xint Namespace Reference</h1>
-<p>namespace for all extended integer classes and functions.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
+<h1>xint Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>implementation details, normal users should not need to use these. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html">integer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1strong__random__generator.html">strong_random_generator</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__base.html">invalid_base</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__digit.html">invalid_digit</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__modulus.html">invalid_modulus</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1cannot__represent.html">cannot_represent</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1too__big.html">too_big</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1not__a__number.html">not_a_number</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1no__strong__random.html">no_strong_random</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1overflow__error.html">overflow_error</a></td></tr>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef std::auto_ptr<br class="typebreak"/>
 &lt; <a class="el" href="structxint_1_1detail_1_1token.html">detail::token</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">token</a></td></tr>
@@ -91,6 +88,13 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;_n, size_t byBits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;_n, size_t byBits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b2, bool ignoresign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, size_t base, bool upperCase)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a> (const std::string &amp;str, size_t base)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a> (const std::string &amp;str)</td></tr>
@@ -114,6 +118,16 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a93ed16c5350b34ca22108e48b51918a5">fromMontgomeryForm</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;m)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a722769c7d01e06d9f82eae07a280160c">montgomeryMultiplyMod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, digit_t nPrime0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7d7e8604c467bc007820c60e1bc21626">montgomeryPowerMod</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;e, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a211ff80bb081c08674272cfcae736a93">operator+</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">operator-</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n2)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a> (size_t exponent)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;exponent)</td></tr>
@@ -127,21 +141,14 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;by)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;dividend, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;divisor)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classxint_1_1integer.html">integer</a>, <a class="el" href="classxint_1_1integer.html">integer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;d1, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;d2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">seed_secure</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">seed_fallback</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a> (const std::string &amp;value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <br class="typebreak"/>
+strong_random_generator::min&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a989d063e3298649704c804efca714ac6">random&lt; integer &gt;</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;lowest, const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;highest)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a> ()</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae04e871bc550a858d66901f64d42b17f">random</a> (const T &amp;lessThanThis)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a342a8b817f74234c393fd9ed32f13f5f">random</a> (const T &amp;lowest, const T &amp;highest)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a> (T &amp;gen)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
 traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
@@ -155,15 +162,12 @@
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">testDivideMod</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">testConvert</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">testStreams</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa1dbeb0c1ad12e8a8de7efb6c47e455f">testRandom</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">testMontyMultiply</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">testMontyPowerMod</a> ()</td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
 </table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>namespace for all extended integer classes and functions. </p>
 <hr/><h2>Typedef Documentation</h2>
 <a class="anchor" id="ac8a660c33746c536469d347307b8da7a"></a><!-- doxytag: member="xint::callback_t" ref="ac8a660c33746c536469d347307b8da7a" args="" -->
 <div class="memitem">
@@ -176,7 +180,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00083">83</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00076">76</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -191,7 +195,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00081">81</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00074">74</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -212,7 +216,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00381">operator&lt;&lt;()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">operator&lt;&lt;()</a>.</p>
 
 </div>
 </div>
@@ -241,7 +245,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00018">operator+()</a>, and <a class="el" href="integer_8cpp_source.html#l00132">xint::integer::operator+=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>.</p>
 
 </div>
 </div>
@@ -260,7 +264,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00408">operator&gt;&gt;()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
 
 </div>
 </div>
@@ -289,7 +293,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00023">operator&amp;()</a>, and <a class="el" href="integer_8cpp_source.html#l00180">xint::integer::operator&amp;=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00184">xint::integer::operator&amp;=()</a>.</p>
 
 </div>
 </div>
@@ -318,7 +322,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00024">operator|()</a>, and <a class="el" href="integer_8cpp_source.html#l00181">xint::integer::operator|=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00185">xint::integer::operator|=()</a>.</p>
 
 </div>
 </div>
@@ -347,7 +351,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00025">operator^()</a>, and <a class="el" href="integer_8cpp_source.html#l00182">xint::integer::operator^=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00186">xint::integer::operator^=()</a>.</p>
 
 </div>
 </div>
@@ -368,6 +372,25 @@
 
 </div>
 </div>
+<a class="anchor" id="a4c109bd4fe51e6cd67361200d952d9a4"></a><!-- doxytag: member="xint::BOOST_PREVENT_MACRO_SUBSTITUTION" ref="a4c109bd4fe51e6cd67361200d952d9a4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> strong_random_generator::max xint::BOOST_PREVENT_MACRO_SUBSTITUTION </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00176">176</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a8982e3e3ab7c1c763416eadc479d9724"></a><!-- doxytag: member="xint::clearbit" ref="a8982e3e3ab7c1c763416eadc479d9724" args="(integer &amp;n, size_t bit)" -->
 <div class="memitem">
 <div class="memproto">
@@ -426,8 +449,6 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="compare_8cpp_source.html#l00056">operator!=()</a>, <a class="el" href="compare_8cpp_source.html#l00057">operator&lt;()</a>, <a class="el" href="compare_8cpp_source.html#l00059">operator&lt;=()</a>, <a class="el" href="compare_8cpp_source.html#l00055">operator==()</a>, <a class="el" href="compare_8cpp_source.html#l00058">operator&gt;()</a>, and <a class="el" href="compare_8cpp_source.html#l00060">operator&gt;=()</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="abf3d47f1ef1fdf334097fab055886a44"></a><!-- doxytag: member="xint::divide" ref="abf3d47f1ef1fdf334097fab055886a44" args="(const integer &amp;dividend, const integer &amp;divisor)" -->
@@ -455,7 +476,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00021">operator/()</a>, and <a class="el" href="integer_8cpp_source.html#l00170">xint::integer::operator/=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00174">xint::integer::operator/=()</a>.</p>
 
 </div>
 </div>
@@ -564,7 +585,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00031">xint::integer::integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00408">operator&gt;&gt;()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00035">xint::integer::integer()</a>, and <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
 
 </div>
 </div>
@@ -791,7 +812,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00126">xint::integer::hex_digits()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00130">xint::integer::hex_digits()</a>.</p>
 
 </div>
 </div>
@@ -847,7 +868,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00022">operator%()</a>, and <a class="el" href="integer_8cpp_source.html#l00171">xint::integer::operator%=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00175">xint::integer::operator%=()</a>.</p>
 
 </div>
 </div>
@@ -999,7 +1020,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00020">operator*()</a>, and <a class="el" href="integer_8cpp_source.html#l00169">xint::integer::operator*=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00173">xint::integer::operator*=()</a>.</p>
 
 </div>
 </div>
@@ -1019,86 +1040,156 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00101">xint::integer::_set_negative()</a>, and <a class="el" href="operators_8cpp_source.html#l00017">operator-()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00105">xint::integer::_set_negative()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aa5b0dc228caee6523766326cf40297cd"></a><!-- doxytag: member="xint::operator&lt;&lt;" ref="aa5b0dc228caee6523766326cf40297cd" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const xint::integer &amp;n)" -->
+<a class="anchor" id="a675c4fe6ddda6db915450d054ed640ba"></a><!-- doxytag: member="xint::operator!" ref="a675c4fe6ddda6db915450d054ed640ba" args="(const xint::integer &amp;num1)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; xint::operator&lt;&lt; </td>
+ <td class="memname">bool xint::operator! </td>
           <td>(</td>
- <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aefda934d0ffacd0f44fcbbdfee19a139"></a><!-- doxytag: member="xint::operator!=" ref="aefda934d0ffacd0f44fcbbdfee19a139" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00381">381</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs()</a>, <a class="el" href="integer_8cpp_source.html#l00122">xint::integer::nan()</a>, <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>, <a class="el" href="integer_8cpp_source.html#l00115">xint::integer::sign()</a>, and <a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string()</a>.</p>
-
 </div>
 </div>
-<a class="anchor" id="a27a0715c66d7350b0f3800f6e161816f"></a><!-- doxytag: member="xint::operator&gt;&gt;" ref="a27a0715c66d7350b0f3800f6e161816f" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, xint::integer &amp;n)" -->
+<a class="anchor" id="ae0505757986a9c7133552552471aae24"></a><!-- doxytag: member="xint::operator%" ref="ae0505757986a9c7133552552471aae24" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; xint::operator&gt;&gt; </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator% </td>
           <td>(</td>
- <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00408">408</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a742550f1c62ac8c2bde8e1ceab2a466c"></a><!-- doxytag: member="xint::operator&amp;" ref="a742550f1c62ac8c2bde8e1ceab2a466c" args="(const integer &amp;n1, const integer &amp;n2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator&amp; </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
-<p>References <a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions()</a>, <a class="el" href="xint_8hpp_source.html#l00086">autobase</a>, <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string()</a>, and <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>.</p>
+</div>
+</div>
+<a class="anchor" id="aea36ad9037f109576d4f95ec72b5c825"></a><!-- doxytag: member="xint::operator*" ref="aea36ad9037f109576d4f95ec72b5c825" args="(const integer &amp;num1, const integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator* </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
 </div>
 </div>
-<a class="anchor" id="a820d89c1d761a0a2c06479b1c1f9cecd"></a><!-- doxytag: member="xint::opt_secure_mode" ref="a820d89c1d761a0a2c06479b1c1f9cecd" args="()" -->
+<a class="anchor" id="a211ff80bb081c08674272cfcae736a93"></a><!-- doxytag: member="xint::operator+" ref="a211ff80bb081c08674272cfcae736a93" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool xint::opt_secure_mode </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator+ </td>
           <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
           <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -1106,14 +1197,15 @@
 
 </div>
 </div>
-<a class="anchor" id="ad55aa4d44083238d9ec313511f5b1dfa"></a><!-- doxytag: member="xint::opt_thread_safe" ref="ad55aa4d44083238d9ec313511f5b1dfa" args="()" -->
+<a class="anchor" id="a586fb0eb69100ec74be94008ac26670d"></a><!-- doxytag: member="xint::operator+" ref="a586fb0eb69100ec74be94008ac26670d" args="(const integer &amp;a)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool xint::opt_thread_safe </td>
+ <td class="memname">const <a class="el" href="classxint_1_1integer.html">integer</a> &amp; xint::operator+ </td>
           <td>(</td>
- <td class="paramname"></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>a</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -1123,21 +1215,21 @@
 
 </div>
 </div>
-<a class="anchor" id="aeee80b61e0cadc12f92752104e281b2c"></a><!-- doxytag: member="xint::pow" ref="aeee80b61e0cadc12f92752104e281b2c" args="(const integer &amp;n, const integer &amp;exponent)" -->
+<a class="anchor" id="a1e09422b575c6d29ea5c0d627b79c28e"></a><!-- doxytag: member="xint::operator&#45;" ref="a1e09422b575c6d29ea5c0d627b79c28e" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator- </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>exponent</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -1150,15 +1242,15 @@
 
 </div>
 </div>
-<a class="anchor" id="aea1ae2a423d401fa02d3f0621078fbf0"></a><!-- doxytag: member="xint::pow2" ref="aea1ae2a423d401fa02d3f0621078fbf0" args="(size_t exponent)" -->
+<a class="anchor" id="a8a510361ed458133ebfa5fd95f8d9c27"></a><!-- doxytag: member="xint::operator&#45;" ref="a8a510361ed458133ebfa5fd95f8d9c27" args="(const integer &amp;a)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow2 </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator- </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>exponent</em></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>a</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -1168,33 +1260,48 @@
 
 </div>
 </div>
-<a class="anchor" id="a1f8b43b537ff9de1d5612ed228a8fbe1"></a><!-- doxytag: member="xint::powmod" ref="a1f8b43b537ff9de1d5612ed228a8fbe1" args="(const integer &amp;n, const integer &amp;exponent, const integer &amp;modulus, bool noMontgomery)" -->
+<a class="anchor" id="a701217f7824c3e935fca25147da23807"></a><!-- doxytag: member="xint::operator/" ref="a701217f7824c3e935fca25147da23807" args="(const integer &amp;num1, const integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::powmod </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator/ </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>exponent</em>, </td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
- <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>modulus</em>, </td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4f4a4771bf443e6724abbd18173ecc86"></a><!-- doxytag: member="xint::operator&lt;" ref="a4f4a4771bf443e6724abbd18173ecc86" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -1207,23 +1314,23 @@
 
 </div>
 </div>
-<a class="anchor" id="a342a8b817f74234c393fd9ed32f13f5f"></a><!-- doxytag: member="xint::random" ref="a342a8b817f74234c393fd9ed32f13f5f" args="(const T &amp;lowest, const T &amp;highest)" -->
+<a class="anchor" id="aa5b0dc228caee6523766326cf40297cd"></a><!-- doxytag: member="xint::operator&lt;&lt;" ref="aa5b0dc228caee6523766326cf40297cd" args="(std::basic_ostream&lt; charT, traits &gt; &amp;out, const xint::integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T &gt; </div>
+template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">T xint::random </td>
+ <td class="memname">std::basic_ostream&lt;charT,traits&gt;&amp; xint::operator&lt;&lt; </td>
           <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>lowest</em>, </td>
+ <td class="paramtype">std::basic_ostream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>highest</em></td><td>&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -1234,81 +1341,173 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00370">370</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00397">397</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>References <a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size()</a>.</p>
+<p>References <a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs()</a>, <a class="el" href="integer_8cpp_source.html#l00126">xint::integer::nan()</a>, <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>, <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>, and <a class="el" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ae04e871bc550a858d66901f64d42b17f"></a><!-- doxytag: member="xint::random" ref="ae04e871bc550a858d66901f64d42b17f" args="(const T &amp;lessThanThis)" -->
+<a class="anchor" id="ab9d5f34c4d4bed1c86380d4f72edcd9b"></a><!-- doxytag: member="xint::operator&lt;=" ref="ab9d5f34c4d4bed1c86380d4f72edcd9b" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">T xint::random </td>
+ <td class="memname">bool xint::operator&lt;= </td>
           <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>lessThanThis</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad32051708c2a2baafa0340e19e90217b"></a><!-- doxytag: member="xint::operator==" ref="ad32051708c2a2baafa0340e19e90217b" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::operator== </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00365">365</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a1229d1f1efbdf3ffeac8b2964ca66093"></a><!-- doxytag: member="xint::operator&gt;" ref="a1229d1f1efbdf3ffeac8b2964ca66093" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::operator&gt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00359">random()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a766324a6f216f3b49a3e9aa885e9531c"></a><!-- doxytag: member="xint::operator&gt;=" ref="a766324a6f216f3b49a3e9aa885e9531c" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::operator&gt;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
 
 </div>
 </div>
-<a class="anchor" id="a5e29caa361379cbda58d21cd569b0513"></a><!-- doxytag: member="xint::random" ref="a5e29caa361379cbda58d21cd569b0513" args="()" -->
+<a class="anchor" id="a27a0715c66d7350b0f3800f6e161816f"></a><!-- doxytag: member="xint::operator&gt;&gt;" ref="a27a0715c66d7350b0f3800f6e161816f" args="(std::basic_istream&lt; charT, traits &gt; &amp;in, xint::integer &amp;n)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T &gt; </div>
+template&lt;typename charT , typename traits &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">T xint::random </td>
+ <td class="memname">std::basic_istream&lt;charT,traits&gt;&amp; xint::operator&gt;&gt; </td>
           <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
+ <td class="paramtype">std::basic_istream&lt; charT, traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00359">359</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00424">424</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00365">random()</a>.</p>
+<p>References <a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions()</a>, <a class="el" href="xint_8hpp_source.html#l00079">autobase</a>, <a class="el" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string()</a>, and <a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">xint::detail::nan_text</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a989d063e3298649704c804efca714ac6"></a><!-- doxytag: member="xint::random&lt; integer &gt;" ref="a989d063e3298649704c804efca714ac6" args="(const integer &amp;lowest, const integer &amp;highest)" -->
+<a class="anchor" id="a81722cd257bc950ba7c56a202492544f"></a><!-- doxytag: member="xint::operator^" ref="a81722cd257bc950ba7c56a202492544f" args="(const integer &amp;n1, const integer &amp;n2)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random&lt; <a class="el" href="classxint_1_1integer.html">integer</a> &gt; </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator^ </td>
           <td>(</td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>lowest</em>, </td>
+ <td class="paramname"> <em>n1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const integer &amp;&nbsp;</td>
- <td class="paramname"> <em>highest</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline]</code></td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -1316,33 +1515,82 @@
 
 </div>
 </div>
-<a class="anchor" id="a6e66ca63ee442c0296ce41280fdae739"></a><!-- doxytag: member="xint::random_by_size" ref="a6e66ca63ee442c0296ce41280fdae739" args="(size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)" -->
+<a class="anchor" id="afa8f2a0ac996ad45efc73b2aa056cae2"></a><!-- doxytag: member="xint::operator|" ref="afa8f2a0ac996ad45efc73b2aa056cae2" args="(const integer &amp;n1, const integer &amp;n2)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_by_size </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::operator| </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>bits</em>, </td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n1</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>highBitOn</em>, </td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
         </tr>
         <tr>
- <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>lowBitOn</em>, </td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a820d89c1d761a0a2c06479b1c1f9cecd"></a><!-- doxytag: member="xint::opt_secure_mode" ref="a820d89c1d761a0a2c06479b1c1f9cecd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::opt_secure_mode </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad55aa4d44083238d9ec313511f5b1dfa"></a><!-- doxytag: member="xint::opt_thread_safe" ref="ad55aa4d44083238d9ec313511f5b1dfa" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool xint::opt_thread_safe </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aeee80b61e0cadc12f92752104e281b2c"></a><!-- doxytag: member="xint::pow" ref="aeee80b61e0cadc12f92752104e281b2c" args="(const integer &amp;n, const integer &amp;exponent)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>canBeNegative</em></td><td>&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>exponent</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -1353,25 +1601,53 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00370">random()</a>.</p>
-
 </div>
 </div>
-<a class="anchor" id="af148d73dc33718f9d893dac821ab699e"></a><!-- doxytag: member="xint::random_prime" ref="af148d73dc33718f9d893dac821ab699e" args="(size_t sizeInBits, callback_t callback)" -->
+<a class="anchor" id="aea1ae2a423d401fa02d3f0621078fbf0"></a><!-- doxytag: member="xint::pow2" ref="aea1ae2a423d401fa02d3f0621078fbf0" args="(size_t exponent)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_prime </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::pow2 </td>
           <td>(</td>
           <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>sizeInBits</em>, </td>
+ <td class="paramname"> <em>exponent</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1f8b43b537ff9de1d5612ed228a8fbe1"></a><!-- doxytag: member="xint::powmod" ref="a1f8b43b537ff9de1d5612ed228a8fbe1" args="(const integer &amp;n, const integer &amp;exponent, const integer &amp;modulus, bool noMontgomery)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::powmod </td>
+ <td>(</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">callback_t&nbsp;</td>
- <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>exponent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const integer &amp;&nbsp;</td>
+ <td class="paramname"> <em>modulus</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>noMontgomery</em></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
@@ -1384,16 +1660,38 @@
 
 </div>
 </div>
-<a class="anchor" id="a16e22040e770d828903bb5d11ed6e046"></a><!-- doxytag: member="xint::seed_fallback" ref="a16e22040e770d828903bb5d11ed6e046" args="()" -->
+<a class="anchor" id="a6e66ca63ee442c0296ce41280fdae739"></a><!-- doxytag: member="xint::random_by_size" ref="a6e66ca63ee442c0296ce41280fdae739" args="(size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void xint::seed_fallback </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_by_size </td>
           <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>bits</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>highBitOn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
           <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>lowBitOn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>canBeNegative</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -1401,17 +1699,26 @@
 
 </div>
 </div>
-<a class="anchor" id="afeca589b50c2c8cb4bea98200ae51dbe"></a><!-- doxytag: member="xint::seed_manual" ref="afeca589b50c2c8cb4bea98200ae51dbe" args="(const std::string &amp;value)" -->
+<a class="anchor" id="af148d73dc33718f9d893dac821ab699e"></a><!-- doxytag: member="xint::random_prime" ref="af148d73dc33718f9d893dac821ab699e" args="(size_t sizeInBits, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">void xint::seed_manual </td>
+ <td class="memname"><a class="el" href="classxint_1_1integer.html">integer</a> xint::random_prime </td>
           <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>value</em></td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>sizeInBits</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
           <td></td>
+ <td class="paramtype">callback_t&nbsp;</td>
+ <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
@@ -1419,21 +1726,28 @@
 
 </div>
 </div>
-<a class="anchor" id="ade2beef1aca9c4ebb119d16c2d068e70"></a><!-- doxytag: member="xint::seed_secure" ref="ade2beef1aca9c4ebb119d16c2d068e70" args="()" -->
+<a class="anchor" id="ab2d0fe2cf11b25d26c1b86280cb4dc99"></a><!-- doxytag: member="xint::set_random_generator" ref="ab2d0fe2cf11b25d26c1b86280cb4dc99" args="(T &amp;gen)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">bool xint::seed_secure </td>
+ <td class="memname">void xint::set_random_generator </td>
           <td>(</td>
- <td class="paramname"></td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em></td>
           <td>&nbsp;)&nbsp;</td>
- <td></td>
+ <td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00391">391</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+<p>References <a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator()</a>.</p>
+
 </div>
 </div>
 <a class="anchor" id="adf2652627e78682c17e120816987984a"></a><!-- doxytag: member="xint::setbit" ref="adf2652627e78682c17e120816987984a" args="(integer &amp;n, size_t bit)" -->
@@ -1515,7 +1829,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00178">xint::integer::operator&lt;&lt;()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00182">xint::integer::operator&lt;&lt;()</a>.</p>
 
 </div>
 </div>
@@ -1544,7 +1858,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00179">xint::integer::operator&gt;&gt;()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00183">xint::integer::operator&gt;&gt;()</a>.</p>
 
 </div>
 </div>
@@ -1636,7 +1950,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="operators_8cpp_source.html#l00019">operator-()</a>, and <a class="el" href="integer_8cpp_source.html#l00146">xint::integer::operator-=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00150">xint::integer::operator-=()</a>.</p>
 
 </div>
 </div>
@@ -1776,23 +2090,6 @@
 
 </div>
 </div>
-<a class="anchor" id="aa1dbeb0c1ad12e8a8de7efb6c47e455f"></a><!-- doxytag: member="xint::testRandom" ref="aa1dbeb0c1ad12e8a8de7efb6c47e455f" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool xint::testRandom </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
 <a class="anchor" id="ae3305f62ca9be58fbc11dbd4c703f38b"></a><!-- doxytag: member="xint::testStreams" ref="ae3305f62ca9be58fbc11dbd4c703f38b" args="()" -->
 <div class="memitem">
 <div class="memproto">
@@ -1828,9 +2125,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00343">343</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00375">375</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>References <a class="el" href="integer_8cpp_source.html#l00210">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00214">xint::integer::_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00218">xint::integer::_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00072">xint::detail::digit_overflowbit</a>, and <a class="el" href="integer_8cpp_source.html#l00115">xint::integer::sign()</a>.</p>
+<p>References <a class="el" href="integer_8cpp_source.html#l00214">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00218">xint::integer::_get_length()</a>, <a class="el" href="integer_8cpp_source.html#l00222">xint::integer::_throw_if_nan()</a>, <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, and <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>.</p>
 
 </div>
 </div>
@@ -1883,7 +2180,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00381">operator&lt;&lt;()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">operator&lt;&lt;()</a>.</p>
 
 </div>
 </div>
@@ -1926,9 +2223,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00086">86</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00079">79</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00408">operator&gt;&gt;()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00424">operator&gt;&gt;()</a>.</p>
 
 </div>
 </div>
@@ -1943,7 +2240,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00084">84</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00077">77</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -1966,7 +2263,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/namespacexint_1_1detail.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -58,12 +58,11 @@
   </div>
 </div>
 <div class="contents">
-<h1>xint::detail Namespace Reference</h1>
-<p>implementation details, normal users should not need to use these.
-More...</p>
-<table border="0" cellpadding="0" cellspacing="0">
+<h1>xint::detail Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1token.html">token</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1random__generator.html">random_generator</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a></td></tr>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a></td></tr>
@@ -71,6 +70,11 @@
 &lt; std::numeric_limits<br class="typebreak"/>
 &lt; <a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> &gt;::digits/2 &gt;<br class="typebreak"/>
 ::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function<br class="typebreak"/>
+&lt; unsigned int()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a> (<a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, <a class="el" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> *obj)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a> ()</td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> = std::numeric_limits&lt;<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&gt;::digits</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">digit_hibit</a> = (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1))</td></tr>
@@ -79,8 +83,6 @@
 <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a> = <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="el" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">nan_text</a></td></tr>
 </table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>implementation details, normal users should not need to use these. </p>
 <hr/><h2>Typedef Documentation</h2>
 <a class="anchor" id="a8843fb7e364832d8d5983de28bdbcf34"></a><!-- doxytag: member="xint::detail::digit_t" ref="a8843fb7e364832d8d5983de28bdbcf34" args="" -->
 <div class="memitem">
@@ -93,7 +95,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00067">67</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00040">40</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -108,7 +110,69 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00065">65</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00038">38</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c9dc00dbbe287492696635ed41dce44"></a><!-- doxytag: member="xint::detail::random_t" ref="a9c9dc00dbbe287492696635ed41dce44" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::function&lt;unsigned int ()&gt; <a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail::random_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00068">68</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a1dfc1e90886c4897a4b112f491b89b62"></a><!-- doxytag: member="xint::detail::get_random" ref="a1dfc1e90886c4897a4b112f491b89b62" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int xint::detail::get_random </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ada65da12642b63f663b50382068a607f"></a><!-- doxytag: member="xint::detail::set_random_generator" ref="ada65da12642b63f663b50382068a607f" args="(random_t fn, base_random_generator *obj)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xint::detail::set_random_generator </td>
+ <td>(</td>
+ <td class="paramtype">random_t&nbsp;</td>
+ <td class="paramname"> <em>fn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">base_random_generator *&nbsp;</td>
+ <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00391">xint::set_random_generator()</a>.</p>
 
 </div>
 </div>
@@ -124,9 +188,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00069">69</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00042">42</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00061">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00251">xint::detail::data_t::shift_left()</a>, and <a class="el" href="data__t_8cpp_source.html#l00279">xint::detail::data_t::shift_right()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">xint::detail::data_t::shift_left()</a>, and <a class="el" href="data__t_8cpp_source.html#l00280">xint::detail::data_t::shift_right()</a>.</p>
 
 </div>
 </div>
@@ -141,7 +205,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00070">70</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00043">43</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -156,9 +220,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00073">73</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00046">46</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00061">xint::integer::_init()</a>, and <a class="el" href="xint_8hpp_source.html#l00319">xint::integer::integer()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, and <a class="el" href="xint_8hpp_source.html#l00345">xint::integer::integer()</a>.</p>
 
 </div>
 </div>
@@ -173,9 +237,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00072">72</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00045">45</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">xint::detail::data_t::invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>, and <a class="el" href="xint_8hpp_source.html#l00343">xint::to()</a>.</p>
+<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">xint::detail::data_t::add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">xint::detail::data_t::invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00225">xint::detail::data_t::subtract()</a>, and <a class="el" href="xint_8hpp_source.html#l00375">xint::to()</a>.</p>
 
 </div>
 </div>
@@ -190,7 +254,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00071">71</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00044">44</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -205,7 +269,7 @@
 </div>
 <div class="memdoc">
 
-<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00381">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00408">xint::operator&gt;&gt;()</a>.</p>
+<p>Referenced by <a class="el" href="xint_8hpp_source.html#l00397">xint::operator&lt;&lt;()</a>, and <a class="el" href="xint_8hpp_source.html#l00424">xint::operator&gt;&gt;()</a>.</p>
 
 </div>
 </div>
@@ -228,7 +292,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -60,309 +60,20 @@
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#afb1bc6b2cfa304d0a0cc05e91233c622">operator+</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#aed0b4dc3caadb337775cebf4434c9b4a">operator-</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#a9b5f3e5db8d7dac5c83687433265d679">operator*</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#ade5c31d601a221f90102f09d3985a1b1">operator/</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#ab5c9d4bfca6c406876f2317fe4ebdc17">operator%</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#a279ea8fa85f56774ecf87a9f70e44986">operator&amp;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#ae43c9ba6b179f6336284e00609951c7c">operator|</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="operators_8cpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operator^</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint::operator+</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint::operator-</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a211ff80bb081c08674272cfcae736a93">xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 </table>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="ab5c9d4bfca6c406876f2317fe4ebdc17"></a><!-- doxytag: member="operators.cpp::operator%" ref="ab5c9d4bfca6c406876f2317fe4ebdc17" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator% </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00022">22</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a279ea8fa85f56774ecf87a9f70e44986"></a><!-- doxytag: member="operators.cpp::operator&amp;" ref="a279ea8fa85f56774ecf87a9f70e44986" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator&amp; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00023">23</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b5f3e5db8d7dac5c83687433265d679"></a><!-- doxytag: member="operators.cpp::operator*" ref="a9b5f3e5db8d7dac5c83687433265d679" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator* </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00020">20</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb1bc6b2cfa304d0a0cc05e91233c622"></a><!-- doxytag: member="operators.cpp::operator+" ref="afb1bc6b2cfa304d0a0cc05e91233c622" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator+ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00018">18</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae6250b27c1717d3dfd4269c899ea1a0f"></a><!-- doxytag: member="operators.cpp::operator+" ref="ae6250b27c1717d3dfd4269c899ea1a0f" args="(const xint::integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">xint::integer</a>&amp; operator+ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00016">16</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aed0b4dc3caadb337775cebf4434c9b4a"></a><!-- doxytag: member="operators.cpp::operator&#45;" ref="aed0b4dc3caadb337775cebf4434c9b4a" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator- </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00019">19</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a686d2e5cc5766a1d8bc21c77f01ffa19"></a><!-- doxytag: member="operators.cpp::operator&#45;" ref="a686d2e5cc5766a1d8bc21c77f01ffa19" args="(const xint::integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator- </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00017">17</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ade5c31d601a221f90102f09d3985a1b1"></a><!-- doxytag: member="operators.cpp::operator/" ref="ade5c31d601a221f90102f09d3985a1b1" args="(const xint::integer &amp;num1, const xint::integer &amp;num2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator/ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>num2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00021">21</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1e8b5454f6cf0c613a259a6ad038b6ac"></a><!-- doxytag: member="operators.cpp::operator^" ref="a1e8b5454f6cf0c613a259a6ad038b6ac" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator^ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00025">25</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae43c9ba6b179f6336284e00609951c7c"></a><!-- doxytag: member="operators.cpp::operator|" ref="ae43c9ba6b179f6336284e00609951c7c" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator| </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00024">24</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or()</a>.</p>
-
-</div>
-</div>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -382,7 +93,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/operators_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -69,16 +69,20 @@
 <a name="l00013"></a>00013
 <a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../xint.hpp&quot;</span>
 <a name="l00015"></a>00015
-<a name="l00016"></a><a class="code" href="xint_8hpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">00016</a> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; <a class="code" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; a) { <span class="keywordflow">return</span> a; }
-<a name="l00017"></a><a class="code" href="xint_8hpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">00017</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate</a>(a); }
-<a name="l00018"></a><a class="code" href="xint_8hpp.html#aaaba5fbb60778e5deaf88549f5ec0278">00018</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add</a>(num1, num2); }
-<a name="l00019"></a><a class="code" href="xint_8hpp.html#a2211cadf1f4c3abe22309fe025449687">00019</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract</a>(num1, num2); }
-<a name="l00020"></a><a class="code" href="xint_8hpp.html#a17b0f742cf4240f0453ecdc690527f55">00020</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a9b5f3e5db8d7dac5c83687433265d679">operator*</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply</a>(num1, num2); }
-<a name="l00021"></a><a class="code" href="xint_8hpp.html#a92017cd694e753636affcb05919a7dc2">00021</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ade5c31d601a221f90102f09d3985a1b1">operator/</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide</a>(num1, num2); }
-<a name="l00022"></a><a class="code" href="xint_8hpp.html#a33c06e966e5497a57df414783f4bd32d">00022</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ab5c9d4bfca6c406876f2317fe4ebdc17">operator%</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod</a>(num1, num2); }
-<a name="l00023"></a><a class="code" href="xint_8hpp.html#a279ea8fa85f56774ecf87a9f70e44986">00023</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a279ea8fa85f56774ecf87a9f70e44986">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and</a>(n1, n2); }
-<a name="l00024"></a><a class="code" href="xint_8hpp.html#ae43c9ba6b179f6336284e00609951c7c">00024</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ae43c9ba6b179f6336284e00609951c7c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or</a>(n1, n2); }
-<a name="l00025"></a><a class="code" href="xint_8hpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">00025</a> <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operator^</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor</a>(n1, n2); }
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>xint {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">const</span> integer&amp; <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> a; }
+<a name="l00019"></a>00019 integer <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(a); }
+<a name="l00020"></a>00020 integer <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(num1, num2); }
+<a name="l00021"></a>00021 integer <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(num1, num2); }
+<a name="l00022"></a>00022 integer <a class="code" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(num1, num2); }
+<a name="l00023"></a>00023 integer <a class="code" href="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(num1, num2); }
+<a name="l00024"></a>00024 integer <a class="code" href="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(num1, num2); }
+<a name="l00025"></a>00025 integer <a class="code" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(n1, n2); }
+<a name="l00026"></a>00026 integer <a class="code" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a>(n1, n2); }
+<a name="l00027"></a>00027 integer <a class="code" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(n1, n2); }
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -98,7 +102,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -64,10 +64,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">xint::pow2</a> (size_t exponent)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">xint::sqr</a> (const integer &amp;n)</td></tr>
@@ -93,7 +89,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/powers_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -102,7 +102,7 @@
 <a name="l00046"></a>00046 std::vector&lt;doubledigit_t&gt; a(ndata-&gt;mLength*2+1, 0);
 <a name="l00047"></a>00047 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> *adigit=&amp;a[0];
 <a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordtype">int</span> i, j;
+<a name="l00049"></a>00049 <span class="keywordtype">size_t</span> i, j;
 <a name="l00050"></a>00050 integer addend;
 <a name="l00051"></a>00051 data_t *addenddata=addend._get_data();
 <a name="l00052"></a>00052 addenddata-&gt;alloc(ndata-&gt;mLength*2+1);
@@ -142,15 +142,15 @@
 <a name="l00086"></a>00086 integer <a class="code" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; exponent) {
 <a name="l00087"></a>00087 <span class="keywordtype">bool</span> neg=(n.sign() &lt; 0 &amp;&amp; exponent.odd());
 <a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keywordtype">int</span> length=exponent.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>(), lastBitCount=0;
+<a name="l00089"></a>00089 <span class="keywordtype">size_t</span> length=exponent.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>(), lastBitCount=0;
 <a name="l00090"></a>00090 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> ee(exponent._get_digit(length-1));
 <a name="l00091"></a>00091 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
 <a name="l00092"></a>00092
-<a name="l00093"></a>00093 integer p(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n)), answer=<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>();
-<a name="l00094"></a>00094 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> eIndex=0; eIndex &lt; length; ++eIndex) {
+<a name="l00093"></a>00093 integer p(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n)), answer=<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
+<a name="l00094"></a>00094 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex=0; eIndex &lt; length; ++eIndex) {
 <a name="l00095"></a>00095 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> e(exponent._get_digit(eIndex));
 <a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keywordtype">int</span> bitCount(eIndex == length-1 ? lastBitCount : <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00097"></a>00097 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == length-1 ? lastBitCount : <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>));
 <a name="l00098"></a>00098 <span class="keywordflow">while</span> (bitCount-- &gt; 0) {
 <a name="l00099"></a>00099 <span class="keywordflow">if</span> (e &amp; 0x01) answer*=p;
 <a name="l00100"></a>00100 p=<a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(p);
@@ -163,7 +163,7 @@
 <a name="l00107"></a>00107 }
 <a name="l00108"></a>00108
 <a name="l00109"></a>00109 integer <a class="code" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a>(<span class="keywordtype">size_t</span> n) {
-<a name="l00110"></a>00110 integer r(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>());
+<a name="l00110"></a>00110 integer r(<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
 <a name="l00111"></a>00111 <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;size_t&gt;::max)()) {
 <a name="l00112"></a>00112 <span class="comment">// It&#39;s highly unlikely that the system will be able to calculate this,</span>
 <a name="l00113"></a>00113 <span class="comment">// or that anyone might want to, but someday it will be possible. This</span>
@@ -196,7 +196,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -63,10 +63,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint::random_prime</a> (size_t sizeInBits, callback_t callback)</td></tr>
@@ -90,7 +86,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/primes_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -105,7 +105,7 @@
 <a name="l00049"></a>00049 <span class="keywordtype">int</span> isProbablePrimeBaseB(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer &amp;b, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>
 <a name="l00050"></a>00050 callback)
 <a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>());
+<a name="l00052"></a>00052 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>());
 <a name="l00053"></a>00053
 <a name="l00054"></a>00054 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
 <a name="l00055"></a>00055 integer r=nMinus1;
@@ -116,7 +116,7 @@
 <a name="l00060"></a>00060 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
 <a name="l00061"></a>00061 <span class="comment">// Otherwise, n fails.</span>
 <a name="l00062"></a>00062 integer test=<a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(b, r, n);
-<a name="l00063"></a>00063 <span class="keywordflow">if</span> (test==<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>() || test==nMinus1) <span class="keywordflow">return</span> 1; <span class="comment">// Better than 3/4 chance it&#39;s prime</span>
+<a name="l00063"></a>00063 <span class="keywordflow">if</span> (test==<a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() || test==nMinus1) <span class="keywordflow">return</span> 1; <span class="comment">// Better than 3/4 chance it&#39;s prime</span>
 <a name="l00064"></a>00064
 <a name="l00065"></a>00065 <span class="keywordflow">while</span> (a--&gt;0) {
 <a name="l00066"></a>00066 test=<a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(test, n);
@@ -143,7 +143,7 @@
 <a name="l00087"></a>00087 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
 <a name="l00088"></a>00088 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
 <a name="l00089"></a>00089 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
-<a name="l00090"></a>00090 <span class="keywordtype">int</span> k=random&lt;int&gt;();
+<a name="l00090"></a>00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k=<a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">detail::get_random</a>();
 <a name="l00091"></a>00091 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(k), callback);
 <a name="l00092"></a>00092 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
 <a name="l00093"></a>00093 }
@@ -186,7 +186,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -64,10 +64,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">xint::abs</a> (const integer &amp;n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate</a> (const integer &amp;_n)</td></tr>
@@ -96,7 +92,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/primitives_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -89,254 +89,241 @@
 <a name="l00033"></a>00033 }
 <a name="l00034"></a>00034
 <a name="l00035"></a>00035 integer <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (n1.sign()==0) <span class="keywordflow">return</span> n2;
-<a name="l00037"></a>00037 <span class="keywordflow">if</span> (n2.sign()==0) <span class="keywordflow">return</span> n1;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keywordtype">bool</span> swapped=<span class="keyword">false</span>;
-<a name="l00040"></a>00040 <span class="keyword">const</span> data_t *n1data=n1.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *n2data=n2._get_data();
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> (n1data-&gt;mLength &lt; n2data-&gt;mLength) { swapped=<span class="keyword">true</span>; std::swap(n1data, n2data); }
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 integer r;
-<a name="l00044"></a>00044 data_t *rdata=r._get_data();
-<a name="l00045"></a>00045 rdata-&gt;copy(n1data, 1);
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (n1.sign() != n2.sign()) {
-<a name="l00048"></a>00048 <span class="keywordtype">int</span> level=n2data-&gt;mLength;
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 integer _n2(swapped ? n1 : n2);
-<a name="l00051"></a>00051 _n2._make_unique();
-<a name="l00052"></a>00052 _n2._get_data()-&gt;invert();
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 rdata-&gt;add(_n2._get_data());
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="keywordflow">if</span> (rdata-&gt;mLength &gt; level) {
-<a name="l00057"></a>00057 --rdata-&gt;digits[level];
-<a name="l00058"></a>00058 rdata-&gt;skipLeadingZeros();
-<a name="l00059"></a>00059 } <span class="keywordflow">else</span> rdata-&gt;invert();
-<a name="l00060"></a>00060 } <span class="keywordflow">else</span> {
-<a name="l00061"></a>00061 rdata-&gt;add(*n2data);
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 <span class="keywordflow">return</span> r;
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 integer <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((n1.sign() &lt; 0) != (n2.sign() &lt; 0)) {
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(n1, -n2);
-<a name="l00069"></a>00069 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1.sign() &lt; 0) {
-<a name="l00070"></a>00070 <span class="keywordflow">return</span> -<a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(-n1, -n2);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="comment">// Signs are both guaranteed positive now.</span>
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keywordflow">if</span> (n1 &lt; n2) {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> -<a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(n2, n1);
-<a name="l00077"></a>00077 } <span class="keywordflow">else</span> {
-<a name="l00078"></a>00078 integer r;
-<a name="l00079"></a>00079 data_t *rdata=r._get_data();
-<a name="l00080"></a>00080 rdata-&gt;copy(n1._get_data());
-<a name="l00081"></a>00081 rdata-&gt;subtract(*n2._get_data());
-<a name="l00082"></a>00082 <span class="keywordflow">return</span> r;
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084 }
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 integer <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (n.sign()==0 || by.sign()==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>();
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">const</span> data_t *ndata=n.<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>(), *bydata=by._get_data();
-<a name="l00090"></a>00090 <span class="keywordflow">if</span> (ndata == bydata) <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(n);
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
-<a name="l00093"></a>00093 <span class="comment">// the sum of the lengths of the operands.</span>
-<a name="l00094"></a>00094 integer answer;
-<a name="l00095"></a>00095 data_t *answerdata=answer._get_data();
-<a name="l00096"></a>00096 answerdata-&gt;alloc(ndata-&gt;mLength + bydata-&gt;mLength);
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
-<a name="l00099"></a>00099 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1 = ndata-&gt;digits, *d1e = d1 + ndata-&gt;mLength;
-<a name="l00100"></a>00100 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2e = bydata-&gt;digits + bydata-&gt;mLength;
-<a name="l00101"></a>00101 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1=0; d1&lt;d1e; ++digit1, ++d1) {
-<a name="l00102"></a>00102 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2=bydata-&gt;digits;
-<a name="l00103"></a>00103 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2=0; d2&lt;d2e; ++digit2, ++d2) {
-<a name="l00104"></a>00104 <span class="comment">// First multiply the two digits</span>
-<a name="l00105"></a>00105 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(*d1) * *d2;
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="comment">// Now add the result to the answer.</span>
-<a name="l00108"></a>00108 <span class="keywordtype">int</span> carry=0;
-<a name="l00109"></a>00109 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *a = answerdata-&gt;digits + digit1 + digit2;
-<a name="l00110"></a>00110 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> addt=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(*a) + (t &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1;
-<a name="l00112"></a>00112 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 addt=*a + ((t &gt;&gt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) + carry;
-<a name="l00115"></a>00115 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1; <span class="keywordflow">else</span> carry=0;
-<a name="l00116"></a>00116 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
+<a name="l00036"></a>00036 <span class="keywordtype">int</span> sign1=n1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), sign2=n2.sign();
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (sign1 != sign2) {
+<a name="l00038"></a>00038 <span class="keywordflow">if</span> (sign1==0) <span class="keywordflow">return</span> n2;
+<a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2==0) <span class="keywordflow">return</span> n1;
+<a name="l00040"></a>00040 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(n1, -n2);
+<a name="l00041"></a>00041 } <span class="keywordflow">else</span> {
+<a name="l00042"></a>00042 <span class="keyword">const</span> data_t *n1data=n1._get_data(), *n2data=n2._get_data();
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (n1data-&gt;mLength &lt; n2data-&gt;mLength) std::swap(n1data, n2data);
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 integer r;
+<a name="l00046"></a>00046 data_t *rdata=r._get_data();
+<a name="l00047"></a>00047 rdata-&gt;copy(n1data, 1);
+<a name="l00048"></a>00048 rdata-&gt;add(*n2data);
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> r;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 integer <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00054"></a>00054 <span class="keywordtype">int</span> sign1=n1.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), sign2=n2.sign();
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (sign1 != sign2) {
+<a name="l00056"></a>00056 <span class="keywordflow">if</span> (sign1 == 0) <span class="keywordflow">return</span> -n2;
+<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 == 0) <span class="keywordflow">return</span> n1;
+<a name="l00058"></a>00058 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(n1, -n2);
+<a name="l00059"></a>00059 } <span class="keywordflow">else</span> {
+<a name="l00060"></a>00060 <span class="keywordtype">bool</span> invert=(sign1 == (n1 &lt; n2 ? 1 : -1));
+<a name="l00061"></a>00061 <span class="keyword">const</span> data_t *n1data=n1._get_data(), *n2data=n2._get_data();
+<a name="l00062"></a>00062 <span class="keywordflow">if</span> (invert) std::swap(n1data, n2data);
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 integer r;
+<a name="l00065"></a>00065 data_t *rdata=r._get_data();
+<a name="l00066"></a>00066 rdata-&gt;copy(n1data);
+<a name="l00067"></a>00067 rdata-&gt;subtract(*n2data);
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> (invert ? -r : r);
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 integer <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
+<a name="l00073"></a>00073 <span class="keywordtype">int</span> nsign=n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>(), bysign=by.sign();
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (nsign==0 || bysign==0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">const</span> data_t *ndata=n._get_data(), *bydata=by._get_data();
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (ndata == bydata) <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(n);
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
+<a name="l00080"></a>00080 <span class="comment">// the sum of the lengths of the operands.</span>
+<a name="l00081"></a>00081 integer answer;
+<a name="l00082"></a>00082 data_t *answerdata=answer._get_data();
+<a name="l00083"></a>00083 answerdata-&gt;alloc(ndata-&gt;mLength + bydata-&gt;mLength);
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
+<a name="l00086"></a>00086 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1 = ndata-&gt;digits, *d1e = d1 + ndata-&gt;mLength;
+<a name="l00087"></a>00087 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2e = bydata-&gt;digits + bydata-&gt;mLength;
+<a name="l00088"></a>00088 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1=0; d1&lt;d1e; ++digit1, ++d1) {
+<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d2=bydata-&gt;digits;
+<a name="l00090"></a>00090 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2=0; d2&lt;d2e; ++digit2, ++d2) {
+<a name="l00091"></a>00091 <span class="comment">// First multiply the two digits</span>
+<a name="l00092"></a>00092 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> t=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(*d1) * *d2;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// Now add the result to the answer.</span>
+<a name="l00095"></a>00095 <span class="keywordtype">int</span> carry=0;
+<a name="l00096"></a>00096 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *a = answerdata-&gt;digits + digit1 + digit2;
+<a name="l00097"></a>00097 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> addt=<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(*a) + (t &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
+<a name="l00098"></a>00098 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1;
+<a name="l00099"></a>00099 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 addt=*a + ((t &gt;&gt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) + carry;
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (addt &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) carry=1; <span class="keywordflow">else</span> carry=0;
+<a name="l00103"></a>00103 *a++=<span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordflow">while</span> (carry) {
+<a name="l00106"></a>00106 addt=*a+1;
+<a name="l00107"></a>00107 *a++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
+<a name="l00108"></a>00108 <span class="keywordflow">if</span> (addt &lt; <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) <span class="keywordflow">break</span>;
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 answer._set_negative(nsign != bysign);
+<a name="l00114"></a>00114 answer._get_data()-&gt;skipLeadingZeros();
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> answer;
+<a name="l00116"></a>00116 }
 <a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keywordflow">while</span> (carry) {
-<a name="l00119"></a>00119 addt=*a+1;
-<a name="l00120"></a>00120 *a++ = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(addt);
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (addt &lt; <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>) <span class="keywordflow">break</span>;
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 answer._set_negative(n.sign() != by.sign());
-<a name="l00127"></a>00127 answer._get_data()-&gt;skipLeadingZeros();
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> answer;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">namespace </span>{
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 std::pair&lt;integer, integer&gt; divideBySingleDigit(<span class="keyword">const</span> integer&amp; d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2) {
-<a name="l00134"></a>00134 <span class="keyword">const</span> data_t *d1data=d1._get_data();
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 integer quotient, remainder;
-<a name="l00137"></a>00137 data_t *qdata=quotient._get_data(), *rdata=remainder._get_data();
-<a name="l00138"></a>00138 qdata-&gt;alloc(d1data-&gt;mLength);
-<a name="l00139"></a>00139 rdata-&gt;alloc(1);
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> a=0;
-<a name="l00142"></a>00142 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> lomask(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
-<a name="l00143"></a>00143 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> himask(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keywordtype">int</span> m = d1data-&gt;mLength - 1;
-<a name="l00146"></a>00146 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1p=d1data-&gt;digits+m;
-<a name="l00147"></a>00147 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *qp=qdata-&gt;digits+m;
-<a name="l00148"></a>00148 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i &gt;= 0; --i, --d1p, --qp) {
-<a name="l00149"></a>00149 a = (a &amp; ~lomask) | *d1p;
-<a name="l00150"></a>00150 *qp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(a / d2);
-<a name="l00151"></a>00151 a = (a &amp; ~himask) | ((a % d2) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 rdata-&gt;digits[0] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>((a &amp; himask) &gt;&gt;
-<a name="l00154"></a>00154 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 qdata-&gt;skipLeadingZeros();
-<a name="l00157"></a>00157 rdata-&gt;skipLeadingZeros();
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 std::pair&lt;integer, integer&gt; subDivide(integer d1, integer d2) {
-<a name="l00162"></a>00162 <span class="keyword">const</span> data_t *ndata=d1._get_data(), *bydata=d2._get_data();
-<a name="l00163"></a>00163 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *nDigits = ndata-&gt;digits, *byDigits = bydata-&gt;digits;
-<a name="l00164"></a>00164 <span class="keywordtype">int</span> nMSD = ndata-&gt;mLength-1, byMSD = bydata-&gt;mLength-1;
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="comment">// The normalization step</span>
-<a name="l00167"></a>00167 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> /
-<a name="l00168"></a>00168 (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(byDigits[byMSD])+1));
-<a name="l00169"></a>00169 <span class="keywordflow">if</span> (d &gt; 1) {
-<a name="l00170"></a>00170 d1 *= d;
-<a name="l00171"></a>00171 d2 *= d;
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="comment">// Gotta reset these</span>
-<a name="l00174"></a>00174 ndata = d1._get_data();
-<a name="l00175"></a>00175 bydata = d2._get_data();
-<a name="l00176"></a>00176 nDigits = ndata-&gt;digits;
-<a name="l00177"></a>00177 byDigits = bydata-&gt;digits;
-<a name="l00178"></a>00178 nMSD = ndata-&gt;mLength-1;
-<a name="l00179"></a>00179 byMSD = bydata-&gt;mLength-1;
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182 assert(byDigits[byMSD] &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> / 2);
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 <span class="comment">// We have to figure out which digit is going to be the first one. We&#39;ll do</span>
-<a name="l00185"></a>00185 <span class="comment">// that by cutting the least-significant digits of the dividend until it</span>
-<a name="l00186"></a>00186 <span class="comment">// has the same number of digits as the divisor; if what remains is greater</span>
-<a name="l00187"></a>00187 <span class="comment">// than the divisor, then we start there, otherwise that one&#39;s zero and we</span>
-<a name="l00188"></a>00188 <span class="comment">// start on the next lower one.</span>
-<a name="l00189"></a>00189 <span class="keywordtype">int</span> highestQuotientDigit=(nMSD - byMSD);
-<a name="l00190"></a>00190 integer nTest(d1);
-<a name="l00191"></a>00191 nTest -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>();
-<a name="l00192"></a>00192 nTest &gt;&gt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * highestQuotientDigit);
-<a name="l00193"></a>00193 <span class="keywordflow">if</span> (nTest &lt; d2) --highestQuotientDigit;
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 integer quotient, w;
-<a name="l00196"></a>00196 data_t *qdata=quotient._get_data();
-<a name="l00197"></a>00197 qdata-&gt;alloc(highestQuotientDigit + 1);
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = highestQuotientDigit; j &gt;= 0; --j) {
-<a name="l00200"></a>00200 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> q = (nDigits[nMSD] &gt; byDigits[byMSD] ?
-<a name="l00201"></a>00201 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) / byDigits[byMSD] :
-<a name="l00202"></a>00202 ((<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) +
-<a name="l00203"></a>00203 nDigits[nMSD-1]) / byDigits[byMSD]);
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> loopcount=0;
-<a name="l00206"></a>00206 <span class="keywordflow">while</span> (1) {
-<a name="l00207"></a>00207 w=(d2 * q);
-<a name="l00208"></a>00208 w &lt;&lt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * j);
+<a name="l00118"></a>00118 <span class="keyword">namespace </span>{
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 std::pair&lt;integer, integer&gt; divideBySingleDigit(<span class="keyword">const</span> integer&amp; d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2) {
+<a name="l00121"></a>00121 <span class="keyword">const</span> data_t *d1data=d1._get_data();
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 integer quotient, remainder;
+<a name="l00124"></a>00124 data_t *qdata=quotient._get_data(), *rdata=remainder._get_data();
+<a name="l00125"></a>00125 qdata-&gt;alloc(d1data-&gt;mLength);
+<a name="l00126"></a>00126 rdata-&gt;alloc(1);
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> a=0;
+<a name="l00129"></a>00129 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> lomask(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>);
+<a name="l00130"></a>00130 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> himask(<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="keywordtype">int</span> m = int(d1data-&gt;mLength) - 1;
+<a name="l00133"></a>00133 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *d1p=d1data-&gt;digits+m;
+<a name="l00134"></a>00134 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *qp=qdata-&gt;digits+m;
+<a name="l00135"></a>00135 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i &gt;= 0; --i, --d1p, --qp) {
+<a name="l00136"></a>00136 a = (a &amp; ~lomask) | *d1p;
+<a name="l00137"></a>00137 *qp = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(a / d2);
+<a name="l00138"></a>00138 a = (a &amp; ~himask) | ((a % d2) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 rdata-&gt;digits[0] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>((a &amp; himask) &gt;&gt;
+<a name="l00141"></a>00141 <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 qdata-&gt;skipLeadingZeros();
+<a name="l00144"></a>00144 rdata-&gt;skipLeadingZeros();
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 std::pair&lt;integer, integer&gt; subDivide(integer d1, integer d2) {
+<a name="l00149"></a>00149 <span class="keyword">const</span> data_t *ndata=d1._get_data(), *bydata=d2._get_data();
+<a name="l00150"></a>00150 <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *nDigits = ndata-&gt;digits, *byDigits = bydata-&gt;digits;
+<a name="l00151"></a>00151 <span class="keywordtype">size_t</span> nMSD = ndata-&gt;mLength-1, byMSD = bydata-&gt;mLength-1;
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="comment">// The normalization step</span>
+<a name="l00154"></a>00154 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> /
+<a name="l00155"></a>00155 (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(byDigits[byMSD])+1));
+<a name="l00156"></a>00156 <span class="keywordflow">if</span> (d &gt; 1) {
+<a name="l00157"></a>00157 d1 *= d;
+<a name="l00158"></a>00158 d2 *= d;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="comment">// Gotta reset these</span>
+<a name="l00161"></a>00161 ndata = d1._get_data();
+<a name="l00162"></a>00162 bydata = d2._get_data();
+<a name="l00163"></a>00163 nDigits = ndata-&gt;digits;
+<a name="l00164"></a>00164 byDigits = bydata-&gt;digits;
+<a name="l00165"></a>00165 nMSD = ndata-&gt;mLength-1;
+<a name="l00166"></a>00166 byMSD = bydata-&gt;mLength-1;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 }
+<a name="l00169"></a>00169 assert(byDigits[byMSD] &gt;= <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> / 2);
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="comment">// We have to figure out which digit is going to be the first one. We&#39;ll do</span>
+<a name="l00172"></a>00172 <span class="comment">// that by cutting the least-significant digits of the dividend until it</span>
+<a name="l00173"></a>00173 <span class="comment">// has the same number of digits as the divisor; if what remains is greater</span>
+<a name="l00174"></a>00174 <span class="comment">// than the divisor, then we start there, otherwise that one&#39;s zero and we</span>
+<a name="l00175"></a>00175 <span class="comment">// start on the next lower one.</span>
+<a name="l00176"></a>00176 <span class="keywordtype">size_t</span> highestQuotientDigit=(nMSD - byMSD);
+<a name="l00177"></a>00177 integer nTest(d1);
+<a name="l00178"></a>00178 nTest -= <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>();
+<a name="l00179"></a>00179 nTest &gt;&gt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * highestQuotientDigit);
+<a name="l00180"></a>00180 <span class="keywordflow">if</span> (nTest &lt; d2) --highestQuotientDigit;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 integer quotient, w;
+<a name="l00183"></a>00183 data_t *qdata=quotient._get_data();
+<a name="l00184"></a>00184 qdata-&gt;alloc(highestQuotientDigit + 1);
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = <span class="keywordtype">int</span>(highestQuotientDigit); j &gt;= 0; --j) {
+<a name="l00187"></a>00187 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> q = (nDigits[nMSD] &gt; byDigits[byMSD] ?
+<a name="l00188"></a>00188 <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) / byDigits[byMSD] :
+<a name="l00189"></a>00189 ((<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(nDigits[nMSD]) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>) +
+<a name="l00190"></a>00190 nDigits[nMSD-1]) / byDigits[byMSD]);
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> loopcount=0;
+<a name="l00193"></a>00193 <span class="keywordflow">while</span> (1) {
+<a name="l00194"></a>00194 w=(d2 * q);
+<a name="l00195"></a>00195 w &lt;&lt;= (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> * j);
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 w = d1 - w;
+<a name="l00198"></a>00198 <span class="keywordflow">if</span> (w.sign() &lt; 0) {
+<a name="l00199"></a>00199 --q;
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="comment">// Our estimate should only be off by a maximum of two, so this</span>
+<a name="l00202"></a>00202 <span class="comment">// while loop should only run twice each time, at most.</span>
+<a name="l00203"></a>00203 assert(++loopcount &lt;= 2);
+<a name="l00204"></a>00204 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 qdata-&gt;digits[j] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(q);
+<a name="l00208"></a>00208 <span class="keywordflow">if</span> (w &lt; d2) <span class="keywordflow">break</span>;
 <a name="l00209"></a>00209
-<a name="l00210"></a>00210 w = d1 - w;
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (w.sign() &lt; 0) {
-<a name="l00212"></a>00212 --q;
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="comment">// Our estimate should only be off by a maximum of two, so this</span>
-<a name="l00215"></a>00215 <span class="comment">// while loop should only run twice each time, at most.</span>
-<a name="l00216"></a>00216 assert(++loopcount &lt;= 2);
-<a name="l00217"></a>00217 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00218"></a>00218 }
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 qdata-&gt;digits[j] = <span class="keyword">static_cast&lt;</span><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a><span class="keyword">&gt;</span>(q);
-<a name="l00221"></a>00221 <span class="keywordflow">if</span> (w &lt; d2) <span class="keywordflow">break</span>;
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 d1 = w;
-<a name="l00224"></a>00224 ndata=d1._get_data();
-<a name="l00225"></a>00225 nDigits = ndata-&gt;digits;
-<a name="l00226"></a>00226 nMSD = ndata-&gt;mLength-1;
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="keywordflow">if</span> (d &gt; 1) {
-<a name="l00230"></a>00230 <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
-<a name="l00231"></a>00231 integer remainder=divideBySingleDigit(w, d).first;
-<a name="l00232"></a>00232 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
-<a name="l00233"></a>00233 } <span class="keywordflow">else</span> {
-<a name="l00234"></a>00234 <span class="keywordflow">return</span> std::make_pair(quotient, w);
-<a name="l00235"></a>00235 }
-<a name="l00236"></a>00236 }
-<a name="l00237"></a>00237
-<a name="l00238"></a>00238 } <span class="comment">// namespace</span>
+<a name="l00210"></a>00210 d1 = w;
+<a name="l00211"></a>00211 ndata=d1._get_data();
+<a name="l00212"></a>00212 nDigits = ndata-&gt;digits;
+<a name="l00213"></a>00213 nMSD = ndata-&gt;mLength-1;
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keywordflow">if</span> (d &gt; 1) {
+<a name="l00217"></a>00217 <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
+<a name="l00218"></a>00218 integer remainder=divideBySingleDigit(w, d).first;
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> std::make_pair(quotient, remainder);
+<a name="l00220"></a>00220 } <span class="keywordflow">else</span> {
+<a name="l00221"></a>00221 <span class="keywordflow">return</span> std::make_pair(quotient, w);
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 } <span class="comment">// namespace</span>
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 integer <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
+<a name="l00228"></a>00228 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(dividend, divisor).first;
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> integer&amp; d1, <span class="keyword">const</span>
+<a name="l00232"></a>00232 integer&amp; d2)
+<a name="l00233"></a>00233 {
+<a name="l00234"></a>00234 <span class="keywordtype">int</span> sign1=d1.sign(), sign2=d2.sign();
+<a name="l00235"></a>00235 <span class="keywordflow">if</span> (sign2==0) {
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> divide_by_zero();
+<a name="l00237"></a>00237 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::make_pair(integer(not_a_number()), integer(not_a_number()));
+<a name="l00238"></a>00238 }
 <a name="l00239"></a>00239
-<a name="l00240"></a>00240 integer <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
-<a name="l00241"></a>00241 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(dividend, divisor).first;
-<a name="l00242"></a>00242 }
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> integer&amp; d1, <span class="keyword">const</span>
-<a name="l00245"></a>00245 integer&amp; d2)
-<a name="l00246"></a>00246 {
-<a name="l00247"></a>00247 <span class="keywordtype">int</span> sign1=d1.sign(), sign2=d2.sign();
-<a name="l00248"></a>00248 <span class="keywordflow">if</span> (sign2==0) {
-<a name="l00249"></a>00249 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> divide_by_zero();
-<a name="l00250"></a>00250 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::make_pair(integer(not_a_number()), integer(not_a_number()));
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <span class="keywordtype">int</span> comp=<a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(d1, d2, <span class="keyword">true</span>);
-<a name="l00254"></a>00254 <span class="keywordflow">if</span> (comp&lt;0) {
-<a name="l00255"></a>00255 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>(), d1);
-<a name="l00256"></a>00256 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp==0) {
-<a name="l00257"></a>00257 <span class="keywordflow">return</span> std::make_pair(sign1 != sign2 ? <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">integer::one</a>() : integer(-1),
-<a name="l00258"></a>00258 <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>());
-<a name="l00259"></a>00259 }
-<a name="l00260"></a>00260
-<a name="l00261"></a>00261 <span class="keywordflow">if</span> (sign1 &lt; 0 &amp;&amp; sign2 &lt; 0) {
-<a name="l00262"></a>00262 std::pair&lt;integer, integer&gt; a=subDivide(-d1, -d2);
-<a name="l00263"></a>00263 a.second._set_negative(<span class="keyword">true</span>);
-<a name="l00264"></a>00264 <span class="keywordflow">return</span> a;
-<a name="l00265"></a>00265 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 &lt; 0) {
-<a name="l00266"></a>00266 std::pair&lt;integer, integer&gt; a=subDivide(-d1, d2);
-<a name="l00267"></a>00267 a.first._set_negative(<span class="keyword">true</span>);
-<a name="l00268"></a>00268 a.second._set_negative(<span class="keyword">true</span>);
-<a name="l00269"></a>00269 <span class="keywordflow">return</span> a;
-<a name="l00270"></a>00270 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 &lt; 0) {
-<a name="l00271"></a>00271 std::pair&lt;integer, integer&gt; a=subDivide(d1, -d2);
-<a name="l00272"></a>00272 a.first._set_negative(<span class="keyword">true</span>);
-<a name="l00273"></a>00273 <span class="keywordflow">return</span> a;
-<a name="l00274"></a>00274 };
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (d2._get_data()-&gt;mLength == 1) {
-<a name="l00277"></a>00277 <span class="keywordflow">return</span> divideBySingleDigit(d1, d2._get_data()-&gt;digits[0]);
-<a name="l00278"></a>00278 } <span class="keywordflow">else</span> {
-<a name="l00279"></a>00279 <span class="keywordflow">return</span> subDivide(d1, d2);
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281 }
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 } <span class="comment">// namespace xint</span>
+<a name="l00240"></a>00240 <span class="keywordtype">int</span> comp=<a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(d1, d2, <span class="keyword">true</span>);
+<a name="l00241"></a>00241 <span class="keywordflow">if</span> (comp&lt;0) {
+<a name="l00242"></a>00242 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>(), d1);
+<a name="l00243"></a>00243 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp==0) {
+<a name="l00244"></a>00244 <span class="keywordflow">return</span> std::make_pair(sign1 != sign2 ? <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">integer::one</a>() : integer(-1),
+<a name="l00245"></a>00245 <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>());
+<a name="l00246"></a>00246 }
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keywordflow">if</span> (sign1 &lt; 0 &amp;&amp; sign2 &lt; 0) {
+<a name="l00249"></a>00249 std::pair&lt;integer, integer&gt; a=subDivide(-d1, -d2);
+<a name="l00250"></a>00250 a.second._set_negative(<span class="keyword">true</span>);
+<a name="l00251"></a>00251 <span class="keywordflow">return</span> a;
+<a name="l00252"></a>00252 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 &lt; 0) {
+<a name="l00253"></a>00253 std::pair&lt;integer, integer&gt; a=subDivide(-d1, d2);
+<a name="l00254"></a>00254 a.first._set_negative(<span class="keyword">true</span>);
+<a name="l00255"></a>00255 a.second._set_negative(<span class="keyword">true</span>);
+<a name="l00256"></a>00256 <span class="keywordflow">return</span> a;
+<a name="l00257"></a>00257 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 &lt; 0) {
+<a name="l00258"></a>00258 std::pair&lt;integer, integer&gt; a=subDivide(d1, -d2);
+<a name="l00259"></a>00259 a.first._set_negative(<span class="keyword">true</span>);
+<a name="l00260"></a>00260 <span class="keywordflow">return</span> a;
+<a name="l00261"></a>00261 };
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="keywordflow">if</span> (d2._get_data()-&gt;mLength == 1) {
+<a name="l00264"></a>00264 <span class="keywordflow">return</span> divideBySingleDigit(d1, d2._get_data()-&gt;digits[0]);
+<a name="l00265"></a>00265 } <span class="keywordflow">else</span> {
+<a name="l00266"></a>00266 <span class="keywordflow">return</span> subDivide(d1, d2);
+<a name="l00267"></a>00267 }
+<a name="l00268"></a>00268 }
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -356,7 +343,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -61,98 +61,66 @@
 <code>#include &lt;vector&gt;</code><br/>
 <code>#include &lt;sstream&gt;</code><br/>
 <code>#include &lt;fstream&gt;</code><br/>
-<code>#include &lt;boost/crc.hpp&gt;</code><br/>
+<code>#include &lt;ctime&gt;</code><br/>
 <code>#include &lt;boost/random/mersenne_twister.hpp&gt;</code><br/>
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1strong__random__generator_1_1impl__t.html">xint::strong_random_generator::impl_t</a></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">xint::seed_secure</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">xint::seed_fallback</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">xint::seed_manual</a> (const std::string &amp;value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator</a> (random_t fn, base_random_generator *obj)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail::get_random</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">strong_random_generator::result_type <br class="typebreak"/>
+strong_random_generator::min&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">xint::BOOST_PREVENT_MACRO_SUBSTITUTION</a> () const </td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint::random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a989d063e3298649704c804efca714ac6">xint::random&lt; integer &gt;</a> (const integer &amp;lowest, const integer &amp;highest)</td></tr>
 </table>
 <hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a5223229006a12ebbbbdfb70c32f58844"></a><!-- doxytag: member="random.cpp::cSeedMaximumBytes" ref="a5223229006a12ebbbbdfb70c32f58844" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const size_t <a class="el" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">cSeedMaximumBytes</a> = 4096<code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00086">86</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad94db68c58845e9483f2241232395966"></a><!-- doxytag: member="random.cpp::mGen" ref="ad94db68c58845e9483f2241232395966" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">internal_generator_t* <a class="el" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00094">94</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d6e1aeab9ee350c5d9b29ea31b02573"></a><!-- doxytag: member="random.cpp::mNumber" ref="a7d6e1aeab9ee350c5d9b29ea31b02573" args="" -->
+<a class="anchor" id="a238ff0f867d5c1cbee8f90025cf78d84"></a><!-- doxytag: member="random.cpp::mDefaultGenerator" ref="a238ff0f867d5c1cbee8f90025cf78d84" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">int <a class="el" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">mNumber</a></td>
+ <td class="memname">std::auto_ptr&lt;default_random_t&gt; <a class="el" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a><code> [static]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00089">89</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00072">72</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a7fadbfa933b8181768eb9e2a6cb5379f"></a><!-- doxytag: member="random.cpp::mSeeded" ref="a7fadbfa933b8181768eb9e2a6cb5379f" args="" -->
+<a class="anchor" id="ab29291663b453f8de2fecf35aa62e1d8"></a><!-- doxytag: member="random.cpp::mGeneratorFn" ref="ab29291663b453f8de2fecf35aa62e1d8" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">bool <a class="el" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">mSeeded</a><code> [static]</code></td>
+ <td class="memname">random_t <a class="el" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a><code> [static]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00095">95</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00070">70</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a53e7e690c68e339c9e7b89593957137a"></a><!-- doxytag: member="random.cpp::mString" ref="a53e7e690c68e339c9e7b89593957137a" args="" -->
+<a class="anchor" id="a5a10f5470776b1e8b6c0dd791a9baa6a"></a><!-- doxytag: member="random.cpp::mGeneratorObj" ref="a5a10f5470776b1e8b6c0dd791a9baa6a" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">std::string <a class="el" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">mString</a></td>
+ <td class="memname">std::auto_ptr&lt;base_random_generator&gt; <a class="el" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a><code> [static]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00088">88</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00071">71</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -175,7 +143,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/random_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -73,222 +73,198 @@
 <a name="l00017"></a>00017 <span class="preprocessor">#include &lt;vector&gt;</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include &lt;sstream&gt;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &lt;fstream&gt;</span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/crc.hpp&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#endif</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span>
-<a name="l00028"></a>00028 <span class="preprocessor">#ifdef _WIN32</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"> #define STRICT</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor"> #define WIN32_LEAN_AND_MEAN</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor"> #define NOMINMAX</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor"> #include &lt;TCHAR.h&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#endif</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span>
-<a name="l00036"></a>00036 <span class="keyword">namespace </span>xint {
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">using namespace </span>detail;
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keyword">namespace </span>{
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="keyword">class </span>generator_t {
-<a name="l00043"></a>00043 <span class="keyword">typedef</span> boost::mt19937 internal_generator_t;
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keyword">public</span>:
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> internal_generator_t::result_type result_type;
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00049"></a>00049 <span class="preprocessor"></span> generator_t() { mLock.lock(); init(); }
-<a name="l00050"></a>00050 ~generator_t() { mLock.unlock(); }
-<a name="l00051"></a>00051 <span class="preprocessor"> #else</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span> generator_t() { init(); }
-<a name="l00053"></a>00053 <span class="preprocessor"> #endif</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>
-<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(<span class="keyword">const</span> std::string&amp; bytes);
-<a name="l00056"></a>00056 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">seed_secure</a>();
-<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">seed_fallback</a>();
-<a name="l00058"></a>00058 result_type operator()();
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;ctime&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#endif</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#ifdef _WIN32</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor"> #define STRICT</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"> #define WIN32_LEAN_AND_MEAN</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor"> #define NOMINMAX</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor"> #include &lt;TCHAR.h&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>xint {
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">using namespace </span>detail;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">namespace </span>{
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">class </span>generator_t {
+<a name="l00042"></a>00042 <span class="keyword">public</span>:
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">base_random_generator::result_type</a> result_type;
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> boost::mt19937 default_random_t;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span> generator_t() { mLock.lock(); init(); }
+<a name="l00048"></a>00048 ~generator_t() { mLock.unlock(); }
+<a name="l00049"></a>00049 <span class="preprocessor"> #else</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span> generator_t() { init(); }
+<a name="l00051"></a>00051 <span class="preprocessor"> #endif</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00053"></a>00053 result_type operator()() { <span class="keywordflow">return</span> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>(); }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keywordtype">void</span> set_generator(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> g, base_random_generator *p) {
+<a name="l00056"></a>00056 <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a>.reset(p);
+<a name="l00057"></a>00057 <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>=g;
+<a name="l00058"></a>00058 }
 <a name="l00059"></a>00059
 <a name="l00060"></a>00060 <span class="keyword">private</span>:
-<a name="l00061"></a>00061 <span class="keyword">class </span>SeedGenerator {
-<a name="l00062"></a>00062 <span class="keyword">public</span>:
-<a name="l00063"></a>00063 SeedGenerator(<span class="keyword">const</span> std::string&amp; seedstring): <a class="code" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">mString</a>(seedstring.substr(0,
-<a name="l00064"></a>00064 <a class="code" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">cSeedMaximumBytes</a>)), <a class="code" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">mNumber</a>(0) { }
-<a name="l00065"></a>00065 internal_generator_t::result_type operator()() {
-<a name="l00066"></a>00066 std::ostringstream s1;
-<a name="l00067"></a>00067 s1 &lt;&lt; <a class="code" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">mNumber</a>++ &lt;&lt; <a class="code" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">mString</a>;
-<a name="l00068"></a>00068 std::string s2=s1.str();
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> init() {
+<a name="l00062"></a>00062 <span class="keywordflow">if</span> (!<a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>) {
+<a name="l00063"></a>00063 <span class="keyword">typedef</span> default_random_t T;
+<a name="l00064"></a>00064 <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a>.reset(<span class="keyword">new</span> T(boost::uint32_t(time(0)+clock())));
+<a name="l00065"></a>00065 random_generator&lt;T&gt; *obj=<span class="keyword">new</span> random_generator&lt;T&gt;(*mDefaultGenerator);
+<a name="l00066"></a>00066 set_generator(*obj, obj);
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 }
 <a name="l00069"></a>00069
-<a name="l00070"></a>00070 boost::crc_32_type crc;
-<a name="l00071"></a>00071 crc.process_bytes(s2.c_str(), s2.length());
-<a name="l00072"></a>00072 <span class="keywordflow">return</span> crc.checksum();
-<a name="l00073"></a>00073 }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="preprocessor"> #ifdef XINT_SECURE</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keywordtype">char</span> zero(<span class="keywordtype">char</span>) { <span class="keywordflow">return</span> 0; }
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 ~SeedGenerator() {
-<a name="l00079"></a>00079 <a class="code" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">mNumber</a>=0;
-<a name="l00080"></a>00080 std::transform(mString.begin(), mString.end(), mString.begin(),
-<a name="l00081"></a>00081 zero);
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083 <span class="preprocessor"> #endif</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span>
-<a name="l00085"></a>00085 <span class="keyword">private</span>:
-<a name="l00086"></a><a class="code" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">00086</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="random_8cpp.html#a5223229006a12ebbbbdfb70c32f58844">cSeedMaximumBytes</a>=4096;
-<a name="l00087"></a>00087
-<a name="l00088"></a><a class="code" href="random_8cpp.html#a53e7e690c68e339c9e7b89593957137a">00088</a> std::string mString;
-<a name="l00089"></a><a class="code" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">00089</a> <span class="keywordtype">int</span> <a class="code" href="random_8cpp.html#a7d6e1aeab9ee350c5d9b29ea31b02573">mNumber</a>;
-<a name="l00090"></a>00090 };
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keywordtype">void</span> init();
-<a name="l00093"></a>00093
-<a name="l00094"></a><a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">00094</a> <span class="keyword">static</span> internal_generator_t *<a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a>;
-<a name="l00095"></a><a class="code" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">00095</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">mSeeded</a>;
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span> <span class="keyword">static</span> boost::mutex mLock;
-<a name="l00099"></a>00099 <span class="preprocessor"> #endif</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span>};
+<a name="l00070"></a><a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">00070</a> <span class="keyword">static</span> <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">mGeneratorFn</a>;
+<a name="l00071"></a><a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">00071</a> <span class="keyword">static</span> std::auto_ptr&lt;base_random_generator&gt; <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">mGeneratorObj</a>;
+<a name="l00072"></a><a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">00072</a> <span class="keyword">static</span> std::auto_ptr&lt;default_random_t&gt; <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">mDefaultGenerator</a>;
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="keyword">static</span> boost::mutex mLock;
+<a name="l00076"></a>00076 <span class="preprocessor"> #endif</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>};
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 std::auto_ptr&lt;base_random_generator&gt; <a class="code" href="random_8cpp.html#a5a10f5470776b1e8b6c0dd791a9baa6a">generator_t::mGeneratorObj</a>;
+<a name="l00080"></a>00080 std::auto_ptr&lt;generator_t::default_random_t&gt; <a class="code" href="random_8cpp.html#a238ff0f867d5c1cbee8f90025cf78d84">generator_t::mDefaultGenerator</a>;
+<a name="l00081"></a>00081 <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> <a class="code" href="random_8cpp.html#ab29291663b453f8de2fecf35aa62e1d8">generator_t::mGeneratorFn</a>;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span> boost::mutex generator_t::mLock;
+<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span>
+<a name="l00087"></a>00087 } <span class="comment">// namespace</span>
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">namespace </span>detail {
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a>(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, base_random_generator *obj) {
+<a name="l00092"></a>00092 generator_t::set_generator(fn, obj);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a>() {
+<a name="l00096"></a>00096 generator_t gen;
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> gen();
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 } <span class="comment">// namespace detail</span>
 <a name="l00101"></a>00101
-<a name="l00102"></a>00102 generator_t::internal_generator_t *<a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">generator_t::mGen</a>=0;
-<a name="l00103"></a>00103 <span class="keywordtype">bool</span> <a class="code" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">generator_t::mSeeded</a>=<span class="keyword">false</span>;
+<a name="l00103"></a>00103 <span class="comment">// The secure random generator</span>
 <a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00106"></a>00106 <span class="preprocessor"></span> boost::mutex generator_t::mLock;
-<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
-<a name="l00108"></a>00108 <span class="preprocessor"></span>
-<a name="l00109"></a>00109 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">generator_t::seed_manual</a>(<span class="keyword">const</span> std::string&amp; bytes) {
-<a name="l00110"></a>00110 SeedGenerator gen(bytes);
-<a name="l00111"></a>00111 <a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a>-&gt;seed(gen);
-<a name="l00112"></a>00112 <a class="code" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">mSeeded</a>=<span class="keyword">true</span>;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">generator_t::seed_secure</a>() {
-<a name="l00116"></a>00116 <span class="keyword">const</span> <span class="keywordtype">int</span> cBitsRequested=256,
-<a name="l00117"></a>00117 cBytesRequested=cBitsRequested / std::numeric_limits&lt;char&gt;::digits;
-<a name="l00118"></a>00118 <span class="keywordtype">bool</span> success=<span class="keyword">false</span>;
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="preprocessor"> #ifdef _WIN32</span>
-<a name="l00121"></a>00121 <span class="preprocessor"></span> <span class="comment">// This should work under WinXP, Vista, and Win7. No guarantees about</span>
-<a name="l00122"></a>00122 <span class="comment">// future compatibility, but I doubt that Microsoft will get rid of it</span>
-<a name="l00123"></a>00123 <span class="comment">// (it&#39;s too useful), and I doubt that they&#39;ll change it now that it&#39;s</span>
-<a name="l00124"></a>00124 <span class="comment">// well-known (it would break too many programs). We could also use the</span>
-<a name="l00125"></a>00125 <span class="comment">// rand_s function in more recent versions of Visual C++, but that</span>
-<a name="l00126"></a>00126 <span class="comment">// causes compatibility problems with older versions of Windows.</span>
-<a name="l00127"></a>00127 <span class="keyword">typedef</span> BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
-<a name="l00128"></a>00128 HMODULE dll=LoadLibrary(_T(<span class="stringliteral">&quot;Advapi32.dll&quot;</span>));
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> (dll != 0) {
-<a name="l00130"></a>00130 RtlGenRandomFn RtlGenRandom=RtlGenRandomFn(GetProcAddress(dll,
-<a name="l00131"></a>00131 <span class="stringliteral">&quot;SystemFunction036&quot;</span>));
-<a name="l00132"></a>00132 <span class="keywordflow">if</span> (RtlGenRandom != 0) {
-<a name="l00133"></a>00133 std::vector&lt;char&gt; buffer(cBytesRequested, <span class="charliteral">&#39;\0&#39;</span>);
-<a name="l00134"></a>00134 <span class="keywordflow">if</span> (RtlGenRandom(&amp;buffer[0], cBytesRequested)) {
-<a name="l00135"></a>00135 <span class="keywordtype">char</span> *c=&amp;buffer[0];
-<a name="l00136"></a>00136 <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(std::string(c, c+cBytesRequested));
-<a name="l00137"></a>00137 success=<span class="keyword">true</span>;
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140 FreeLibrary(dll);
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 <span class="preprocessor"> #else</span>
-<a name="l00143"></a>00143 <span class="preprocessor"></span> <span class="comment">// This should be supported under most non-Windows systems. Note that</span>
-<a name="l00144"></a>00144 <span class="comment">// we&#39;re using /dev/urandom, not /dev/random -- /dev/random is more</span>
-<a name="l00145"></a>00145 <span class="comment">// secure, but it can be VERY slow.</span>
-<a name="l00146"></a>00146 std::ifstream rng(<span class="stringliteral">&quot;/dev/urandom&quot;</span>);
-<a name="l00147"></a>00147 <span class="keywordflow">if</span> (rng) {
-<a name="l00148"></a>00148 std::string rstr;
-<a name="l00149"></a>00149 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; cBytesRequested; ++i)
-<a name="l00150"></a>00150 rstr.push_back(rng.get());
-<a name="l00151"></a>00151 <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(rstr);
-<a name="l00152"></a>00152 success=<span class="keyword">true</span>;
-<a name="l00153"></a>00153 }
-<a name="l00154"></a>00154 <span class="preprocessor"> #endif</span>
-<a name="l00155"></a>00155 <span class="preprocessor"></span>
-<a name="l00156"></a>00156 <span class="keywordflow">return</span> success;
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">generator_t::seed_fallback</a>() {
-<a name="l00160"></a>00160 <span class="comment">// No cryptographically-secure device available. Fall back onto the</span>
-<a name="l00161"></a>00161 <span class="comment">// system clock. It&#39;s not much, but it&#39;s portable, fast, and will</span>
-<a name="l00162"></a>00162 <span class="comment">// provide at least a *little* entropy.</span>
-<a name="l00163"></a>00163 std::ostringstream out;
-<a name="l00164"></a>00164 out &lt;&lt; time(0) &lt;&lt; clock();
-<a name="l00165"></a>00165 <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(out.str());
-<a name="l00166"></a>00166 }
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168 generator_t::result_type generator_t::operator()() {
-<a name="l00169"></a>00169 <span class="keywordflow">if</span> (!<a class="code" href="random_8cpp.html#a7fadbfa933b8181768eb9e2a6cb5379f">mSeeded</a>)
-<a name="l00170"></a>00170 <span class="keywordflow">if</span> (!<a class="code" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">seed_secure</a>())
-<a name="l00171"></a>00171 <a class="code" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">seed_fallback</a>();
-<a name="l00172"></a>00172 <span class="keywordflow">return</span> (*<a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a>)();
-<a name="l00173"></a>00173 }
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175 <span class="keywordtype">void</span> generator_t::init() {
-<a name="l00176"></a>00176 <span class="keywordflow">if</span> (!<a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a>) <a class="code" href="random_8cpp.html#ad94db68c58845e9483f2241232395966">mGen</a>=<span class="keyword">new</span> internal_generator_t();
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 } <span class="comment">// namespace</span>
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">seed_secure</a>() {
-<a name="l00182"></a>00182 generator_t gen;
-<a name="l00183"></a>00183 <span class="keywordflow">return</span> gen.seed_secure();
-<a name="l00184"></a>00184 }
+<a name="l00105"></a>00105 <span class="preprocessor">#ifdef _WIN32</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
+<a name="l00107"></a>00107 <span class="keyword">typedef</span> BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
+<a name="l00108"></a>00108 <span class="keyword">typedef</span> DWORD <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>;
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>(): dll(0), fn(0) {
+<a name="l00111"></a>00111 <span class="comment">// This should work under WinXP, Vista, and Win7. No guarantees about</span>
+<a name="l00112"></a>00112 <span class="comment">// future compatibility, but I doubt that Microsoft will get rid of it</span>
+<a name="l00113"></a>00113 <span class="comment">// (it&#39;s too useful), and I doubt that they&#39;ll change it now that it&#39;s</span>
+<a name="l00114"></a>00114 <span class="comment">// well-known (it would break too many programs). We could also use the</span>
+<a name="l00115"></a>00115 <span class="comment">// rand_s function in more recent versions of Visual C++, but that</span>
+<a name="l00116"></a>00116 <span class="comment">// causes compatibility problems with older versions of Windows.</span>
+<a name="l00117"></a>00117 dll=LoadLibrary(_T(<span class="stringliteral">&quot;Advapi32.dll&quot;</span>));
+<a name="l00118"></a>00118 <span class="keywordflow">if</span> (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, <span class="stringliteral">&quot;SystemFunction036&quot;</span>));
+<a name="l00119"></a>00119 <span class="keywordflow">if</span> (fn == 0) {
+<a name="l00120"></a>00120 destroy();
+<a name="l00121"></a>00121 <span class="keywordflow">throw</span> no_strong_random();
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 ~<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>() { destroy(); }
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">operator()</a>() {
+<a name="l00128"></a>00128 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> r=0;
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (!fn(&amp;r, <span class="keyword">sizeof</span>(<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>)))
+<a name="l00130"></a>00130 <span class="keywordflow">throw</span> no_strong_random(<span class="stringliteral">&quot;RtlGenRandom failed&quot;</span>);
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> r;
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keywordtype">void</span> destroy() { <span class="keywordflow">if</span> (dll) FreeLibrary(dll); }
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 HMODULE dll;
+<a name="l00137"></a>00137 RtlGenRandomFn fn;
+<a name="l00138"></a>00138 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 32; }
+<a name="l00141"></a>00141 <span class="preprocessor">#else</span>
+<a name="l00142"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">00142</a> <span class="preprocessor"></span> <span class="keyword">struct </span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">strong_random_generator::impl_t</a> {
+<a name="l00143"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">00143</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a>;
+<a name="l00144"></a>00144
+<a name="l00145"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">00145</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a5ceb209ca0287aac772c87eff6167028">impl_t</a>(): <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>(<span class="stringliteral">&quot;/dev/urandom&quot;</span>, std::ios::binary) {
+<a name="l00146"></a>00146 <span class="comment">// This should be supported under most non-Windows systems. Note</span>
+<a name="l00147"></a>00147 <span class="comment">// that we&#39;re using /dev/urandom, not /dev/random -- /dev/random is</span>
+<a name="l00148"></a>00148 <span class="comment">// more secure, but it can be VERY slow.</span>
+<a name="l00149"></a>00149 <span class="keywordflow">if</span> (!<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>();
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">00152</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a> <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a52493fa7d5f0831d1c9605077da7cc8e">operator()</a>() {
+<a name="l00153"></a>00153 <span class="keywordtype">int</span> r=<a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>.get();
+<a name="l00154"></a>00154 <span class="keywordflow">if</span> (r==EOF) <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>(<span class="stringliteral">&quot;/dev/urandom returned EOF&quot;</span>);
+<a name="l00155"></a>00155 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#ad036a77b12a57bb1aeb1b2dfeb7786ed">result_type</a><span class="keyword">&gt;</span>(r);
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157
+<a name="l00158"></a><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">00158</a> std::ifstream <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html#a4863c36524d24aed3c9f7192e97b3d09">rng</a>;
+<a name="l00159"></a>00159 };
+<a name="l00160"></a>00160
+<a name="l00161"></a><a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">00161</a> <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 8; }
+<a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
+<a name="l00163"></a>00163 <span class="preprocessor"></span>
+<a name="l00164"></a>00164 <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">strong_random_generator::has_fixed_range</a> = <span class="keyword">true</span>;
+<a name="l00165"></a>00165 <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">strong_random_generator::min_value</a> =
+<a name="l00166"></a>00166 (std::numeric_limits&lt;impl_t::result_type&gt;::min)();
+<a name="l00167"></a>00167 <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">strong_random_generator::max_value</a> =
+<a name="l00168"></a>00168 (std::numeric_limits&lt;impl_t::result_type&gt;::max)();
+<a name="l00169"></a><a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">00169</a> <a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">strong_random_generator::strong_random_generator</a>(): impl(new <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a>) { }
+<a name="l00170"></a><a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">00170</a> <a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">strong_random_generator::~strong_random_generator</a>() { <span class="keyword">delete</span> <a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>; }
+<a name="l00171"></a><a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">00171</a> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">strong_random_generator::operator()</a>() {
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> (*<a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>)(); }
+<a name="l00173"></a>00173 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">strong_random_generator::min</a>
+<a name="l00174"></a>00174 <a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_value; }
+<a name="l00175"></a>00175 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">strong_random_generator::result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">strong_random_generator::max</a>
+<a name="l00176"></a><a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">00176</a> <a class="code" href="namespacexint.html#a4c109bd4fe51e6cd67361200d952d9a4">BOOST_PREVENT_MACRO_SUBSTITUTION</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_value; }
+<a name="l00177"></a>00177
+<a name="l00179"></a>00179 <span class="comment">// Returns a positive (unless told otherwise) integer between zero and</span>
+<a name="l00180"></a>00180 <span class="comment">// (1&lt;&lt;bits)-1, inclusive</span>
+<a name="l00181"></a>00181 integer <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> highBitOn, <span class="keywordtype">bool</span> lowBitOn, <span class="keywordtype">bool</span>
+<a name="l00182"></a>00182 canBeNegative)
+<a name="l00183"></a>00183 {
+<a name="l00184"></a>00184 <span class="keywordflow">if</span> (bits&lt;=0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
 <a name="l00185"></a>00185
-<a name="l00186"></a>00186 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">seed_fallback</a>() {
-<a name="l00187"></a>00187 generator_t gen;
-<a name="l00188"></a>00188 gen.seed_fallback();
-<a name="l00189"></a>00189 }
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(<span class="keyword">const</span> std::string&amp; value) {
-<a name="l00192"></a>00192 generator_t gen;
-<a name="l00193"></a>00193 gen.seed_manual(value);
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// Returns a positive (unless told otherwise) integer between zero and</span>
-<a name="l00197"></a>00197 <span class="comment">// (1&lt;&lt;bits)-1, inclusive</span>
-<a name="l00198"></a>00198 integer <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> highBitOn, <span class="keywordtype">bool</span> lowBitOn, <span class="keywordtype">bool</span> canBeNegative) {
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> (bits&lt;=0) <span class="keywordflow">return</span> integer::zero();
-<a name="l00200"></a>00200
-<a name="l00201"></a>00201 generator_t randomGenerator;
-<a name="l00202"></a>00202
-<a name="l00203"></a>00203 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cBitsPerIteration=std::numeric_limits&lt;generator_t::result_type&gt;::digits;
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="comment">// Grab a set of random bits, of at least the specified size</span>
-<a name="l00206"></a>00206 <span class="keywordtype">int</span> iterations = (bits+cBitsPerIteration-1) / cBitsPerIteration;
-<a name="l00207"></a>00207 std::vector&lt;generator_t::result_type&gt; v;
-<a name="l00208"></a>00208 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;iterations; ++i) v.push_back(randomGenerator());
+<a name="l00186"></a>00186 generator_t randomGenerator;
+<a name="l00187"></a>00187 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cBitsPerIteration=std::numeric_limits&lt;generator_t::result_type&gt;::digits;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="comment">// Grab a set of random bits, of at least the specified size</span>
+<a name="l00190"></a>00190 <span class="keywordtype">size_t</span> iterations = (bits+cBitsPerIteration-1) / cBitsPerIteration;
+<a name="l00191"></a>00191 std::vector&lt;generator_t::result_type&gt; v;
+<a name="l00192"></a>00192 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i&lt;iterations; ++i) v.push_back(randomGenerator());
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keyword">const</span> <span class="keywordtype">char</span> *vptr=(<span class="keyword">const</span> <span class="keywordtype">char</span> *)&amp;v[0], *vptr_end=vptr+(v.size() * <span class="keyword">sizeof</span>(generator_t::result_type));
+<a name="l00195"></a>00195 integer p=<a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(std::string(vptr, vptr_end));
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="comment">// Trim it to the proper length</span>
+<a name="l00198"></a>00198 <span class="keywordtype">size_t</span> index=(bits/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00199"></a>00199 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>))-1;
+<a name="l00200"></a>00200 <span class="keywordflow">if</span> (mask==0) { mask=<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>; --index; }
+<a name="l00201"></a>00201 p._get_data()-&gt;digits[index] &amp;= mask;
+<a name="l00202"></a>00202 <span class="keywordflow">for</span> (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *i=p._get_data()-&gt;digits+index+1,
+<a name="l00203"></a>00203 *ie=p._get_data()-&gt;digits+p._get_data()-&gt;mLength; i&lt;ie; ++i) *i=0;
+<a name="l00204"></a>00204 p._get_data()-&gt;skipLeadingZeros();
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="keywordflow">if</span> (highBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, bits-1);
+<a name="l00207"></a>00207 <span class="keywordflow">if</span> (lowBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, 0);
+<a name="l00208"></a>00208 <span class="keywordflow">if</span> (canBeNegative) p._set_negative(randomGenerator() &amp; 0x01);
 <a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="keyword">const</span> <span class="keywordtype">char</span> *vptr=(<span class="keyword">const</span> <span class="keywordtype">char</span> *)&amp;v[0], *vptr_end=vptr+(v.size() * <span class="keyword">sizeof</span>(generator_t::result_type));
-<a name="l00211"></a>00211 integer p=<a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(std::string(vptr, vptr_end));
+<a name="l00210"></a>00210 <span class="keywordflow">return</span> p;
+<a name="l00211"></a>00211 }
 <a name="l00212"></a>00212
-<a name="l00213"></a>00213 <span class="comment">// Trim it to the proper length</span>
-<a name="l00214"></a>00214 <span class="keywordtype">int</span> index=(bits/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00215"></a>00215 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> mask=(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (bits % <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>))-1;
-<a name="l00216"></a>00216 <span class="keywordflow">if</span> (mask==0) { mask=<a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a>; --index; }
-<a name="l00217"></a>00217 p._get_data()-&gt;digits[index] &amp;= mask;
-<a name="l00218"></a>00218 <span class="keywordflow">for</span> (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *i=p._get_data()-&gt;digits+index+1,
-<a name="l00219"></a>00219 *ie=p._get_data()-&gt;digits+p._get_data()-&gt;mLength; i&lt;ie; ++i) *i=0;
-<a name="l00220"></a>00220 p._get_data()-&gt;skipLeadingZeros();
-<a name="l00221"></a>00221
-<a name="l00222"></a>00222 <span class="keywordflow">if</span> (highBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, bits-1);
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> (lowBitOn) <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(p, 0);
-<a name="l00224"></a>00224 <span class="keywordflow">if</span> (canBeNegative) p._set_negative(randomGenerator() &amp; 0x01);
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <span class="keywordflow">return</span> p;
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="keyword">template</span> &lt;&gt;
-<a name="l00230"></a>00230 integer <a class="code" href="namespacexint.html#a989d063e3298649704c804efca714ac6">random&lt;integer&gt;</a>(<span class="keyword">const</span> integer&amp; lowest, <span class="keyword">const</span> integer&amp; highest) {
-<a name="l00231"></a>00231 integer range(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(highest-lowest+1));
-<a name="l00232"></a>00232 <span class="keywordflow">return</span> lowest+(<a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(range)) % range);
-<a name="l00233"></a>00233 }
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 } <span class="comment">// namespace xint</span>
+<a name="l00213"></a>00213 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -308,7 +284,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,10 +62,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">xint::sqrt</a> (const integer &amp;n)</td></tr>
 </table>
@@ -88,7 +84,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/roots_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -73,23 +73,28 @@
 <a name="l00017"></a>00017 <span class="keyword">namespace </span>xint {
 <a name="l00018"></a>00018
 <a name="l00019"></a>00019 integer <a class="code" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
-<a name="l00020"></a>00020 <span class="keywordflow">if</span> (n.sign() &lt;= 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">integer::zero</a>();
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="comment">// Initial guess is half the length of n, in bits</span>
-<a name="l00023"></a>00023 integer guess;
-<a name="l00024"></a>00024 <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(guess, <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(n)/2);
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="comment">// Now refine it until we&#39;re as close as integers can get</span>
-<a name="l00027"></a>00027 <span class="keywordflow">while</span> (1) {
-<a name="l00028"></a>00028 integer guess2=(guess + (n/guess)) &gt;&gt; 1;
-<a name="l00029"></a>00029 <span class="keywordflow">if</span> (guess == guess2) <span class="keywordflow">break</span>;
-<a name="l00030"></a>00030 guess=guess2;
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keywordflow">return</span> guess;
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
+<a name="l00020"></a>00020 <span class="keywordflow">if</span> (n.sign() &lt; 0) {
+<a name="l00021"></a>00021 <span class="keywordflow">if</span> (<a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>()) <span class="keywordflow">throw</span> cannot_represent(<span class="stringliteral">&quot;library cannot &quot;</span>
+<a name="l00022"></a>00022 <span class="stringliteral">&quot;represent imaginary values (tried to take sqrt of negative &quot;</span>
+<a name="l00023"></a>00023 <span class="stringliteral">&quot;number)&quot;</span>);
+<a name="l00024"></a>00024 <span class="keywordflow">else</span> <span class="keywordflow">return</span> integer(not_a_number());
+<a name="l00025"></a>00025 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n.sign() == 0) <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">integer::zero</a>();
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// Initial guess is half the length of n, in bits</span>
+<a name="l00028"></a>00028 integer guess;
+<a name="l00029"></a>00029 <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(guess, <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(n)/2);
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// Now refine it until we&#39;re as close as integers can get</span>
+<a name="l00032"></a>00032 <span class="keywordflow">while</span> (1) {
+<a name="l00033"></a>00033 integer guess2=(guess + (n/guess)) &gt;&gt; 1;
+<a name="l00034"></a>00034 <span class="keywordflow">if</span> (guess == guess2) <span class="keywordflow">break</span>;
+<a name="l00035"></a>00035 guess=guess2;
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keywordflow">return</span> guess;
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 } <span class="comment">// namespace xint</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -109,7 +114,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -58,25 +59,25 @@
 <div class="contents">
 <h1>xint::detail::data_t Member List</h1>This is the complete list of members for <a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a>(const data_t &amp;addend)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(int digits, bool copydigits=false)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(size_t digits, bool copydigits=false)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">copy</a>(const data_t *c, int extraDigits=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">copy</a>(const data_t *c, size_t extraDigits=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a9309667d3ac573346294e7b6e18c67ff">data_t</a>(digit_t initial1=0, digit_t initial2=0, digit_t initial3=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">data_t</a>(data_t *c)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">invert</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">quickset</a>(digit_t d1, digit_t d2=0, digit_t d3=0)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a>(int newdigits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">shift_left</a>(int byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">shift_right</a>(int byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(size_t newdigits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(size_t byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(size_t byBits)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>()</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(const data_t &amp;subtrahend)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(digit_t *p, size_t count)</td><td><a class="el" href="structxint_1_1detail_1_1data__t.html">xint::detail::data_t</a></td><td></td></tr>
@@ -99,7 +100,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -70,23 +71,23 @@
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#ae5afaa677468a9624ed3fb04318fd2a3">data_t</a> (<a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a> (int <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, bool copydigits=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a> (int newdigits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a> (size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, bool copydigits=false)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a> (size_t newdigits)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">copy</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, int extraDigits=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">copy</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, size_t extraDigits=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p, size_t count)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">quickset</a> (<a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d1, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2=0, <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#aaf6f202db416ad8fe18ec8a6c8c48904">invert</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#aa0dd7ef67ccdef3c3139f4afc84219bd">negate</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a143e6814a7aa20a0d61ed616b9940b2e">add</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;addend)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a> (const <a class="el" href="structxint_1_1detail_1_1data__t.html">data_t</a> &amp;subtrahend)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">shift_left</a> (int byBits)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">shift_right</a> (int byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a> (size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a> (size_t byBits)</td></tr>
 <tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> [<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a> [<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>]</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t.html#afb2d8673fc5d99d2ea006cd0aa32b744">mIsNegative</a></td></tr>
@@ -173,20 +174,20 @@
 
 <p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00198">198</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00072">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00132">xint::integer::operator+=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a8b5fe67dc7c5808306707f2210ab5658"></a><!-- doxytag: member="xint::detail::data_t::alloc" ref="a8b5fe67dc7c5808306707f2210ab5658" args="(int digits, bool copydigits=false)" -->
+<a class="anchor" id="a4fe3935e29883193166966c49cd73139"></a><!-- doxytag: member="xint::detail::data_t::alloc" ref="a4fe3935e29883193166966c49cd73139" args="(size_t digits, bool copydigits=false)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void xint::detail::data_t::alloc </td>
           <td>(</td>
- <td class="paramtype">int&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>digits</em>, </td>
         </tr>
         <tr>
@@ -208,7 +209,7 @@
 
 <p>References <a class="el" href="xint__data__t_8hpp_source.html#l00038">xint::detail::data_t::QuickDigits::count</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mAllocated</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">mQuickDigits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00045">mStorage</a>, and <a class="el" href="data__t_8cpp_source.html#l00165">zero()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00061">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>.</p>
 
 </div>
 </div>
@@ -231,11 +232,11 @@
 
 <p>References <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00080">xint::integer::_attach()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00084">xint::integer::_attach()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="acc02d0c3b8c867ff12af155dae8445dd"></a><!-- doxytag: member="xint::detail::data_t::copy" ref="acc02d0c3b8c867ff12af155dae8445dd" args="(const data_t *c, int extraDigits=0)" -->
+<a class="anchor" id="a66862f94545c953f6604b4347205277b"></a><!-- doxytag: member="xint::detail::data_t::copy" ref="a66862f94545c953f6604b4347205277b" args="(const data_t *c, size_t extraDigits=0)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -248,7 +249,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">int&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>extraDigits</em> = <code>0</code></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -285,7 +286,7 @@
 
 <p>References <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00084">xint::integer::_detach()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00088">xint::integer::_detach()</a>.</p>
 
 </div>
 </div>
@@ -306,7 +307,7 @@
 
 <p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00170">170</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00072">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
 </div>
 </div>
@@ -370,14 +371,14 @@
 
 </div>
 </div>
-<a class="anchor" id="a935c926cadfe0b92efe3b03201353862"></a><!-- doxytag: member="xint::detail::data_t::realloc" ref="a935c926cadfe0b92efe3b03201353862" args="(int newdigits)" -->
+<a class="anchor" id="a2bb2c79d47f2fda3605f34b80cb58b8b"></a><!-- doxytag: member="xint::detail::data_t::realloc" ref="a2bb2c79d47f2fda3605f34b80cb58b8b" args="(size_t newdigits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void xint::detail::data_t::realloc </td>
           <td>(</td>
- <td class="paramtype">int&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>newdigits</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline]</code></td>
@@ -390,18 +391,18 @@
 
 <p>References <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>.</p>
 
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, and <a class="el" href="data__t_8cpp_source.html#l00251">shift_left()</a>.</p>
+<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, and <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a4375d95de49470025539a9b41429bcf6"></a><!-- doxytag: member="xint::detail::data_t::shift_left" ref="a4375d95de49470025539a9b41429bcf6" args="(int byBits)" -->
+<a class="anchor" id="a72785130c7c6490af874f450cf6e0086"></a><!-- doxytag: member="xint::detail::data_t::shift_left" ref="a72785130c7c6490af874f450cf6e0086" args="(size_t byBits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void xint::detail::data_t::shift_left </td>
           <td>(</td>
- <td class="paramtype">int&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>byBits</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -410,22 +411,22 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00251">251</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00252">252</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00069">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00062">realloc()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00184">xint::integer::operator&lt;&lt;=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00188">xint::integer::operator&lt;&lt;=()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aacee3802bd433c989d9fdc6a1731019d"></a><!-- doxytag: member="xint::detail::data_t::shift_right" ref="aacee3802bd433c989d9fdc6a1731019d" args="(int byBits)" -->
+<a class="anchor" id="a432ace7094bca306dcba254f862e2428"></a><!-- doxytag: member="xint::detail::data_t::shift_right" ref="a432ace7094bca306dcba254f862e2428" args="(size_t byBits)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">void xint::detail::data_t::shift_right </td>
           <td>(</td>
- <td class="paramtype">int&nbsp;</td>
+ <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>byBits</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
@@ -434,11 +435,11 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00279">279</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+<p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00280">280</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00069">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00042">xint::detail::bits_per_digit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00192">xint::integer::operator&gt;&gt;=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00196">xint::integer::operator&gt;&gt;=()</a>.</p>
 
 </div>
 </div>
@@ -461,7 +462,7 @@
 
 <p>References <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00049">mIsNegative</a>, and <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00061">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00251">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00279">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
 
 </div>
 </div>
@@ -483,9 +484,9 @@
 
 <p>Definition at line <a class="el" href="data__t_8cpp_source.html#l00225">225</a> of file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
 
-<p>References <a class="el" href="xint_8hpp_source.html#l00072">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>References <a class="el" href="xint_8hpp_source.html#l00045">xint::detail::digit_overflowbit</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00042">digits</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00048">mCopies</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00041">mLength</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00146">xint::integer::operator-=()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00150">xint::integer::operator-=()</a>.</p>
 
 </div>
 </div>
@@ -534,16 +535,16 @@
 
 <p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00042">42</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00210">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00061">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00251">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00279">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00214">xint::integer::_get_digit()</a>, <a class="el" href="integer_8cpp_source.html#l00065">xint::integer::_init()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a100abfc5841043a6c1c5d5afa2d6cd94"></a><!-- doxytag: member="xint::detail::data_t::mAllocated" ref="a100abfc5841043a6c1c5d5afa2d6cd94" args="" -->
+<a class="anchor" id="a3390530db8333b535f65d3cc01ff5236"></a><!-- doxytag: member="xint::detail::data_t::mAllocated" ref="a3390530db8333b535f65d3cc01ff5236" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">int <a class="el" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">xint::detail::data_t::mAllocated</a></td>
+ <td class="memname">size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">xint::detail::data_t::mAllocated</a></td>
         </tr>
       </table>
 </div>
@@ -568,7 +569,7 @@
 
 <p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00048">48</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00088">xint::integer::_make_unique()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00059">attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00060">detach()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00251">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00279">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00092">xint::integer::_make_unique()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00059">attach()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="xint__data__t_8hpp_source.html#l00060">detach()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
 
 </div>
 </div>
@@ -585,16 +586,16 @@
 
 <p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00049">49</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="integer_8cpp_source.html#l00115">xint::integer::sign()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
+<p>Referenced by <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="integer_8cpp_source.html#l00119">xint::integer::sign()</a>, and <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ac594577f74057c94ad70a3503068d286"></a><!-- doxytag: member="xint::detail::data_t::mLength" ref="ac594577f74057c94ad70a3503068d286" args="" -->
+<a class="anchor" id="a599933d272e3592b2d0985ca7f7c72e2"></a><!-- doxytag: member="xint::detail::data_t::mLength" ref="a599933d272e3592b2d0985ca7f7c72e2" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">int <a class="el" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">xint::detail::data_t::mLength</a></td>
+ <td class="memname">size_t <a class="el" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">xint::detail::data_t::mLength</a></td>
         </tr>
       </table>
 </div>
@@ -602,7 +603,7 @@
 
 <p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00041">41</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
 
-<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00214">xint::integer::_get_length()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="integer_8cpp_source.html#l00132">xint::integer::operator+=()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00251">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00279">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
+<p>Referenced by <a class="el" href="integer_8cpp_source.html#l00218">xint::integer::_get_length()</a>, <a class="el" href="data__t_8cpp_source.html#l00198">add()</a>, <a class="el" href="data__t_8cpp_source.html#l00085">alloc()</a>, <a class="el" href="data__t_8cpp_source.html#l00153">copy()</a>, <a class="el" href="data__t_8cpp_source.html#l00022">data_t()</a>, <a class="el" href="data__t_8cpp_source.html#l00170">invert()</a>, <a class="el" href="data__t_8cpp_source.html#l00191">negate()</a>, <a class="el" href="integer_8cpp_source.html#l00136">xint::integer::operator+=()</a>, <a class="el" href="data__t_8cpp_source.html#l00074">quickset()</a>, <a class="el" href="data__t_8cpp_source.html#l00252">shift_left()</a>, <a class="el" href="data__t_8cpp_source.html#l00280">shift_right()</a>, <a class="el" href="data__t_8cpp_source.html#l00067">skipLeadingZeros()</a>, and <a class="el" href="data__t_8cpp_source.html#l00225">subtract()</a>.</p>
 
 </div>
 </div>
@@ -611,7 +612,7 @@
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t::mQuickDigits</a>[<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>]</td>
+ <td class="memname"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="el" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">xint::detail::data_t::mQuickDigits</a>[<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>]</td>
         </tr>
       </table>
 </div>
@@ -663,7 +664,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,16 +51,17 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
 </div>
 <div class="contents">
 <h1>xint::detail::data_t::QuickDigits Member List</h1>This is the complete list of members for <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">count</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a></td><td><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td><td><code> [static]</code></td></tr>
 </table></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -80,7 +81,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1data__t_1_1_quick_digits.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -64,21 +65,21 @@
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> = 3</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> = 3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
 <p>Definition at line <a class="el" href="xint__data__t_8hpp_source.html#l00033">33</a> of file <a class="el" href="xint__data__t_8hpp_source.html">xint_data_t.hpp</a>.</p>
 <hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a4e25c9e14a1730c37e2c7383c46679ec"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::count" ref="a4e25c9e14a1730c37e2c7383c46679ec" args="" -->
+<a class="anchor" id="ac691b42c4404e59ae07f89146e722736"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::count" ref="ac691b42c4404e59ae07f89146e722736" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const int <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">xint::detail::data_t::QuickDigits::count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a>)<code> [static]</code></td>
+ <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">xint::detail::data_t::QuickDigits::count</a> = (<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>)<code> [static]</code></td>
         </tr>
       </table>
 </div>
@@ -90,12 +91,12 @@
 
 </div>
 </div>
-<a class="anchor" id="a8c823c135d72766b46249e6585585859"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::intbits" ref="a8c823c135d72766b46249e6585585859" args="" -->
+<a class="anchor" id="af5323a8fbfdfaa3cae371872ec865fc5"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::intbits" ref="af5323a8fbfdfaa3cae371872ec865fc5" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const int <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">xint::detail::data_t::QuickDigits::intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a><code> [static]</code></td>
+ <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">xint::detail::data_t::QuickDigits::intbits</a> = std::numeric_limits&lt;unsigned int&gt;::<a class="el" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a><code> [static]</code></td>
         </tr>
       </table>
 </div>
@@ -105,12 +106,12 @@
 
 </div>
 </div>
-<a class="anchor" id="a5ee62e707000ba18c444ae3aeec89d75"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::minimum" ref="a5ee62e707000ba18c444ae3aeec89d75" args="" -->
+<a class="anchor" id="aeb7c43d282f871305e76936664cee25f"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::minimum" ref="aeb7c43d282f871305e76936664cee25f" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const int <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">xint::detail::data_t::QuickDigits::minimum</a> = 3<code> [static]</code></td>
+ <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">xint::detail::data_t::QuickDigits::minimum</a> = 3<code> [static]</code></td>
         </tr>
       </table>
 </div>
@@ -120,12 +121,12 @@
 
 </div>
 </div>
-<a class="anchor" id="a1d6ffbc11a8c4ab2617a391f843a8a5e"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::suggested" ref="a1d6ffbc11a8c4ab2617a391f843a8a5e" args="" -->
+<a class="anchor" id="a789eadb40cb8c034823ecb5fb6094092"></a><!-- doxytag: member="xint::detail::data_t::QuickDigits::suggested" ref="a789eadb40cb8c034823ecb5fb6094092" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const int <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">xint::detail::data_t::QuickDigits::suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)<code> [static]</code></td>
+ <td class="memname">const size_t <a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">xint::detail::data_t::QuickDigits::suggested</a> = (2*<a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="el" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>)<code> [static]</code></td>
         </tr>
       </table>
 </div>
@@ -157,7 +158,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/structxint_1_1detail_1_1token.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -51,6 +51,7 @@
   <div class="tabs">
     <ul>
       <li>Class List</li>
+ <li>Class Hierarchy</li>
       <li>Class Members</li>
     </ul>
   </div>
@@ -64,7 +65,7 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00078">78</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00051">51</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/>The documentation for this struct was generated from the following file:<ul>
 <li>I:/boost-sandbox/xInt/boost/xint/<a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
@@ -87,7 +88,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -65,40 +65,45 @@
 <code>#include &lt;boost/integer.hpp&gt;</code><br/>
 <code>#include &lt;boost/cstdint.hpp&gt;</code><br/>
 <code>#include &lt;boost/function.hpp&gt;</code><br/>
+<code>#include &lt;boost/type_traits.hpp&gt;</code><br/>
 <code>#include &lt;boost/static_assert.hpp&gt;</code><br/>
+<code>#include &lt;boost/random/uniform_int.hpp&gt;</code><br/>
+<code>#include &lt;boost/random/variate_generator.hpp&gt;</code><br/>
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1token.html">xint::detail::token</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1base__random__generator.html">xint::detail::base_random_generator</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1random__generator.html">xint::detail::random_generator&lt; T &gt;</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html">xint::integer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1strong__random__generator.html">xint::strong_random_generator</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__base.html">xint::invalid_base</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1invalid__modulus.html">xint::invalid_modulus</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1too__big.html">xint::too_big</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1not__a__number.html">xint::not_a_number</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1no__strong__random.html">xint::no_strong_random</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1overflow__error.html">xint::overflow_error</a></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>implementation details, normal users should not need to use these. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Typedefs</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::uintmax_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">xint::detail::doubledigit_t</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::uint_t<br class="typebreak"/>
 &lt; std::numeric_limits<br class="typebreak"/>
 &lt; doubledigit_t &gt;::digits/2 &gt;<br class="typebreak"/>
 ::fast&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">xint::detail::digit_t</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef boost::function<br class="typebreak"/>
+&lt; unsigned int()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">xint::detail::random_t</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef std::auto_ptr<br class="typebreak"/>
 &lt; detail::token &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">xint::token</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">xint::callback_t</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">xint::detail::set_random_generator</a> (random_t fn, base_random_generator *obj)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">xint::detail::get_random</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">xint::exceptions_allowed</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">xint::block_exceptions</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">token&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">xint::allow_exceptions</a> ()</td></tr>
@@ -142,37 +147,28 @@
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">xint::sqrmod</a> (const integer &amp;n, const integer &amp;modulus)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">xint::powmod</a> (const integer &amp;n, const integer &amp;exponent, const integer &amp;modulus, bool noMontgomery)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">xint::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">xint::seed_secure</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">xint::seed_fallback</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">xint::seed_manual</a> (const std::string &amp;value)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint::random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">xint::random</a> ()</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae04e871bc550a858d66901f64d42b17f">xint::random</a> (const T &amp;lessThanThis)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a342a8b817f74234c393fd9ed32f13f5f">xint::random</a> (const T &amp;lowest, const T &amp;highest)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">xint::set_random_generator</a> (T &amp;gen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">xint::random_by_size</a> (size_t bits, bool highBitOn, bool lowBitOn, bool canBeNegative)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">xint::random_prime</a> (size_t sizeInBits, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#aab9cb2021cb63480542f266a67c50314">operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a2271282006f914e5442f53508f6c5355">operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a328006b6ca161372a3cd91ca199a56df">operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#aa6909705d9662396b60b7dca7193895c">operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a9b081858436ec650e95e857faff0cf4e">operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a255c817c8569ac9365878a9476bfe3b3">operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a7f95e1c65d52023897d57fac225ba297">operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;a)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#aaaba5fbb60778e5deaf88549f5ec0278">operator+</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a2211cadf1f4c3abe22309fe025449687">operator-</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a17b0f742cf4240f0453ecdc690527f55">operator*</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a92017cd694e753636affcb05919a7dc2">operator/</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a33c06e966e5497a57df414783f4bd32d">operator%</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a279ea8fa85f56774ecf87a9f70e44986">operator&amp;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#ae43c9ba6b179f6336284e00609951c7c">operator|</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">xint::integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xint_8hpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operator^</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n2)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#a989d063e3298649704c804efca714ac6">xint::random&lt; integer &gt;</a> (const integer &amp;lowest, const integer &amp;highest)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">xint::operator!</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">xint::operator&lt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">xint::operator&gt;</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">xint::operator&lt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">xint::operator&gt;=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">xint::operator==</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">xint::operator!=</a> (const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num1, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">xint::operator+</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">xint::operator-</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a211ff80bb081c08674272cfcae736a93">xint::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a1e09422b575c6d29ea5c0d627b79c28e">xint::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">xint::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a701217f7824c3e935fca25147da23807">xint::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae0505757986a9c7133552552471aae24">xint::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">xint::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">xint::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">xint::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traits &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream&lt; charT, <br class="typebreak"/>
 traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">xint::operator&lt;&lt;</a> (std::basic_ostream&lt; charT, traits &gt; &amp;out, const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;n)</td></tr>
@@ -189,505 +185,6 @@
 <tr><td class="memItemLeft" align="right" valign="top">const callback_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">xint::no_callback</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
 </table>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="aab9cb2021cb63480542f266a67c50314"></a><!-- doxytag: member="xint.hpp::operator!" ref="aab9cb2021cb63480542f266a67c50314" args="(const xint::integer &amp;n1)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator! </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00054">54</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="integer_8cpp_source.html#l00115">xint::integer::sign()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7f95e1c65d52023897d57fac225ba297"></a><!-- doxytag: member="xint.hpp::operator!=" ref="a7f95e1c65d52023897d57fac225ba297" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator!= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00056">56</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a33c06e966e5497a57df414783f4bd32d"></a><!-- doxytag: member="xint.hpp::operator%" ref="a33c06e966e5497a57df414783f4bd32d" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator% </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00022">22</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">xint::mod()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a279ea8fa85f56774ecf87a9f70e44986"></a><!-- doxytag: member="xint.hpp::operator&amp;" ref="a279ea8fa85f56774ecf87a9f70e44986" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator&amp; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00023">23</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">xint::bitwise_and()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a17b0f742cf4240f0453ecdc690527f55"></a><!-- doxytag: member="xint.hpp::operator*" ref="a17b0f742cf4240f0453ecdc690527f55" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator* </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00020">20</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">xint::multiply()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaaba5fbb60778e5deaf88549f5ec0278"></a><!-- doxytag: member="xint.hpp::operator+" ref="aaaba5fbb60778e5deaf88549f5ec0278" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator+ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00018">18</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">xint::add()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae6250b27c1717d3dfd4269c899ea1a0f"></a><!-- doxytag: member="xint.hpp::operator+" ref="ae6250b27c1717d3dfd4269c899ea1a0f" args="(const xint::integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classxint_1_1integer.html">xint::integer</a>&amp; operator+ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00016">16</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2211cadf1f4c3abe22309fe025449687"></a><!-- doxytag: member="xint.hpp::operator&#45;" ref="a2211cadf1f4c3abe22309fe025449687" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator- </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00019">19</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">xint::subtract()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a686d2e5cc5766a1d8bc21c77f01ffa19"></a><!-- doxytag: member="xint.hpp::operator&#45;" ref="a686d2e5cc5766a1d8bc21c77f01ffa19" args="(const xint::integer &amp;a)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator- </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>a</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00017">17</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">xint::negate()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a92017cd694e753636affcb05919a7dc2"></a><!-- doxytag: member="xint.hpp::operator/" ref="a92017cd694e753636affcb05919a7dc2" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator/ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00021">21</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">xint::divide()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2271282006f914e5442f53508f6c5355"></a><!-- doxytag: member="xint.hpp::operator&lt;" ref="a2271282006f914e5442f53508f6c5355" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&lt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00057">57</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa6909705d9662396b60b7dca7193895c"></a><!-- doxytag: member="xint.hpp::operator&lt;=" ref="aa6909705d9662396b60b7dca7193895c" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&lt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00059">59</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a255c817c8569ac9365878a9476bfe3b3"></a><!-- doxytag: member="xint.hpp::operator==" ref="a255c817c8569ac9365878a9476bfe3b3" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator== </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00055">55</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a328006b6ca161372a3cd91ca199a56df"></a><!-- doxytag: member="xint.hpp::operator&gt;" ref="a328006b6ca161372a3cd91ca199a56df" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&gt; </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00058">58</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b081858436ec650e95e857faff0cf4e"></a><!-- doxytag: member="xint.hpp::operator&gt;=" ref="a9b081858436ec650e95e857faff0cf4e" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool operator&gt;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="compare_8cpp_source.html#l00060">60</a> of file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">xint::compare()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1e8b5454f6cf0c613a259a6ad038b6ac"></a><!-- doxytag: member="xint.hpp::operator^" ref="a1e8b5454f6cf0c613a259a6ad038b6ac" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator^ </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00025">25</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">xint::bitwise_xor()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae43c9ba6b179f6336284e00609951c7c"></a><!-- doxytag: member="xint.hpp::operator|" ref="ae43c9ba6b179f6336284e00609951c7c" args="(const xint::integer &amp;n1, const xint::integer &amp;n2)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classxint_1_1integer.html">xint::integer</a> operator| </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classxint_1_1integer.html">xint::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="operators_8cpp_source.html#l00024">24</a> of file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
-
-<p>References <a class="el" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">xint::bitwise_or()</a>.</p>
-
-</div>
-</div>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -707,7 +204,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint_8hpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -55,435 +55,486 @@
     </ul>
   </div>
 <h1>I:/boost-sandbox/xInt/boost/xint/xint.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<a name="l00037"></a>00037 <span class="comment">// Copyright 2010 by Chad Nelson</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="comment">// Distributed under the Boost Software License, Version 1.0.</span>
-<a name="l00040"></a>00040 <span class="comment">// See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00041"></a>00041 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt>
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_H</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_H</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span>
-<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</span>
-<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
-<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;boost/integer.hpp&gt;</span>
-<a name="l00053"></a>00053 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
-<a name="l00054"></a>00054 <span class="preprocessor">#include &lt;boost/function.hpp&gt;</span>
-<a name="l00055"></a>00055 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment">
http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> This is the main header file for the library, and the only one that</span>
+<a name="l00012"></a>00012 <span class="comment"> programs using it should need to include.</span>
+<a name="l00013"></a>00013 <span class="comment">*/</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_H</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;limits&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/integer.hpp&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/function.hpp&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;boost/random/uniform_int.hpp&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;boost/random/variate_generator.hpp&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>xint {
+<a name="l00033"></a>00033
+<a name="l00035"></a>00035 <span class="comment">// The boring-but-necessary preliminary stuff</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">namespace </span>detail {
+<a name="l00038"></a><a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">00038</a> <span class="keyword">typedef</span> boost::uintmax_t <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>;
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
+<a name="l00040"></a><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">00040</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>;
+<a name="l00041"></a>00041
+<a name="l00042"></a><a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">00042</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits;
+<a name="l00043"></a><a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">00043</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">digit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1));
+<a name="l00044"></a><a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">00044</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>*2-1));
+<a name="l00045"></a><a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">00045</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00046"></a><a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">00046</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a> = <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1);
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">const</span> <span class="keyword">extern</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">nan_text</a>;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>;
+<a name="l00051"></a><a class="code" href="structxint_1_1detail_1_1token.html">00051</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1token.html">token</a> { };
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="structxint_1_1detail_1_1base__random__generator.html">00053</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> {
+<a name="l00054"></a><a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">00054</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>;
+<a name="l00055"></a>00055 };
 <a name="l00056"></a>00056
-<a name="l00058"></a>00058 <span class="keyword">namespace </span>xint
-<a name="l00059"></a>00059 {
-<a name="l00061"></a>00061 <span class="comment">// The boring-but-necessary preliminary stuff</span>
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keyword">namespace </span>detail
-<a name="l00064"></a>00064 {
-<a name="l00065"></a><a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">00065</a> <span class="keyword">typedef</span> boost::uintmax_t <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>;
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
-<a name="l00067"></a><a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">00067</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>;
-<a name="l00068"></a>00068
-<a name="l00069"></a><a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">00069</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a> = std::numeric_limits&lt;digit_t&gt;::digits;
-<a name="l00070"></a><a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">00070</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a116bb5ce94c55f0eae3338d69fd5e8eb">digit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>-1));
-<a name="l00071"></a><a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">00071</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a2af0686427ee285bd715330f12fcbc1c">doubledigit_hibit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; (<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>*2-1));
-<a name="l00072"></a><a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">00072</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a> <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a> = (<a class="code" href="namespacexint_1_1detail.html#aceb9b654c1c2daaf377b31bd4a089750">doubledigit_t</a>(1) &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00073"></a><a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">00073</a> <span class="keyword">const</span> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">digit_mask</a> = <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a>(<a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">digit_overflowbit</a>-1);
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keyword">const</span> <span class="keyword">extern</span> std::string <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">nan_text</a>;
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>;
-<a name="l00078"></a><a class="code" href="structxint_1_1detail_1_1token.html">00078</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1token.html">token</a> { };
-<a name="l00079"></a>00079 } <span class="comment">// namespace detail</span>
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00058"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html">00058</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1random__generator.html">random_generator</a>: <span class="keyword">public</span> <a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> {
+<a name="l00059"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">00059</a> <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; <a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">dist_t</a>;
+<a name="l00060"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">00060</a> <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; <a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">gen_t</a>;
+<a name="l00061"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">00061</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a2a4312b1e08aec50fc7d7afc74c432a1">random_generator</a>(T&amp; g): <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>(g,
+<a name="l00062"></a>00062 <a class="code" href="structxint_1_1detail_1_1random__generator.html#aab9830c38c791b5c3ac0ef8328573bfd">dist_t</a>((std::numeric_limits&lt;<a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>&gt;::min)(),
+<a name="l00063"></a>00063 (std::numeric_limits&lt;<a class="code" href="structxint_1_1detail_1_1base__random__generator.html#a0556d7f290cd236303b3f1031611cb3e">result_type</a>&gt;::max)())) { }
+<a name="l00064"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">00064</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html#af4f51632b42ca812468f9d24fea20ce9">operator()</a>() { <span class="keywordflow">return</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>(); }
+<a name="l00065"></a><a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">00065</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#adbc88a70815fa4f72deb9bddaec86675">gen_t</a> <a class="code" href="structxint_1_1detail_1_1random__generator.html#a9a90a3050b2ff83d78ef8633deb5d42d">gen</a>;
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a><a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">00068</a> <span class="keyword">typedef</span> boost::function&lt;unsigned int ()&gt; <a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a>;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">set_random_generator</a>(<a class="code" href="namespacexint_1_1detail.html#a9c9dc00dbbe287492696635ed41dce44">random_t</a> fn, <a class="code" href="structxint_1_1detail_1_1base__random__generator.html">base_random_generator</a> *obj);
+<a name="l00071"></a>00071 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacexint_1_1detail.html#a1dfc1e90886c4897a4b112f491b89b62">get_random</a>();
+<a name="l00072"></a>00072 } <span class="comment">// namespace detail</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">00074</a> <span class="keyword">typedef</span> std::auto_ptr&lt;detail::token&gt; <a class="code" href="structxint_1_1detail_1_1token.html">token</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">00076</a> <span class="keyword">typedef</span> boost::function&lt;bool ()&gt; <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>;
+<a name="l00077"></a><a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">00077</a> <span class="keyword">const</span> <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> <a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>;
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">00079</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>=(std::numeric_limits&lt;size_t&gt;::max)();
 <a name="l00080"></a>00080
-<a name="l00081"></a><a class="code" href="namespacexint.html#ad63045584f06221eb6a7581ad3091582">00081</a> <span class="keyword">typedef</span> std::auto_ptr&lt;detail::token&gt; <a class="code" href="structxint_1_1detail_1_1token.html">token</a>;
+<a name="l00081"></a>00081 <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>;
 <a name="l00082"></a>00082
-<a name="l00083"></a><a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">00083</a> <span class="keyword">typedef</span> boost::function&lt;bool ()&gt; <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a>;
-<a name="l00084"></a><a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">00084</a> <span class="keyword">const</span> <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> <a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>;
+<a name="l00084"></a>00084 <span class="comment">// The integer class</span>
 <a name="l00085"></a>00085
-<a name="l00086"></a><a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">00086</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>=(std::numeric_limits&lt;size_t&gt;::max)();
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>;
-<a name="l00089"></a>00089
-<a name="l00091"></a>00091 <span class="comment">// The integer class</span>
-<a name="l00092"></a>00092
-<a name="l00093"></a><a class="code" href="classxint_1_1integer.html">00093</a> <span class="keyword">class </span><a class="code" href="classxint_1_1integer.html">integer</a>
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keyword">public</span>:
-<a name="l00097"></a>00097 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>();
-<a name="l00098"></a>00098 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(<span class="keyword">const</span> T&amp; n);
-<a name="l00101"></a>00101 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00102"></a>00102 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;);
-<a name="l00103"></a>00103 <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a>();
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a>() <span class="keyword">const</span>;
-<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a>() <span class="keyword">const</span>;
-<a name="l00107"></a>00107 <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() <span class="keyword">const</span>;
-<a name="l00108"></a>00108 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>() <span class="keyword">const</span>;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() <span class="keyword">const</span>;
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00115"></a>00115 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00116"></a>00116 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00117"></a>00117 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00118"></a>00118 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>();
-<a name="l00121"></a>00121 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>();
-<a name="l00122"></a>00122 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>(<span class="keywordtype">int</span>);
-<a name="l00123"></a>00123 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>(<span class="keywordtype">int</span>);
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00126"></a>00126 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00128"></a>00128 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) <span class="keyword">const</span>;
-<a name="l00129"></a>00129 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> shift) <span class="keyword">const</span>;
-<a name="l00130"></a>00130 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> shift);
-<a name="l00131"></a>00131 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> shift);
+<a name="l00086"></a><a class="code" href="classxint_1_1integer.html">00086</a> <span class="keyword">class </span><a class="code" href="classxint_1_1integer.html">integer</a> {
+<a name="l00087"></a>00087 <span class="keyword">public</span>:
+<a name="l00088"></a>00088 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>();
+<a name="l00089"></a>00089 <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00093"></a>00093 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type* = 0);
+<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00095"></a>00095 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type* = 0,
+<a name="l00096"></a>00096 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type* = 0);
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00099"></a>00099 <span class="keyword">explicit</span> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>&amp;);
+<a name="l00100"></a>00100 <a class="code" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a>();
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a>() <span class="keyword">const</span>;
+<a name="l00103"></a>00103 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a>() <span class="keyword">const</span>;
+<a name="l00104"></a>00104 <span class="keywordtype">int</span> <a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() <span class="keyword">const</span>;
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>() <span class="keyword">const</span>; <span class="comment">// Tests for Not-a-Number</span>
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() <span class="keyword">const</span>;
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00112"></a>00112 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00113"></a>00113 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00114"></a>00114 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00115"></a>00115 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; b);
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>();
+<a name="l00118"></a>00118 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>();
+<a name="l00119"></a>00119 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>(<span class="keywordtype">int</span>);
+<a name="l00120"></a>00120 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00123"></a>00123 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00124"></a>00124 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00125"></a>00125 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>) <span class="keyword">const</span>;
+<a name="l00126"></a>00126 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> shift) <span class="keyword">const</span>;
+<a name="l00127"></a>00127 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> shift);
+<a name="l00128"></a>00128 <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> shift);
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">zero</a>();
+<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>();
 <a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2" title="Extended integer holding zero.">zero</a>();
-<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8" title="Extended integer holding one.">one</a>();
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="comment">// These are used internally, they&#39;re probably not useful outside of the</span>
-<a name="l00137"></a>00137 <span class="comment">// library&#39;s functions.</span>
-<a name="l00138"></a><a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">00138</a> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>;
-<a name="l00141"></a>00141 }
-<a name="l00142"></a><a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">00142</a> <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>; }
-<a name="l00143"></a>00143 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(<span class="keywordtype">size_t</span> index) <span class="keyword">const</span>;
-<a name="l00144"></a>00144 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>() <span class="keyword">const</span>;
-<a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keywordtype">bool</span> negative);
-<a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
-<a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>() <span class="keyword">const</span>;
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="keyword">private</span>:
-<a name="l00150"></a>00150 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init=0);
-<a name="l00151"></a>00151 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
-<a name="l00152"></a>00152 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t n);
-<a name="l00153"></a>00153 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
-<a name="l00154"></a>00154 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
-<a name="l00155"></a>00155
-<a name="l00156"></a><a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">00156</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>;
-<a name="l00157"></a><a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">00157</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
-<a name="l00158"></a><a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">00158</a> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450" title="Raw data representing an extended integer.">data</a>;
-<a name="l00159"></a>00159 };
-<a name="l00160"></a>00160
-<a name="l00162"></a>00162 <span class="comment">// Exception-blocking and -allowing functions</span>
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>();
-<a name="l00165"></a>00165 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">block_exceptions</a>();
-<a name="l00166"></a>00166 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
-<a name="l00167"></a>00167
-<a name="l00169"></a>00169 <span class="comment">// Miscellaneous functions</span>
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">opt_secure_mode</a>();
-<a name="l00172"></a>00172 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">opt_thread_safe</a>();
-<a name="l00173"></a>00173 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
-<a name="l00174"></a>00174 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00175"></a>00175 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
-<a name="l00176"></a>00176 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
+<a name="l00133"></a>00133 <span class="comment">// These are used internally, they&#39;re probably not useful outside of the</span>
+<a name="l00134"></a>00134 <span class="comment">// library&#39;s functions.</span>
+<a name="l00135"></a><a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">00135</a> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>() { <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>; }
+<a name="l00136"></a><a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">00136</a> <span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>; }
+<a name="l00137"></a>00137 <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> <a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(<span class="keywordtype">size_t</span> index) <span class="keyword">const</span>;
+<a name="l00138"></a>00138 <span class="keywordtype">size_t</span> <a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>() <span class="keyword">const</span>;
+<a name="l00139"></a>00139 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keywordtype">bool</span> negative);
+<a name="l00140"></a>00140 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>();
+<a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>() <span class="keyword">const</span>;
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="keyword">private</span>:
+<a name="l00144"></a>00144 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a> init=0);
+<a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;c);
+<a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t n);
+<a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#ab76e68e21fd5fd584d40ab09a6f7197d">_attach</a>();
+<a name="l00148"></a>00148 <span class="keywordtype">void</span> <a class="code" href="classxint_1_1integer.html#a53752a9fd32dc65cb8085da60a44e6b4">_detach</a>();
+<a name="l00149"></a>00149
+<a name="l00150"></a><a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">00150</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> *<a class="code" href="classxint_1_1integer.html#a4903bda4b989056ee0c980aba7d07e06">cZero</a>, *<a class="code" href="classxint_1_1integer.html#a99deec6bc6eae551f358e4699075646a">cOne</a>;
+<a name="l00151"></a>00151
+<a name="l00152"></a><a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">00152</a> <a class="code" href="structxint_1_1detail_1_1data__t.html">detail::data_t</a> *<a class="code" href="classxint_1_1integer.html#a83a10805b1c61ed4c7b7b525a9b6b450">data</a>;
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00156"></a>00156 <span class="comment">// The random generator convenience class</span>
+<a name="l00157"></a>00157
+<a name="l00158"></a><a class="code" href="classxint_1_1strong__random__generator.html">00158</a> <span class="keyword">class </span><a class="code" href="classxint_1_1strong__random__generator.html">strong_random_generator</a> {
+<a name="l00159"></a>00159 <span class="keyword">public</span>:
+<a name="l00160"></a><a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">00160</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a>;
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <a class="code" href="classxint_1_1strong__random__generator.html#a8841d21b6614967e0520f55c3093871a">strong_random_generator</a>();
+<a name="l00163"></a>00163 <a class="code" href="classxint_1_1strong__random__generator.html#ac75f659c2adb7c822d49fe534b2d76a4">~strong_random_generator</a>();
+<a name="l00164"></a>00164 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a2bbb1944511585f66e5daec4737bd4e7">operator()</a>();
+<a name="l00165"></a>00165
+<a name="l00166"></a><a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">00166</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classxint_1_1strong__random__generator.html#a1a808cca9189eb64f420e4745ca5122d">has_fixed_range</a>;
+<a name="l00167"></a><a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">00167</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a4bea7dba7f086441548dfee576e54fce">min_value</a>;
+<a name="l00168"></a><a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">00168</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#aea47e4fbf8b0fe5914ade7ce2704a3c3">max_value</a>;
+<a name="l00169"></a>00169 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a5ec89070a7a7338c2b7318086efef701">min</a>() <span class="keyword">const</span>;
+<a name="l00170"></a>00170 <a class="code" href="classxint_1_1strong__random__generator.html#a470b586d0730deb716ffa3c13164e493">result_type</a> <a class="code" href="classxint_1_1strong__random__generator.html#a1327ad0fe9d6f1f1c851456592b178db">max</a>() <span class="keyword">const</span>;
+<a name="l00171"></a>00171 <span class="keywordtype">double</span> <a class="code" href="classxint_1_1strong__random__generator.html#a57ff17a9c2b36775acfedd53f5a0b30e">entropy</a>() <span class="keyword">const</span>;
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">private</span>:
+<a name="l00174"></a><a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">00174</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a>;
+<a name="l00175"></a>00175 <a class="code" href="structxint_1_1strong__random__generator_1_1impl__t.html">impl_t</a> *<a class="code" href="classxint_1_1strong__random__generator.html#a9f055c0ff1a85a8c465099c596f368fa">impl</a>;
+<a name="l00176"></a>00176 };
 <a name="l00177"></a>00177
-<a name="l00179"></a>00179 <span class="comment">// Mathematical primitives</span>
+<a name="l00179"></a>00179 <span class="comment">// Exception-blocking and -allowing functions</span>
 <a name="l00180"></a>00180
-<a name="l00181"></a>00181 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00182"></a>00182 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00183"></a>00183 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend);
-<a name="l00184"></a>00184 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend);
-<a name="l00185"></a>00185 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; multiplicand);
-<a name="l00186"></a>00186 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; divisor);
-<a name="l00187"></a>00187 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
-<a name="l00188"></a>00188 divisor);
-<a name="l00189"></a>00189
-<a name="l00191"></a>00191 <span class="comment">// Powers and roots</span>
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00194"></a>00194 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent);
-<a name="l00195"></a>00195 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00196"></a>00196 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00197"></a>00197 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00198"></a>00198
-<a name="l00200"></a>00200 <span class="comment">// Conversion functions</span>
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00203"></a>00203 std::string <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=<span class="keyword">false</span>);
-<a name="l00204"></a>00204 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
-<a name="l00205"></a>00205 std::string <a class="code" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
-<a name="l00206"></a>00206 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(<span class="keyword">const</span> std::string&amp; s);
-<a name="l00207"></a>00207
-<a name="l00209"></a>00209 <span class="comment">// Bit-manipulation functions</span>
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">getbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00212"></a>00212 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00213"></a>00213 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">clearbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
-<a name="l00214"></a>00214 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00215"></a>00215 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
-<a name="l00216"></a>00216 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00217"></a>00217 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00218"></a>00218 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
-<a name="l00219"></a>00219 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
-<a name="l00220"></a>00220 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00221"></a>00221 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00222"></a>00222
-<a name="l00224"></a>00224 <span class="comment">// Modular math functions</span>
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modBy);
-<a name="l00227"></a>00227 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; by, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00228"></a>00228 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00229"></a>00229 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
-<a name="l00230"></a>00230 modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
-<a name="l00231"></a>00231 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
-<a name="l00232"></a>00232
-<a name="l00234"></a>00234 <span class="comment">// Random number functions</span>
-<a name="l00235"></a>00235 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ade2beef1aca9c4ebb119d16c2d068e70">seed_secure</a>();
-<a name="l00236"></a>00236 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a16e22040e770d828903bb5d11ed6e046">seed_fallback</a>();
-<a name="l00237"></a>00237 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#afeca589b50c2c8cb4bea98200ae51dbe">seed_manual</a>(<span class="keyword">const</span> std::string&amp; value);
-<a name="l00238"></a>00238 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span>
-<a name="l00239"></a>00239 lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
-<a name="l00240"></a>00240 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>();
-<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>(<span class="keyword">const</span> T&amp; lessThanThis);
-<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>(<span class="keyword">const</span> T&amp; lowest, <span class="keyword">const</span> T&amp; highest);
-<a name="l00243"></a>00243
-<a name="l00245"></a>00245 <span class="comment">// Prime number functions</span>
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
-<a name="l00248"></a>00248 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
+<a name="l00181"></a>00181 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac8be41374700d89400f5ecddf0f789e3">exceptions_allowed</a>();
+<a name="l00182"></a>00182 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#ae7e3f6afc701f6e8873a407bb418d04c">block_exceptions</a>();
+<a name="l00183"></a>00183 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> <a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
+<a name="l00184"></a>00184
+<a name="l00186"></a>00186 <span class="comment">// Miscellaneous functions</span>
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a820d89c1d761a0a2c06479b1c1f9cecd">opt_secure_mode</a>();
+<a name="l00189"></a>00189 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad55aa4d44083238d9ec313511f5b1dfa">opt_thread_safe</a>();
+<a name="l00190"></a>00190 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#aff82dd47fae4297b96282371abf4db06">compare</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=<span class="keyword">false</span>);
+<a name="l00191"></a>00191 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#aa074495871d366c760c5b0713f5ef048">log2</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00192"></a>00192 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e11516ac502e97be1902cde50f97e7">gcd</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
+<a name="l00193"></a>00193 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a17c5e4e807cfa425f48d9f5b464bc8dc">lcm</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; num2);
+<a name="l00194"></a>00194
+<a name="l00196"></a>00196 <span class="comment">// Mathematical primitives</span>
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00199"></a>00199 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7d9010c1d7edb88471977aecb0f91d26">negate</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00200"></a>00200 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a7cc636a05af16eba73014bf88273d163">add</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; addend);
+<a name="l00201"></a>00201 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af196cd74cb23970032fddcce71957a80">subtract</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; subtrahend);
+<a name="l00202"></a>00202 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af3d7059ec08bf075cec5685deca55c5d">multiply</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; multiplicand);
+<a name="l00203"></a>00203 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abf3d47f1ef1fdf334097fab055886a44">divide</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; divisor);
+<a name="l00204"></a>00204 std::pair&lt;integer, integer&gt; <a class="code" href="namespacexint.html#a23d0a0bb05cec1917d96d6aaceeb875d">divide_r</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; dividend, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
+<a name="l00205"></a>00205 divisor);
+<a name="l00206"></a>00206
+<a name="l00208"></a>00208 <span class="comment">// Powers and roots</span>
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a0aec423511839fd784b1654389dfcf5b">sqr</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00211"></a>00211 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aeee80b61e0cadc12f92752104e281b2c">pow</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent);
+<a name="l00212"></a>00212 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aea1ae2a423d401fa02d3f0621078fbf0">pow2</a>(<span class="keywordtype">size_t</span> exponent);
+<a name="l00213"></a>00213 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aba188df925c87a0f33a79328e31e1a50">factorial</a>(<span class="keywordtype">size_t</span> n);
+<a name="l00214"></a>00214 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a74891726f8af86736169dd43b929ad0a">sqrt</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00215"></a>00215
+<a name="l00217"></a>00217 <span class="comment">// Conversion functions</span>
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00220"></a>00220 std::string <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">to_string</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> base=10, <span class="keywordtype">bool</span> upperCase=<span class="keyword">false</span>);
+<a name="l00221"></a>00221 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base=10);
+<a name="l00222"></a>00222 std::string <a class="code" href="namespacexint.html#ab8f33201a251e3e118dc82f214e22aeb">to_binary</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n);
+<a name="l00223"></a>00223 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ac2ac2f74b45e4179560d845e6310be9a">from_binary</a>(<span class="keyword">const</span> std::string&amp; s);
+<a name="l00224"></a>00224
+<a name="l00226"></a>00226 <span class="comment">// Bit-manipulation functions</span>
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a07bc7378c8a55e5f92aaef6d8b8ce952">getbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00229"></a>00229 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#adf2652627e78682c17e120816987984a">setbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00230"></a>00230 <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#a8982e3e3ab7c1c763416eadc479d9724">clearbit</a>(<a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit);
+<a name="l00231"></a>00231 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#a20e8cf2664222955e68f2ef9020bb196">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00232"></a>00232 <span class="keywordtype">size_t</span> <a class="code" href="namespacexint.html#afcfbe1d95a8dabc615e97565c0ba768c">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero=0);
+<a name="l00233"></a>00233 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a06138585f07fe098e24718c46e3078e1">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00234"></a>00234 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8cd0a0dbc779e5a75c9e2f8027474e9a">bitwise_or</a> (<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00235"></a>00235 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a9ffe18a09f5dd354af7b967b032d3cbe">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00236"></a>00236 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4f4dacd6f9398aaa500112731ab713ce">shift</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">int</span> byBits);
+<a name="l00237"></a>00237 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#abe0717f5f1bed3f2c108e654f92f168a">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00238"></a>00238 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a33005f5e57bca2418fae44952e28bbbf">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00239"></a>00239
+<a name="l00241"></a>00241 <span class="comment">// Modular math functions</span>
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af7a1a866478f5c0a2bc4615785f17e1a">mod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modBy);
+<a name="l00244"></a>00244 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a67ad0747617ca6e780d6f67d60260450">mulmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; by, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
+<a name="l00245"></a>00245 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a594bd29593aad9a1c047af22e91e749c">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
+<a name="l00246"></a>00246 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a1f8b43b537ff9de1d5612ed228a8fbe1">powmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; exponent, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp;
+<a name="l00247"></a>00247 modulus, <span class="keywordtype">bool</span> noMontgomery=<span class="keyword">false</span>);
+<a name="l00248"></a>00248 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a4a79f60ebe198eadf10b63924018ce66">invmod</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; modulus);
 <a name="l00249"></a>00249
-<a name="l00250"></a>00250 } <span class="comment">// namespace xint</span>
-<a name="l00251"></a>00251
-<a name="l00253"></a>00253 <span class="comment">// Global operators for the integer class</span>
-<a name="l00254"></a>00254
-<a name="l00255"></a>00255 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#ac7523d81be85d97950c95f10c17a8c9d">operator!</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1);
-<a name="l00256"></a>00256 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a13bf860274cbfba7049ee1109ef79ece">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00257"></a>00257 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#aafe4265378fbdfe8382de5624439cf86">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00258"></a>00258 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#aab167dd151d36a75704e98361c845e67">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00259"></a>00259 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a3e59818919966e38b68c5af625acf65e">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00260"></a>00260 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#a8afed82c679c5a4edee2108ddbf24e76">operator==</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00261"></a>00261 <span class="keywordtype">bool</span> <a class="code" href="compare_8cpp.html#ae28b8d9fc3781805e9bb9cfaf0dc01df">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
+<a name="l00251"></a>00251 <span class="comment">// Random number functions</span>
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a>(T &amp;gen);
+<a name="l00254"></a>00254 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span>
+<a name="l00255"></a>00255 lowBitOn=<span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative=<span class="keyword">false</span>);
+<a name="l00256"></a>00256
+<a name="l00258"></a>00258 <span class="comment">// Prime number functions</span>
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260 <span class="keywordtype">int</span> <a class="code" href="namespacexint.html#ab205c4e52dbc6825cefe3a251f6ca99f">is_prime</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
+<a name="l00261"></a>00261 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#af148d73dc33718f9d893dac821ab699e">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespacexint.html#ac8a660c33746c536469d347307b8da7a">callback_t</a> callback=<a class="code" href="namespacexint.html#a44496f258b36237d4cea35558a71017a">no_callback</a>);
 <a name="l00262"></a>00262
-<a name="l00263"></a>00263 <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; <a class="code" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; a);
-<a name="l00264"></a>00264 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; a);
-<a name="l00265"></a>00265 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ae6250b27c1717d3dfd4269c899ea1a0f">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00266"></a>00266 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a686d2e5cc5766a1d8bc21c77f01ffa19">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00267"></a>00267 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a9b5f3e5db8d7dac5c83687433265d679">operator*</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00268"></a>00268 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ade5c31d601a221f90102f09d3985a1b1">operator/</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00269"></a>00269 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ab5c9d4bfca6c406876f2317fe4ebdc17">operator%</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00270"></a>00270 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a279ea8fa85f56774ecf87a9f70e44986">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00271"></a>00271 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#ae43c9ba6b179f6336284e00609951c7c">operator|</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
-<a name="l00272"></a>00272 <a class="code" href="classxint_1_1integer.html">xint::integer</a> <a class="code" href="operators_8cpp.html#a1e8b5454f6cf0c613a259a6ad038b6ac">operator^</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n2);
+<a name="l00264"></a>00264 <span class="comment">// Operators for the integer class</span>
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a675c4fe6ddda6db915450d054ed640ba">operator!</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1);
+<a name="l00267"></a>00267 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a4f4a4771bf443e6724abbd18173ecc86">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00268"></a>00268 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a1229d1f1efbdf3ffeac8b2964ca66093">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00269"></a>00269 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ab9d5f34c4d4bed1c86380d4f72edcd9b">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00270"></a>00270 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a766324a6f216f3b49a3e9aa885e9531c">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00271"></a>00271 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ad32051708c2a2baafa0340e19e90217b">operator==</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00272"></a>00272 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#aefda934d0ffacd0f44fcbbdfee19a139">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
 <a name="l00273"></a>00273
-<a name="l00274"></a>00274 <span class="keyword">namespace </span>xint {
-<a name="l00275"></a>00275
-<a name="l00277"></a>00277 <span class="comment">// Exception classes</span>
-<a name="l00278"></a>00278
-<a name="l00279"></a><a class="code" href="classxint_1_1invalid__base.html">00279</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__base.html">invalid_base</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00280"></a>00280 <span class="keyword">public</span>:
-<a name="l00281"></a><a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">00281</a> <a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">invalid_base</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid base&quot;</span>): invalid_argument(what)
-<a name="l00282"></a>00282 { }
-<a name="l00283"></a>00283 };
+<a name="l00274"></a>00274 <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; a);
+<a name="l00275"></a>00275 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; a);
+<a name="l00276"></a>00276 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a586fb0eb69100ec74be94008ac26670d">operator+</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00277"></a>00277 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a8a510361ed458133ebfa5fd95f8d9c27">operator-</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00278"></a>00278 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#aea36ad9037f109576d4f95ec72b5c825">operator*</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00279"></a>00279 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a701217f7824c3e935fca25147da23807">operator/</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00280"></a>00280 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#ae0505757986a9c7133552552471aae24">operator%</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00281"></a>00281 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a742550f1c62ac8c2bde8e1ceab2a466c">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00282"></a>00282 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#afa8f2a0ac996ad45efc73b2aa056cae2">operator|</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
+<a name="l00283"></a>00283 <a class="code" href="classxint_1_1integer.html">integer</a> <a class="code" href="namespacexint.html#a81722cd257bc950ba7c56a202492544f">operator^</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n2);
 <a name="l00284"></a>00284
-<a name="l00285"></a><a class="code" href="classxint_1_1invalid__digit.html">00285</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__digit.html">invalid_digit</a>: <span class="keyword">public</span> std::range_error {
-<a name="l00286"></a>00286 <span class="keyword">public</span>:
-<a name="l00287"></a><a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">00287</a> <a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">invalid_digit</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid digit&quot;</span>): range_error(what)
-<a name="l00288"></a>00288 { }
-<a name="l00289"></a>00289 };
-<a name="l00290"></a>00290
-<a name="l00291"></a><a class="code" href="classxint_1_1invalid__modulus.html">00291</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__modulus.html">invalid_modulus</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00292"></a>00292 <span class="keyword">public</span>:
-<a name="l00293"></a><a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">00293</a> <a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">invalid_modulus</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid modulus&quot;</span>):
-<a name="l00294"></a>00294 invalid_argument(what) { }
-<a name="l00295"></a>00295 };
-<a name="l00296"></a>00296
-<a name="l00297"></a><a class="code" href="classxint_1_1divide__by__zero.html">00297</a> <span class="keyword">class </span><a class="code" href="classxint_1_1divide__by__zero.html">divide_by_zero</a>: <span class="keyword">public</span> std::invalid_argument {
-<a name="l00298"></a>00298 <span class="keyword">public</span>:
-<a name="l00299"></a><a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">00299</a> <a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;divide by zero error&quot;</span>):
-<a name="l00300"></a>00300 invalid_argument(what) { }
-<a name="l00301"></a>00301 };
-<a name="l00302"></a>00302
-<a name="l00303"></a><a class="code" href="classxint_1_1too__big.html">00303</a> <span class="keyword">class </span><a class="code" href="classxint_1_1too__big.html">too_big</a>: <span class="keyword">public</span> std::range_error {
-<a name="l00304"></a>00304 <span class="keyword">public</span>:
-<a name="l00305"></a><a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">00305</a> <a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">too_big</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;value out of range for requested &quot;</span>
-<a name="l00306"></a>00306 <span class="stringliteral">&quot;conversion&quot;</span>): range_error(what) { }
-<a name="l00307"></a>00307 };
-<a name="l00308"></a>00308
-<a name="l00309"></a><a class="code" href="classxint_1_1not__a__number.html">00309</a> <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>: <span class="keyword">public</span> std::runtime_error {
-<a name="l00310"></a>00310 <span class="keyword">public</span>:
-<a name="l00311"></a><a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">00311</a> <a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">not_a_number</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;attempted to use a Not-a-Number&quot;</span>):
-<a name="l00312"></a>00312 runtime_error(what) { }
-<a name="l00313"></a>00313 };
-<a name="l00314"></a>00314
-<a name="l00316"></a>00316 <span class="comment">// Template function definitions</span>
+<a name="l00286"></a>00286 <span class="comment">// Exception classes</span>
+<a name="l00287"></a>00287
+<a name="l00288"></a><a class="code" href="classxint_1_1invalid__base.html">00288</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__base.html">invalid_base</a>: <span class="keyword">public</span> std::invalid_argument {
+<a name="l00289"></a>00289 <span class="keyword">public</span>:
+<a name="l00290"></a><a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">00290</a> <a class="code" href="classxint_1_1invalid__base.html#a16a577d5584652ca358450cbb55b5d55">invalid_base</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid base&quot;</span>): invalid_argument(what)
+<a name="l00291"></a>00291 { }
+<a name="l00292"></a>00292 };
+<a name="l00293"></a>00293
+<a name="l00294"></a><a class="code" href="classxint_1_1invalid__digit.html">00294</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__digit.html">invalid_digit</a>: <span class="keyword">public</span> std::range_error {
+<a name="l00295"></a>00295 <span class="keyword">public</span>:
+<a name="l00296"></a><a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">00296</a> <a class="code" href="classxint_1_1invalid__digit.html#a832283e75569bd7e9d09f38ebae87a27">invalid_digit</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid digit&quot;</span>): range_error(what)
+<a name="l00297"></a>00297 { }
+<a name="l00298"></a>00298 };
+<a name="l00299"></a>00299
+<a name="l00300"></a><a class="code" href="classxint_1_1invalid__modulus.html">00300</a> <span class="keyword">class </span><a class="code" href="classxint_1_1invalid__modulus.html">invalid_modulus</a>: <span class="keyword">public</span> std::invalid_argument {
+<a name="l00301"></a>00301 <span class="keyword">public</span>:
+<a name="l00302"></a><a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">00302</a> <a class="code" href="classxint_1_1invalid__modulus.html#a691026e352d38fc5120c12d6d134e854">invalid_modulus</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;invalid modulus&quot;</span>):
+<a name="l00303"></a>00303 invalid_argument(what) { }
+<a name="l00304"></a>00304 };
+<a name="l00305"></a>00305
+<a name="l00306"></a><a class="code" href="classxint_1_1divide__by__zero.html">00306</a> <span class="keyword">class </span><a class="code" href="classxint_1_1divide__by__zero.html">divide_by_zero</a>: <span class="keyword">public</span> std::invalid_argument {
+<a name="l00307"></a>00307 <span class="keyword">public</span>:
+<a name="l00308"></a><a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">00308</a> <a class="code" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;divide by zero error&quot;</span>):
+<a name="l00309"></a>00309 invalid_argument(what) { }
+<a name="l00310"></a>00310 };
+<a name="l00311"></a>00311
+<a name="l00312"></a><a class="code" href="classxint_1_1cannot__represent.html">00312</a> <span class="keyword">class </span><a class="code" href="classxint_1_1cannot__represent.html">cannot_represent</a>: <span class="keyword">public</span> std::invalid_argument {
+<a name="l00313"></a>00313 <span class="keyword">public</span>:
+<a name="l00314"></a><a class="code" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">00314</a> <a class="code" href="classxint_1_1cannot__represent.html#abb9f7ccbc3ded22b615e08f8774a003b">cannot_represent</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;cannot represent the requested &quot;</span>
+<a name="l00315"></a>00315 <span class="stringliteral">&quot;value&quot;</span>): invalid_argument(what) { }
+<a name="l00316"></a>00316 };
 <a name="l00317"></a>00317
-<a name="l00318"></a>00318 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00319"></a><a class="code" href="classxint_1_1integer.html#a65df30415a5d2f91a72fb2c55d7cd33c">00319</a> <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8" title="The extended integer class.">integer::integer</a>(<span class="keyword">const</span> T&amp; n) {
-<a name="l00320"></a>00320 <span class="keywordflow">if</span> (std::numeric_limits&lt;T&gt;::is_signed) {
-<a name="l00321"></a>00321 <span class="keywordflow">if</span> (n &gt;= 0) {
-<a name="l00322"></a>00322 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
-<a name="l00323"></a>00323 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
-<a name="l00324"></a>00324 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
-<a name="l00325"></a>00325 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;T&gt;::min)()) {
-<a name="l00326"></a>00326 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
-<a name="l00327"></a>00327 <span class="comment">// what you&#39;d think it is.</span>
-<a name="l00328"></a>00328 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-(n+1)));
-<a name="l00329"></a>00329 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00330"></a>00330 --(*this);
-<a name="l00331"></a>00331 } <span class="keywordflow">else</span> {
-<a name="l00332"></a>00332 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-n));
-<a name="l00333"></a>00333 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335 } <span class="keywordflow">else</span> {
-<a name="l00336"></a>00336 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
-<a name="l00337"></a>00337 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
-<a name="l00338"></a>00338 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
-<a name="l00339"></a>00339 }
-<a name="l00340"></a>00340 }
+<a name="l00318"></a><a class="code" href="classxint_1_1too__big.html">00318</a> <span class="keyword">class </span><a class="code" href="classxint_1_1too__big.html">too_big</a>: <span class="keyword">public</span> std::range_error {
+<a name="l00319"></a>00319 <span class="keyword">public</span>:
+<a name="l00320"></a><a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">00320</a> <a class="code" href="classxint_1_1too__big.html#a37a714ef8bfef8a1cf6cfa08a5db1ccc">too_big</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;value out of range for requested &quot;</span>
+<a name="l00321"></a>00321 <span class="stringliteral">&quot;conversion&quot;</span>): range_error(what) { }
+<a name="l00322"></a>00322 };
+<a name="l00323"></a>00323
+<a name="l00324"></a><a class="code" href="classxint_1_1not__a__number.html">00324</a> <span class="keyword">class </span><a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>: <span class="keyword">public</span> std::runtime_error {
+<a name="l00325"></a>00325 <span class="keyword">public</span>:
+<a name="l00326"></a><a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">00326</a> <a class="code" href="classxint_1_1not__a__number.html#a4ecc5bcc06a5d660176d51fc63c996cd">not_a_number</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;attempted to use a Not-a-Number&quot;</span>):
+<a name="l00327"></a>00327 runtime_error(what) { }
+<a name="l00328"></a>00328 };
+<a name="l00329"></a>00329
+<a name="l00330"></a><a class="code" href="classxint_1_1no__strong__random.html">00330</a> <span class="keyword">class </span><a class="code" href="classxint_1_1no__strong__random.html">no_strong_random</a>: <span class="keyword">public</span> std::runtime_error {
+<a name="l00331"></a>00331 <span class="keyword">public</span>:
+<a name="l00332"></a><a class="code" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">00332</a> <a class="code" href="classxint_1_1no__strong__random.html#abc003e134450711b6608ffba6037fae6">no_strong_random</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;system does not have a strong &quot;</span>
+<a name="l00333"></a>00333 <span class="stringliteral">&quot;random generator&quot;</span>): runtime_error(what) { }
+<a name="l00334"></a>00334 };
+<a name="l00335"></a>00335
+<a name="l00336"></a><a class="code" href="classxint_1_1overflow__error.html">00336</a> <span class="keyword">class </span><a class="code" href="classxint_1_1overflow__error.html">overflow_error</a>: <span class="keyword">public</span> std::<a class="code" href="classxint_1_1overflow__error.html">overflow_error</a> {
+<a name="l00337"></a>00337 <span class="keyword">public</span>:
+<a name="l00338"></a><a class="code" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">00338</a> <a class="code" href="classxint_1_1overflow__error.html#a6d862f28aa94f27cc210c1fb2e79f69c">overflow_error</a>(<span class="keyword">const</span> std::string&amp; what=<span class="stringliteral">&quot;overflow error in XInt library&quot;</span>):
+<a name="l00339"></a>00339 std::<a class="code" href="classxint_1_1overflow__error.html">overflow_error</a>(what) { }
+<a name="l00340"></a>00340 };
 <a name="l00341"></a>00341
-<a name="l00342"></a>00342 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00343"></a><a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">00343</a> T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) {
-<a name="l00344"></a>00344 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
-<a name="l00345"></a>00345 <span class="keywordflow">if</span> (n &lt; (std::numeric_limits&lt;T&gt;::min)()
-<a name="l00346"></a>00346 || n &gt; (std::numeric_limits&lt;T&gt;::max)())
-<a name="l00347"></a>00347 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1too__big.html">too_big</a>(<span class="stringliteral">&quot;value out of range for requested conversion&quot;</span>);
-<a name="l00348"></a>00348
-<a name="l00349"></a>00349 T rval=0;
-<a name="l00350"></a>00350 <span class="keywordtype">int</span> len=n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>();
-<a name="l00351"></a>00351 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x=0; x&lt;len; ++x)
-<a name="l00352"></a>00352 rval=static_cast&lt;T&gt;((rval * <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">detail::digit_overflowbit</a>)
-<a name="l00353"></a>00353 + n.<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(len-x-1));
-<a name="l00354"></a>00354 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) rval *= -1;
-<a name="l00355"></a>00355 <span class="keywordflow">return</span> rval;
-<a name="l00356"></a>00356 }
-<a name="l00357"></a>00357
-<a name="l00358"></a>00358 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00359"></a><a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">00359</a> T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>() {
-<a name="l00360"></a>00360 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>((std::numeric_limits&lt;T&gt;::min)(),
-<a name="l00361"></a>00361 (std::numeric_limits&lt;T&gt;::max)());
-<a name="l00362"></a>00362 }
-<a name="l00363"></a>00363
-<a name="l00364"></a>00364 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00365"></a><a class="code" href="namespacexint.html#ae04e871bc550a858d66901f64d42b17f">00365</a> T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>(<span class="keyword">const</span> T&amp; lessThanThis) {
-<a name="l00366"></a>00366 <span class="keywordflow">return</span> <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>(0, lessThanThis-1);
-<a name="l00367"></a>00367 }
-<a name="l00368"></a>00368
-<a name="l00369"></a>00369 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00370"></a><a class="code" href="namespacexint.html#a342a8b817f74234c393fd9ed32f13f5f">00370</a> T <a class="code" href="namespacexint.html#a5e29caa361379cbda58d21cd569b0513">random</a>(<span class="keyword">const</span> T&amp; lowest, <span class="keyword">const</span> T&amp; highest) {
-<a name="l00371"></a>00371 <a class="code" href="classxint_1_1integer.html">integer</a> range(<a class="code" href="classxint_1_1integer.html">integer</a>(highest)-lowest+1);
-<a name="l00372"></a>00372 <span class="keywordflow">return</span> to&lt;T&gt;(lowest+(<a class="code" href="namespacexint.html#a6e66ca63ee442c0296ce41280fdae739">random_by_size</a>(std::numeric_limits&lt;T&gt;::digits+1)
-<a name="l00373"></a>00373 % range));
-<a name="l00374"></a>00374 }
-<a name="l00375"></a>00375
-<a name="l00376"></a>00376 <span class="comment">// Customization for random integer within a range</span>
-<a name="l00377"></a>00377 <span class="keyword">template</span> &lt;&gt;
-<a name="l00378"></a>00378 integer <a class="code" href="namespacexint.html#a989d063e3298649704c804efca714ac6">random&lt;integer&gt;</a>(<span class="keyword">const</span> integer&amp; lowest, <span class="keyword">const</span> integer&amp; highest);
-<a name="l00379"></a>00379
-<a name="l00380"></a>00380 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00381"></a><a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">00381</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00382"></a>00382 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
-<a name="l00383"></a>00383 {
-<a name="l00384"></a>00384 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) {
-<a name="l00385"></a>00385 out &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>;
-<a name="l00386"></a>00386 } <span class="keywordflow">else</span> {
-<a name="l00387"></a>00387 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
-<a name="l00388"></a>00388 : (out.flags() &amp; std::ios::oct) ? 8
-<a name="l00389"></a>00389 : 10);
-<a name="l00390"></a>00390 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00391"></a>00391
-<a name="l00392"></a>00392 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
-<a name="l00393"></a>00393 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
-<a name="l00396"></a>00396 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
-<a name="l00397"></a>00397 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</span>;
-<a name="l00398"></a>00398
-<a name="l00399"></a>00399 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n), base, upperCase);
-<a name="l00400"></a>00400 } <span class="keywordflow">else</span> {
-<a name="l00401"></a>00401 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(n, base, upperCase);
-<a name="l00402"></a>00402 }
-<a name="l00403"></a>00403 }
-<a name="l00404"></a>00404 <span class="keywordflow">return</span> out;
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406
-<a name="l00407"></a>00407 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
-<a name="l00408"></a><a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">00408</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00409"></a>00409 traits&gt;&amp; in, <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
-<a name="l00410"></a>00410 {
-<a name="l00411"></a>00411 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
-<a name="l00412"></a>00412 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
-<a name="l00413"></a>00413 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
-<a name="l00414"></a>00414 <span class="keywordtype">int</span> count=hex+dec+oct;
-<a name="l00415"></a>00415
-<a name="l00416"></a>00416 <span class="keywordtype">size_t</span> base=<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>;
-<a name="l00417"></a>00417 <span class="keywordflow">if</span> (count==1) {
-<a name="l00418"></a>00418 <span class="keywordflow">if</span> (hex) base=16;
-<a name="l00419"></a>00419 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
-<a name="l00420"></a>00420 <span class="keywordflow">else</span> base=10;
-<a name="l00421"></a>00421 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count&gt;1) base=10;
-<a name="l00422"></a>00422 <span class="comment">// else auto-base</span>
-<a name="l00423"></a>00423
-<a name="l00424"></a>00424 std::string s;
-<a name="l00425"></a>00425 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;+&#39;</span>) {
-<a name="l00426"></a>00426 in.ignore();
-<a name="l00427"></a>00427 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;-&#39;</span>) {
-<a name="l00428"></a>00428 in.ignore();
-<a name="l00429"></a>00429 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
-<a name="l00430"></a>00430 }
+<a name="l00343"></a>00343 <span class="comment">// Template function definitions</span>
+<a name="l00344"></a>00344
+<a name="l00345"></a><a class="code" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">00345</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00346"></a>00346 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00347"></a>00347 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00348"></a>00348 {
+<a name="l00349"></a>00349 <span class="keywordflow">if</span> (n &gt;= 0) {
+<a name="l00350"></a>00350 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
+<a name="l00351"></a>00351 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
+<a name="l00352"></a>00352 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
+<a name="l00353"></a>00353 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;T&gt;::min)()) {
+<a name="l00354"></a>00354 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
+<a name="l00355"></a>00355 <span class="comment">// what you&#39;d think it is.</span>
+<a name="l00356"></a>00356 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-(n+1)));
+<a name="l00357"></a>00357 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
+<a name="l00358"></a>00358 --(*this);
+<a name="l00359"></a>00359 } <span class="keywordflow">else</span> {
+<a name="l00360"></a>00360 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(-n));
+<a name="l00361"></a>00361 <a class="code" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(<span class="keyword">true</span>);
+<a name="l00362"></a>00362 }
+<a name="l00363"></a>00363 }
+<a name="l00364"></a>00364
+<a name="l00365"></a><a class="code" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">00365</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00366"></a>00366 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00367"></a>00367 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00368"></a>00368 {
+<a name="l00369"></a>00369 <span class="keywordflow">if</span> (static_cast&lt;T&gt;(n &amp; <a class="code" href="namespacexint_1_1detail.html#a051753e1bf43dcc77eaa93b8d4e49197">detail::digit_mask</a>) == n)
+<a name="l00370"></a>00370 <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">detail::digit_t</a>(n));
+<a name="l00371"></a>00371 <span class="keywordflow">else</span> <a class="code" href="classxint_1_1integer.html#aff4a9e0584c9f920a6cdfdc717bcda0d">_init</a>(boost::uintmax_t(n));
+<a name="l00372"></a>00372 }
+<a name="l00373"></a>00373
+<a name="l00374"></a>00374 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00375"></a><a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">00375</a> T <a class="code" href="namespacexint.html#a21bd738b96eec205eedc7a9960e9a6e5">to</a>(<span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">integer</a>&amp; n) {
+<a name="l00376"></a>00376 n.<a class="code" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>();
+<a name="l00377"></a>00377 <span class="keywordflow">if</span> (n &lt; (std::numeric_limits&lt;T&gt;::min)()
+<a name="l00378"></a>00378 || n &gt; (std::numeric_limits&lt;T&gt;::max)())
+<a name="l00379"></a>00379 <span class="keywordflow">throw</span> <a class="code" href="classxint_1_1too__big.html">too_big</a>(<span class="stringliteral">&quot;value out of range for requested conversion&quot;</span>);
+<a name="l00380"></a>00380
+<a name="l00381"></a>00381 T rval=0;
+<a name="l00382"></a>00382 <span class="keywordtype">size_t</span> len=n.<a class="code" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>();
+<a name="l00383"></a>00383 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x&lt;len; ++x)
+<a name="l00384"></a>00384 rval=static_cast&lt;T&gt;((rval * <a class="code" href="namespacexint_1_1detail.html#a6746855fd8cde164294a46108d502e6a">detail::digit_overflowbit</a>)
+<a name="l00385"></a>00385 + n.<a class="code" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(len-x-1));
+<a name="l00386"></a>00386 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) rval *= -1;
+<a name="l00387"></a>00387 <span class="keywordflow">return</span> rval;
+<a name="l00388"></a>00388 }
+<a name="l00389"></a>00389
+<a name="l00390"></a>00390 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00391"></a><a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">00391</a> <span class="keywordtype">void</span> <a class="code" href="namespacexint.html#ab2d0fe2cf11b25d26c1b86280cb4dc99">set_random_generator</a>(T &amp;gen) {
+<a name="l00392"></a>00392 <a class="code" href="structxint_1_1detail_1_1random__generator.html">detail::random_generator&lt;T&gt;</a> *obj=<span class="keyword">new</span> <a class="code" href="structxint_1_1detail_1_1random__generator.html">detail::random_generator&lt;T&gt;</a>(gen);
+<a name="l00393"></a>00393 <a class="code" href="namespacexint_1_1detail.html#ada65da12642b63f663b50382068a607f">detail::set_random_generator</a>(*obj, obj);
+<a name="l00394"></a>00394 }
+<a name="l00395"></a>00395
+<a name="l00396"></a>00396 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00397"></a><a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">00397</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#aa5b0dc228caee6523766326cf40297cd">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00398"></a>00398 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
+<a name="l00399"></a>00399 {
+<a name="l00400"></a>00400 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#aece07e741fa78e1329373ff10d44e264">nan</a>()) {
+<a name="l00401"></a>00401 out &lt;&lt; <a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>;
+<a name="l00402"></a>00402 } <span class="keywordflow">else</span> {
+<a name="l00403"></a>00403 <span class="keywordtype">int</span> base=((out.flags() &amp; std::ios::hex) ? 16
+<a name="l00404"></a>00404 : (out.flags() &amp; std::ios::oct) ? 8
+<a name="l00405"></a>00405 : 10);
+<a name="l00406"></a>00406 <span class="keywordtype">bool</span> upperCase=(out.flags() &amp; std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l00407"></a>00407
+<a name="l00408"></a>00408 <span class="keywordflow">if</span> (out.flags() &amp; std::ios::showbase) {
+<a name="l00409"></a>00409 <span class="keywordflow">if</span> (n.<a class="code" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() &lt; 0) out &lt;&lt; <span class="stringliteral">&quot;-&quot;</span>;
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411 <span class="keywordflow">if</span> (base==16 &amp;&amp; upperCase) out &lt;&lt; <span class="stringliteral">&quot;0X&quot;</span>;
+<a name="l00412"></a>00412 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span>;
+<a name="l00413"></a>00413 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out &lt;&lt; <span class="stringliteral">&quot;0&quot;</span>;
+<a name="l00414"></a>00414
+<a name="l00415"></a>00415 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(<a class="code" href="namespacexint.html#ac9e4ed282bafa93dbf608350df0127ba">abs</a>(n), base, upperCase);
+<a name="l00416"></a>00416 } <span class="keywordflow">else</span> {
+<a name="l00417"></a>00417 out &lt;&lt; <a class="code" href="namespacexint.html#a600fbf8ebbaa7253dd96817a404001fd">xint::to_string</a>(n, base, upperCase);
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419 }
+<a name="l00420"></a>00420 <span class="keywordflow">return</span> out;
+<a name="l00421"></a>00421 }
+<a name="l00422"></a>00422
+<a name="l00423"></a>00423 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits&gt;
+<a name="l00424"></a><a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">00424</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespacexint.html#a27a0715c66d7350b0f3800f6e161816f">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00425"></a>00425 traits&gt;&amp; in, <a class="code" href="classxint_1_1integer.html">xint::integer</a>&amp; n)
+<a name="l00426"></a>00426 {
+<a name="l00427"></a>00427 <span class="keywordtype">int</span> hex=(in.flags() &amp; std::ios::hex) ? 1 : 0;
+<a name="l00428"></a>00428 <span class="keywordtype">int</span> dec=(in.flags() &amp; std::ios::dec) ? 1 : 0;
+<a name="l00429"></a>00429 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
+<a name="l00430"></a>00430 <span class="keywordtype">int</span> count=hex+dec+oct;
 <a name="l00431"></a>00431
-<a name="l00432"></a>00432 <span class="keywordflow">if</span> (base==<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>) {
-<a name="l00433"></a>00433 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
-<a name="l00434"></a>00434 in.ignore();
-<a name="l00435"></a>00435 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00436"></a>00436 <span class="keywordflow">if</span> (c==<span class="charliteral">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</span>) {
-<a name="l00437"></a>00437 in.ignore();
-<a name="l00438"></a>00438 base=16;
-<a name="l00439"></a>00439 } <span class="keywordflow">else</span> base=8;
-<a name="l00440"></a>00440 } <span class="keywordflow">else</span> base=10;
-<a name="l00441"></a>00441 }
-<a name="l00442"></a>00442
-<a name="l00443"></a>00443 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
-<a name="l00444"></a>00444 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l00445"></a>00445 <span class="keywordtype">char</span> buffer[6];
-<a name="l00446"></a>00446 std::streamsize size=in.readsome(buffer, 5);
-<a name="l00447"></a>00447 buffer[size]=0;
-<a name="l00448"></a>00448 std::string str(buffer);
-<a name="l00449"></a>00449
-<a name="l00450"></a>00450 <span class="keywordflow">if</span> (str==<a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>) n=<a class="code" href="classxint_1_1integer.html">integer</a>(<a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>());
-<a name="l00451"></a>00451 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l00452"></a>00452 } <span class="keywordflow">else</span> {
-<a name="l00453"></a>00453 <span class="keywordflow">while</span> (in) {
-<a name="l00454"></a>00454 <span class="keywordtype">int</span> c=in.peek();
-<a name="l00455"></a>00455 <span class="keywordflow">if</span> ((base==8 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
-<a name="l00456"></a>00456 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
-<a name="l00457"></a>00457 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
-<a name="l00458"></a>00458 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</span>))))
-<a name="l00459"></a>00459 {
-<a name="l00460"></a>00460 in.ignore();
-<a name="l00461"></a>00461 s.push_back(<span class="keywordtype">char</span>(c));
-<a name="l00462"></a>00462 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00463"></a>00463 }
-<a name="l00464"></a>00464
-<a name="l00465"></a>00465 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> allow=<a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
-<a name="l00466"></a>00466 <span class="keywordflow">try</span> {
-<a name="l00467"></a>00467 <a class="code" href="classxint_1_1integer.html">xint::integer</a> testValue=<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string</a>(s, base);
-<a name="l00468"></a>00468 n=testValue;
-<a name="l00469"></a>00469 } <span class="keywordflow">catch</span> (<a class="code" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a>&amp;) {
-<a name="l00470"></a>00470 <span class="comment">// Catch invalid strings</span>
-<a name="l00471"></a>00471 in.setstate(std::ios::failbit);
-<a name="l00472"></a>00472 }
-<a name="l00473"></a>00473 }
-<a name="l00474"></a>00474
-<a name="l00475"></a>00475 <span class="keywordflow">return</span> in;
-<a name="l00476"></a>00476 }
-<a name="l00477"></a>00477
-<a name="l00478"></a>00478 } <span class="comment">// namespace xint</span>
-<a name="l00479"></a>00479
-<a name="l00480"></a>00480 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_H</span>
+<a name="l00432"></a>00432 <span class="keywordtype">size_t</span> base=<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>;
+<a name="l00433"></a>00433 <span class="keywordflow">if</span> (count==1) {
+<a name="l00434"></a>00434 <span class="keywordflow">if</span> (hex) base=16;
+<a name="l00435"></a>00435 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
+<a name="l00436"></a>00436 <span class="keywordflow">else</span> base=10;
+<a name="l00437"></a>00437 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count&gt;1) base=10;
+<a name="l00438"></a>00438 <span class="comment">// else auto-base</span>
+<a name="l00439"></a>00439
+<a name="l00440"></a>00440 std::string s;
+<a name="l00441"></a>00441 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;+&#39;</span>) {
+<a name="l00442"></a>00442 in.ignore();
+<a name="l00443"></a>00443 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;-&#39;</span>) {
+<a name="l00444"></a>00444 in.ignore();
+<a name="l00445"></a>00445 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
+<a name="l00446"></a>00446 }
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448 <span class="keywordflow">if</span> (base==<a class="code" href="namespacexint.html#a7a5434a5f5fb1db19f0de18014c4fc41">autobase</a>) {
+<a name="l00449"></a>00449 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
+<a name="l00450"></a>00450 in.ignore();
+<a name="l00451"></a>00451 <span class="keywordtype">int</span> c=in.peek();
+<a name="l00452"></a>00452 <span class="keywordflow">if</span> (c==<span class="charliteral">&#39;x&#39;</span> || c==<span class="charliteral">&#39;X&#39;</span>) {
+<a name="l00453"></a>00453 in.ignore();
+<a name="l00454"></a>00454 base=16;
+<a name="l00455"></a>00455 } <span class="keywordflow">else</span> base=8;
+<a name="l00456"></a>00456 } <span class="keywordflow">else</span> base=10;
+<a name="l00457"></a>00457 }
+<a name="l00458"></a>00458
+<a name="l00459"></a>00459 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
+<a name="l00460"></a>00460 <span class="comment">// Must be either #NaN# or an error</span>
+<a name="l00461"></a>00461 <span class="keywordtype">char</span> buffer[6];
+<a name="l00462"></a>00462 std::streamsize size=in.readsome(buffer, 5);
+<a name="l00463"></a>00463 buffer[size]=0;
+<a name="l00464"></a>00464 std::string str(buffer);
+<a name="l00465"></a>00465
+<a name="l00466"></a>00466 <span class="keywordflow">if</span> (str==<a class="code" href="namespacexint_1_1detail.html#aede27c67f3308e0805fc3093ffe6f4ce">detail::nan_text</a>) n=<a class="code" href="classxint_1_1integer.html">integer</a>(<a class="code" href="classxint_1_1not__a__number.html">not_a_number</a>());
+<a name="l00467"></a>00467 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
+<a name="l00468"></a>00468 } <span class="keywordflow">else</span> {
+<a name="l00469"></a>00469 <span class="keywordflow">while</span> (in) {
+<a name="l00470"></a>00470 <span class="keywordtype">int</span> c=in.peek();
+<a name="l00471"></a>00471 <span class="keywordflow">if</span> ((base==8 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;7&#39;</span>)) ||
+<a name="l00472"></a>00472 (base==10 &amp;&amp; (c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>)) ||
+<a name="l00473"></a>00473 (base==16 &amp;&amp; ((c&gt;=<span class="charliteral">&#39;0&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;9&#39;</span>) || (c&gt;=<span class="charliteral">&#39;a&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;f&#39;</span>) ||
+<a name="l00474"></a>00474 (c&gt;=<span class="charliteral">&#39;A&#39;</span> &amp;&amp; c&lt;=<span class="charliteral">&#39;F&#39;</span>))))
+<a name="l00475"></a>00475 {
+<a name="l00476"></a>00476 in.ignore();
+<a name="l00477"></a>00477 s.push_back(<span class="keywordtype">char</span>(c));
+<a name="l00478"></a>00478 } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
+<a name="l00479"></a>00479 }
+<a name="l00480"></a>00480
+<a name="l00481"></a>00481 <a class="code" href="structxint_1_1detail_1_1token.html">token</a> allow=<a class="code" href="namespacexint.html#a4b5a1a791ba11bb8f158a3b56bd9723e">allow_exceptions</a>();
+<a name="l00482"></a>00482 <span class="keywordflow">try</span> {
+<a name="l00483"></a>00483 <a class="code" href="classxint_1_1integer.html">xint::integer</a> testValue=<a class="code" href="namespacexint.html#ad9dcb2b835be5f8ee918979945911ac0">xint::from_string</a>(s, base);
+<a name="l00484"></a>00484 n=testValue;
+<a name="l00485"></a>00485 } <span class="keywordflow">catch</span> (<a class="code" href="classxint_1_1invalid__digit.html">xint::invalid_digit</a>&amp;) {
+<a name="l00486"></a>00486 <span class="comment">// Catch invalid strings</span>
+<a name="l00487"></a>00487 in.setstate(std::ios::failbit);
+<a name="l00488"></a>00488 }
+<a name="l00489"></a>00489 }
+<a name="l00490"></a>00490
+<a name="l00491"></a>00491 <span class="keywordflow">return</span> in;
+<a name="l00492"></a>00492 }
+<a name="l00493"></a>00493
+<a name="l00494"></a>00494 } <span class="comment">// namespace xint</span>
+<a name="l00495"></a>00495
+<a name="l00496"></a>00496 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_H</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -503,7 +554,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp;
doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -65,15 +65,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">xint::detail::data_t::QuickDigits</a></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint_1_1detail.html">xint::detail</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>implementation details, normal users should not need to use these. </p>
-<br/></td></tr>
-</p>
 </table>
 </div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
@@ -94,7 +86,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__data__t_8hpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -88,14 +88,14 @@
 <a name="l00032"></a><a class="code" href="structxint_1_1detail_1_1data__t.html">00032</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> {
 <a name="l00033"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">00033</a> <span class="keyword">struct </span><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html">QuickDigits</a> {
 <a name="l00034"></a>00034 <span class="comment">// We want at least enough QuickDigits to hold two ints.</span>
-<a name="l00035"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">00035</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a>=std::numeric_limits&lt;unsigned int&gt;::digits;
-<a name="l00036"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">00036</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a>=(2*<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a8c823c135d72766b46249e6585585859">intbits</a>/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
-<a name="l00037"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">00037</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a>=3;
-<a name="l00038"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">00038</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">count</a>=(<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a> &lt; <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> ? <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a5ee62e707000ba18c444ae3aeec89d75">minimum</a> : <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a1d6ffbc11a8c4ab2617a391f843a8a5e">suggested</a>);
+<a name="l00035"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">00035</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>=std::numeric_limits&lt;unsigned int&gt;::digits;
+<a name="l00036"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">00036</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>=(2*<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#af5323a8fbfdfaa3cae371872ec865fc5">intbits</a>/<a class="code" href="namespacexint_1_1detail.html#a9bd9e8d55061238d63913020d2721518">bits_per_digit</a>);
+<a name="l00037"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">00037</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a>=3;
+<a name="l00038"></a><a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">00038</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">count</a>=(<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a> &lt; <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> ? <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#aeb7c43d282f871305e76936664cee25f">minimum</a> : <a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a789eadb40cb8c034823ecb5fb6094092">suggested</a>);
 <a name="l00039"></a>00039 };
 <a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">00041</a> <span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#ac594577f74057c94ad70a3503068d286">mLength</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a100abfc5841043a6c1c5d5afa2d6cd94">mAllocated</a>;
-<a name="l00042"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">00042</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>[<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#a4e25c9e14a1730c37e2c7383c46679ec">QuickDigits::count</a>];
+<a name="l00041"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">00041</a> <span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a599933d272e3592b2d0985ca7f7c72e2">mLength</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a3390530db8333b535f65d3cc01ff5236">mAllocated</a>;
+<a name="l00042"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">00042</a> <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *<a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <a class="code" href="structxint_1_1detail_1_1data__t.html#a022f882ed0818612861b1a67881ae131">mQuickDigits</a>[<a class="code" href="structxint_1_1detail_1_1data__t_1_1_quick_digits.html#ac691b42c4404e59ae07f89146e722736">QuickDigits::count</a>];
 <a name="l00043"></a>00043
 <a name="l00044"></a>00044 <span class="preprocessor"> #if !defined(XINT_SECURE)</span>
 <a name="l00045"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">00045</a> <span class="preprocessor"></span> std::vector&lt;digit_t&gt; <a class="code" href="structxint_1_1detail_1_1data__t.html#a96c33fdc37dd3c774256f7ed20ce735c">mStorage</a>;
@@ -114,10 +114,10 @@
 <a name="l00058"></a>00058 <span class="preprocessor"></span>
 <a name="l00059"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">00059</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a7230e725461510f321bb1c45251b62f3">attach</a>() { ++<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>; }
 <a name="l00060"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">00060</a> <span class="keywordtype">bool</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#afd5505e388c5bf8c9cf069df81a91818">detach</a>() { <span class="keywordflow">return</span> (--<a class="code" href="structxint_1_1detail_1_1data__t.html#a73bc854b5f9ced6576b97d2cff8f3a5d">mCopies</a>==0); }
-<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(<span class="keywordtype">int</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keywordtype">bool</span> copydigits=<span class="keyword">false</span>);
-<a name="l00062"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">00062</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a935c926cadfe0b92efe3b03201353862">realloc</a>(<span class="keywordtype">int</span> newdigits) { <a class="code" href="structxint_1_1detail_1_1data__t.html#a8b5fe67dc7c5808306707f2210ab5658">alloc</a>(newdigits, <span class="keyword">true</span>); }
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(<span class="keywordtype">size_t</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a5c9382aec147090d7e7e2b5e972402a9">digits</a>, <span class="keywordtype">bool</span> copydigits=<span class="keyword">false</span>);
+<a name="l00062"></a><a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">00062</a> <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a2bb2c79d47f2fda3605f34b80cb58b8b">realloc</a>(<span class="keywordtype">size_t</span> newdigits) { <a class="code" href="structxint_1_1detail_1_1data__t.html#a4fe3935e29883193166966c49cd73139">alloc</a>(newdigits, <span class="keyword">true</span>); }
 <a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a6d45feedd311e26f7de06597fb0c6b81">skipLeadingZeros</a>();
-<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#acc02d0c3b8c867ff12af155dae8445dd">copy</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, <span class="keywordtype">int</span> extraDigits=0);
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a66862f94545c953f6604b4347205277b">copy</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a> *c, <span class="keywordtype">size_t</span> extraDigits=0);
 <a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a288850fd62ef26302ce4767a45acd968">zero</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> *p, <span class="keywordtype">size_t</span> count);
 <a name="l00066"></a>00066
 <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a57fc3966c44d09daeede53899673cde3">quickset</a>(<a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d1, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d2=0, <a class="code" href="namespacexint_1_1detail.html#a8843fb7e364832d8d5983de28bdbcf34">digit_t</a> d3=0);
@@ -131,8 +131,8 @@
 <a name="l00075"></a>00075 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a650d374b8d38b369273830bb9d939da4">subtract</a>(<span class="keyword">const</span> <a class="code" href="structxint_1_1detail_1_1data__t.html">data_t</a>&amp; subtrahend);
 <a name="l00076"></a>00076
 <a name="l00077"></a>00077 <span class="comment">// These are also calculated in place, for maximum speed.</span>
-<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a4375d95de49470025539a9b41429bcf6">shift_left</a>(<span class="keywordtype">int</span> byBits);
-<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#aacee3802bd433c989d9fdc6a1731019d">shift_right</a>(<span class="keywordtype">int</span> byBits);
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a72785130c7c6490af874f450cf6e0086">shift_left</a>(<span class="keywordtype">size_t</span> byBits);
+<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="structxint_1_1detail_1_1data__t.html#a432ace7094bca306dcba254f862e2428">shift_right</a>(<span class="keywordtype">size_t</span> byBits);
 <a name="l00080"></a>00080 };
 <a name="l00081"></a>00081
 <a name="l00082"></a>00082 } <span class="comment">// namespace detail</span>
@@ -158,7 +158,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -70,7 +70,8 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Simple demo of xint sending the fibonacci sequence to stream output. </p>
-<p>Fibonacci numbers are a sequence of numbers, starting with the numbers 0 and 1, where each successive number is the sum of the previous two. The first few Fibonacci numbers are:</p>
+<p>Fibonacci numbers are a sequence of numbers, starting with the numbers 0 and 1, where each successive number is the sum of the previous two.</p>
+<p>The first few Fibonacci numbers are:</p>
 <p>0 1 1 2 3 5 8 13 21 34 55 89 144...</p>
 <p>You might be curious what the first Fibonacci number is that's too big to calculate using the standard C++ unsigned long type. A brute-force method of calculating this would be problematic, since it might not be possible to tell when it overflows. But with the XInt library, it's child's play.</p>
 <p>If you're not intimately familiar with the Fibonacci sequence, and how fast the numbers in it grow, the answer might shock you.</p>
@@ -93,7 +94,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint__fibonacci_8cpp_source.html#l00033">33</a> of file <a class="el" href="xint__fibonacci_8cpp_source.html">xint_fibonacci.cpp</a>.</p>
+<p>Definition at line <a class="el" href="xint__fibonacci_8cpp_source.html#l00040">40</a> of file <a class="el" href="xint__fibonacci_8cpp_source.html">xint_fibonacci.cpp</a>.</p>
 
 </div>
 </div>
@@ -116,7 +117,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__fibonacci_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -62,55 +62,55 @@
 <a name="l00006"></a>00006 <span class="comment">// (See accompanying file LICENSE_1_0.txt or copy at</span>
 <a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
 <a name="l00008"></a>00008
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="xint_8hpp.html">boost/xint/xint.hpp</a>&gt;</span>
-<a name="l00032"></a>00032
-<a name="l00033"></a><a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">00033</a> <span class="keywordtype">int</span> <a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {
-<a name="l00034"></a>00034 <span class="keyword">using</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>;
-<a name="l00035"></a>00035 <span class="keyword">using</span> std::cout;
-<a name="l00036"></a>00036 <span class="keyword">using</span> std::endl;
-<a name="l00037"></a>00037 <span class="keyword">using</span> std::numeric_limits;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="comment">//[xint_fibonacci_snippet_1</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="comment">// Select our limit, in this case the largest number </span>
-<a name="l00042"></a>00042 <span class="comment">// that will fit into an unsigned long:</span>
-<a name="l00043"></a>00043 integer limit=(std::numeric_limits&lt;unsigned long&gt;::max)();
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="comment">// Set the first two numbers in the sequence:</span>
-<a name="l00046"></a>00046 integer n, n1=0, n2=1;
-<a name="l00047"></a>00047 <span class="comment">//] [xint_fibonacci_snippet_1]</span>
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="comment">// Now count the items in the sequence as we iterate over them,</span>
-<a name="l00050"></a>00050 <span class="comment">// until we come to the first one greater than the limit we&#39;ve set.</span>
-<a name="l00051"></a>00051 <span class="keywordtype">size_t</span> counter=0;
-<a name="l00052"></a>00052 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n1 &lt;&lt; endl;
-<a name="l00053"></a>00053 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n2 &lt;&lt; endl;
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
-<a name="l00056"></a>00056 n = n1 + n2;
-<a name="l00057"></a>00057 <span class="keywordflow">if</span> (n &gt; limit) <span class="keywordflow">break</span>;
-<a name="l00058"></a>00058 <span class="comment">// That one didn&#39;t do it, go back for another try.</span>
-<a name="l00059"></a>00059 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n &lt;&lt; endl;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 n1=n2;
-<a name="l00062"></a>00062 n2=n;
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 cout &lt;&lt; <span class="stringliteral">&quot;The answer is &quot;</span> &lt;&lt; counter &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; endl;
-<a name="l00066"></a>00066 } <span class="comment">// int main()</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;limits&gt;</span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="xint_8hpp.html">boost/xint/xint.hpp</a>&gt;</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a><a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">00040</a> <span class="keywordtype">int</span> <a class="code" href="xint__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {
+<a name="l00041"></a>00041 <span class="keyword">using</span> <a class="code" href="classxint_1_1integer.html">xint::integer</a>;
+<a name="l00042"></a>00042 <span class="keyword">using</span> std::cout;
+<a name="l00043"></a>00043 <span class="keyword">using</span> std::endl;
+<a name="l00044"></a>00044 <span class="keyword">using</span> std::numeric_limits;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="comment">//[xint_fibonacci_snippet_1</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// Select our limit, in this case the largest number </span>
+<a name="l00049"></a>00049 <span class="comment">// that will fit into an unsigned long:</span>
+<a name="l00050"></a>00050 integer limit=(std::numeric_limits&lt;unsigned long&gt;::max)();
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// Set the first two numbers in the sequence:</span>
+<a name="l00053"></a>00053 integer n, n1=0, n2=1;
+<a name="l00054"></a>00054 <span class="comment">//] [xint_fibonacci_snippet_1]</span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Now count the items in the sequence as we iterate over them,</span>
+<a name="l00057"></a>00057 <span class="comment">// until we come to the first one greater than the limit we&#39;ve set.</span>
+<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> counter=0;
+<a name="l00059"></a>00059 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n1 &lt;&lt; endl;
+<a name="l00060"></a>00060 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n2 &lt;&lt; endl;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
+<a name="l00063"></a>00063 n = n1 + n2;
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (n &gt; limit) <span class="keywordflow">break</span>;
+<a name="l00065"></a>00065 <span class="comment">// That one didn&#39;t do it, go back for another try.</span>
+<a name="l00066"></a>00066 cout &lt;&lt; counter++ &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; n &lt;&lt; endl;
 <a name="l00067"></a>00067
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="comment">/*</span>
-<a name="l00070"></a>00070 <span class="comment">//[xint_fibonacci_output_1</span>
-<a name="l00071"></a>00071 <span class="comment"></span>
-<a name="l00072"></a>00072 <span class="comment"></span>
-<a name="l00073"></a>00073 <span class="comment"></span>
-<a name="l00074"></a>00074 <span class="comment">//] [xint_fibonacci_output_1]</span>
-<a name="l00075"></a>00075 <span class="comment">*/</span>
-<a name="l00076"></a>00076
+<a name="l00068"></a>00068 n1=n2;
+<a name="l00069"></a>00069 n2=n;
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 cout &lt;&lt; <span class="stringliteral">&quot;The answer is &quot;</span> &lt;&lt; counter &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot;).&quot;</span> &lt;&lt; endl;
+<a name="l00073"></a>00073 } <span class="comment">// int main()</span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="comment">/*</span>
+<a name="l00077"></a>00077 <span class="comment">//[xint_fibonacci_output_1</span>
+<a name="l00078"></a>00078 <span class="comment"></span>
+<a name="l00079"></a>00079 <span class="comment"></span>
+<a name="l00080"></a>00080 <span class="comment"></span>
+<a name="l00081"></a>00081 <span class="comment">//] [xint_fibonacci_output_1]</span>
+<a name="l00082"></a>00082 <span class="comment">*/</span>
+<a name="l00083"></a>00083
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -130,7 +130,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -61,10 +61,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">digit_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#afd561fd7c7631267fbc7e5c75c2bde71">xint::inverse0</a> (const integer &amp;n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aaf3b26669d4e61f6af5dcae42b20e08b">xint::montgomeryR</a> (const integer &amp;n)</td></tr>
@@ -92,7 +88,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__monty_8hpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -103,7 +103,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -110,7 +110,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__simple_8cpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -124,7 +124,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -61,10 +61,6 @@
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html">xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>namespace for all extended integer classes and functions. </p>
-<br/></td></tr>
-</p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a972fb39595e902be6c50629356b44e5b">xint::testAll</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a509778d505a3c8a0b335817150eaead2">xint::testBitManipulations</a> ()</td></tr>
@@ -73,7 +69,6 @@
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">xint::testDivideMod</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">xint::testConvert</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">xint::testStreams</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#aa1dbeb0c1ad12e8a8de7efb6c47e455f">xint::testRandom</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">xint::testMontyMultiply</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">xint::testMontyPowerMod</a> ()</td></tr>
 </table>
@@ -96,7 +91,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>

Modified: sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/doxygen/html/xint__test_8hpp_source.html 2010-03-31 10:48:23 EDT (Wed, 31 Mar 2010)
@@ -15,7 +15,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 
   <!-- Add your title here ! -->
- <title>Quickbook Doxygen Index Prototype Tue Mar 30 18:10:43 2010 xInt eXtended Integer Library </title>
+ <title>Quickbook Doxygen Index Prototype Wed Mar 31 15:44:54 2010 xInt eXtended Integer Library </title>
 
   <!-- Add your custom stylesheet here ! -->
   <link href="my_doxygen.css" rel="stylesheet" type="text/css"/>
@@ -79,13 +79,12 @@
 <a name="l00023"></a>00023 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a4ed78ff75865ae44a00d3709dd88c3a1">testDivideMod</a>();
 <a name="l00024"></a>00024 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ae4ef5f20964fa995df7828f27bd7adbe">testConvert</a>();
 <a name="l00025"></a>00025 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ae3305f62ca9be58fbc11dbd4c703f38b">testStreams</a>();
-<a name="l00026"></a>00026 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#aa1dbeb0c1ad12e8a8de7efb6c47e455f">testRandom</a>();
-<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">testMontyMultiply</a>();
-<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">testMontyPowerMod</a>();
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 } <span class="comment">// namespace xint</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_TEST_H</span>
+<a name="l00026"></a>00026 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#ac40068d64f8c4d9002a0687935888c42">testMontyMultiply</a>();
+<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespacexint.html#a9cce0401174b9ae173671b0800c5f457">testMontyPowerMod</a>();
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 } <span class="comment">// namespace xint</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_TEST_H</span>
 </pre></div></div>
 <!-- xint custom Doxygen footer my_doxygen_footer.html -->-
 
@@ -105,7 +104,7 @@
       <!-- Change copyright to YOUR name (and affiliation, if any) below: -->
      <p>Copyright © 2009 - 2010 Chad Nelson, Oak Circle Software, Inc</p>
       <!-- 2010 becomes the current year, for example 2010, so claims copyright for a range of years, 2009 - 2010. -->
- <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Tue Mar 30 18:10:43 2010</p>
+ <p>Doxygen Documentation generated by&nbsp; doxygen logo 1.6.3, Revised at Wed Mar 31 15:44:54 2010</p>
   </address>
   </tr>
 </tbody>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk