Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61752 - in sandbox/xint: boost/xint build doc doc/dox example src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-05-04 01:32:59


Author: chadnelson
Date: 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
New Revision: 61752
URL: http://svn.boost.org/trac/boost/changeset/61752

Log:
Eliminated dependency on Boost.Thread in the thread-safe version, fixed a
problem with the split-up test files.
Added:
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html
      - copied, changed from r61741, /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html
      - copied, changed from r61741, /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html
   sandbox/xint/test/Jamfile (contents, props changed)
Removed:
   sandbox/xint/doc/dox/r_default_necessary.dox
   sandbox/xint/doc/nothrow__random_8cpp.html
   sandbox/xint/doc/nothrow__random_8cpp_source.html
   sandbox/xint/doc/r__default__necessary.html
   sandbox/xint/doc/r__default__necessary_8dox.html
   sandbox/xint/src/nothrow_random.cpp
   sandbox/xint/test/Jamroot
Text files modified:
   sandbox/xint/boost/xint/fixed_integer.hpp | 30 +-
   sandbox/xint/boost/xint/integer.hpp | 3
   sandbox/xint/boost/xint/nothrow_integer.hpp | 36 +++
   sandbox/xint/boost/xint/random.hpp | 107 +++++++++---
   sandbox/xint/build/Jamfile.v2 | 9
   sandbox/xint/doc/acknowledgements.html | 3
   sandbox/xint/doc/acknowledgements_8dox.html | 2
   sandbox/xint/doc/annotated.html | 3
   sandbox/xint/doc/base__integer_8cpp.html | 2
   sandbox/xint/doc/base__integer_8cpp_source.html | 2
   sandbox/xint/doc/bit__manipulations_8cpp.html | 2
   sandbox/xint/doc/bit__manipulations_8cpp_source.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html | 36 ++-
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html | 2
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html | 15 +
   sandbox/xint/doc/classdisable__boost__rv__ref.html | 2
   sandbox/xint/doc/classes.html | 16
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html | 2
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html | 64 +++---
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html | 2
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html | 64 +++---
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html | 2
   sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html | 64 +++---
   sandbox/xint/doc/compare_8cpp.html | 2
   sandbox/xint/doc/compare_8cpp_source.html | 2
   sandbox/xint/doc/complexity.html | 2
   sandbox/xint/doc/complexity_8dox.html | 2
   sandbox/xint/doc/convert_8cpp.html | 2
   sandbox/xint/doc/convert_8cpp_source.html | 2
   sandbox/xint/doc/copyonwrite_8dox.html | 2
   sandbox/xint/doc/cow.html | 2
   sandbox/xint/doc/data__t_8cpp.html | 2
   sandbox/xint/doc/data__t_8cpp_source.html | 2
   sandbox/xint/doc/dependencies.html | 7
   sandbox/xint/doc/dependencies_8dox.html | 2
   sandbox/xint/doc/dox/acknowledgements.dox | 1
   sandbox/xint/doc/dox/dependencies.dox | 7
   sandbox/xint/doc/dox/exceptions.dox | 2
   sandbox/xint/doc/dox/r_insecure_default.dox | 2
   sandbox/xint/doc/dox/random.dox | 24 +-
   sandbox/xint/doc/dox/rationale.dox | 1
   sandbox/xint/doc/dox/threadsafe.dox | 9
   sandbox/xint/doc/ex__fibonacci.html | 2
   sandbox/xint/doc/ex__fibonacci_8dox.html | 2
   sandbox/xint/doc/exceptions.html | 6
   sandbox/xint/doc/exceptions_8dox.html | 2
   sandbox/xint/doc/exceptions_8hpp.html | 2
   sandbox/xint/doc/exceptions_8hpp_source.html | 2
   sandbox/xint/doc/files.html | 3
   sandbox/xint/doc/fixed__and__variable.html | 2
   sandbox/xint/doc/fixed__and__variable_8dox.html | 2
   sandbox/xint/doc/fixed__integer_8hpp.html | 10
   sandbox/xint/doc/fixed__integer_8hpp_source.html | 228 +++++++++++++-------------
   sandbox/xint/doc/functions.html | 2
   sandbox/xint/doc/functions_0x62.html | 2
   sandbox/xint/doc/functions_0x63.html | 2
   sandbox/xint/doc/functions_0x64.html | 11
   sandbox/xint/doc/functions_0x65.html | 2
   sandbox/xint/doc/functions_0x66.html | 2
   sandbox/xint/doc/functions_0x68.html | 2
   sandbox/xint/doc/functions_0x69.html | 2
   sandbox/xint/doc/functions_0x6d.html | 2
   sandbox/xint/doc/functions_0x6e.html | 2
   sandbox/xint/doc/functions_0x6f.html | 2
   sandbox/xint/doc/functions_0x71.html | 2
   sandbox/xint/doc/functions_0x72.html | 2
   sandbox/xint/doc/functions_0x73.html | 2
   sandbox/xint/doc/functions_0x74.html | 2
   sandbox/xint/doc/functions_0x7a.html | 2
   sandbox/xint/doc/functions_0x7e.html | 2
   sandbox/xint/doc/functions_func.html | 7
   sandbox/xint/doc/functions_type.html | 2
   sandbox/xint/doc/functions_vars.html | 2
   sandbox/xint/doc/gcd_8cpp.html | 2
   sandbox/xint/doc/gcd_8cpp_source.html | 2
   sandbox/xint/doc/globals.html | 2
   sandbox/xint/doc/globals_defs.html | 2
   sandbox/xint/doc/hierarchy.html | 3
   sandbox/xint/doc/history.html | 2
   sandbox/xint/doc/history_8dox.html | 2
   sandbox/xint/doc/index.html | 4
   sandbox/xint/doc/index_8dox.html | 2
   sandbox/xint/doc/integer_8cpp.html | 2
   sandbox/xint/doc/integer_8cpp_source.html | 2
   sandbox/xint/doc/integer_8hpp.html | 10
   sandbox/xint/doc/integer_8hpp_source.html | 233 +++++++++++++-------------
   sandbox/xint/doc/internals_8hpp.html | 2
   sandbox/xint/doc/internals_8hpp_source.html | 2
   sandbox/xint/doc/misc_8cpp.html | 2
   sandbox/xint/doc/misc_8cpp_source.html | 2
   sandbox/xint/doc/modular_8cpp.html | 2
   sandbox/xint/doc/modular_8cpp_source.html | 2
   sandbox/xint/doc/monty_8cpp.html | 2
   sandbox/xint/doc/monty_8cpp_source.html | 2
   sandbox/xint/doc/monty_8hpp.html | 2
   sandbox/xint/doc/monty_8hpp_source.html | 2
   sandbox/xint/doc/namespaceboost.html | 2
   sandbox/xint/doc/namespaceboost_1_1xint.html | 240 ++++++++++++++-------------
   sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html | 2
   sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html | 2
   sandbox/xint/doc/namespacemembers.html | 27 +-
   sandbox/xint/doc/namespacemembers_func.html | 27 +-
   sandbox/xint/doc/namespacemembers_type.html | 2
   sandbox/xint/doc/namespacemembers_vars.html | 2
   sandbox/xint/doc/namespaces.html | 2
   sandbox/xint/doc/namespacestd.html | 2
   sandbox/xint/doc/nan.html | 2
   sandbox/xint/doc/nan_8dox.html | 2
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html | 2
   sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__compare_8cpp.html | 2
   sandbox/xint/doc/nothrow__compare_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__convert_8cpp.html | 2
   sandbox/xint/doc/nothrow__convert_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__gcd_8cpp.html | 2
   sandbox/xint/doc/nothrow__gcd_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__integer_8cpp.html | 2
   sandbox/xint/doc/nothrow__integer_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__integer_8hpp.html | 8
   sandbox/xint/doc/nothrow__integer_8hpp_source.html | 338 +++++++++++++++++++++------------------
   sandbox/xint/doc/nothrow__misc_8cpp.html | 2
   sandbox/xint/doc/nothrow__misc_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__modular_8cpp.html | 2
   sandbox/xint/doc/nothrow__modular_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__operators_8cpp.html | 2
   sandbox/xint/doc/nothrow__operators_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__powers_8cpp.html | 2
   sandbox/xint/doc/nothrow__powers_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__primes_8cpp.html | 3
   sandbox/xint/doc/nothrow__primes_8cpp_source.html | 15 -
   sandbox/xint/doc/nothrow__primitives_8cpp.html | 2
   sandbox/xint/doc/nothrow__primitives_8cpp_source.html | 2
   sandbox/xint/doc/nothrow__roots_8cpp.html | 2
   sandbox/xint/doc/nothrow__roots_8cpp_source.html | 2
   sandbox/xint/doc/operators_8cpp.html | 2
   sandbox/xint/doc/operators_8cpp_source.html | 2
   sandbox/xint/doc/powers_8cpp.html | 2
   sandbox/xint/doc/powers_8cpp_source.html | 2
   sandbox/xint/doc/primes.html | 6
   sandbox/xint/doc/primes_8cpp.html | 4
   sandbox/xint/doc/primes_8cpp_source.html | 219 +++++++++++++------------
   sandbox/xint/doc/primes_8dox.html | 2
   sandbox/xint/doc/primitives_8cpp.html | 2
   sandbox/xint/doc/primitives_8cpp_source.html | 2
   sandbox/xint/doc/r__core.html | 2
   sandbox/xint/doc/r__core_8dox.html | 2
   sandbox/xint/doc/r__cow.html | 2
   sandbox/xint/doc/r__cow_8dox.html | 2
   sandbox/xint/doc/r__exception__blocking.html | 2
   sandbox/xint/doc/r__exception__blocking_8dox.html | 2
   sandbox/xint/doc/r__insecure__default.html | 6
   sandbox/xint/doc/r__insecure__default_8dox.html | 2
   sandbox/xint/doc/r__interface.html | 2
   sandbox/xint/doc/r__interface_8dox.html | 2
   sandbox/xint/doc/r__interface__design__only.html | 2
   sandbox/xint/doc/r__interface__design__only_8dox.html | 2
   sandbox/xint/doc/r__nan.html | 2
   sandbox/xint/doc/r__nan_8dox.html | 2
   sandbox/xint/doc/r__negzero.html | 2
   sandbox/xint/doc/r__negzero_8dox.html | 2
   sandbox/xint/doc/r__random.html | 2
   sandbox/xint/doc/r__random_8dox.html | 2
   sandbox/xint/doc/r__shared__ptr.html | 2
   sandbox/xint/doc/r__shared__ptr_8dox.html | 2
   sandbox/xint/doc/random.html | 10
   sandbox/xint/doc/random_8cpp.html | 8
   sandbox/xint/doc/random_8cpp_source.html | 305 ++++++++++++++----------------------
   sandbox/xint/doc/random_8dox.html | 2
   sandbox/xint/doc/random_8hpp.html | 16 +
   sandbox/xint/doc/random_8hpp_source.html | 98 ++++++----
   sandbox/xint/doc/rationale.html | 5
   sandbox/xint/doc/rationale_8dox.html | 2
   sandbox/xint/doc/roots_8cpp.html | 2
   sandbox/xint/doc/roots_8cpp_source.html | 2
   sandbox/xint/doc/securemode.html | 2
   sandbox/xint/doc/securemode_8dox.html | 2
   sandbox/xint/doc/testing.html | 2
   sandbox/xint/doc/testing_8dox.html | 2
   sandbox/xint/doc/threadsafe.html | 6
   sandbox/xint/doc/threadsafe_8dox.html | 2
   sandbox/xint/doc/xint_8hpp.html | 2
   sandbox/xint/doc/xint_8hpp_source.html | 2
   sandbox/xint/doc/zero.html | 2
   sandbox/xint/doc/zero_8dox.html | 2
   sandbox/xint/example/genprime.cpp | 4
   sandbox/xint/src/nothrow_primes.cpp | 10 -
   sandbox/xint/src/primes.cpp | 73 +++-----
   sandbox/xint/src/random.cpp | 140 ++-------------
   sandbox/xint/test/test_add.cpp | 31 ++-
   sandbox/xint/test/test_bit_manipulations.cpp | 6
   sandbox/xint/test/test_compare.cpp | 6
   sandbox/xint/test/test_convert.cpp | 10
   sandbox/xint/test/test_divide.cpp | 13
   sandbox/xint/test/test_fixed.cpp | 6
   sandbox/xint/test/test_main.cpp | 15 +
   sandbox/xint/test/test_misc.cpp | 6
   sandbox/xint/test/test_modular.cpp | 6
   sandbox/xint/test/test_monty.cpp | 35 +--
   sandbox/xint/test/test_multiply.cpp | 13
   sandbox/xint/test/test_powers.cpp | 6
   sandbox/xint/test/test_streams.cpp | 6
   232 files changed, 1559 insertions(+), 1530 deletions(-)

Modified: sandbox/xint/boost/xint/fixed_integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/fixed_integer.hpp (original)
+++ sandbox/xint/boost/xint/fixed_integer.hpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -225,17 +225,17 @@
 
 //! \name Random number functions
 //!@{
-template <size_t Bits>
-fixed_integer<Bits> fixed_random_by_size(size_t sizeInBits, bool highBitOn =
- false, bool lowBitOn = false, bool canBeNegative = false);
+template <class T, size_t Bits>
+fixed_integer<Bits> fixed_random_by_size(T& gen, size_t sizeInBits, bool
+ highBitOn = false, bool lowBitOn = false, bool canBeNegative = false);
 //!@}
 
 //! \name Prime number functions
 //!@{
 int is_prime(const fixed_integer_any& n, callback_t callback = no_callback);
-template <size_t Bits>
-fixed_integer<Bits> fixed_random_prime(size_t sizeInBits, callback_t callback =
- no_callback);
+template <class T, size_t Bits>
+fixed_integer<Bits> fixed_random_prime(T& gen, size_t sizeInBits, callback_t
+ callback = no_callback);
 //!@}
 
 /*! \name Operators
@@ -779,19 +779,21 @@
 }
 
 //! \copydoc random_by_size
-template <size_t Bits>
-fixed_integer<Bits> fixed_random_by_size(size_t bits, bool high_bit_on, bool
- low_bit_on, bool can_be_negative)
+template <class T, size_t Bits>
+fixed_integer<Bits> fixed_random_by_size(T& gen, size_t bits, bool high_bit_on,
+ bool low_bit_on, bool can_be_negative)
 {
- return fixed_integer<Bits>(random_by_size((std::min)(Bits, bits),
- high_bit_on, low_bit_on, can_be_negative));
+ return BOOST_XINT_MOVE(fixed_integer<Bits>(random_by_size(gen,
+ (std::min)(Bits, bits), high_bit_on, low_bit_on, can_be_negative)));
 }
 
 //! \copydoc random_prime
-template <size_t Bits>
-fixed_integer<Bits> fixed_random_prime(size_t size_in_bits, callback_t callback)
+template <class T, size_t Bits>
+fixed_integer<Bits> fixed_random_prime(T& gen, size_t size_in_bits, callback_t
+ callback)
 {
- fixed_integer<Bits> r(random_prime((std::min)(Bits, size_in_bits), callback));
+ fixed_integer<Bits> r(random_prime(gen, (std::min)(Bits, size_in_bits),
+ callback));
     return BOOST_XINT_MOVE(r);
 }
 

Modified: sandbox/xint/boost/xint/integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/integer.hpp (original)
+++ sandbox/xint/boost/xint/integer.hpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -175,7 +175,8 @@
 
 //! \name Random number functions
 //!@{
-integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
+template <class T>
+integer random_by_size(T& gen, size_t sizeInBits, bool highBitOn=false, bool
     lowBitOn=false, bool canBeNegative=false);
 //!@}
 

Modified: sandbox/xint/boost/xint/nothrow_integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/nothrow_integer.hpp (original)
+++ sandbox/xint/boost/xint/nothrow_integer.hpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -204,8 +204,9 @@
 
 //! \name Random number functions
 //!@{
-nothrow_integer nothrow_random_by_size(size_t sizeInBits, bool highBitOn=false,
- bool lowBitOn=false, bool canBeNegative=false);
+template <class T>
+nothrow_integer nothrow_random_by_size(T& gen, size_t sizeInBits, bool
+ highBitOn = false, bool lowBitOn = false, bool canBeNegative = false);
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -213,8 +214,9 @@
 //! \name Prime number functions
 //!@{
 int is_prime(const nothrow_integer& n, callback_t callback=no_callback);
-nothrow_integer nothrow_random_prime(size_t sizeInBits, callback_t callback =
- no_callback);
+template <class T>
+nothrow_integer nothrow_random_prime(T& gen, size_t sizeInBits, callback_t
+ callback = no_callback);
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -356,6 +358,32 @@
 }
 //!@}
 
+//! \copydoc xint::random_by_size
+template <class T>
+nothrow_integer nothrow_random_by_size(T& gen, size_t bits, bool high_bit_on,
+ bool low_bit_on, bool can_be_negative)
+{
+ try {
+ return nothrow_integer(xint::random_by_size(gen, bits, high_bit_on,
+ low_bit_on, can_be_negative));
+ } catch (std::exception&) {
+ return nothrow_integer::nan();
+ }
+}
+
+//! \copydoc xint::random_prime
+template <class T>
+nothrow_integer nothrow_random_prime(T& gen, size_t size_in_bits, callback_t
+ callback)
+{
+ try {
+ nothrow_integer r(xint::random_prime(gen, size_in_bits, callback));
+ return BOOST_XINT_MOVE(r);
+ } catch (std::exception&) {
+ return nothrow_integer::nan();
+ }
+}
+
 inline void swap(nothrow_integer& left, nothrow_integer& right) {
     left._swap(right);
 }

Modified: sandbox/xint/boost/xint/random.hpp
==============================================================================
--- sandbox/xint/boost/xint/random.hpp (original)
+++ sandbox/xint/boost/xint/random.hpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -21,16 +21,16 @@
 #include "internals.hpp"
 #include <boost/random/uniform_int.hpp>
 #include <boost/random/variate_generator.hpp>
+#include <boost/random/mersenne_twister.hpp>
 
 namespace boost {
 namespace xint {
 
 /*! \brief A convenience class for cryptographically-secure random numbers.
 
- Used with xint::set_random_generator to set the XInt library to use the
- system-supplied strong random number generator.
-
     \see \ref random
+ \see \ref boost::xint::random_by_size
+ \see \ref boost::xint::random_prime
 */
 class strong_random_generator {
     public:
@@ -52,6 +52,20 @@
     impl_t *impl;
 };
 
+/*! \brief A convenience class for general-purpose (insecure) random numbers.
+
+ This is nothing more than a very thin shell around one of the faster
+ pseudo-random number generators provided by Boost.Random.
+
+ \see \ref random
+ \see \ref boost::xint::random_by_size
+ \see \ref boost::xint::random_prime
+*/
+class default_random_generator: public boost::mt19937 {
+ public:
+ default_random_generator(): mt19937(time(0)+clock()) { }
+};
+
 //! @cond detail
 namespace detail {
     //! The base class for random_generator.
@@ -66,45 +80,86 @@
     struct random_generator: public base_random_generator {
         typedef boost::uniform_int<result_type> dist_t;
         typedef boost::variate_generator<T&, dist_t> gen_t;
- random_generator(T *g): genobj(g), gen(*g,
+ random_generator(T& g): gen(g,
             dist_t((std::numeric_limits<result_type>::min)(),
                 (std::numeric_limits<result_type>::max)())) { }
         result_type operator()() { return gen(); }
- std::auto_ptr<T> genobj;
         gen_t gen;
     };
 
- //! Support function \see xint::set_random_generator
- void set_random_generator(base_random_generator *obj);
-
- /*!
- \return An unsigned int from the current random generator.
- \see xint::set_random_generator
- */
- unsigned int get_random();
+ integer random_by_size(base_random_generator& gen, size_t bits, bool
+ high_bit_on, bool low_bit_on, bool can_be_negative);
+ integer random_prime(base_random_generator& gen, size_t size_in_bits,
+ callback_t callback);
 } // namespace detail
 //! @endcond detail
 
 ////////////////////////////////////////////////////////////////////////////////
 // Template function definitions
 
-/*! \brief Change the random generator that the library uses.
+/*! \brief Generates a random integer with specific attributes.
+
+- Complexity: O(n)
+
+\param[in] gen The random number generator to use. This can be
+boost::xint::default_random_generator, boost::xint::strong_random_generator, or
+any other class that supplies the member functions required by the Boost.Random
+random number generators.
+\param[in] bits The maximum number of bits that you want the returned number to
+have.
+\param[in] high_bit_on If \c true, the returned number will have exactly the
+requested size. If \c false, the upper bits may be zero, resulting in a number
+that is slightly smaller than requested.
+\param[in] low_bit_on If \c true, the returned number will always be odd. If
+\c false, it has an equal chance of being odd or even.
+\param[in] can_be_negative If \c true, the returned value has an equal chance
+of being positive or negative. If \c false, it will always be positive.
+
+\returns A random integer with the requested attributes.
+
+\see \ref random
+*/
+template <class T>
+integer random_by_size(T& gen, size_t bits, bool high_bit_on, bool low_bit_on,
+ bool can_be_negative)
+{
+ detail::random_generator<T> generator(gen);
+ return BOOST_XINT_MOVE(detail::random_by_size(generator, bits, high_bit_on,
+ low_bit_on, can_be_negative));
+}
+
+/*! \brief Generate a randomly-generated prime number of a particular bit-size.
+
+- Complexity: Varies
+
+\param[in] gen The random number generator to use. This can be
+boost::xint::default_random_generator, boost::xint::strong_random_generator, or
+any other class that supplies the member functions required by the Boost.Random
+random number generators.
+\param[in] size_in_bits The number of bits that you want the returned value to
+have.
+\param[in] callback An optional function that will be called regularly during
+the operation. If it returns \c false, the function will immediately return.
+
+\returns A randomly-generated prime integer with the specified number of bits,
+or zero if the provided callback function cancelled the operation.
+
+\exception exceptions::invalid_argument if \c size_in_bits is less than two.
 
-\param[in] gen A pointer to the new generator to use.
+\note This function uses xint::is_prime. See the description of it for details
+of its limitations.
 
-\warning The generator must be a heap-allocated pointer (one created with
-<code>new</code>), which the XInt library assumes ownership of. Don't pass in a
-stack-created item, don't try to delete the item that you passed in, and don't
-attempt to use it separately after passing it to this function, or the behavior
-is undefined.
+\par
+See the \link random Random Number Functions page\endlink for details on how to
+get cryptographically-secure random numbers.
 
-\remarks
-See the \ref random "Random Number page" for an example of how to use it.
+\see \ref primes
 */
-template <typename T>
-void set_random_generator(T *gen) {
- detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
- detail::set_random_generator(obj);
+template <class T>
+integer random_prime(T& gen, size_t size_in_bits, callback_t callback) {
+ detail::random_generator<T> generator(gen);
+ return BOOST_XINT_MOVE(detail::random_prime(generator, size_in_bits,
+ callback));
 }
 
 } // namespace xint

Modified: sandbox/xint/build/Jamfile.v2
==============================================================================
--- sandbox/xint/build/Jamfile.v2 (original)
+++ sandbox/xint/build/Jamfile.v2 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -5,9 +5,14 @@
 
 project boost/xint
     : source-location ../src
- :
+ : requirements
+ <use>/boost//headers
+ <threading>multi:<define>XINT_THREADSAFE
+ : usage-requirements
+ <threading>multi:<define>XINT_THREADSAFE
     ;
 
+
 SOURCES =
     base_integer.cpp
     data_t.cpp
@@ -47,7 +52,7 @@
     :
         <include>../
         <link>static:<define>BOOST_XINT_STATIC_LINK=1
- <link>shared:<define>BOOST_XINT_DYN_LINK=1
+ <link>shared:<define>BOOST_XINT_DYN_LINK=1
     ;
 
 boost-install boost_xint ;

Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/doc/acknowledgements.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -41,6 +41,7 @@
 <li>"Fred," a.k.a. "Gottlob Frege", for information on infinities.</li>
 <li>Joachim Faulhaber, for a discussion of intervals and interval containers.</li>
 <li>Domagoj Saric, for suggesting a design that would allow for both variable-length and fixed-length integers.</li>
+<li>Juergen Hunold, for major improvements to the build system.</li>
 </ul>
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
@@ -57,7 +58,7 @@
 </ul>
 <p>If I've forgotten anyone, please let me know and I'll correct the oversight. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/acknowledgements_8dox.html
==============================================================================
--- sandbox/xint/doc/acknowledgements_8dox.html (original)
+++ sandbox/xint/doc/acknowledgements_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/acknowledgements.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/annotated.html
==============================================================================
--- sandbox/xint/doc/annotated.html (original)
+++ sandbox/xint/doc/annotated.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,6 +29,7 @@
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td class="indexvalue">Holds the results from a division-with-remainder call </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a></td><td class="indexvalue">A convenience class for general-purpose (insecure) random numbers </td></tr>
   <tr><td class="indexkey"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td class="indexvalue">A fixed-size integer type </td></tr>
@@ -49,7 +50,7 @@
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/base__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/base__integer_8cpp.html (original)
+++ sandbox/xint/doc/base__integer_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -44,7 +44,7 @@
 
 <p>Definition in file <a class="el" href="base__integer_8cpp_source.html">base_integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/base__integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/base__integer_8cpp_source.html (original)
+++ sandbox/xint/doc/base__integer_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -373,7 +373,7 @@
 <a name="l00356"></a>00356 } <span class="comment">// namespace xint</span>
 <a name="l00357"></a>00357 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -70,7 +70,7 @@
 
 <p>Definition in file <a class="el" href="bit__manipulations_8cpp_source.html">bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -294,7 +294,7 @@
 <a name="l00380"></a>00380 } <span class="comment">// namespace xint</span>
 <a name="l00381"></a>00381 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -36,7 +36,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -234,7 +234,7 @@
 <li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html (from r61741, /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html)
==============================================================================
--- /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -26,10 +26,10 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::exceptions::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td><code> [inline]</code></td></tr>
+<h1>boost::xint::default_random_generator Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">default_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Copied: sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html (from r61741, /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html)
==============================================================================
--- /sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::exceptions::divide_by_zero Class Reference</title>
+<title>The Extended Integer (XInt) Library: boost::xint::default_random_generator Class Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -24,30 +24,38 @@
       <li>Class Members</li>
     </ul>
   </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">exceptions</a>::<a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1default__random__generator.html">default_random_generator</a>
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::exceptions::divide_by_zero Class Reference</h1><!-- doxytag: class="boost::xint::exceptions::divide_by_zero" -->
-<p>List of all members.</p>
+<h1>boost::xint::default_random_generator Class Reference</h1><!-- doxytag: class="boost::xint::default_random_generator" -->
+<p>A convenience class for general-purpose (insecure) random numbers.
+More...</p>
+
+<p>List of all members.</p>
 <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="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a> (const std::string &amp;what=&quot;divide by zero error&quot;)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">default_random_generator</a> ()</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Derived from <code>std::invalid_argument</code>. </p>
+<p>A convenience class for general-purpose (insecure) random numbers. </p>
+<p>This is nothing more than a very thin shell around one of the faster pseudo-random number generators provided by Boost.Random.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint::random_by_size</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">boost::xint::random_prime</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00068">68</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00064">64</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="aaff4d720e4a134315acde919ff06e640"></a><!-- doxytag: member="boost::xint::exceptions::divide_by_zero::divide_by_zero" ref="aaff4d720e4a134315acde919ff06e640" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
+<a class="anchor" id="a4289636c47258469b78703ae791812f6"></a><!-- doxytag: member="boost::xint::default_random_generator::default_random_generator" ref="a4289636c47258469b78703ae791812f6" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">boost::xint::exceptions::divide_by_zero::divide_by_zero </td>
+ <td class="memname">boost::xint::default_random_generator::default_random_generator </td>
           <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;divide&nbsp;by&nbsp;zero&nbsp;error&quot;</code></td>
+ <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline]</code></td>
         </tr>
@@ -55,15 +63,15 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="exceptions_8hpp_source.html#l00070">70</a> of file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00066">66</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
+<li><a class="el" href="random_8hpp_source.html">random.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">cannot_represent</a>(const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_argument Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(const std::string &amp;what=&quot;invalid argument&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">no_strong_random</a>(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -66,7 +66,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a8741f3260d2a5a74c4d5cedf8a7d2a82">operator~</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html#a82f0342baba940b21f046be76b3a1fc9">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">boost::xint::fixed_integer&lt; Bits &gt;</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -963,7 +963,7 @@
 <li><a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -33,7 +33,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">fixed_integer_any</a>(detail::data_t *adopt, bool neg=false)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">fixed_integer_any</a>(const fixed_integer_any &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a></td><td><code> [inline, explicit, protected]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1fixed__integer__any.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -217,7 +217,7 @@
 <li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -66,7 +66,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1integer.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -353,7 +353,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00233">233</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00234">234</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -405,7 +405,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00252">252</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00253">253</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1020,7 +1020,7 @@
 <li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -69,7 +69,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a76bc6cf5315c6b7ee6083f28acfa7ddf">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html#a2b3241400b0691fa5bd612358b48ccdd">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">boost::xint::nothrow_integer</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -350,7 +350,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00270">270</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00272">272</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -402,7 +402,7 @@
 <p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00293">293</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00295">295</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1081,7 +1081,7 @@
 <li><a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -38,7 +38,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -50,8 +50,11 @@
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>A convenience class for cryptographically-secure random numbers. </p>
-<p>Used with <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> to set the XInt library to use the system-supplied strong random number generator.</p>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint::random_by_size</a> </dd>
+<dd>
+<a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">boost::xint::random_prime</a> </dd></dl>
 
 <p>Definition at line <a class="el" href="random_8hpp_source.html#l00035">35</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 <hr/><h2>Member Typedef Documentation</h2>
@@ -86,7 +89,7 @@
 </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>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00147">147</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +108,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00177">177</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#l00148">148</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -176,7 +179,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00178">178</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#l00149">149</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -235,7 +238,7 @@
 <li><a class="el" href="random_8cpp_source.html">random.cpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classdisable__boost__rv__ref.html
==============================================================================
--- sandbox/xint/doc/classdisable__boost__rv__ref.html (original)
+++ sandbox/xint/doc/classdisable__boost__rv__ref.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -38,7 +38,7 @@
 <li><a class="el" href="internals_8hpp_source.html">internals.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classes.html
==============================================================================
--- sandbox/xint/doc/classes.html (original)
+++ sandbox/xint/doc/classes.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,17 +29,17 @@
 <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_F">F</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_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_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="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> (<a class="el" href="namespaceboost_1_1xint.html">boost:
:xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</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></tr><tr><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">divide_by_zero</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">invalid_argument</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::excep
tions</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 name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::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 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="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">bo
ost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">numeric_limits&lt; boost::xint::integer &gt;</a> (<a class="el" href="namespacestd.html">std</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 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></tr><tr><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">cannot_represent</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1x
int.html">boost::xint</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="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">numeric_limits&lt; boost::xint::integer &gt;</a> (<a class="el" href="namespacestd.html">std</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="classboost_1_1xint_1_1default__random__generator.html">default_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</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 class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</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></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_F">F</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_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+</td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</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_F">F</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_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -85,7 +85,7 @@
  class std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00849">849</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00851">851</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="ab9768c5a665f9c13f70cfd29740a0640"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;::denorm_min" ref="ab9768c5a665f9c13f70cfd29740a0640" args="()" -->
 <div class="memitem">
@@ -104,7 +104,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00881">881</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00883">883</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -125,7 +125,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00864">864</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00866">866</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -146,7 +146,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00878">878</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00880">880</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -167,7 +167,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00855">855</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00857">857</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -188,7 +188,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00853">853</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00855">855</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -209,7 +209,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00879">879</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00881">881</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -230,7 +230,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00865">865</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00867">867</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -251,7 +251,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00880">880</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00882">882</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -269,7 +269,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00858">858</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00860">860</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -288,7 +288,7 @@
 <b>Initial value:</b><div class="fragment"><pre class="fragment">
     <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(Bits))
 </pre></div>
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00859">859</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00861">861</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -305,7 +305,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00875">875</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00877">877</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -322,7 +322,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00876">876</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00878">878</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -339,7 +339,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00872">872</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00874">874</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -356,7 +356,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00873">873</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00875">875</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -373,7 +373,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00874">874</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00876">876</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -390,7 +390,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00884">884</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00886">886</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -407,7 +407,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00862">862</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00864">864</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -424,7 +424,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00883">883</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00885">885</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -441,7 +441,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00861">861</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00863">863</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -458,7 +458,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00885">885</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00887">887</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -475,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00860">860</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00862">862</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -492,7 +492,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00851">851</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00853">853</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -509,7 +509,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00869">869</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00871">871</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -526,7 +526,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00870">870</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00872">872</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -543,7 +543,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00867">867</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00869">869</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -560,7 +560,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00868">868</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00870">870</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -577,7 +577,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00863">863</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00865">865</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -594,7 +594,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00889">889</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00891">891</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -611,7 +611,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00888">888</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00890">890</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -628,7 +628,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00887">887</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00889">889</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -636,7 +636,7 @@
 <li><a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">std::numeric_limits&lt; boost::xint::integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -69,7 +69,7 @@
  class std::numeric_limits&lt; boost::xint::integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00300">300</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00301">301</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aa0ce0042cd4a473feaf0efbe3bb6d3d7"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::integer &gt;::denorm_min" ref="aa0ce0042cd4a473feaf0efbe3bb6d3d7" args="()" -->
 <div class="memitem">
@@ -86,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00331">331</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00313">313</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00314">314</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00327">327</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -143,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00306">306</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -162,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00304">304</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00305">305</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -181,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00328">328</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00329">329</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -200,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00314">314</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00315">315</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -219,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00329">329</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00330">330</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -235,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00307">307</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00308">308</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -250,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00308">308</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -265,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00324">324</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00325">325</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -280,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00325">325</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00326">326</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00321">321</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00323">323</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -325,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00323">323</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00324">324</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -340,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00333">333</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -355,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00312">312</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -370,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00333">333</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -385,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00310">310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -400,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00335">335</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -415,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00310">310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -430,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00302">302</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00303">303</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -445,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00318">318</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00319">319</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -460,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00319">319</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00320">320</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -475,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00316">316</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00317">317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -490,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00317">317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00318">318</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -505,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00312">312</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00313">313</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -520,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00338">338</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00339">339</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -535,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00337">337</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00338">338</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00336">336</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00337">337</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -558,7 +558,7 @@
 <li><a class="el" href="integer_8hpp_source.html">integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4-members.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">tinyness_before</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">traps</a></td><td><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td><td><code> [static]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html
==============================================================================
--- sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html (original)
+++ sandbox/xint/doc/classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -69,7 +69,7 @@
  class std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00368">368</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 <hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="aab4e0d9304ec3163dd04c2f1fd51f0a0"></a><!-- doxytag: member="std::numeric_limits&lt; boost::xint::nothrow_integer &gt;::denorm_min" ref="aab4e0d9304ec3163dd04c2f1fd51f0a0" args="()" -->
 <div class="memitem">
@@ -86,7 +86,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00399">399</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00427">427</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -105,7 +105,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00381">381</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00409">409</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00395">395</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00423">423</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -143,7 +143,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00373">373</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -162,7 +162,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00372">372</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00400">400</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -181,7 +181,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00396">396</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00424">424</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -200,7 +200,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00382">382</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00410">410</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -219,7 +219,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00398">398</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00426">426</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -235,7 +235,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00375">375</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -250,7 +250,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00404">404</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -265,7 +265,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00392">392</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00420">420</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -280,7 +280,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00393">393</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00421">421</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +295,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00389">389</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00417">417</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +310,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00390">390</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00418">418</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -325,7 +325,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00391">391</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00419">419</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -340,7 +340,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00402">402</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00430">430</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -355,7 +355,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00379">379</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00407">407</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -370,7 +370,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00401">401</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00429">429</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -385,7 +385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00378">378</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00406">406</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -400,7 +400,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00403">403</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00431">431</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -415,7 +415,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00377">377</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -430,7 +430,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00370">370</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00398">398</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -445,7 +445,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00386">386</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00414">414</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -460,7 +460,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00387">387</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00415">415</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -475,7 +475,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00384">384</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00412">412</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -490,7 +490,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00385">385</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00413">413</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -505,7 +505,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00380">380</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00408">408</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -520,7 +520,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00407">407</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00435">435</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -535,7 +535,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00406">406</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00434">434</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +550,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00405">405</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00433">433</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -558,7 +558,7 @@
 <li><a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/compare_8cpp.html (original)
+++ sandbox/xint/doc/compare_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -67,7 +67,7 @@
 
 <p>Definition in file <a class="el" href="compare_8cpp_source.html">compare.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/compare_8cpp_source.html (original)
+++ sandbox/xint/doc/compare_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -115,7 +115,7 @@
 <a name="l00119"></a>00119 } <span class="comment">// namespace xint</span>
 <a name="l00120"></a>00120 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/complexity.html
==============================================================================
--- sandbox/xint/doc/complexity.html (original)
+++ sandbox/xint/doc/complexity.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="complexity">A Note on Algorithmic Complexity </a></h1><p>This documentation includes a time-complexity estimate, in big-O notation, for each algorithm. The <code>n</code> in the complexity estimates is roughly the number of bits in the parameter(s). (More accurately, it's the number of <code>digit_t</code> values needed to hold those bits.)</p>
 <p>The time complexity is well-known for some algorithms, but for others, I had to make an educated guess. If you discover an error in the listed complexity, please report it. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/complexity_8dox.html
==============================================================================
--- sandbox/xint/doc/complexity_8dox.html (original)
+++ sandbox/xint/doc/complexity_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/complexity.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/convert_8cpp.html (original)
+++ sandbox/xint/doc/convert_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
 
 <p>Definition in file <a class="el" href="convert_8cpp_source.html">convert.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/convert_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/convert_8cpp_source.html (original)
+++ sandbox/xint/doc/convert_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -227,7 +227,7 @@
 <a name="l00305"></a>00305 } <span class="comment">// namespace xint</span>
 <a name="l00306"></a>00306 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/copyonwrite_8dox.html
==============================================================================
--- sandbox/xint/doc/copyonwrite_8dox.html (original)
+++ sandbox/xint/doc/copyonwrite_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/copyonwrite.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/cow.html
==============================================================================
--- sandbox/xint/doc/cow.html (original)
+++ sandbox/xint/doc/cow.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="cow">Copying and Argument-Passing </a></h1><p>By default, the integer and nothrow_integer classes use copy-on-write, which means that if you copy one of them, the copy and the original share the same storage. They are only assigned separate storage when one of them is changed. This mechanism makes copying a number (explicitly, by returning it, or by using it as a non-reference parameter to a function) very fast, regardless of its size.</p>
 <p>Unfortunately, copy-on-write isn't compatible with thread-safe operation. If you need to use the library from multiple threads, you can disable this behavior by compiling it with <a class="el" href="threadsafe.html">the thread-safe option</a>. This option also enables move semantics, via Boost.Move, which provide a similar speed increase, though at the time of this writing, not as good as copy-on-write can. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/data__t_8cpp.html
==============================================================================
--- sandbox/xint/doc/data__t_8cpp.html (original)
+++ sandbox/xint/doc/data__t_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -62,7 +62,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/data__t_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/data__t_8cpp_source.html (original)
+++ sandbox/xint/doc/data__t_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -188,7 +188,7 @@
 <a name="l00170"></a>00170 } <span class="comment">// namespace xint</span>
 <a name="l00171"></a>00171 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dependencies.html
==============================================================================
--- sandbox/xint/doc/dependencies.html (original)
+++ sandbox/xint/doc/dependencies.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -32,14 +32,13 @@
 <li>Boost.TypeTraits</li>
 <li>Boost.SmartPointers</li>
 </ul>
-<p>If you compile the library for <a class="el" href="threadsafe.html">thread-safe operation</a>, you'll also need these:</p>
+<p>If you compile the library for <a class="el" href="threadsafe.html">thread-safe operation</a>, you'll also need:</p>
 <ul>
 <li>Boost.Move</li>
-<li>Boost.Thread</li>
 </ul>
-<p>With the exception of Boost.Thread, all of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
+<p>All of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dependencies_8dox.html
==============================================================================
--- sandbox/xint/doc/dependencies_8dox.html (original)
+++ sandbox/xint/doc/dependencies_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/dependencies.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/dox/acknowledgements.dox
==============================================================================
--- sandbox/xint/doc/dox/acknowledgements.dox (original)
+++ sandbox/xint/doc/dox/acknowledgements.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -31,6 +31,7 @@
 - Joachim Faulhaber, for a discussion of intervals and interval containers.
 - Domagoj Saric, for suggesting a design that would allow for both
 variable-length and fixed-length integers.
+- Juergen Hunold, for major improvements to the build system.
 
 And the other Boost development list members who joined the discussion:
 

Modified: sandbox/xint/doc/dox/dependencies.dox
==============================================================================
--- sandbox/xint/doc/dox/dependencies.dox (original)
+++ sandbox/xint/doc/dox/dependencies.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -12,11 +12,10 @@
 - Boost.SmartPointers
 
 If you compile the library for \ref threadsafe "thread-safe operation", you'll
-also need these:
+also need:
 
 - Boost.Move
-- Boost.Thread
 
-With the exception of Boost.Thread, all of these are header-only libraries,
-meaning that you don't need to worry about linking your program with them.
+All of these are header-only libraries, meaning that you don't need to worry
+about linking your program with them.
 */

Modified: sandbox/xint/doc/dox/exceptions.dox
==============================================================================
--- sandbox/xint/doc/dox/exceptions.dox (original)
+++ sandbox/xint/doc/dox/exceptions.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -1,4 +1,4 @@
-/*! \page exceptions Exceptions and the \c nothrow_integer type.
+/*! \page exceptions Exceptions and the \c nothrow_integer type
 
 Many things can go wrong while operating on an integer, such as divide-by-zero
 errors. Under normal circumstances, these result in exceptions. But exceptions

Deleted: sandbox/xint/doc/dox/r_default_necessary.dox
==============================================================================
--- sandbox/xint/doc/dox/r_default_necessary.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,7 +0,0 @@
-/*! \page r_default_necessary Okay, then why not make the developer provide one?
-
-Ease-of-use, and the fact that for many developers, there's little need for
-cryptographically-secure random numbers. This way, those that need them can take
-a few simple steps to get them, and those that don't can just use the library
-as-is.
-*/

Modified: sandbox/xint/doc/dox/r_insecure_default.dox
==============================================================================
--- sandbox/xint/doc/dox/r_insecure_default.dox (original)
+++ sandbox/xint/doc/dox/r_insecure_default.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -1,4 +1,4 @@
-/*! \page r_insecure_default But why default to an insecure random number generator? Why not default to the secure one?
+/*! \page r_insecure_default But why have an insecure random number generator as the default? Why not default to the secure one?
 
 Because the secure one isn't available on all systems. If the library relied on
 \c random_device as a default, it wouldn't compile under those systems. If it

Modified: sandbox/xint/doc/dox/random.dox
==============================================================================
--- sandbox/xint/doc/dox/random.dox (original)
+++ sandbox/xint/doc/dox/random.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -1,15 +1,21 @@
 /*! \page random The XInt Random Number System
 
-The library includes a random number system to support the \c xint::random_prime
-function. The default random number generator is \e not cryptographically secure
-(see \ref rationale "the rationale page" for details). However, the system can
-easily be configured to use a cryptographically-secure generator.
+The library includes two convenience classes, meant to be used with the \c
+xint::random_prime function.
 
-The XInt library provides a convenience class, \c xint::strong_random_generator,
-for both Windows and UNIX-derived systems. It will throw an exception of type
-\c no_strong_random if you try to instantiate it on a system that does not have
-a strong random number generator.
+\c default_random_generator is a thin shell around one of the faster
+pseudo-random generators provided by Boost.Random. It does \e not produce secure
+random numbers, but is often all that is needed.
+
+\c strong_random_generator provides an interface to the operating system's
+secure random number generator, for both Windows and UNIX-derived systems. It
+will throw an exception of type \c no_strong_random if you try to instantiate it
+on a system that does not have an operating-system-supplied generator.
+
+If you have a different preferred generator, perhaps one that uses dedicated
+hardware to produce randomness, you can plug that into the library's \c
+random_by_size and \c random_prime functions instead.
 
 See the code at the top of \ref primes "the Prime Numbers page" for an example
-of how to use it.
+of how to use these generators to produce secure prime numbers.
 */

Modified: sandbox/xint/doc/dox/rationale.dox
==============================================================================
--- sandbox/xint/doc/dox/rationale.dox (original)
+++ sandbox/xint/doc/dox/rationale.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -17,5 +17,4 @@
 \section srandom Random generator
 - \subpage r_random
 - \subpage r_insecure_default
-- \subpage r_default_necessary
 */

Modified: sandbox/xint/doc/dox/threadsafe.dox
==============================================================================
--- sandbox/xint/doc/dox/threadsafe.dox (original)
+++ sandbox/xint/doc/dox/threadsafe.dox 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -10,10 +10,11 @@
 XINT_THREADSAFE when compiling the library. You don't need to define it when
 using the library, only when compiling it.
 
-\note
-When the library is compiled with the thread-safe option, all programs that link
-to it must also link to the Boost.Thread library.
-
 To programatically check whether your copy was compiled with thread-safe
 operation enabled, use the xint::opt_thread_safe function.
+
+\note
+You can safely use the non-thread-safe version of the library in multiple
+threads, if you call the undocumented \c _make_unique member function on each
+integer when it crosses thread boundaries.
 */

Modified: sandbox/xint/doc/ex__fibonacci.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci.html (original)
+++ sandbox/xint/doc/ex__fibonacci.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </pre></div><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>
 <p>As you can see, using the XInt library is just like using the native integer types -- except that an <code>xint::integer</code> won't overflow on you until you completely exhaust your system's memory. :-) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/ex__fibonacci_8dox.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci_8dox.html (original)
+++ sandbox/xint/doc/ex__fibonacci_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/ex_fibonacci.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions.html
==============================================================================
--- sandbox/xint/doc/exceptions.html (original)
+++ sandbox/xint/doc/exceptions.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Exceptions and the \c nothrow_integer type.</title>
+<title>The Extended Integer (XInt) Library: Exceptions and the \c nothrow_integer type</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -23,7 +23,7 @@
 <div class="contents">
 
 
-<h1><a class="anchor" id="exceptions">Exceptions and the <code>nothrow_integer</code> type. </a></h1><p>Many things can go wrong while operating on an integer, such as divide-by-zero errors. Under normal circumstances, these result in exceptions. But exceptions sometimes make your code harder to follow, or even harder to write. That's why this library includes the <code>nothrow_integer</code> type.</p>
+<h1><a class="anchor" id="exceptions">Exceptions and the <code>nothrow_integer</code> type </a></h1><p>Many things can go wrong while operating on an integer, such as divide-by-zero errors. Under normal circumstances, these result in exceptions. But exceptions sometimes make your code harder to follow, or even harder to write. That's why this library includes the <code>nothrow_integer</code> type.</p>
 <p>The <code>nothrow_integer</code> type acts like a wrapper around the standard integer type, and has all of the functions that the standard type does (though a few are, of necessity, prefixed with <code>nothrow_</code>). When you use it, any exceptions generated by the library are caught internally, and the function returns a special value indicating failure (most often the <a class="el" href="nan.html">Not-a-Number</a> value).</p>
 <p>Here's an example, which can be found in the <code>examples</code> subdirectory as exceptions.cpp:</p>
 <div class="fragment"><pre class="fragment">
@@ -62,7 +62,7 @@
     }
 }
 </pre></div> </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8dox.html
==============================================================================
--- sandbox/xint/doc/exceptions_8dox.html (original)
+++ sandbox/xint/doc/exceptions_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/exceptions.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8hpp.html
==============================================================================
--- sandbox/xint/doc/exceptions_8hpp.html (original)
+++ sandbox/xint/doc/exceptions_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -60,7 +60,7 @@
 
 <p>Definition in file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/exceptions_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/exceptions_8hpp_source.html (original)
+++ sandbox/xint/doc/exceptions_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -114,7 +114,7 @@
 <a name="l00137"></a>00137
 <a name="l00138"></a>00138 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_EXCEPTIONS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/files.html
==============================================================================
--- sandbox/xint/doc/files.html (original)
+++ sandbox/xint/doc/files.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -55,7 +55,6 @@
   <tr><td class="indexkey"><a class="el" href="nothrow__powers_8cpp.html">nothrow_powers.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for <code>nothrow_integer</code> functions related to powers of a number </td></tr>
   <tr><td class="indexkey"><a class="el" href="nothrow__primes_8cpp.html">nothrow_primes.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for functions related to prime numbers for the <code>nothrow_integer</code> type </td></tr>
   <tr><td class="indexkey"><a class="el" href="nothrow__primitives_8cpp.html">nothrow_primitives.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for math primitives for the <code>nothrow_integer</code> type </td></tr>
- <tr><td class="indexkey"><a class="el" href="nothrow__random_8cpp.html">nothrow_random.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for the random number functions for the <code>nothrow_integer</code> type </td></tr>
   <tr><td class="indexkey"><a class="el" href="nothrow__roots_8cpp.html">nothrow_roots.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for <code>nothrow_integer</code> functions related to roots of a number </td></tr>
   <tr><td class="indexkey"><a class="el" href="operators_8cpp.html">operators.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for the basic math operators </td></tr>
   <tr><td class="indexkey"><a class="el" href="powers_8cpp.html">powers.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for functions related to powers of a number </td></tr>
@@ -65,7 +64,7 @@
   <tr><td class="indexkey"><a class="el" href="roots_8cpp.html">roots.cpp</a> [code]</td><td class="indexvalue">Contains the definitions for functions related to roots of a number </td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/fixed__and__variable.html
==============================================================================
--- sandbox/xint/doc/fixed__and__variable.html (original)
+++ sandbox/xint/doc/fixed__and__variable.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -27,7 +27,7 @@
 <p>There is also a fixed-length type, the template class <a class="el" href="classboost_1_1xint_1_1fixed__integer.html">xint::fixed_integer</a>, where you to specify the number of bits to limit it to.</p>
 <p>All three types have an essentially identical set of functions and operators, and can do pretty much the same things, though with different time and memory efficiencies. See the "detailed description" portion of the reference pages linked above for a description of each type and its unique properties. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/fixed__and__variable_8dox.html
==============================================================================
--- sandbox/xint/doc/fixed__and__variable_8dox.html (original)
+++ sandbox/xint/doc/fixed__and__variable_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/fixed_and_variable.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/fixed__integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/fixed__integer_8hpp.html (original)
+++ sandbox/xint/doc/fixed__integer_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -128,13 +128,13 @@
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint::fixed_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">boost::xint::fixed_random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint::fixed_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">fixed_integer&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">boost::xint::fixed_random_prime</a> (T &amp;gen, size_t size_in_bits, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint::is_prime</a> (const fixed_integer_any &amp;n, callback_t callback)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
@@ -270,7 +270,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/fixed__integer_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/fixed__integer_8hpp_source.html (original)
+++ sandbox/xint/doc/fixed__integer_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -191,14 +191,14 @@
 <a name="l00222"></a>00222 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n, <span class="keyword">const</span>
 <a name="l00223"></a>00223 fixed_integer&lt;Bits&gt;&amp; modulus);
 <a name="l00225"></a>00225
-<a name="l00228"></a>00228 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00229"></a>00229 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn =
-<a name="l00230"></a>00230 <span class="keyword">false</span>, <span class="keywordtype">bool</span> lowBitOn = <span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative = <span class="keyword">false</span>);
+<a name="l00228"></a>00228 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00229"></a>00229 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">fixed_random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span>
+<a name="l00230"></a>00230 highBitOn = <span class="keyword">false</span>, <span class="keywordtype">bool</span> lowBitOn = <span class="keyword">false</span>, <span class="keywordtype">bool</span> canBeNegative = <span class="keyword">false</span>);
 <a name="l00232"></a>00232
 <a name="l00235"></a>00235 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00236"></a>00236 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00237"></a>00237 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
-<a name="l00238"></a>00238 <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00236"></a>00236 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00237"></a>00237 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">fixed_random_prime</a>(T&amp; gen, <span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00238"></a>00238 callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
 <a name="l00240"></a>00240
 <a name="l00245"></a>00245
 <a name="l00246"></a>00246 <span class="preprocessor">#define BOOST_XINT_NFIXED typename boost::disable_if&lt;boost::is_base_of&lt;\</span>
@@ -638,119 +638,121 @@
 <a name="l00778"></a>00778 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
 <a name="l00779"></a>00779 }
 <a name="l00780"></a>00780
-<a name="l00782"></a>00782 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00783"></a>00783 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span>
-<a name="l00784"></a>00784 low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00782"></a>00782 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00783"></a>00783 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">fixed_random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on,
+<a name="l00784"></a>00784 <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
 <a name="l00785"></a>00785 {
-<a name="l00786"></a>00786 <span class="keywordflow">return</span> fixed_integer&lt;Bits&gt;(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>((std::min)(Bits, bits),
-<a name="l00787"></a>00787 high_bit_on, low_bit_on, can_be_negative));
+<a name="l00786"></a>00786 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(fixed_integer&lt;Bits&gt;(<a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(gen,
+<a name="l00787"></a>00787 (std::min)(Bits, bits), high_bit_on, low_bit_on, can_be_negative)));
 <a name="l00788"></a>00788 }
 <a name="l00789"></a>00789
-<a name="l00791"></a>00791 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00792"></a>00792 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)
-<a name="l00793"></a>00793 {
-<a name="l00794"></a>00794 fixed_integer&lt;Bits&gt; r(<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>((std::min)(Bits, size_in_bits), callback));
-<a name="l00795"></a>00795 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00796"></a>00796 }
-<a name="l00797"></a>00797
-<a name="l00799"></a>00799 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00800"></a>00800 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
-<a name="l00801"></a>00801 fixed_integer&lt;Bits&gt;&amp; num2)
-<a name="l00802"></a>00802 {
-<a name="l00803"></a>00803 fixed_integer&lt;Bits&gt; r;
-<a name="l00804"></a>00804 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">detail::gcd</a>(r, num1, num2);
-<a name="l00805"></a>00805 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00806"></a>00806 }
-<a name="l00807"></a>00807
-<a name="l00809"></a>00809 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00810"></a>00810 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
-<a name="l00811"></a>00811 fixed_integer&lt;Bits&gt;&amp; num2)
-<a name="l00812"></a>00812 {
-<a name="l00813"></a>00813 fixed_integer&lt;Bits&gt; r;
-<a name="l00814"></a>00814 <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">detail::lcm</a>(r, num1, num2);
-<a name="l00815"></a>00815 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00816"></a>00816 }
-<a name="l00817"></a>00817
-<a name="l00820"></a>00820 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00821"></a>00821 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00822"></a>00822 traits&gt;&amp; out, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n)
-<a name="l00823"></a>00823 {
-<a name="l00824"></a>00824 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
-<a name="l00825"></a>00825 }
-<a name="l00826"></a><a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">00826</a>
-<a name="l00827"></a>00827 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00828"></a>00828 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00829"></a>00829 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n)
-<a name="l00830"></a>00830 {
-<a name="l00831"></a>00831 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
-<a name="l00832"></a>00832 }
-<a name="l00834"></a>00834
-<a name="l00835"></a>00835 <span class="comment">// No 100% compatible way to declare a specialization of a function template</span>
-<a name="l00836"></a>00836 <span class="comment">// using a templated class, as far as I can tell. This is the second-best</span>
-<a name="l00837"></a><a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">00837</a> <span class="comment">// solution.</span>
-<a name="l00838"></a>00838 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00839"></a>00839 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; right) {
-<a name="l00840"></a>00840 left._swap(right);
-<a name="l00841"></a>00841 }
-<a name="l00842"></a>00842
-<a name="l00843"></a>00843 } <span class="comment">// namespace xint</span>
-<a name="l00844"></a>00844 } <span class="comment">// namespace boost</span>
-<a name="l00845"></a>00845
-<a name="l00846"></a><a class="code" href="namespacestd.html">00846</a> <span class="keyword">namespace </span>std {
+<a name="l00791"></a>00791 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00792"></a>00792 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">fixed_random_prime</a>(T&amp; gen, <span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00793"></a>00793 callback)
+<a name="l00794"></a>00794 {
+<a name="l00795"></a>00795 fixed_integer&lt;Bits&gt; r(<a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(gen, (std::min)(Bits, size_in_bits),
+<a name="l00796"></a>00796 callback));
+<a name="l00797"></a>00797 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00798"></a>00798 }
+<a name="l00799"></a>00799
+<a name="l00801"></a>00801 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00802"></a>00802 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
+<a name="l00803"></a>00803 fixed_integer&lt;Bits&gt;&amp; num2)
+<a name="l00804"></a>00804 {
+<a name="l00805"></a>00805 fixed_integer&lt;Bits&gt; r;
+<a name="l00806"></a>00806 <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">detail::gcd</a>(r, num1, num2);
+<a name="l00807"></a>00807 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00808"></a>00808 }
+<a name="l00809"></a>00809
+<a name="l00811"></a>00811 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00812"></a>00812 fixed_integer&lt;Bits&gt; <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; num1, <span class="keyword">const</span>
+<a name="l00813"></a>00813 fixed_integer&lt;Bits&gt;&amp; num2)
+<a name="l00814"></a>00814 {
+<a name="l00815"></a>00815 fixed_integer&lt;Bits&gt; r;
+<a name="l00816"></a>00816 <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">detail::lcm</a>(r, num1, num2);
+<a name="l00817"></a>00817 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00818"></a>00818 }
+<a name="l00819"></a>00819
+<a name="l00822"></a>00822 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00823"></a>00823 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00824"></a>00824 traits&gt;&amp; out, <span class="keyword">const</span> fixed_integer&lt;Bits&gt;&amp; n)
+<a name="l00825"></a>00825 {
+<a name="l00826"></a>00826 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00827"></a>00827 }
+<a name="l00828"></a><a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">00828</a>
+<a name="l00829"></a>00829 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits, <span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00830"></a>00830 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00831"></a>00831 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; n)
+<a name="l00832"></a>00832 {
+<a name="l00833"></a>00833 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00834"></a>00834 }
+<a name="l00836"></a>00836
+<a name="l00837"></a>00837 <span class="comment">// No 100% compatible way to declare a specialization of a function template</span>
+<a name="l00838"></a>00838 <span class="comment">// using a templated class, as far as I can tell. This is the second-best</span>
+<a name="l00839"></a><a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">00839</a> <span class="comment">// solution.</span>
+<a name="l00840"></a>00840 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00841"></a>00841 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer&lt;Bits&gt;</a>&amp; right) {
+<a name="l00842"></a>00842 left._swap(right);
+<a name="l00843"></a>00843 }
+<a name="l00844"></a>00844
+<a name="l00845"></a>00845 } <span class="comment">// namespace xint</span>
+<a name="l00846"></a>00846 } <span class="comment">// namespace boost</span>
 <a name="l00847"></a>00847
-<a name="l00848"></a>00848 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00849"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">00849</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt; {
-<a name="l00850"></a>00850 <span class="keyword">public</span>:
-<a name="l00851"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">00851</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00852"></a>00852
-<a name="l00853"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">00853</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">min</a>() throw() { <span class="keywordflow">return</span>
-<a name="l00854"></a>00854 -~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
-<a name="l00855"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">00855</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">max</a>() throw() { <span class="keywordflow">return</span>
-<a name="l00856"></a>00856 ~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
-<a name="l00857"></a>00857
-<a name="l00858"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">00858</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = Bits;
-<a name="l00859"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">00859</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10; <span class="comment">// = boost::xint::fixed_integer&lt;Bits&gt;::_c_log10;</span>
-<a name="l00860"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">00860</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00861"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">00861</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00862"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">00862</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00863"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">00863</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00864"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">00864</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00865"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">00865</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00866"></a>00866
-<a name="l00867"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">00867</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00868"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">00868</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00869"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">00869</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00870"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">00870</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00871"></a>00871
-<a name="l00872"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">00872</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00873"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">00873</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
-<a name="l00874"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">00874</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00875"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">00875</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00876"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">00876</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00877"></a>00877
-<a name="l00878"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">00878</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00879"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">00879</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00880"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">00880</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00881"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">00881</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00882"></a>00882
-<a name="l00883"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">00883</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00884"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">00884</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">true</span>;
-<a name="l00885"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">00885</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">true</span>;
-<a name="l00886"></a>00886
-<a name="l00887"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">00887</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00888"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">00888</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00889"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">00889</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00890"></a>00890 };
-<a name="l00891"></a>00891
-<a name="l00892"></a>00892 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
-<a name="l00893"></a>00893 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt;::digits10 =
-<a name="l00894"></a>00894 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(Bits));
-<a name="l00895"></a>00895
-<a name="l00896"></a>00896 } <span class="comment">// namespace std</span>
+<a name="l00848"></a><a class="code" href="namespacestd.html">00848</a> <span class="keyword">namespace </span>std {
+<a name="l00849"></a>00849
+<a name="l00850"></a>00850 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00851"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html">00851</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt; {
+<a name="l00852"></a>00852 <span class="keyword">public</span>:
+<a name="l00853"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a3360a21ceefd13ef2755c3e93f43bc35">00853</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00854"></a>00854
+<a name="l00855"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">00855</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a54615ee399b285914aa550e0eeae7f39">min</a>() throw() { <span class="keywordflow">return</span>
+<a name="l00856"></a>00856 -~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
+<a name="l00857"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">00857</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a51292350938619b86e42bae334c5b715">max</a>() throw() { <span class="keywordflow">return</span>
+<a name="l00858"></a>00858 ~(<a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a>()); }
+<a name="l00859"></a>00859
+<a name="l00860"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">00860</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = Bits;
+<a name="l00861"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">00861</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10; <span class="comment">// = boost::xint::fixed_integer&lt;Bits&gt;::_c_log10;</span>
+<a name="l00862"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a69831914effe8dd477ed5f0b3f6025a4">00862</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00863"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a4bb885f7700371ba03ca74ad72185b44">00863</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00864"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a98088e6ad547b72b61ff5be0dbce2e5c">00864</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00865"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a33372a3cb350fa5607f95c6d4f3e29a7">00865</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00866"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">00866</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a239862be09dfc5de02900409bfc604ea">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00867"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">00867</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a65b810b33f8f992dff23add5af21c46e">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00868"></a>00868
+<a name="l00869"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a896b2960cdab358fe893ea8047afc16c">00869</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00870"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a502d3c024c47bc9f71bef8a581794885">00870</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00871"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a04f60151b781f7bdc54cccbd896d0c8a">00871</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00872"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a1ff0640dfde2863d62040fab4c05c015">00872</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00873"></a>00873
+<a name="l00874"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a6f1865061768dfe8d0bd5b50e931c163">00874</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00875"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a113cd07ba3b16dd6278496e58d3f3dc7">00875</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
+<a name="l00876"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ac19b019e4042bee86427bdac0e8d49cb">00876</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00877"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a97aeaa6158ec8146c740b1974c08868e">00877</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00878"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a8318be63a6530eb99b1ce8a6472559af">00878</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00879"></a>00879
+<a name="l00880"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">00880</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad54e2a2e4a48f60539f9e1499d10a575">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00881"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">00881</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a82c7cc8a06198d6827a02475c8e31eae">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00882"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">00882</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#aa7dcc811ae4625174f75255a57be0a6f">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00883"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">00883</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">boost::xint::fixed_integer&lt;Bits&gt;</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00884"></a>00884
+<a name="l00885"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#acc062d3edf895f977a69930bbd2712c4">00885</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00886"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9547f495471bd63016167ef86e847330">00886</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">true</span>;
+<a name="l00887"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a7d3d991e72ddaafc7f365e9920b16c01">00887</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">true</span>;
+<a name="l00888"></a>00888
+<a name="l00889"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ae13ce885b1b7b9e4f4a491acd5d434c0">00889</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00890"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a48dff429909593ae6d19eba404126e8b">00890</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00891"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a9f68d88c00266449ae6070b2188af46c">00891</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00892"></a>00892 };
+<a name="l00893"></a>00893
+<a name="l00894"></a>00894 <span class="keyword">template</span>&lt;<span class="keywordtype">size_t</span> Bits&gt;
+<a name="l00895"></a>00895 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;boost::xint::fixed_integer&lt;Bits&gt; &gt;::digits10 =
+<a name="l00896"></a>00896 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(Bits));
 <a name="l00897"></a>00897
-<a name="l00898"></a>00898 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP</span>
+<a name="l00898"></a>00898 } <span class="comment">// namespace std</span>
+<a name="l00899"></a>00899
+<a name="l00900"></a>00900 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_FIXED_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions.html
==============================================================================
--- sandbox/xint/doc/functions.html (original)
+++ sandbox/xint/doc/functions.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x62.html
==============================================================================
--- sandbox/xint/doc/functions_0x62.html (original)
+++ sandbox/xint/doc/functions_0x62.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x63.html
==============================================================================
--- sandbox/xint/doc/functions_0x63.html (original)
+++ sandbox/xint/doc/functions_0x63.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x64.html
==============================================================================
--- sandbox/xint/doc/functions_0x64.html (original)
+++ sandbox/xint/doc/functions_0x64.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,10 +58,13 @@
 Here is a list of all class members with links to the classes they belong to:
 
 <h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>default_random_generator()
+: <a class="el" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">boost::xint::default_random_generator</a>
+</li>
 <li>denorm_min()
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>digits
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ad3e98855a62b258e681216a6ff9083c3">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
@@ -69,9 +72,9 @@
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
 </li>
 <li>digits10
-: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
+: <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#a0b85344ce9c9ce5a66e27373d854c378">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
 </li>
 <li>divide_by_zero()
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
@@ -83,7 +86,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x65.html
==============================================================================
--- sandbox/xint/doc/functions_0x65.html (original)
+++ sandbox/xint/doc/functions_0x65.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x66.html
==============================================================================
--- sandbox/xint/doc/functions_0x66.html (original)
+++ sandbox/xint/doc/functions_0x66.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -66,7 +66,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x68.html
==============================================================================
--- sandbox/xint/doc/functions_0x68.html (original)
+++ sandbox/xint/doc/functions_0x68.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -93,7 +93,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x69.html
==============================================================================
--- sandbox/xint/doc/functions_0x69.html (original)
+++ sandbox/xint/doc/functions_0x69.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -118,7 +118,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x6d.html
==============================================================================
--- sandbox/xint/doc/functions_0x6d.html (original)
+++ sandbox/xint/doc/functions_0x6d.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -98,7 +98,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x6e.html
==============================================================================
--- sandbox/xint/doc/functions_0x6e.html (original)
+++ sandbox/xint/doc/functions_0x6e.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -72,7 +72,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x6f.html
==============================================================================
--- sandbox/xint/doc/functions_0x6f.html (original)
+++ sandbox/xint/doc/functions_0x6f.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -171,7 +171,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x71.html
==============================================================================
--- sandbox/xint/doc/functions_0x71.html (original)
+++ sandbox/xint/doc/functions_0x71.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -68,7 +68,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x72.html
==============================================================================
--- sandbox/xint/doc/functions_0x72.html (original)
+++ sandbox/xint/doc/functions_0x72.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -81,7 +81,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x73.html
==============================================================================
--- sandbox/xint/doc/functions_0x73.html (original)
+++ sandbox/xint/doc/functions_0x73.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x74.html
==============================================================================
--- sandbox/xint/doc/functions_0x74.html (original)
+++ sandbox/xint/doc/functions_0x74.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x7a.html
==============================================================================
--- sandbox/xint/doc/functions_0x7a.html (original)
+++ sandbox/xint/doc/functions_0x7a.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_0x7e.html
==============================================================================
--- sandbox/xint/doc/functions_0x7e.html (original)
+++ sandbox/xint/doc/functions_0x7e.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_func.html
==============================================================================
--- sandbox/xint/doc/functions_func.html (original)
+++ sandbox/xint/doc/functions_func.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -79,10 +79,13 @@
 
 
 <h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>default_random_generator()
+: <a class="el" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">boost::xint::default_random_generator</a>
+</li>
 <li>denorm_min()
 : <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1fixed__integer_3_01_bits_01_4_01_4.html#ab9768c5a665f9c13f70cfd29740a0640">std::numeric_limits&lt; boost::xint::fixed_integer&lt; Bits &gt; &gt;</a>
-, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 , <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">std::numeric_limits&lt; boost::xint::nothrow_integer &gt;</a>
+, <a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">std::numeric_limits&lt; boost::xint::integer &gt;</a>
 </li>
 <li>divide_by_zero()
 : <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">boost::xint::exceptions::divide_by_zero</a>
@@ -356,7 +359,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_type.html
==============================================================================
--- sandbox/xint/doc/functions_type.html (original)
+++ sandbox/xint/doc/functions_type.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,7 +45,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/functions_vars.html
==============================================================================
--- sandbox/xint/doc/functions_vars.html (original)
+++ sandbox/xint/doc/functions_vars.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -199,7 +199,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/gcd_8cpp.html (original)
+++ sandbox/xint/doc/gcd_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
 
 <p>Definition in file <a class="el" href="gcd_8cpp_source.html">gcd.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/gcd_8cpp_source.html (original)
+++ sandbox/xint/doc/gcd_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -188,7 +188,7 @@
 <a name="l00202"></a>00202 } <span class="comment">// namespace xint</span>
 <a name="l00203"></a>00203 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/globals.html
==============================================================================
--- sandbox/xint/doc/globals.html (original)
+++ sandbox/xint/doc/globals.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/globals_defs.html
==============================================================================
--- sandbox/xint/doc/globals_defs.html (original)
+++ sandbox/xint/doc/globals_defs.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/hierarchy.html
==============================================================================
--- sandbox/xint/doc/hierarchy.html (original)
+++ sandbox/xint/doc/hierarchy.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,6 +29,7 @@
 <h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
 <li><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></li>
+<li><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a></li>
 <li><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></li>
 <li><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">boost::xint::fixed_integer_any</a><ul>
@@ -51,7 +52,7 @@
 <li><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history.html
==============================================================================
--- sandbox/xint/doc/history.html (original)
+++ sandbox/xint/doc/history.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,7 +45,7 @@
 <li>Many less-major changes. </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/history_8dox.html
==============================================================================
--- sandbox/xint/doc/history_8dox.html (original)
+++ sandbox/xint/doc/history_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/history.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index.html
==============================================================================
--- sandbox/xint/doc/index.html (original)
+++ sandbox/xint/doc/index.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -43,7 +43,7 @@
 <li><a class="el" href="nan.html">The Not-a-Number Value</a></li>
 <li><a class="el" href="zero.html">Zero and "Negative Zero"</a></li>
 <li><a class="el" href="primes.html">Generating Prime Numbers</a> (with example code)</li>
-<li><a class="el" href="exceptions.html">Exceptions and the <code>nothrow_integer</code> type.</a> (with example code)</li>
+<li><a class="el" href="exceptions.html">Exceptions and the <code>nothrow_integer</code> type</a> (with example code)</li>
 <li><a class="el" href="random.html">The XInt Random Number System</a></li>
 </ul>
 <p>Compile-Time Options:</p>
@@ -66,7 +66,7 @@
 <li><a class="el" href="ex__fibonacci.html">Fibonacci Numbers</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/index_8dox.html
==============================================================================
--- sandbox/xint/doc/index_8dox.html (original)
+++ sandbox/xint/doc/index_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/index.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/integer_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -44,7 +44,7 @@
 
 <p>Definition in file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/integer_8cpp_source.html (original)
+++ sandbox/xint/doc/integer_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -145,7 +145,7 @@
 <a name="l00204"></a>00204 } <span class="comment">// namespace xint</span>
 <a name="l00205"></a>00205 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/integer_8hpp.html (original)
+++ sandbox/xint/doc/integer_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -143,8 +143,7 @@
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">boost::xint::random_prime</a> (size_t sizeInBits, callback_t callback=no_callback)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </div></td></tr>
@@ -174,15 +173,16 @@
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint::random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares the core integer type. </p>
 
 <p>Definition in file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/integer_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/integer_8hpp_source.html (original)
+++ sandbox/xint/doc/integer_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -146,123 +146,124 @@
 <a name="l00172"></a>00172 modulus, <span class="keywordtype">bool</span> noMontgomery=false);
 <a name="l00173"></a>00173 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1e2477157ea768d8c57fac1c31a8f7ca" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; modulus);
 <a name="l00175"></a>00175
-<a name="l00178"></a>00178 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=false, <span class="keywordtype">bool</span>
-<a name="l00179"></a>00179 lowBitOn=false, <span class="keywordtype">bool</span> canBeNegative=false);
-<a name="l00181"></a>00181
-<a name="l00184"></a>00184 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00185"></a>00185 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=no_callback);
-<a name="l00187"></a>00187
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00194"></a>00194 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00195"></a>00195 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00196"></a>00196 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00197"></a>00197 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00198"></a>00198 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
-<a name="l00209"></a>00209
-<a name="l00212"></a>00212 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=false);
-<a name="l00213"></a>00213 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
-<a name="l00214"></a>00214 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
-<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
-<a name="l00217"></a>00217
-<a name="l00219"></a>00219 <span class="comment">// Template function definitions</span>
-<a name="l00220"></a>00220
-<a name="l00233"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00233</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>::<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>(const T&amp; n,
-<a name="l00234"></a>00234 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00235"></a>00235 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 _set_signed(n);
-<a name="l00238"></a>00238 }
-<a name="l00239"></a>00239
-<a name="l00252"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00252</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00253"></a>00253 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00254"></a>00254 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00255"></a>00255 {
-<a name="l00256"></a>00256 _set_unsigned(n);
-<a name="l00257"></a>00257 }
-<a name="l00258"></a>00258
-<a name="l00269"></a>00269 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00270"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00270</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
-<a name="l00271"></a>00271 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
-<a name="l00272"></a>00272 }
-<a name="l00273"></a>00273
-<a name="l00276"></a>00276 <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="l00277"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00277</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00278"></a>00278 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00279"></a>00279 {
-<a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
-<a name="l00281"></a>00281 }
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 <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="l00284"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00284</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00285"></a>00285 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
-<a name="l00286"></a>00286 {
-<a name="l00287"></a>00287 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
-<a name="l00288"></a>00288 }
-<a name="l00290"></a>00290
-<a name="l00291"></a><a class="code" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">00291</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; right) {
-<a name="l00292"></a>00292 left._swap(right);
-<a name="l00293"></a>00293 }
-<a name="l00294"></a>00294
-<a name="l00295"></a>00295 } <span class="comment">// namespace xint</span>
-<a name="l00296"></a>00296 } <span class="comment">// namespace boost</span>
-<a name="l00297"></a>00297
-<a name="l00298"></a>00298 <span class="keyword">namespace </span>std {
-<a name="l00299"></a>00299 <span class="keyword">template</span>&lt;&gt;
-<a name="l00300"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00300</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
-<a name="l00301"></a>00301 <span class="keyword">public</span>:
-<a name="l00302"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00302</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00303"></a>00303
-<a name="l00304"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00304</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00305"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00305</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00306"></a>00306
-<a name="l00307"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00307</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00308"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00308</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00309"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00309</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00310"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00310</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00311"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00311</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00312"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00312</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00313"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00313</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00314"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00314</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00315"></a>00315
-<a name="l00316"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00316</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00317"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00317</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00318"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00318</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00319"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00319</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00320"></a>00320
-<a name="l00321"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00321</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00322"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00322</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
-<a name="l00323"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00323</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00324"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00324</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00325"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00325</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00326"></a>00326
-<a name="l00327"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00327</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00328"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00328</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00329"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00329</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00330"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00330</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00331"></a>00331
-<a name="l00332"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00332</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00333"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00333</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00334"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00334</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00335"></a>00335
-<a name="l00336"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00336</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00337"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00337</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00338"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00338</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00339"></a>00339 };
-<a name="l00340"></a>00340 } <span class="comment">// namespace std</span>
-<a name="l00341"></a>00341
-<a name="l00342"></a>00342 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
+<a name="l00178"></a>00178 template &lt;class T&gt;
+<a name="l00179"></a>00179 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=false, <span class="keywordtype">bool</span>
+<a name="l00180"></a>00180 lowBitOn=false, <span class="keywordtype">bool</span> canBeNegative=false);
+<a name="l00182"></a>00182
+<a name="l00185"></a>00185 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00186"></a>00186 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=no_callback);
+<a name="l00188"></a>00188
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00196"></a>00196 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00198"></a>00198 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00199"></a>00199 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00202"></a>00202 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00203"></a>00203 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00205"></a>00205 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00208"></a>00208 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n2);
+<a name="l00210"></a>00210
+<a name="l00213"></a>00213 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> &amp;n2, <span class="keywordtype">bool</span> ignoresign=false);
+<a name="l00214"></a>00214 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n);
+<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; num2);
+<a name="l00218"></a>00218
+<a name="l00220"></a>00220 <span class="comment">// Template function definitions</span>
+<a name="l00221"></a>00221
+<a name="l00234"></a><a class="code" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">00234</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>::<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>(const T&amp; n,
+<a name="l00235"></a>00235 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00236"></a>00236 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 _set_signed(n);
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240
+<a name="l00253"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">00253</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600" title="Creates a new integer with an initial value of zero.">integer::integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00254"></a>00254 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00255"></a>00255 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00256"></a>00256 {
+<a name="l00257"></a>00257 _set_unsigned(n);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259
+<a name="l00270"></a>00270 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00271"></a><a class="code" href="namespaceboost_1_1xint.html#ae90546b0cb6cf2f27fc5ce65bb43a21e">00271</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n) {
+<a name="l00272"></a>00272 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274
+<a name="l00277"></a>00277 <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="l00278"></a><a class="code" href="namespaceboost_1_1xint.html#a8d1a90f08d8ad3547627f2c2590ab20d">00278</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00279"></a>00279 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00280"></a>00280 {
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 <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="l00285"></a><a class="code" href="namespaceboost_1_1xint.html#a3a5967ac54c1a269f0b4ed555391ca4f">00285</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00286"></a>00286 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; n)
+<a name="l00287"></a>00287 {
+<a name="l00288"></a>00288 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00289"></a>00289 }
+<a name="l00291"></a>00291
+<a name="l00292"></a><a class="code" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">00292</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>&amp; right) {
+<a name="l00293"></a>00293 left._swap(right);
+<a name="l00294"></a>00294 }
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 } <span class="comment">// namespace xint</span>
+<a name="l00297"></a>00297 } <span class="comment">// namespace boost</span>
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="keyword">namespace </span>std {
+<a name="l00300"></a>00300 <span class="keyword">template</span>&lt;&gt;
+<a name="l00301"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html">00301</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::integer&gt; {
+<a name="l00302"></a>00302 <span class="keyword">public</span>:
+<a name="l00303"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a797b5572e1defb2e54824d8f93757b70">00303</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00304"></a>00304
+<a name="l00305"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">00305</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abe602c2142a3f18efad7ee6165e6ae35">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00306"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">00306</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a61b48d9ed6de684cd6f848e0c51a8350">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00307"></a>00307
+<a name="l00308"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad2b6d99afd7e533fe7bb39675c50f4d8">00308</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00309"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a59c21d55527213fb2638618f986a5a23">00309</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00310"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ab805f71787e27a6a760a1158eed67604">00310</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00311"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0a0ca82b32be38bd2b1129678c29a367">00311</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00312"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af14e06e3d92f0642f1936ed2f789fe62">00312</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00313"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a14cba561a014bdaad371f21e8471e9f6">00313</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00314"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">00314</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8cb7f699b54712581184f3486fe23ecd">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00315"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">00315</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a0cde53b5ca1063e2fbfd9c9e6f0866bc">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00316"></a>00316
+<a name="l00317"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad0d8fd556c393bf63f2525a4a494fcf7">00317</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00318"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8b75c7ee1e29fdfc3a8d51386ed4389d">00318</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00319"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a552090a8e12558fd5514176fb8b203c3">00319</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00320"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#abcd8e2fb1e04a51fc5747603515cf497">00320</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00321"></a>00321
+<a name="l00322"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#afc2b5e56fb2057c2459180219491d930">00322</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00323"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a4349ec37234b540226385641b57849c4">00323</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">false</span>;
+<a name="l00324"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa2f2d54b32c5c675a012b64d5b03302">00324</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00325"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#af6ad8de5f9785bce47d09baa074f209a">00325</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00326"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a16c5bbfdae90e62a46d9d604a615d071">00326</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00327"></a>00327
+<a name="l00328"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">00328</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa26e13fe18d53c4345611e4939c1bd08">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00329"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">00329</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a7bc02a7f92402e24f127babd46845b38">quiet_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00330"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">00330</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a5b2267da5707a0345f04d962742a4de0">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00331"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">00331</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">boost::xint::integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa0ce0042cd4a473feaf0efbe3bb6d3d7">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00332"></a>00332
+<a name="l00333"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aa29c196c9fdae93c3c7ebc2bdcde118e">00333</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00334"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#aaa3d9b178e56460ba4701baf6044a6e1">00334</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00335"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a88b83cf94dbe0c5d665c0da31384373b">00335</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00336"></a>00336
+<a name="l00337"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#ad469dddd16a7ba6fed9e88c969a5faa6">00337</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">true</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00338"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a6f43a2e1dcba42a7cf73a1a4323ed931">00338</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00339"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1integer_01_4.html#a8bb32df27ec29cc90e46adb78df8c4c2">00339</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00340"></a>00340 };
+<a name="l00341"></a>00341 } <span class="comment">// namespace std</span>
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/internals_8hpp.html
==============================================================================
--- sandbox/xint/doc/internals_8hpp.html (original)
+++ sandbox/xint/doc/internals_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -199,7 +199,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/internals_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/internals_8hpp_source.html (original)
+++ sandbox/xint/doc/internals_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -499,7 +499,7 @@
 <a name="l00544"></a>00544
 <a name="l00545"></a>00545 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/misc_8cpp.html (original)
+++ sandbox/xint/doc/misc_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -55,7 +55,7 @@
 
 <p>Definition in file <a class="el" href="misc_8cpp_source.html">misc.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/misc_8cpp_source.html (original)
+++ sandbox/xint/doc/misc_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -68,7 +68,7 @@
 <a name="l00074"></a>00074 } <span class="comment">// namespace xint</span>
 <a name="l00075"></a>00075 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/modular_8cpp.html (original)
+++ sandbox/xint/doc/modular_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -57,7 +57,7 @@
 
 <p>Definition in file <a class="el" href="modular_8cpp_source.html">modular.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/modular_8cpp_source.html (original)
+++ sandbox/xint/doc/modular_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -122,7 +122,7 @@
 <a name="l00166"></a>00166 } <span class="comment">// namespace xint</span>
 <a name="l00167"></a>00167 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8cpp.html
==============================================================================
--- sandbox/xint/doc/monty_8cpp.html (original)
+++ sandbox/xint/doc/monty_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,7 +45,7 @@
 
 <p>Definition in file <a class="el" href="monty_8cpp_source.html">monty.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/monty_8cpp_source.html (original)
+++ sandbox/xint/doc/monty_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -285,7 +285,7 @@
 <a name="l00281"></a>00281 } <span class="comment">// namespace xint</span>
 <a name="l00282"></a>00282 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8hpp.html
==============================================================================
--- sandbox/xint/doc/monty_8hpp.html (original)
+++ sandbox/xint/doc/monty_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="monty_8hpp_source.html">monty.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/monty_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/monty_8hpp_source.html (original)
+++ sandbox/xint/doc/monty_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -57,7 +57,7 @@
 <a name="l00044"></a>00044 <span class="comment"></span>
 <a name="l00045"></a>00045 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost.html
==============================================================================
--- sandbox/xint/doc/namespaceboost.html (original)
+++ sandbox/xint/doc/namespaceboost.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -34,7 +34,7 @@
 </p>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost_1_1xint.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint.html (original)
+++ sandbox/xint/doc/namespaceboost_1_1xint.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,6 +45,8 @@
 <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="classboost_1_1xint_1_1base__divide__t.html">base_divide_t</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the results from a division-with-remainder call. More...<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">default_random_generator</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for general-purpose (insecure) random numbers. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fixed-size integer type. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a></td></tr>
@@ -61,9 +63,9 @@
 <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="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a></td></tr>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92ee4f1138215a36f4374a356fa5a359">operator-</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;a)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">detail void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">set_random_generator</a> (T *gen)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">random_prime</a> (T &amp;gen, size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">swap</a> (<a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;right)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">swap</a> (<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;left, <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;right)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
@@ -250,23 +252,25 @@
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">fixed_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">fixed_random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">nothrow_random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;size_t Bits&gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">fixed_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T , size_t Bits&gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">fixed_random_prime</a> (T &amp;gen, size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1fixed__integer__any.html">fixed_integer_any</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a> (const <a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">random_prime</a> (size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">nothrow_random_prime</a> (T &amp;gen, size_t size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a> (size_t sizeInBits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
 </div></td></tr>
@@ -392,7 +396,7 @@
 <p>A callback function takes no parameters and returns a bool. </p>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">xint::random_prime</a> </dd></dl>
 
 <p>Definition at line <a class="el" href="internals_8hpp_source.html#l00080">80</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
@@ -1705,15 +1709,21 @@
 
 </div>
 </div>
-<a class="anchor" id="a96c7867b9ad53a718c08db8226edec62"></a><!-- doxytag: member="boost::xint::fixed_random_by_size" ref="a96c7867b9ad53a718c08db8226edec62" args="(size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
+<a class="anchor" id="a5678fe823ef045bd64e405108da42c4e"></a><!-- doxytag: member="boost::xint::fixed_random_by_size" ref="a5678fe823ef045bd64e405108da42c4e" args="(T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;size_t Bits&gt; </div>
+template&lt;class T , size_t Bits&gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_random_by_size </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>bits</em>, </td>
         </tr>
@@ -1748,6 +1758,7 @@
 </ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>The random number generator to use. This can be <a class="el" href="classboost_1_1xint_1_1default__random__generator.html" title="A convenience class for general-purpose (insecure) random numbers.">boost::xint::default_random_generator</a>, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">boost::xint::strong_random_generator</a>, or any other class that supplies the member functions required by the Boost.Random random number generators. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>low_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will always be odd. If <code>false</code>, it has an equal chance of being odd or even. </td></tr>
@@ -1756,25 +1767,28 @@
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
-<dd>
-<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
  </p>
 
 <p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00781">781</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="afab685e9431b90c98079030eae8bdb35"></a><!-- doxytag: member="boost::xint::fixed_random_prime" ref="afab685e9431b90c98079030eae8bdb35" args="(size_t size_in_bits, callback_t callback)" -->
+<a class="anchor" id="a81c131d55fde5e16d63f7126e0532136"></a><!-- doxytag: member="boost::xint::fixed_random_prime" ref="a81c131d55fde5e16d63f7126e0532136" args="(T &amp;gen, size_t size_in_bits, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;size_t Bits&gt; </div>
+template&lt;class T , size_t Bits&gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1fixed__integer.html">fixed_integer</a>&lt; Bits &gt; boost::xint::fixed_random_prime </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
@@ -1792,27 +1806,7 @@
       </table>
 </div>
 <div class="memdoc">
-<p>Generate a randomly-generated prime number of a particular bit-size. <ul>
-<li>Complexity: Varies</li>
-</ul>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A randomly-generated prime integer with the specified number of bits, or zero if the provided callback function cancelled the operation.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>size_in_bits</code> is less than two.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This function uses <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a>. See the description of it for details of its limitations.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>It also uses the library's currently-set random number generator. See the <a class="el" href="random.html">Random Number Functions page</a> for details on its limitations and requirements, and how to get cryptographically-secure random numbers.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
- </p>
+<p> </p>
 
 <p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00790">790</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
@@ -1952,7 +1946,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>The greatest common denominator of the two integers, which will always be a positive number. </dd></dl>
  </p>
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00798">798</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00800">800</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -2601,7 +2595,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>The least common multiple of the two integers. If either integer is zero, then the return value will be zero, by convention; in all other cases, the return value will be a positive number. </dd></dl>
  </p>
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00808">808</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00810">810</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -3522,13 +3516,21 @@
 
 </div>
 </div>
-<a class="anchor" id="a1b55b4b192aa6abc491e3ed8c5ef2627"></a><!-- doxytag: member="boost::xint::nothrow_random_by_size" ref="a1b55b4b192aa6abc491e3ed8c5ef2627" args="(size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
+<a class="anchor" id="ab7558a893d0f1e3bb3f12f3a9d2cd469"></a><!-- doxytag: member="boost::xint::nothrow_random_by_size" ref="ab7558a893d0f1e3bb3f12f3a9d2cd469" args="(T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::nothrow_random_by_size </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>bits</em>, </td>
         </tr>
@@ -3553,7 +3555,7 @@
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
@@ -3563,6 +3565,7 @@
 </ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>The random number generator to use. This can be <a class="el" href="classboost_1_1xint_1_1default__random__generator.html" title="A convenience class for general-purpose (insecure) random numbers.">boost::xint::default_random_generator</a>, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">boost::xint::strong_random_generator</a>, or any other class that supplies the member functions required by the Boost.Random random number generators. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>low_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will always be odd. If <code>false</code>, it has an equal chance of being odd or even. </td></tr>
@@ -3571,21 +3574,28 @@
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
-<dd>
-<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
  </p>
 
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00363">363</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="aed98791058e6a589b06f8015ae0acaef"></a><!-- doxytag: member="boost::xint::nothrow_random_prime" ref="aed98791058e6a589b06f8015ae0acaef" args="(size_t size_in_bits, callback_t callback)" -->
+<a class="anchor" id="a0a6aa40775c6a0664c772be372342c12"></a><!-- doxytag: member="boost::xint::nothrow_random_prime" ref="a0a6aa40775c6a0664c772be372342c12" args="(T &amp;gen, size_t size_in_bits, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1nothrow__integer.html">nothrow_integer</a> boost::xint::nothrow_random_prime </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
@@ -3598,32 +3608,14 @@
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
-<p>Generate a randomly-generated prime number of a particular bit-size. <ul>
-<li>Complexity: Varies</li>
-</ul>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>A randomly-generated prime integer with the specified number of bits, or zero if the provided callback function cancelled the operation.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">exceptions::invalid_argument</a></em>&nbsp;</td><td>if <code>size_in_bits</code> is less than two.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This function uses <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a>. See the description of it for details of its limitations.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>It also uses the library's currently-set random number generator. See the <a class="el" href="random.html">Random Number Functions page</a> for details on its limitations and requirements, and how to get cryptographically-secure random numbers.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
- </p>
+<p> </p>
+
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00376">376</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4160,7 +4152,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00320">320</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00322">322</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4191,7 +4183,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00277">277</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00278">278</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4222,7 +4214,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00819">819</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00821">821</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4577,7 +4569,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00332">332</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00334">334</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4608,7 +4600,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00284">284</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00285">285</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -4639,7 +4631,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00826">826</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00828">828</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -5129,13 +5121,21 @@
 
 </div>
 </div>
-<a class="anchor" id="ac8d879e19a6608b21184236e00806be5"></a><!-- doxytag: member="boost::xint::random_by_size" ref="ac8d879e19a6608b21184236e00806be5" args="(size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
+<a class="anchor" id="af431075692c7b5b7bc01768856876512"></a><!-- doxytag: member="boost::xint::random_by_size" ref="af431075692c7b5b7bc01768856876512" args="(T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::random_by_size </td>
+ <td class="memname">detail <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::random_by_size </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>bits</em>, </td>
         </tr>
@@ -5160,7 +5160,7 @@
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
@@ -5172,6 +5172,7 @@
 </ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>The random number generator to use. This can be <a class="el" href="classboost_1_1xint_1_1default__random__generator.html" title="A convenience class for general-purpose (insecure) random numbers.">boost::xint::default_random_generator</a>, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">boost::xint::strong_random_generator</a>, or any other class that supplies the member functions required by the Boost.Random random number generators. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bits</em>&nbsp;</td><td>The maximum number of bits that you want the returned number to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>high_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will have exactly the requested size. If <code>false</code>, the upper bits may be zero, resulting in a number that is slightly smaller than requested. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>low_bit_on</em>&nbsp;</td><td>If <code>true</code>, the returned number will always be odd. If <code>false</code>, it has an equal chance of being odd or even. </td></tr>
@@ -5180,20 +5181,27 @@
   </dd>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the currently-defined random generator.</dd></dl>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd>
-<dd>
-<a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">xint::set_random_generator</a> </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00123">123</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aaf58d56e1a47ac55e0aa97a55e6fb2c9"></a><!-- doxytag: member="boost::xint::random_prime" ref="aaf58d56e1a47ac55e0aa97a55e6fb2c9" args="(size_t size_in_bits, callback_t callback)" -->
+<a class="anchor" id="ad9c43d1fa76d7c19288c841aa1cbaf63"></a><!-- doxytag: member="boost::xint::random_prime" ref="ad9c43d1fa76d7c19288c841aa1cbaf63" args="(T &amp;gen, size_t size_in_bits, callback_t callback)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::random_prime </td>
           <td>(</td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>gen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
           <td class="paramtype">size_t&nbsp;</td>
           <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
@@ -5206,7 +5214,7 @@
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
@@ -5218,6 +5226,7 @@
 </ul>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>The random number generator to use. This can be <a class="el" href="classboost_1_1xint_1_1default__random__generator.html" title="A convenience class for general-purpose (insecure) random numbers.">boost::xint::default_random_generator</a>, <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">boost::xint::strong_random_generator</a>, or any other class that supplies the member functions required by the Boost.Random random number generators. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size_in_bits</em>&nbsp;</td><td>The number of bits that you want the returned value to have. </td></tr>
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional function that will be called regularly during the operation. If it returns <code>false</code>, the function will immediately return.</td></tr>
   </table>
@@ -5231,41 +5240,38 @@
   </dd>
 </dl>
 <dl class="note"><dt><b>Note:</b></dt><dd>This function uses <a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a>. See the description of it for details of its limitations.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>It also uses the library's currently-set random number generator. See the <a class="el" href="random.html">Random Number Functions page</a> for details on its limitations and requirements, and how to get cryptographically-secure random numbers.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>See the <a class="el" href="random.html">Random Number Functions page</a> for details on how to get cryptographically-secure random numbers.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
 
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00159">159</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
+
 </div>
 </div>
-<a class="anchor" id="ae64e3e8c8da2f0a1cb7064d1775fbf54"></a><!-- doxytag: member="boost::xint::set_random_generator" ref="ae64e3e8c8da2f0a1cb7064d1775fbf54" args="(T *gen)" -->
+<a class="anchor" id="afec65ec6ec0b57c0483a703040d97107"></a><!-- doxytag: member="boost::xint::random_prime" ref="afec65ec6ec0b57c0483a703040d97107" args="(size_t sizeInBits, callback_t callback=no_callback)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">detail void boost::xint::set_random_generator </td>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::random_prime </td>
           <td>(</td>
- <td class="paramtype">T *&nbsp;</td>
- <td class="paramname"> <em>gen</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></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> = <code>no_callback</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Change the random generator that the library uses. </p>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gen</em>&nbsp;</td><td>A pointer to the new generator to use.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="warning"><dt><b>Warning:</b></dt><dd>The generator must be a heap-allocated pointer (one created with <code>new</code>), which the XInt library assumes ownership of. Don't pass in a stack-created item, don't try to delete the item that you passed in, and don't attempt to use it separately after passing it to this function, or the behavior is undefined.</dd></dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>See the <a class="el" href="random.html">Random Number page</a> for an example of how to use it. </dd></dl>
-
-<p>Definition at line <a class="el" href="random_8hpp_source.html#l00105">105</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
-
 </div>
 </div>
 <a class="anchor" id="aaf72216ae1986d06d4f39c27cada42d6"></a><!-- doxytag: member="boost::xint::setbit" ref="aaf72216ae1986d06d4f39c27cada42d6" args="(fixed_integer&lt; Bits &gt; &amp;n, size_t bit)" -->
@@ -6228,7 +6234,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00359">359</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00387">387</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6257,7 +6263,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00291">291</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00292">292</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6288,7 +6294,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00837">837</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="fixed__integer_8hpp_source.html#l00839">839</a> of file <a class="el" href="fixed__integer_8hpp_source.html">fixed_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6331,7 +6337,7 @@
  </p>
 <dl class="note"><dt><b>Note:</b></dt><dd>Returns T(0) instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00309">309</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="nothrow__integer_8hpp_source.html#l00311">311</a> of file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6374,7 +6380,7 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00270">270</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00271">271</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -6772,14 +6778,14 @@
 <p>An empty callback_t, used as a default parameter for some functions. </p>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">xint::is_prime</a> </dd>
 <dd>
-<a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a> </dd></dl>
+<a class="el" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">xint::random_prime</a> </dd></dl>
 
 <p>Definition at line <a class="el" href="internals_8hpp_source.html#l00095">95</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html (original)
+++ sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -35,7 +35,7 @@
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The items within this namespace are meant for internal use only. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html
==============================================================================
--- sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html (original)
+++ sandbox/xint/doc/namespaceboost_1_1xint_1_1exceptions.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -46,7 +46,7 @@
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Every exception the library throws is from this namespace. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers.html
==============================================================================
--- sandbox/xint/doc/namespacemembers.html (original)
+++ sandbox/xint/doc/namespacemembers.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -124,10 +124,10 @@
 : <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
 </li>
 <li>fixed_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">boost::xint</a>
 </li>
 <li>fixed_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">boost::xint</a>
 </li>
 <li>from_binary()
 : <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
@@ -211,10 +211,10 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
 </li>
 <li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">boost::xint</a>
 </li>
 <li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">boost::xint</a>
 </li>
 </ul>
 
@@ -292,18 +292,15 @@
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
 <li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint</a>
 </li>
 <li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">boost::xint</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint</a>
-</li>
 <li>setbit()
 : <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
 </li>
@@ -311,25 +308,25 @@
 : <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
 </li>
 <li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">boost::xint</a>
 </li>
 <li>shift_right()
 : <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
 </li>
 <li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
 </li>
 <li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint</a>
 </li>
 <li>sqrt()
 : <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
 </li>
 <li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint</a>
 </li>
 <li>swap()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">boost::xint</a>
 </li>
 </ul>
 
@@ -346,7 +343,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers_func.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_func.html (original)
+++ sandbox/xint/doc/namespacemembers_func.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -115,10 +115,10 @@
 : <a class="el" href="namespaceboost_1_1xint.html#ac115a2ae7492ac4bae0fe5b2878ca7b1">boost::xint</a>
 </li>
 <li>fixed_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a96c7867b9ad53a718c08db8226edec62">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a5678fe823ef045bd64e405108da42c4e">boost::xint</a>
 </li>
 <li>fixed_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#afab685e9431b90c98079030eae8bdb35">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a81c131d55fde5e16d63f7126e0532136">boost::xint</a>
 </li>
 <li>from_binary()
 : <a class="el" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280">boost::xint</a>
@@ -199,10 +199,10 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a7dd5b57bcf282d01f39cddf425418287">boost::xint</a>
 </li>
 <li>nothrow_random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">boost::xint</a>
 </li>
 <li>nothrow_random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">boost::xint</a>
 </li>
 </ul>
 
@@ -280,18 +280,15 @@
 
 <h3><a class="anchor" id="index_r">- r -</a></h3><ul>
 <li>random_by_size()
-: <a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint</a>
 </li>
 <li>random_prime()
-: <a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">boost::xint</a>
 </li>
 </ul>
 
 
 <h3><a class="anchor" id="index_s">- s -</a></h3><ul>
-<li>set_random_generator()
-: <a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint</a>
-</li>
 <li>setbit()
 : <a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint</a>
 </li>
@@ -299,25 +296,25 @@
 : <a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint</a>
 </li>
 <li>shift_left()
-: <a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a4bc41e443d230352f7c099e60f4056f4">boost::xint</a>
 </li>
 <li>shift_right()
 : <a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint</a>
 </li>
 <li>sqr()
-: <a class="el" href="namespaceboost_1_1xint.html#a041e980b0d5d3f48cd94bec1fb6d42a5">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">boost::xint</a>
 </li>
 <li>sqrmod()
-: <a class="el" href="namespaceboost_1_1xint.html#a35ff2132479ee8c99dd8017af679828e">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e">boost::xint</a>
 </li>
 <li>sqrt()
 : <a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint</a>
 </li>
 <li>subtract()
-: <a class="el" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a86eb0099596fe66bd46be244323f44e5">boost::xint</a>
 </li>
 <li>swap()
-: <a class="el" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a7832686d860601f27625d42b7532639e">boost::xint</a>
 </li>
 </ul>
 
@@ -334,7 +331,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers_type.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_type.html (original)
+++ sandbox/xint/doc/namespacemembers_type.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -42,7 +42,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacemembers_vars.html
==============================================================================
--- sandbox/xint/doc/namespacemembers_vars.html (original)
+++ sandbox/xint/doc/namespacemembers_vars.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -42,7 +42,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespaces.html
==============================================================================
--- sandbox/xint/doc/namespaces.html (original)
+++ sandbox/xint/doc/namespaces.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -33,7 +33,7 @@
   <tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/namespacestd.html
==============================================================================
--- sandbox/xint/doc/namespacestd.html (original)
+++ sandbox/xint/doc/namespacestd.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -32,7 +32,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">numeric_limits&lt; boost::xint::nothrow_integer &gt;</a></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:52 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nan.html
==============================================================================
--- sandbox/xint/doc/nan.html (original)
+++ sandbox/xint/doc/nan.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -37,7 +37,7 @@
 </ul>
 <p>If you attempt to do anything else with it, you will get a special value indicating failure (which will be another Not-a-Number, if the function you're calling returns a <code>nothrow_integer</code>). </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nan_8dox.html
==============================================================================
--- sandbox/xint/doc/nan_8dox.html (original)
+++ sandbox/xint/doc/nan_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__bit__manipulations_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -59,7 +59,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__bit__manipulations_8cpp_source.html">nothrow_bit_manipulations.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__bit__manipulations_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -139,7 +139,7 @@
 <a name="l00139"></a>00139 } <span class="comment">// namespace xint</span>
 <a name="l00140"></a>00140 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__compare_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__compare_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__compare_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -58,7 +58,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__compare_8cpp_source.html">nothrow_compare.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__compare_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__compare_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__compare_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -70,7 +70,7 @@
 <a name="l00056"></a>00056 } <span class="comment">// namespace xint</span>
 <a name="l00057"></a>00057 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__convert_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__convert_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__convert_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -53,7 +53,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__convert_8cpp_source.html">nothrow_convert.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__convert_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__convert_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__convert_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -84,7 +84,7 @@
 <a name="l00082"></a>00082 } <span class="comment">// namespace xint</span>
 <a name="l00083"></a>00083 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__gcd_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__gcd_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__gcd_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__gcd_8cpp_source.html">nothrow_gcd.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__gcd_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__gcd_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__gcd_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 <a name="l00046"></a>00046 } <span class="comment">// namespace xint</span>
 <a name="l00047"></a>00047 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__integer_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -44,7 +44,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__integer_8cpp_source.html">nothrow_integer.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__integer_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -214,7 +214,7 @@
 <a name="l00247"></a>00247 } <span class="comment">// namespace xint</span>
 <a name="l00248"></a>00248 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8hpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8hpp.html (original)
+++ sandbox/xint/doc/nothrow__integer_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -88,7 +88,8 @@
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint::is_prime</a> (const nothrow_integer &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint::nothrow_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">boost::xint::nothrow_random_prime</a> (T &amp;gen, size_t size_in_bits, callback_t callback)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
 </div></td></tr>
@@ -109,7 +110,8 @@
 <tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">boost::xint::nothrow_random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
 </div></td></tr>
@@ -142,7 +144,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__integer_8hpp_source.html">nothrow_integer.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__integer_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__integer_8hpp_source.html (original)
+++ sandbox/xint/doc/nothrow__integer_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -167,166 +167,192 @@
 <a name="l00200"></a>00200 modulus);
 <a name="l00202"></a>00202
 <a name="l00204"></a>00204
-<a name="l00207"></a>00207 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span> highBitOn=false,
-<a name="l00208"></a>00208 <span class="keywordtype">bool</span> lowBitOn=false, <span class="keywordtype">bool</span> canBeNegative=false);
-<a name="l00210"></a>00210
-<a name="l00212"></a>00212
-<a name="l00215"></a>00215 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
-<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback =
-<a name="l00217"></a>00217 no_callback);
-<a name="l00219"></a>00219
+<a name="l00207"></a>00207 template &lt;class T&gt;
+<a name="l00208"></a>00208 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">nothrow_random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> sizeInBits, <span class="keywordtype">bool</span>
+<a name="l00209"></a>00209 highBitOn = false, <span class="keywordtype">bool</span> lowBitOn = false, <span class="keywordtype">bool</span> canBeNegative = false);
+<a name="l00211"></a>00211
+<a name="l00213"></a>00213
+<a name="l00216"></a>00216 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>);
+<a name="l00217"></a>00217 template &lt;class T&gt;
+<a name="l00218"></a>00218 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">nothrow_random_prime</a>(T&amp; gen, <span class="keywordtype">size_t</span> sizeInBits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00219"></a>00219 callback = no_callback);
 <a name="l00221"></a>00221
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00228"></a>00228 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00229"></a>00229 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00230"></a>00230 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00231"></a>00231 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00232"></a>00232 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00238"></a>00238 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00239"></a>00239 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00241"></a>00241 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
-<a name="l00243"></a>00243
+<a name="l00223"></a>00223
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="keywordtype">bool</span> operator&lt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00230"></a>00230 <span class="keywordtype">bool</span> operator&gt;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00231"></a>00231 <span class="keywordtype">bool</span> operator&lt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00232"></a>00232 <span class="keywordtype">bool</span> operator&gt;=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00233"></a>00233 <span class="keywordtype">bool</span> operator==(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00234"></a>00234 <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator+(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00237"></a>00237 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator-(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00238"></a>00238 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator*(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00239"></a>00239 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator/(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator%(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00241"></a>00241 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator&amp;(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00242"></a>00242 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator|(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
+<a name="l00243"></a>00243 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> operator^(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n2);
 <a name="l00245"></a>00245
-<a name="l00248"></a>00248 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
-<a name="l00249"></a>00249 ignoresign=false);
-<a name="l00250"></a>00250 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
-<a name="l00251"></a>00251 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00252"></a>00252 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
-<a name="l00254"></a>00254
-<a name="l00256"></a>00256 <span class="comment">// Template function definitions</span>
-<a name="l00257"></a>00257
-<a name="l00270"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00270</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>::<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>(const T&amp; n,
-<a name="l00271"></a>00271 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00272"></a>00272 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
-<a name="l00273"></a>00273 {
-<a name="l00274"></a>00274 <span class="keywordflow">try</span> {
-<a name="l00275"></a>00275 _set_signed(n);
-<a name="l00276"></a>00276 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00277"></a>00277 _base_attach(0);
-<a name="l00278"></a>00278 }
-<a name="l00279"></a>00279 }
-<a name="l00280"></a>00280
-<a name="l00293"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00293</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
-<a name="l00294"></a>00294 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
-<a name="l00295"></a>00295 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
-<a name="l00296"></a>00296 {
-<a name="l00297"></a>00297 <span class="keywordflow">try</span> {
-<a name="l00298"></a>00298 _set_unsigned(n);
-<a name="l00299"></a>00299 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00300"></a>00300 _base_attach(0);
-<a name="l00301"></a>00301 }
-<a name="l00302"></a>00302 }
-<a name="l00303"></a>00303
-<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00309"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00309</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
-<a name="l00310"></a>00310 <span class="keywordflow">try</span> {
-<a name="l00311"></a>00311 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
-<a name="l00312"></a>00312 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00313"></a>00313 <span class="keywordflow">return</span> 0;
-<a name="l00314"></a>00314 }
-<a name="l00315"></a>00315 }
-<a name="l00316"></a>00316
-<a name="l00319"></a>00319 <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="l00320"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00320</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
-<a name="l00321"></a>00321 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00322"></a>00322 {
-<a name="l00323"></a>00323 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
-<a name="l00324"></a>00324 out &lt;&lt; detail::nan_text;
-<a name="l00325"></a>00325 <span class="keywordflow">return</span> out;
-<a name="l00326"></a>00326 } <span class="keywordflow">else</span> {
-<a name="l00327"></a>00327 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329 }
-<a name="l00330"></a>00330
-<a name="l00331"></a>00331 <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="l00332"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00332</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
-<a name="l00333"></a>00333 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
-<a name="l00334"></a>00334 {
-<a name="l00335"></a>00335 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
-<a name="l00336"></a>00336 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l00337"></a>00337 <span class="keywordtype">char</span> buffer[6];
-<a name="l00338"></a>00338
-<a name="l00339"></a>00339 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
-<a name="l00340"></a>00340 <span class="comment">//std::streamsize size=in.readsome(buffer, 5);</span>
-<a name="l00341"></a>00341 <span class="comment">//buffer[size]=0;</span>
-<a name="l00342"></a>00342
-<a name="l00343"></a>00343 <span class="comment">// Replacing them with these.</span>
-<a name="l00344"></a>00344 <span class="keywordtype">char</span> *p = buffer, *pe = p + 5;
-<a name="l00345"></a>00345 <span class="keywordflow">while</span> (p != pe) in &gt;&gt; *p++;
-<a name="l00346"></a>00346 *p = 0;
-<a name="l00347"></a>00347
-<a name="l00348"></a>00348 std::string str(buffer);
+<a name="l00247"></a>00247
+<a name="l00250"></a>00250 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> &amp;n2, <span class="keywordtype">bool</span>
+<a name="l00251"></a>00251 ignoresign=false);
+<a name="l00252"></a>00252 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n);
+<a name="l00253"></a>00253 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00254"></a>00254 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num1, const <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; num2);
+<a name="l00256"></a>00256
+<a name="l00258"></a>00258 <span class="comment">// Template function definitions</span>
+<a name="l00259"></a>00259
+<a name="l00272"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#ab0e2e8c778ad3128a228418c46add112">00272</a> template &lt;typename T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>::<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>(const T&amp; n,
+<a name="l00273"></a>00273 typename boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00274"></a>00274 typename boost::enable_if&lt;boost::is_signed&lt;T&gt; &gt;::type*)
+<a name="l00275"></a>00275 {
+<a name="l00276"></a>00276 <span class="keywordflow">try</span> {
+<a name="l00277"></a>00277 _set_signed(n);
+<a name="l00278"></a>00278 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00279"></a>00279 _base_attach(0);
+<a name="l00280"></a>00280 }
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282
+<a name="l00295"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a7f7d4d7c031c82eec324c3dafe74c9ad">00295</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> T&amp; n,
+<a name="l00296"></a>00296 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;T&gt; &gt;::type*,
+<a name="l00297"></a>00297 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_unsigned&lt;T&gt; &gt;::type*)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keywordflow">try</span> {
+<a name="l00300"></a>00300 _set_unsigned(n);
+<a name="l00301"></a>00301 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00302"></a>00302 _base_attach(0);
+<a name="l00303"></a>00303 }
+<a name="l00304"></a>00304 }
+<a name="l00305"></a>00305
+<a name="l00310"></a>00310 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00311"></a><a class="code" href="namespaceboost_1_1xint.html#ad8a1d63acfebbbdfce1047c966682a93">00311</a> T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n) {
+<a name="l00312"></a>00312 <span class="keywordflow">try</span> {
+<a name="l00313"></a>00313 <span class="keywordflow">return</span> detail::to&lt;T&gt;(n);
+<a name="l00314"></a>00314 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00315"></a>00315 <span class="keywordflow">return</span> 0;
+<a name="l00316"></a>00316 }
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318
+<a name="l00321"></a>00321 <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="l00322"></a><a class="code" href="namespaceboost_1_1xint.html#a4b7b76c7fb4b03cf086773a55604d6a2">00322</a> <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
+<a name="l00323"></a>00323 traits&gt;&amp; out, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00324"></a>00324 {
+<a name="l00325"></a>00325 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00326"></a>00326 out &lt;&lt; detail::nan_text;
+<a name="l00327"></a>00327 <span class="keywordflow">return</span> out;
+<a name="l00328"></a>00328 } <span class="keywordflow">else</span> {
+<a name="l00329"></a>00329 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">detail::operator&lt;&lt;</a>(out, n);
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331 }
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333 <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="l00334"></a><a class="code" href="namespaceboost_1_1xint.html#a01075dbe629f0b3bd58d4d18fce80637">00334</a> <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
+<a name="l00335"></a>00335 traits&gt;&amp; in, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; n)
+<a name="l00336"></a>00336 {
+<a name="l00337"></a>00337 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;#&#39;</span>) {
+<a name="l00338"></a>00338 <span class="comment">// Must be either #NaN# or an error</span>
+<a name="l00339"></a>00339 <span class="keywordtype">char</span> buffer[6];
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
+<a name="l00342"></a>00342 <span class="comment">//std::streamsize size=in.readsome(buffer, 5);</span>
+<a name="l00343"></a>00343 <span class="comment">//buffer[size]=0;</span>
+<a name="l00344"></a>00344
+<a name="l00345"></a>00345 <span class="comment">// Replacing them with these.</span>
+<a name="l00346"></a>00346 <span class="keywordtype">char</span> *p = buffer, *pe = p + 5;
+<a name="l00347"></a>00347 <span class="keywordflow">while</span> (p != pe) in &gt;&gt; *p++;
+<a name="l00348"></a>00348 *p = 0;
 <a name="l00349"></a>00349
-<a name="l00350"></a>00350 <span class="keywordflow">if</span> (str==detail::nan_text) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00351"></a>00351 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l00352"></a>00352 <span class="keywordflow">return</span> in;
-<a name="l00353"></a>00353 } <span class="keywordflow">else</span> {
-<a name="l00354"></a>00354 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 }
-<a name="l00358"></a>00358
-<a name="l00359"></a><a class="code" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">00359</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; right) {
-<a name="l00360"></a>00360 left._swap(right);
-<a name="l00361"></a>00361 }
-<a name="l00362"></a>00362
-<a name="l00363"></a>00363 } <span class="comment">// namespace xint</span>
-<a name="l00364"></a>00364 } <span class="comment">// namespace boost</span>
-<a name="l00365"></a>00365
-<a name="l00366"></a>00366 <span class="keyword">namespace </span>std {
-<a name="l00367"></a>00367 <span class="keyword">template</span>&lt;&gt;
-<a name="l00368"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00368</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
-<a name="l00369"></a>00369 <span class="keyword">public</span>:
-<a name="l00370"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00370</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
-<a name="l00371"></a>00371
-<a name="l00372"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00372</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00373"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00373</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00374"></a>00374
-<a name="l00375"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00375</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
-<a name="l00376"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00376</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00377"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00377</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
-<a name="l00378"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00378</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
-<a name="l00379"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00379</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
-<a name="l00380"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00380</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
-<a name="l00381"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00381</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00382"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00382</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l00383"></a>00383
-<a name="l00384"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00384</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00385"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00385</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00386"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00386</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
-<a name="l00387"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00387</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
-<a name="l00388"></a>00388
-<a name="l00389"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00389</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
-<a name="l00390"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00390</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
-<a name="l00391"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00391</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
-<a name="l00392"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00392</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
-<a name="l00393"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00393</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00394"></a>00394
-<a name="l00395"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00395</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00396</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
-<a name="l00397"></a>00397 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
-<a name="l00398"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00398</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00399"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00399</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
-<a name="l00400"></a>00400
-<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
-<a name="l00402"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00402</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
-<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
-<a name="l00404"></a>00404
-<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
-<a name="l00406"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00406</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
-<a name="l00407"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00407</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
-<a name="l00408"></a>00408 };
-<a name="l00409"></a>00409 } <span class="comment">// namespace std</span>
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
+<a name="l00350"></a>00350 std::string str(buffer);
+<a name="l00351"></a>00351
+<a name="l00352"></a>00352 <span class="keywordflow">if</span> (str==detail::nan_text) n=<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00353"></a>00353 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
+<a name="l00354"></a>00354 <span class="keywordflow">return</span> in;
+<a name="l00355"></a>00355 } <span class="keywordflow">else</span> {
+<a name="l00356"></a>00356 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">detail::operator&gt;&gt;</a>(in, n);
+<a name="l00357"></a>00357 }
+<a name="l00358"></a>00358 }
+<a name="l00360"></a>00360
+<a name="l00362"></a>00362 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00363"></a><a class="code" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">00363</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#ab7558a893d0f1e3bb3f12f3a9d2cd469">nothrow_random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on,
+<a name="l00364"></a>00364 <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00365"></a>00365 {
+<a name="l00366"></a>00366 <span class="keywordflow">try</span> {
+<a name="l00367"></a>00367 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>(<a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">xint::random_by_size</a>(gen, bits, high_bit_on,
+<a name="l00368"></a>00368 low_bit_on, can_be_negative));
+<a name="l00369"></a>00369 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00370"></a>00370 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00371"></a>00371 }
+<a name="l00372"></a>00372 }
+<a name="l00373"></a>00373
+<a name="l00375"></a>00375 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00376"></a><a class="code" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">00376</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> <a class="code" href="namespaceboost_1_1xint.html#a0a6aa40775c6a0664c772be372342c12">nothrow_random_prime</a>(T&amp; gen, <span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00377"></a>00377 callback)
+<a name="l00378"></a>00378 {
+<a name="l00379"></a>00379 <span class="keywordflow">try</span> {
+<a name="l00380"></a>00380 <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a> r(<a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">xint::random_prime</a>(gen, size_in_bits, callback));
+<a name="l00381"></a>00381 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00382"></a>00382 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00383"></a>00383 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
+<a name="l00384"></a>00384 }
+<a name="l00385"></a>00385 }
+<a name="l00386"></a>00386
+<a name="l00387"></a><a class="code" href="namespaceboost_1_1xint.html#a27c1978abf1c401febe61285e8a3af0b">00387</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f5d22465d4dab8985c13479ec0e5e79">swap</a>(<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; left, <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>&amp; right) {
+<a name="l00388"></a>00388 left._swap(right);
+<a name="l00389"></a>00389 }
+<a name="l00390"></a>00390
+<a name="l00391"></a>00391 } <span class="comment">// namespace xint</span>
+<a name="l00392"></a>00392 } <span class="comment">// namespace boost</span>
+<a name="l00393"></a>00393
+<a name="l00394"></a>00394 <span class="keyword">namespace </span>std {
+<a name="l00395"></a>00395 <span class="keyword">template</span>&lt;&gt;
+<a name="l00396"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html">00396</a> <span class="keyword">class </span>numeric_limits&lt;boost::xint::nothrow_integer&gt; {
+<a name="l00397"></a>00397 <span class="keyword">public</span>:
+<a name="l00398"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ad75c31bcf281bc3d61fcaa86f5d637a4">00398</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized = <span class="keyword">true</span>;
+<a name="l00399"></a>00399
+<a name="l00400"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">00400</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5c9ca5145dc7b0020c7d8a59a2200af4">min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00401"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">00401</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae393a1460b35b321eb0911061ba2d877">max</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00402"></a>00402
+<a name="l00403"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8db85ce6bfd29378cd5b054ffa9dcc73">00403</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits = 0; <span class="comment">// Not applicable</span>
+<a name="l00404"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a635a92c394110e24ad5446906d32dbac">00404</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00405"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a54b78ebfa3ddfc7b348487936aca5a69">00405</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed = <span class="keyword">true</span>;
+<a name="l00406"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ab6e1b183e5175d71bf9e4d6df54aef0a">00406</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer = <span class="keyword">true</span>;
+<a name="l00407"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a7349047386bb539ab5a714b5864f8b2b">00407</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact = <span class="keyword">true</span>;
+<a name="l00408"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#adae12b63475b14d19128eee60c665c5c">00408</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix = 2;
+<a name="l00409"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">00409</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a1e2dbe9a0e93d417475413d5547c504d">epsilon</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00410"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">00410</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8a38a58bba31aa9ea9815b957525b650">round_error</a>() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l00411"></a>00411
+<a name="l00412"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#ae0fa48cc50faee763bb27126f48fd16c">00412</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00413"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aede69004d06de1fcf6a0a4d7fc601a5d">00413</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00414"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a5159625bece286f452e9b2b86e94b8d5">00414</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent = 0; <span class="comment">// Not applicable</span>
+<a name="l00415"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6a63de06c48db492872f44521d52d300">00415</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10 = 0; <span class="comment">// Not applicable</span>
+<a name="l00416"></a>00416
+<a name="l00417"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#af2f45b256a4e7ad9f6304e0f743400ec">00417</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity = <span class="keyword">false</span>;
+<a name="l00418"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aae261d33d81d7ce984a045e96b46f962">00418</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN = <span class="keyword">true</span>;
+<a name="l00419"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a49ff05bed05568f4a4ddf0b3d25e5980">00419</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN = <span class="keyword">false</span>;
+<a name="l00420"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a8eb59688fd79c9928927d524d7c700c4">00420</a> <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm = denorm_absent; <span class="comment">// Not applicable</span>
+<a name="l00421"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#addb4eee85c09f7e5395e67c918671d05">00421</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00422"></a>00422
+<a name="l00423"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">00423</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aeb5447260ec78f94e2979ca91081f3d0">infinity</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00424"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a13e8fdc53c49a6965fb9009a0bc39fab">00424</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> quiet_NaN() throw()
+<a name="l00425"></a>00425 { <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">boost::xint::nothrow_integer::nan</a>(); }
+<a name="l00426"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">00426</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aaa6da5c0db199ca584a2ee47d0796476">signaling_NaN</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00427"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">00427</a> <span class="keyword">static</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">boost::xint::nothrow_integer</a> <a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#aab4e0d9304ec3163dd04c2f1fd51f0a0">denorm_min</a>() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// Not applicable</span>
+<a name="l00428"></a>00428
+<a name="l00429"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#abea02c5396ab75990b17946fb8e9aa9b">00429</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559 = <span class="keyword">false</span>;
+<a name="l00430"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a53d8df36b3487d8eb3e923c6729edf21">00430</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded = <span class="keyword">false</span>;
+<a name="l00431"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a3a65bc9e353e0a09aeb1b35384d65f40">00431</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo = <span class="keyword">false</span>;
+<a name="l00432"></a>00432
+<a name="l00433"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a9d18eb71d6bad51653de3f58f62d5f47">00433</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps = <span class="keyword">false</span>; <span class="comment">// I assume this means exceptions?</span>
+<a name="l00434"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a2cb05a6ce2f537c0be893bb3260fb186">00434</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before = <span class="keyword">false</span>; <span class="comment">// Not applicable</span>
+<a name="l00435"></a><a class="code" href="classstd_1_1numeric__limits_3_01boost_1_1xint_1_1nothrow__integer_01_4.html#a6e305ad6c75f38d0d0ba4aa15865845d">00435</a> <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style = round_indeterminate; <span class="comment">// Not applicable</span>
+<a name="l00436"></a>00436 };
+<a name="l00437"></a>00437 } <span class="comment">// namespace std</span>
+<a name="l00438"></a>00438
+<a name="l00439"></a>00439 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_NOTHROW_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__misc_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__misc_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__misc_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -49,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__misc_8cpp_source.html">nothrow_misc.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__misc_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__misc_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__misc_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -52,7 +52,7 @@
 <a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
 <a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__modular_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__modular_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__modular_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -53,7 +53,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__modular_8cpp_source.html">nothrow_modular.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__modular_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__modular_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__modular_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -92,7 +92,7 @@
 <a name="l00080"></a>00080 } <span class="comment">// namespace xint</span>
 <a name="l00081"></a>00081 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__operators_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__operators_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -56,7 +56,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__operators_8cpp_source.html">nothrow_operators.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__operators_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__operators_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -53,7 +53,7 @@
 <a name="l00033"></a>00033 } <span class="comment">// namespace xint</span>
 <a name="l00034"></a>00034 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__powers_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__powers_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -52,7 +52,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__powers_8cpp_source.html">nothrow_powers.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__powers_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__powers_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__powers_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -80,7 +80,7 @@
 <a name="l00064"></a>00064 } <span class="comment">// namespace xint</span>
 <a name="l00065"></a>00065 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__primes_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__primes_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -43,14 +43,13 @@
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
 </div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">boost::xint::is_prime</a> (const nothrow_integer &amp;n, callback_t callback)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">boost::xint::nothrow_random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for functions related to prime numbers for the <code>nothrow_integer</code> type. </p>
 
 <p>Definition in file <a class="el" href="nothrow__primes_8cpp_source.html">nothrow_primes.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primes_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__primes_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__primes_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -49,19 +49,10 @@
 <a name="l00033"></a>00033 }
 <a name="l00034"></a>00034 }
 <a name="l00035"></a>00035
-<a name="l00037"></a>00037 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#aed98791058e6a589b06f8015ae0acaef">nothrow_random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00038"></a>00038 <span class="keywordflow">try</span> {
-<a name="l00039"></a>00039 nothrow_integer r(<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">xint::random_prime</a>(size_in_bits, callback));
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00042"></a>00042 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00043"></a>00043 }
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 } <span class="comment">// namespace xint</span>
-<a name="l00047"></a>00047 } <span class="comment">// namespace boost</span>
+<a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
+<a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__primitives_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__primitives_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -55,7 +55,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__primitives_8cpp_source.html">nothrow_primitives.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__primitives_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__primitives_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -120,7 +120,7 @@
 <a name="l00110"></a>00110 } <span class="comment">// namespace xint</span>
 <a name="l00111"></a>00111 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/nothrow__random_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: nothrow_random.cpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>nothrow_random.cpp File Reference</h1>
-<p>Contains the definitions for the random number functions for the <code>nothrow_integer</code> type.
-More...</p>
-
-<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="namespaceboost.html">boost</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
-
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
-<br/></td></tr>
-</p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">nothrow_integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">boost::xint::nothrow_random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the random number functions for the <code>nothrow_integer</code> type. </p>
-
-<p>Definition in file <a class="el" href="nothrow__random_8cpp_source.html">nothrow_random.cpp</a>.</p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/nothrow__random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__random_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: nothrow_random.cpp Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>nothrow_random.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
-<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"> See
http://www.boost.org/libs/xint for library home page.</span>
-<a name="l00012"></a>00012 <span class="comment">*/</span>
-<a name="l00013"></a>00013
-<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/nothrow_integer.hpp&quot;</span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023
-<a name="l00025"></a>00025 nothrow_integer <a class="code" href="namespaceboost_1_1xint.html#a1b55b4b192aa6abc491e3ed8c5ef2627">nothrow_random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span>
-<a name="l00026"></a>00026 low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="keywordflow">try</span> {
-<a name="l00029"></a>00029 <span class="keywordflow">return</span> nothrow_integer(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">xint::random_by_size</a>(bits, high_bit_on,
-<a name="l00030"></a>00030 low_bit_on, can_be_negative));
-<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00032"></a>00032 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a8d654139e4fb916f933d09c7238e10">nothrow_integer::nan</a>();
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
-<a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
-</pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/nothrow__roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/nothrow__roots_8cpp.html (original)
+++ sandbox/xint/doc/nothrow__roots_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -49,7 +49,7 @@
 
 <p>Definition in file <a class="el" href="nothrow__roots_8cpp_source.html">nothrow_roots.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/nothrow__roots_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/nothrow__roots_8cpp_source.html (original)
+++ sandbox/xint/doc/nothrow__roots_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -54,7 +54,7 @@
 <a name="l00035"></a>00035 } <span class="comment">// namespace xint</span>
 <a name="l00036"></a>00036 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/operators_8cpp.html
==============================================================================
--- sandbox/xint/doc/operators_8cpp.html (original)
+++ sandbox/xint/doc/operators_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -57,7 +57,7 @@
 
 <p>Definition in file <a class="el" href="operators_8cpp_source.html">operators.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/operators_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/operators_8cpp_source.html (original)
+++ sandbox/xint/doc/operators_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -52,7 +52,7 @@
 <a name="l00031"></a>00031 } <span class="comment">// namespace xint</span>
 <a name="l00032"></a>00032 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/powers_8cpp.html
==============================================================================
--- sandbox/xint/doc/powers_8cpp.html (original)
+++ sandbox/xint/doc/powers_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -56,7 +56,7 @@
 
 <p>Definition in file <a class="el" href="powers_8cpp_source.html">powers.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/powers_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/powers_8cpp_source.html (original)
+++ sandbox/xint/doc/powers_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -184,7 +184,7 @@
 <a name="l00207"></a>00207 } <span class="comment">// namespace xint</span>
 <a name="l00208"></a>00208 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes.html
==============================================================================
--- sandbox/xint/doc/primes.html (original)
+++ sandbox/xint/doc/primes.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,12 +45,12 @@
     <span class="keywordflow">try</span> {
         <span class="comment">// Use the system&#39;s strong random number generator, via the XInt-</span>
         <span class="comment">// provided convenience class.</span>
- <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(<span class="keyword">new</span> strong_random_generator);
+ strong_random_generator gen;
 
         <span class="comment">// Generate the prime number, keeping the user informed of the</span>
         <span class="comment">// progress.</span>
         cout &lt;&lt; <span class="stringliteral">&quot;Generating...&quot;</span>;
- integer p=<a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(bits, callback);
+ integer p = <a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(gen, bits, callback);
 
         <span class="comment">// Success!</span>
         cout &lt;&lt; <span class="stringliteral">&quot;\nA random &quot;</span> &lt;&lt; bits &lt;&lt; <span class="stringliteral">&quot;-bit prime is: &quot;</span> &lt;&lt; p &lt;&lt; endl;
@@ -65,7 +65,7 @@
 }
 </pre></div><p>(You can find it in the <code>examples</code> directory, by the name <code>genprime.cpp</code>.) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8cpp.html
==============================================================================
--- sandbox/xint/doc/primes_8cpp.html (original)
+++ sandbox/xint/doc/primes_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -45,15 +45,13 @@
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a0711bdafefe7d376e5cc603731318fc6">boost::xint::is_prime</a> (const fixed_integer_any &amp;n, callback_t callback)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">detail int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a58aa3df545d1da848922c13de2a87fc9">boost::xint::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests an integer for primality. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9">boost::xint::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for functions related to prime numbers. </p>
 
 <p>Definition in file <a class="el" href="primes_8cpp_source.html">primes.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/primes_8cpp_source.html (original)
+++ sandbox/xint/doc/primes_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -38,114 +38,123 @@
 <a name="l00013"></a>00013
 <a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/integer.hpp&quot;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/random.hpp&quot;</span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
-<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
-<a name="l00025"></a>00025
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>detail {
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 std::vector&lt;int&gt; sieveOfEratosthenes(<span class="keywordtype">int</span> upTo) {
-<a name="l00030"></a>00030 std::vector&lt;int&gt; sieve;
-<a name="l00031"></a>00031 sieve.reserve(upTo);
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="comment">// Zero and one aren&#39;t prime, by definition.</span>
-<a name="l00034"></a>00034 sieve.push_back(0);
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
+<a name="l00026"></a>00026
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>detail {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 std::vector&lt;int&gt; sieveOfEratosthenes(<span class="keywordtype">int</span> upTo) {
+<a name="l00031"></a>00031 std::vector&lt;int&gt; sieve;
+<a name="l00032"></a>00032 sieve.reserve(upTo);
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// Zero and one aren&#39;t prime, by definition.</span>
 <a name="l00035"></a>00035 sieve.push_back(0);
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p=2; p&lt;upTo; ++p) sieve.push_back(p);
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 std::vector&lt;int&gt; ret;
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keywordtype">int</span> *p=&amp;sieve[0], *e=p+upTo;
-<a name="l00042"></a>00042 <span class="keywordflow">while</span> (p&lt;e) {
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (*p==0) { ++p; <span class="keywordflow">continue</span>; }
-<a name="l00044"></a>00044 ret.push_back(*p);
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keywordtype">int</span> *p2=p+(*p);
-<a name="l00047"></a>00047 <span class="keywordflow">while</span> (p2&lt;e) { *p2=0; p2+=*p; }
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 ++p;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> ret;
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="comment">// The Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00056"></a>00056 <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="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
-<a name="l00057"></a>00057 callback)
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
-<a name="l00062"></a>00062 integer r=nMinus1;
-<a name="l00063"></a>00063 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a=0;
-<a name="l00064"></a>00064 <span class="keywordflow">while</span> (r.even()) { r &gt;&gt;= 1; ++a; }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="comment">// We check the congruence class of b^((2^i)r) % n for each i</span>
-<a name="l00067"></a>00067 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
-<a name="l00068"></a>00068 <span class="comment">// Otherwise, n fails.</span>
-<a name="l00069"></a>00069 integer test=<a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(b, r, n);
-<a name="l00070"></a>00070 <span class="keywordflow">if</span> (test==<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">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="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keywordflow">while</span> (a--&gt;0) {
-<a name="l00073"></a>00073 test=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(test, n);
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> (test==nMinus1) <span class="keywordflow">return</span> 1;
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> -1;
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> 0;
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 } <span class="comment">// namespace detail</span>
-<a name="l00083"></a>00083 <span class="comment"></span>
-<a name="l00106"></a>00106 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00107"></a>00107 <span class="keywordflow">if</span> (n &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;xint::is_prime cannot test &quot;</span>
-<a name="l00108"></a>00108 <span class="stringliteral">&quot;numbers below 2&quot;</span>);
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="comment">// First we trial-divide it by the primes below 2000</span>
-<a name="l00111"></a>00111 <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;int&gt; cLowPrimes(detail::sieveOfEratosthenes(2000));
-<a name="l00112"></a>00112 std::vector&lt;int&gt;::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
-<a name="l00113"></a>00113 <span class="keywordflow">for</span> (; i!=ie; ++i) <span class="keywordflow">if</span> ((n % *i)==0) <span class="keywordflow">return</span> (n==*i);
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
-<a name="l00116"></a>00116 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
-<a name="l00117"></a>00117 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
-<a name="l00118"></a>00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k=detail::get_random();
-<a name="l00119"></a>00119 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, k, callback);
-<a name="l00120"></a>00120 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122 <span class="keywordflow">return</span> 1; <span class="comment">// Appears to be prime!</span>
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
-<a name="l00126"></a>00126 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(integer(n), callback);
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129
-<a name="l00154"></a>00154 integer <a class="code" href="namespaceboost_1_1xint.html#aaf58d56e1a47ac55e0aa97a55e6fb2c9" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
-<a name="l00155"></a>00155 <span class="keywordflow">if</span> (size_in_bits &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;cannot create &quot;</span>
-<a name="l00156"></a>00156 <span class="stringliteral">&quot;prime numbers smaller than two bits&quot;</span>);
+<a name="l00036"></a>00036 sieve.push_back(0);
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p=2; p&lt;upTo; ++p) sieve.push_back(p);
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 std::vector&lt;int&gt; ret;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordtype">int</span> *p=&amp;sieve[0], *e=p+upTo;
+<a name="l00043"></a>00043 <span class="keywordflow">while</span> (p&lt;e) {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (*p==0) { ++p; <span class="keywordflow">continue</span>; }
+<a name="l00045"></a>00045 ret.push_back(*p);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keywordtype">int</span> *p2=p+(*p);
+<a name="l00048"></a>00048 <span class="keywordflow">while</span> (p2&lt;e) { *p2=0; p2+=*p; }
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 ++p;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> ret;
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// The Miller-Rabin Probabilistic Test of Primality</span>
+<a name="l00057"></a>00057 <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="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00058"></a>00058 callback)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">const</span> integer nMinus1(n - <a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="comment">// Find r and a satisfying: n-1=2^a * r, r odd</span>
+<a name="l00063"></a>00063 integer r=nMinus1;
+<a name="l00064"></a>00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a=0;
+<a name="l00065"></a>00065 <span class="keywordflow">while</span> (r.even()) { r &gt;&gt;= 1; ++a; }
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// We check the congruence class of b^((2^i)r) % n for each i</span>
+<a name="l00068"></a>00068 <span class="comment">// from 0 to a - 1. If any one is correct, then n passes.</span>
+<a name="l00069"></a>00069 <span class="comment">// Otherwise, n fails.</span>
+<a name="l00070"></a>00070 integer test=<a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(b, r, n);
+<a name="l00071"></a>00071 <span class="keywordflow">if</span> (test==<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">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="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordflow">while</span> (a--&gt;0) {
+<a name="l00074"></a>00074 test=<a class="code" href="namespaceboost_1_1xint.html#adb9a9cb117e7346a3b56c369cd438b0e" title="Get the modular product of squaring an integer.">sqrmod</a>(test, n);
+<a name="l00075"></a>00075 <span class="keywordflow">if</span> (test==nMinus1) <span class="keywordflow">return</span> 1;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> -1;
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> 0;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 integer <a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(base_random_generator&amp; gen, <span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>
+<a name="l00083"></a>00083 callback)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> (size_in_bits &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;cannot create &quot;</span>
+<a name="l00086"></a>00086 <span class="stringliteral">&quot;prime numbers smaller than two bits&quot;</span>);
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="comment">// Call the callback for the first time</span>
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 integer pe=<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(size_in_bits+1);
+<a name="l00092"></a>00092 <span class="keywordflow">while</span> (1) {
+<a name="l00093"></a>00093 integer p(<a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(gen, size_in_bits, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>));
+<a name="l00094"></a>00094 <span class="keywordflow">while</span> (p &lt; pe) {
+<a name="l00095"></a>00095 <span class="keywordtype">int</span> r=<a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(p, callback);
+<a name="l00096"></a>00096 <span class="keywordflow">if</span> (r &lt; 0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (r == 1) <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
+<a name="l00098"></a>00098 p+=2;
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 } <span class="comment">// namespace detail</span>
+<a name="l00105"></a>00105 <span class="comment"></span>
+<a name="l00128"></a>00128 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00129"></a>00129 <span class="keyword">static</span> std::auto_ptr&lt;boost::mt19937&gt; gen;
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keywordflow">if</span> (n &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;xint::is_prime cannot test &quot;</span>
+<a name="l00132"></a>00132 <span class="stringliteral">&quot;numbers below 2&quot;</span>);
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="comment">// First we trial-divide it by the primes below 2000</span>
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">const</span> std::vector&lt;int&gt; cLowPrimes(detail::sieveOfEratosthenes(2000));
+<a name="l00136"></a>00136 std::vector&lt;int&gt;::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
+<a name="l00137"></a>00137 <span class="keywordflow">for</span> (; i!=ie; ++i) <span class="keywordflow">if</span> ((n % *i)==0) <span class="keywordflow">return</span> (n==*i);
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="comment">// Ensure that we&#39;ve got a random generator.</span>
+<a name="l00140"></a>00140 <span class="keywordflow">if</span> (gen.get() == 0) gen.reset(<span class="keyword">new</span> boost::mt19937(time(0)+clock()));
+<a name="l00141"></a>00141 detail::random_generator&lt;boost::mt19937&gt; random(*gen.get());
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="comment">// Run the number through the Miller-Rabin Probabilistic Test of Primality</span>
+<a name="l00144"></a>00144 <span class="comment">// a few times to see if it&#39;s actually (probably) prime.</span>
+<a name="l00145"></a>00145 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> count=0; count&lt;5; ++count) {
+<a name="l00146"></a>00146 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> k = random();
+<a name="l00147"></a>00147 <span class="keywordtype">int</span> isP=isProbablePrimeBaseB(n, k, callback);
+<a name="l00148"></a>00148 <span class="keywordflow">if</span> (isP &lt;= 0) <span class="keywordflow">return</span> isP;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 <span class="keywordflow">return</span> 1; <span class="comment">// Appears to be prime!</span>
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152
+<a name="l00154"></a>00154 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(<span class="keyword">const</span> fixed_integer_any&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00155"></a>00155 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(integer(n), callback);
+<a name="l00156"></a>00156 }
 <a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="comment">// Call the callback for the first time</span>
-<a name="l00159"></a>00159 <span class="keywordflow">if</span> (callback &amp;&amp; !callback()) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 integer pe=<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(size_in_bits+1);
-<a name="l00162"></a>00162 <span class="keywordflow">while</span> (1) {
-<a name="l00163"></a>00163 integer p(<a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(size_in_bits, <span class="keyword">true</span>, <span class="keyword">true</span>));
-<a name="l00164"></a>00164 <span class="keywordflow">while</span> (p &lt; pe) {
-<a name="l00165"></a>00165 <span class="keywordtype">int</span> r=<a class="code" href="namespaceboost_1_1xint.html#ad581832932a4816cbc9f24740732c3a0">is_prime</a>(p, callback);
-<a name="l00166"></a>00166 <span class="keywordflow">if</span> (r &lt; 0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
-<a name="l00167"></a>00167 <span class="keywordflow">if</span> (r == 1) <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
-<a name="l00168"></a>00168 p+=2;
-<a name="l00169"></a>00169 }
-<a name="l00170"></a>00170 }
-<a name="l00171"></a>00171 }
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 } <span class="comment">// namespace xint</span>
-<a name="l00174"></a>00174 } <span class="comment">// namespace boost</span>
+<a name="l00158"></a>00158 } <span class="comment">// namespace xint</span>
+<a name="l00159"></a>00159 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primes_8dox.html
==============================================================================
--- sandbox/xint/doc/primes_8dox.html (original)
+++ sandbox/xint/doc/primes_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/primes.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primitives_8cpp.html
==============================================================================
--- sandbox/xint/doc/primitives_8cpp.html (original)
+++ sandbox/xint/doc/primitives_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -62,7 +62,7 @@
 
 <p>Definition in file <a class="el" href="primitives_8cpp_source.html">primitives.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/primitives_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/primitives_8cpp_source.html (original)
+++ sandbox/xint/doc/primitives_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -428,7 +428,7 @@
 <a name="l00476"></a>00476 } <span class="comment">// namespace xint</span>
 <a name="l00477"></a>00477 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__core.html
==============================================================================
--- sandbox/xint/doc/r__core.html (original)
+++ sandbox/xint/doc/r__core.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -31,7 +31,7 @@
 <p>To deal with this, I separated the <code>xint::integer</code> and <code>xint::nothrow_integer</code> types. <code>xint::integer</code> functions now always throw exceptions on errors, and always hold valid numbers; <code>xint::nothrow_integer</code> functions (as implied by the name) never throw exceptions, instead returning the Not-a-Number value (which only <code>xint::nothrow_integer</code> can hold).</p>
 <p>This design ensures that the Not-a-Number value only needs to be checked for in a single place (the <code>xint::integer</code> conversion constructor), and ensures that any speed penalty from it is only incurred by people who choose to use the <code>nothrow_integer</code> type. It also preserves the no-exceptions behavior, which is useful under some circumstances. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__core_8dox.html
==============================================================================
--- sandbox/xint/doc/r__core_8dox.html (original)
+++ sandbox/xint/doc/r__core_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_core.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__cow.html
==============================================================================
--- sandbox/xint/doc/r__cow.html (original)
+++ sandbox/xint/doc/r__cow.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="r_cow">Why use copy-on-write? I've heard that causes problems with multi-threaded code. </a></h1><p>It's the best way I found to return large <code>integer</code> objects from functions efficiently. Some of these numbers can get huge, making copying an expensive proposition, and even move semantics (at least as emulated by Boost.Move at the time of this writing) aren't as fast. Copy-on-write also works when storing items in the standard containers; Boost.Move emulation requires special move-aware containers.</p>
 <p>It <em>does</em> cause problems when you try to use the library from multiple threads at the same time. To deal with that, the library can be compiled in a <a class="el" href="threadsafe.html">thread-safe mode</a>, which ensures that every <code>integer</code> gets its own unique storage and turns on Boost.Move move semantics, among other things. You still have to ensure that only one thread accesses a particular <code>integer</code> at a time. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__cow_8dox.html
==============================================================================
--- sandbox/xint/doc/r__cow_8dox.html (original)
+++ sandbox/xint/doc/r__cow_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_cow.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Deleted: sandbox/xint/doc/r__default__necessary.html
==============================================================================
--- sandbox/xint/doc/r__default__necessary.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Okay, then why not make the developer provide one?</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="index.html">The Extended Integer (XInt) Library</a>&nbsp;&raquo;&nbsp;<a class="el" href="rationale.html">Rationales</a>
- </div>
-</div>
-<div class="contents">
-
-
-<h1><a class="anchor" id="r_default_necessary">Okay, then why not make the developer provide one? </a></h1><p>Ease-of-use, and the fact that for many developers, there's little need for cryptographically-secure random numbers. This way, those that need them can take a few simple steps to get them, and those that don't can just use the library as-is. </p>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/r__default__necessary_8dox.html
==============================================================================
--- sandbox/xint/doc/r__default__necessary_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: /home/chad/projects/xint/doc/dox/r_default_necessary.dox File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.3 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>/home/chad/projects/xint/doc/dox/r_default_necessary.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-</table>
-</div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/r__exception__blocking.html
==============================================================================
--- sandbox/xint/doc/r__exception__blocking.html (original)
+++ sandbox/xint/doc/r__exception__blocking.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -27,7 +27,7 @@
 <p>There are also times when exception-handling can get in the way of writing code that is easily understandable by other people. Any software developer understands calling a function and checking the return value to see if there was an error; it's a standard idiom in essentially any programming language, and it's even widely used in the C++ Standard Template Library (see std::string::find, for just one example).</p>
 <p>Writing code that is <em>human-readable</em> -- not just machine-readable -- is difficult, and there's little that anyone can do to change that. But giving the developer the choice to use either exceptions or error codes, depending on which is most readable, makes it easier to produce such code, and costs nothing to the people who choose not to use it. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__exception__blocking_8dox.html
==============================================================================
--- sandbox/xint/doc/r__exception__blocking_8dox.html (original)
+++ sandbox/xint/doc/r__exception__blocking_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_exception_blocking.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__insecure__default.html
==============================================================================
--- sandbox/xint/doc/r__insecure__default.html (original)
+++ sandbox/xint/doc/r__insecure__default.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: But why default to an insecure random number generator? Why not default to the secure one?</title>
+<title>The Extended Integer (XInt) Library: But why have an insecure random number generator as the default? Why not default to the secure one?</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
@@ -23,9 +23,9 @@
 <div class="contents">
 
 
-<h1><a class="anchor" id="r_insecure_default">But why default to an insecure random number generator? Why not default to the secure one? </a></h1><p>Because the secure one isn't available on all systems. If the library relied on <code>random_device</code> as a default, it wouldn't compile under those systems. If it used <code>xint::strong_random_generator</code>, it would compile, but would always fail on them. </p>
+<h1><a class="anchor" id="r_insecure_default">But why have an insecure random number generator as the default? Why not default to the secure one? </a></h1><p>Because the secure one isn't available on all systems. If the library relied on <code>random_device</code> as a default, it wouldn't compile under those systems. If it used <code>xint::strong_random_generator</code>, it would compile, but would always fail on them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__insecure__default_8dox.html
==============================================================================
--- sandbox/xint/doc/r__insecure__default_8dox.html (original)
+++ sandbox/xint/doc/r__insecure__default_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_insecure_default.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface.html
==============================================================================
--- sandbox/xint/doc/r__interface.html (original)
+++ sandbox/xint/doc/r__interface.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <dd>
 n1744: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1744.pdf </dd></dl>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface_8dox.html
==============================================================================
--- sandbox/xint/doc/r__interface_8dox.html (original)
+++ sandbox/xint/doc/r__interface_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_interface.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface__design__only.html
==============================================================================
--- sandbox/xint/doc/r__interface__design__only.html (original)
+++ sandbox/xint/doc/r__interface__design__only.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -30,7 +30,7 @@
 <li>It does not, at present, implement a multiplication scheme with better performance than the "basecase" mentioned in section 3.4 of n1692, primarily because I haven't had the time to research all of them yet. I suspect that most people using the library will usually be using numbers below the threshold where the more exotic algorithms are faster, but I plan to add at least one of them in the future, maybe several. </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__interface__design__only_8dox.html
==============================================================================
--- sandbox/xint/doc/r__interface__design__only_8dox.html (original)
+++ sandbox/xint/doc/r__interface__design__only_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_interface_design_only.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__nan.html
==============================================================================
--- sandbox/xint/doc/r__nan.html (original)
+++ sandbox/xint/doc/r__nan.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_nan">Why have a Not-a-Number value? </a></h1><p>Because it's the cleanest way I could find to return answers that don't represent a valid number, which is necessary for the <code>nothrow_integer</code> type. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__nan_8dox.html
==============================================================================
--- sandbox/xint/doc/r__nan_8dox.html (original)
+++ sandbox/xint/doc/r__nan_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__negzero.html
==============================================================================
--- sandbox/xint/doc/r__negzero.html (original)
+++ sandbox/xint/doc/r__negzero.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_negzero">Since you've got Not-a-Number, what about negative zero, and positive and negative infinity, like IEEE floating-point numbers? </a></h1><p>The library does have limited support for a <a class="el" href="zero.html">"negative zero"</a> value, to support an unlimited-precision floating point type that will be built on it later. But infinity is a concept, not a countable value, and as such it is not included in the library at present. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__negzero_8dox.html
==============================================================================
--- sandbox/xint/doc/r__negzero_8dox.html (original)
+++ sandbox/xint/doc/r__negzero_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_negzero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__random.html
==============================================================================
--- sandbox/xint/doc/r__random.html (original)
+++ sandbox/xint/doc/r__random.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_random">Why did you implement your own random number generator? You should use Boost.Random instead. </a></h1><p>Boost.Random provides <code>boost::random_device</code> to tap into the operating system's strong random number generator, but at the time of this writing, the official released version only defines it for Linux and BSD systems. The current maintainer, Steven Watanabe, says that he has just added Windows compatibility to it, so the <code>xint::strong_random_generator</code> class will likely be reduced to a typedef for <code>boost::random_device</code>, or a thin shell around it, in the near future. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__random_8dox.html
==============================================================================
--- sandbox/xint/doc/r__random_8dox.html (original)
+++ sandbox/xint/doc/r__random_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__shared__ptr.html
==============================================================================
--- sandbox/xint/doc/r__shared__ptr.html (original)
+++ sandbox/xint/doc/r__shared__ptr.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_shared_ptr">Why are you using a roll-your-own system instead of <code>boost::shared_ptr</code> for the copy-on-write stuff? </a></h1><p>Because it's a lot faster. I tried <code>boost::shared_ptr</code>, and under Linux with GCC 4.4.1 on the same computer, running my test suite went from 1.6 seconds to 3.4 seconds. The home-grown shared pointer design may not be quite as easy to work with in an exception-safe manner, but that's completely internal to the <code>integer</code> class, so only developers working <em>on</em> the library, rather than <em>with</em> it, have to deal with that. I'll accept that trade-off. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/r__shared__ptr_8dox.html
==============================================================================
--- sandbox/xint/doc/r__shared__ptr_8dox.html (original)
+++ sandbox/xint/doc/r__shared__ptr_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/r_shared_ptr.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random.html
==============================================================================
--- sandbox/xint/doc/random.html (original)
+++ sandbox/xint/doc/random.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -23,11 +23,13 @@
 <div class="contents">
 
 
-<h1><a class="anchor" id="random">The XInt Random Number System </a></h1><p>The library includes a random number system to support the <code>xint::random_prime</code> function. The default random number generator is <em>not</em> cryptographically secure (see <a class="el" href="rationale.html">the rationale page</a> for details). However, the system can easily be configured to use a cryptographically-secure generator.</p>
-<p>The XInt library provides a convenience class, <code>xint::strong_random_generator</code>, for both Windows and UNIX-derived systems. It will throw an exception of type <code>no_strong_random</code> if you try to instantiate it on a system that does not have a strong random number generator.</p>
-<p>See the code at the top of <a class="el" href="primes.html">the Prime Numbers page</a> for an example of how to use it. </p>
+<h1><a class="anchor" id="random">The XInt Random Number System </a></h1><p>The library includes two convenience classes, meant to be used with the <code>xint::random_prime</code> function.</p>
+<p><code>default_random_generator</code> is a thin shell around one of the faster pseudo-random generators provided by Boost.Random. It does <em>not</em> produce secure random numbers, but is often all that is needed.</p>
+<p><code>strong_random_generator</code> provides an interface to the operating system's secure random number generator, for both Windows and UNIX-derived systems. It will throw an exception of type <code>no_strong_random</code> if you try to instantiate it on a system that does not have an operating-system-supplied generator.</p>
+<p>If you have a different preferred generator, perhaps one that uses dedicated hardware to produce randomness, you can plug that into the library's <code>random_by_size</code> and <code>random_prime</code> functions instead.</p>
+<p>See the code at the top of <a class="el" href="primes.html">the Prime Numbers page</a> for an example of how to use these generators to produce secure prime numbers. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8cpp.html
==============================================================================
--- sandbox/xint/doc/random_8cpp.html (original)
+++ sandbox/xint/doc/random_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -38,19 +38,13 @@
 <p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All the types and functions of the library are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
-</div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5">boost::xint::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the definitions for the random number functions. </p>
 
 <p>Definition in file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/random_8cpp_source.html (original)
+++ sandbox/xint/doc/random_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -50,197 +50,130 @@
 <a name="l00029"></a>00029 <span class="preprocessor">#include &lt;fstream&gt;</span>
 <a name="l00030"></a>00030 <span class="preprocessor">#include &lt;ctime&gt;</span>
 <a name="l00031"></a>00031 <span class="preprocessor">#include &lt;memory&gt;</span> <span class="comment">// for auto_ptr</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;boost/thread.hpp&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span>
-<a name="l00039"></a>00039 <span class="keyword">namespace </span>boost {
-<a name="l00040"></a>00040 <span class="keyword">namespace </span>xint {
-<a name="l00041"></a>00041
-<a name="l00043"></a>00043 <span class="keyword">namespace </span>detail {
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>boost {
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>xint {
+<a name="l00036"></a>00036
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>detail {
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 integer <a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(base_random_generator&amp; gen, <span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span>
+<a name="l00041"></a>00041 low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (bits&lt;=0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
 <a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keyword">class </span>generator_t {
-<a name="l00046"></a>00046 <span class="keyword">public</span>:
-<a name="l00047"></a>00047 <span class="keyword">typedef</span> base_random_generator::result_type result_type;
-<a name="l00048"></a>00048 <span class="keyword">typedef</span> boost::mt19937 default_random_t;
+<a name="l00045"></a>00045 <span class="comment">// Grab a bunch of bits</span>
+<a name="l00046"></a>00046 bitqueue_t bitqueue;
+<a name="l00047"></a>00047 <span class="keywordflow">while</span> (bitqueue.size() &lt; bits) bitqueue.push(gen(),
+<a name="l00048"></a>00048 std::numeric_limits&lt;base_random_generator::result_type&gt;::digits);
 <a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span> generator_t() { mLock.lock(); init(); }
-<a name="l00052"></a>00052 ~generator_t() { mLock.unlock(); }
-<a name="l00053"></a>00053 <span class="preprocessor"> #else</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span> generator_t() { init(); }
-<a name="l00055"></a>00055 <span class="preprocessor"> #endif</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057 result_type operator()() { <span class="keywordflow">return</span> mGeneratorObj-&gt;operator()(); }
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keywordtype">void</span> set_generator(base_random_generator *p) {
-<a name="l00060"></a>00060 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span> mLock.lock();
-<a name="l00062"></a>00062 mGeneratorObj.reset(p);
-<a name="l00063"></a>00063 mLock.unlock();
-<a name="l00064"></a>00064 <span class="preprocessor"> #else</span>
-<a name="l00065"></a>00065 <span class="preprocessor"></span> mGeneratorObj.reset(p);
-<a name="l00066"></a>00066 <span class="preprocessor"> #endif</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span> }
+<a name="l00050"></a>00050 <span class="comment">// Stick them into an integer</span>
+<a name="l00051"></a>00051 integer p;
+<a name="l00052"></a>00052 p._realloc((bits + bits_per_digit - 1) / bits_per_digit);
+<a name="l00053"></a>00053 digit_t *pp = p._get_writable_digits(), *ppe = pp + p._get_length();
+<a name="l00054"></a>00054 <span class="keywordflow">while</span> (pp &lt; ppe) *pp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(bitqueue.pop(bits_per_digit));
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Trim it to the proper length</span>
+<a name="l00057"></a>00057 <span class="keywordtype">size_t</span> index=(bits/bits_per_digit);
+<a name="l00058"></a>00058 digit_t mask=(digit_t(1) &lt;&lt; (bits % bits_per_digit))-1;
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (mask==0) { mask=digit_mask; --index; }
+<a name="l00060"></a>00060 p._get_writable_digits()[index] &amp;= mask;
+<a name="l00061"></a>00061 <span class="keywordflow">for</span> (digit_t *i=p._get_writable_digits()+index+1,
+<a name="l00062"></a>00062 *ie=p._get_writable_digits()+p._get_length(); i&lt;ie; ++i) *i=0;
+<a name="l00063"></a>00063 p._cleanup();
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (high_bit_on) <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(p, bits-1);
+<a name="l00066"></a>00066 <span class="keywordflow">if</span> (low_bit_on) <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(p, 0);
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (can_be_negative) p._set_negative(gen() &amp; 0x01);
 <a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keyword">private</span>:
-<a name="l00070"></a>00070 <span class="keywordtype">void</span> init() {
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (mGeneratorObj.get() == 0) {
-<a name="l00072"></a>00072 <span class="keyword">typedef</span> default_random_t T;
-<a name="l00073"></a>00073 T *genobj(<span class="keyword">new</span> T(boost::uint32_t(time(0)+clock())));
-<a name="l00074"></a>00074 random_generator&lt;T&gt; *obj=<span class="keyword">new</span> random_generator&lt;T&gt;(genobj);
-<a name="l00075"></a>00075 set_generator(obj);
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keyword">static</span> std::auto_ptr&lt;base_random_generator&gt; mGeneratorObj;
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="preprocessor"> #ifdef XINT_THREADSAFE</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span> <span class="keyword">static</span> boost::mutex mLock;
-<a name="l00083"></a>00083 <span class="preprocessor"> #endif</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span>};
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 std::auto_ptr&lt;base_random_generator&gt; generator_t::mGeneratorObj;
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="preprocessor">#ifdef XINT_THREADSAFE</span>
-<a name="l00089"></a>00089 <span class="preprocessor"></span> boost::mutex generator_t::mLock;
-<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span>
-<a name="l00092"></a>00092 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(base_random_generator *obj) {
-<a name="l00093"></a>00093 generator_t::set_generator(obj);
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_random() {
-<a name="l00097"></a>00097 generator_t gen;
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> gen();
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 } <span class="comment">// namespace detail</span>
-<a name="l00103"></a>00103 <span class="comment"></span>
-<a name="l00105"></a>00105 <span class="comment">// The secure random generator</span>
-<a name="l00106"></a>00106
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace detail</span>
+<a name="l00074"></a>00074 <span class="comment"></span>
+<a name="l00076"></a>00076 <span class="comment">// The secure random generator</span>
+<a name="l00077"></a>00077
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#ifdef _WIN32</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> DWORD <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 impl_t(): dll(0), fn(0) {
+<a name="l00086"></a>00086 <span class="comment">// This should work under WinXP, Vista, and Win7. No guarantees about</span>
+<a name="l00087"></a>00087 <span class="comment">// future compatibility, but I doubt that Microsoft will get rid of it</span>
+<a name="l00088"></a>00088 <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="l00089"></a>00089 <span class="comment">// well-known (it would break too many programs). We could also use the</span>
+<a name="l00090"></a>00090 <span class="comment">// rand_s function in more recent versions of Visual C++, but that</span>
+<a name="l00091"></a>00091 <span class="comment">// causes compatibility problems with older versions of Windows.</span>
+<a name="l00092"></a>00092 dll=LoadLibraryA(<span class="stringliteral">&quot;Advapi32.dll&quot;</span>);
+<a name="l00093"></a>00093 <span class="keywordflow">if</span> (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, <span class="stringliteral">&quot;SystemFunction036&quot;</span>));
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (fn == 0) {
+<a name="l00095"></a>00095 destroy();
+<a name="l00096"></a>00096 <span class="keywordflow">throw</span> exceptions::no_strong_random();
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 ~impl_t() { destroy(); }
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a>() {
+<a name="l00103"></a>00103 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> r=0;
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (!fn(&amp;r, <span class="keyword">sizeof</span>(<a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>)))
+<a name="l00105"></a>00105 <span class="keywordflow">throw</span> exceptions::no_strong_random(<span class="stringliteral">&quot;RtlGenRandom failed&quot;</span>);
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> r;
+<a name="l00107"></a>00107 }
 <a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="preprocessor">#ifdef _WIN32</span>
-<a name="l00110"></a>00110 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> BOOLEAN (WINAPI *RtlGenRandomFn)(PVOID, ULONG);
-<a name="l00112"></a>00112 <span class="keyword">typedef</span> DWORD <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>;
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 impl_t(): dll(0), fn(0) {
-<a name="l00115"></a>00115 <span class="comment">// This should work under WinXP, Vista, and Win7. No guarantees about</span>
-<a name="l00116"></a>00116 <span class="comment">// future compatibility, but I doubt that Microsoft will get rid of it</span>
-<a name="l00117"></a>00117 <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="l00118"></a>00118 <span class="comment">// well-known (it would break too many programs). We could also use the</span>
-<a name="l00119"></a>00119 <span class="comment">// rand_s function in more recent versions of Visual C++, but that</span>
-<a name="l00120"></a>00120 <span class="comment">// causes compatibility problems with older versions of Windows.</span>
-<a name="l00121"></a>00121 dll=LoadLibraryA(<span class="stringliteral">&quot;Advapi32.dll&quot;</span>);
-<a name="l00122"></a>00122 <span class="keywordflow">if</span> (dll != 0) fn=RtlGenRandomFn(GetProcAddress(dll, <span class="stringliteral">&quot;SystemFunction036&quot;</span>));
-<a name="l00123"></a>00123 <span class="keywordflow">if</span> (fn == 0) {
-<a name="l00124"></a>00124 destroy();
-<a name="l00125"></a>00125 <span class="keywordflow">throw</span> exceptions::no_strong_random();
-<a name="l00126"></a>00126 }
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 ~impl_t() { destroy(); }
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a>() {
-<a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> r=0;
-<a name="l00133"></a>00133 <span class="keywordflow">if</span> (!fn(&amp;r, <span class="keyword">sizeof</span>(<a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>)))
-<a name="l00134"></a>00134 <span class="keywordflow">throw</span> exceptions::no_strong_random(<span class="stringliteral">&quot;RtlGenRandom failed&quot;</span>);
-<a name="l00135"></a>00135 <span class="keywordflow">return</span> r;
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keywordtype">void</span> destroy() { <span class="keywordflow">if</span> (dll) FreeLibrary(dll); }
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 HMODULE dll;
-<a name="l00141"></a>00141 RtlGenRandomFn fn;
-<a name="l00142"></a>00142 };
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="keywordtype">double</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 32; }
-<a name="l00145"></a>00145 <span class="preprocessor">#else</span>
-<a name="l00146"></a>00146 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
-<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>;
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 impl_t(): rng(<span class="stringliteral">&quot;/dev/urandom&quot;</span>, std::ios::binary) {
-<a name="l00150"></a>00150 <span class="comment">// This should be supported under most non-Windows systems. Note</span>
-<a name="l00151"></a>00151 <span class="comment">// that we&#39;re using /dev/urandom, not /dev/random -- /dev/random is</span>
-<a name="l00152"></a>00152 <span class="comment">// more secure, but it can be VERY slow.</span>
-<a name="l00153"></a>00153 <span class="keywordflow">if</span> (!rng) <span class="keywordflow">throw</span> exceptions::no_strong_random();
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a>() {
-<a name="l00157"></a>00157 <span class="keywordtype">int</span> r=rng.get();
-<a name="l00158"></a>00158 <span class="keywordflow">if</span> (r==EOF) <span class="keywordflow">throw</span> exceptions::no_strong_random(<span class="stringliteral">&quot;/dev/urandom &quot;</span>
-<a name="l00159"></a>00159 <span class="stringliteral">&quot;returned EOF&quot;</span>);
-<a name="l00160"></a>00160 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a><span class="keyword">&gt;</span>(r);
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 std::ifstream rng;
-<a name="l00164"></a>00164 };
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="keywordtype">double</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 8; }
-<a name="l00167"></a>00167 <span class="preprocessor">#endif</span>
-<a name="l00168"></a>00168 <span class="preprocessor"></span>
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">strong_random_generator::has_fixed_range</a> = <span class="keyword">true</span>;
-<a name="l00172"></a>00172 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">strong_random_generator::min_value</a> =
-<a name="l00173"></a>00173 (std::numeric_limits&lt;impl_t::result_type&gt;::min)();
-<a name="l00174"></a>00174 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">strong_random_generator::max_value</a> =
-<a name="l00175"></a>00175 (std::numeric_limits&lt;impl_t::result_type&gt;::max)();
-<a name="l00176"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">00176</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator::strong_random_generator</a>(): impl(new impl_t) { }
-<a name="l00177"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">00177</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">strong_random_generator::~strong_random_generator</a>() { <span class="keyword">delete</span> impl; }
-<a name="l00178"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">00178</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">strong_random_generator::operator()</a>() {
-<a name="l00179"></a>00179 <span class="keywordflow">return</span> (*impl)(); }
-<a name="l00180"></a>00180
-<a name="l00182"></a>00182 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">strong_random_generator::min</a>
-<a name="l00183"></a>00183 BOOST_PREVENT_MACRO_SUBSTITUTION ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_value; }
-<a name="l00184"></a>00184 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">strong_random_generator::max</a>
-<a name="l00185"></a>00185 BOOST_PREVENT_MACRO_SUBSTITUTION ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_value; }
-<a name="l00187"></a>00187
-<a name="l00189"></a>00189 <span class="comment">// Returns a positive (unless told otherwise) integer between zero and</span>
-<a name="l00190"></a>00190 <span class="comment">// (1&lt;&lt;bits)-1, inclusive</span>
-<a name="l00191"></a>00191
-<a name="l00214"></a>00214 integer <a class="code" href="namespaceboost_1_1xint.html#ac8d879e19a6608b21184236e00806be5" title="Generates a random integer with specific attributes.">random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span>
-<a name="l00215"></a>00215 can_be_negative)
-<a name="l00216"></a>00216 {
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (bits&lt;=0) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>();
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 <span class="keyword">using namespace </span>detail;
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="comment">// Grab a bunch of bits</span>
-<a name="l00222"></a>00222 generator_t randomGenerator;
-<a name="l00223"></a>00223 bitqueue_t bitqueue;
-<a name="l00224"></a>00224 <span class="keywordflow">while</span> (bitqueue.size() &lt; bits) bitqueue.push(randomGenerator(),
-<a name="l00225"></a>00225 std::numeric_limits&lt;generator_t::result_type&gt;::digits);
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <span class="comment">// Stick them into an integer</span>
-<a name="l00228"></a>00228 integer p;
-<a name="l00229"></a>00229 p._realloc((bits + bits_per_digit - 1) / bits_per_digit);
-<a name="l00230"></a>00230 digit_t *pp = p._get_writable_digits(), *ppe = pp + p._get_length();
-<a name="l00231"></a>00231 <span class="keywordflow">while</span> (pp &lt; ppe) *pp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(bitqueue.pop(bits_per_digit));
-<a name="l00232"></a>00232
-<a name="l00233"></a>00233 <span class="comment">// Trim it to the proper length</span>
-<a name="l00234"></a>00234 <span class="keywordtype">size_t</span> index=(bits/bits_per_digit);
-<a name="l00235"></a>00235 digit_t mask=(digit_t(1) &lt;&lt; (bits % bits_per_digit))-1;
-<a name="l00236"></a>00236 <span class="keywordflow">if</span> (mask==0) { mask=digit_mask; --index; }
-<a name="l00237"></a>00237 p._get_writable_digits()[index] &amp;= mask;
-<a name="l00238"></a>00238 <span class="keywordflow">for</span> (digit_t *i=p._get_writable_digits()+index+1,
-<a name="l00239"></a>00239 *ie=p._get_writable_digits()+p._get_length(); i&lt;ie; ++i) *i=0;
-<a name="l00240"></a>00240 p._cleanup();
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="keywordflow">if</span> (high_bit_on) <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(p, bits-1);
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (low_bit_on) <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(p, 0);
-<a name="l00244"></a>00244 <span class="keywordflow">if</span> (can_be_negative) p._set_negative(randomGenerator() &amp; 0x01);
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(p);
-<a name="l00247"></a>00247 }
-<a name="l00248"></a>00248
-<a name="l00249"></a>00249 } <span class="comment">// namespace xint</span>
-<a name="l00250"></a>00250 } <span class="comment">// namespace boost</span>
+<a name="l00109"></a>00109 <span class="keywordtype">void</span> destroy() { <span class="keywordflow">if</span> (dll) FreeLibrary(dll); }
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 HMODULE dll;
+<a name="l00112"></a>00112 RtlGenRandomFn fn;
+<a name="l00113"></a>00113 };
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keywordtype">double</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 32; }
+<a name="l00116"></a>00116 <span class="preprocessor">#else</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span> <span class="keyword">struct </span>strong_random_generator::impl_t {
+<a name="l00118"></a>00118 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>;
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 impl_t(): rng(<span class="stringliteral">&quot;/dev/urandom&quot;</span>, std::ios::binary) {
+<a name="l00121"></a>00121 <span class="comment">// This should be supported under most non-Windows systems. Note</span>
+<a name="l00122"></a>00122 <span class="comment">// that we&#39;re using /dev/urandom, not /dev/random -- /dev/random is</span>
+<a name="l00123"></a>00123 <span class="comment">// more secure, but it can be VERY slow.</span>
+<a name="l00124"></a>00124 <span class="keywordflow">if</span> (!rng) <span class="keywordflow">throw</span> exceptions::no_strong_random();
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">operator()</a>() {
+<a name="l00128"></a>00128 <span class="keywordtype">int</span> r=rng.get();
+<a name="l00129"></a>00129 <span class="keywordflow">if</span> (r==EOF) <span class="keywordflow">throw</span> exceptions::no_strong_random(<span class="stringliteral">&quot;/dev/urandom &quot;</span>
+<a name="l00130"></a>00130 <span class="stringliteral">&quot;returned EOF&quot;</span>);
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a><span class="keyword">&gt;</span>(r);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 std::ifstream rng;
+<a name="l00135"></a>00135 };
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keywordtype">double</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a1faed1bfa2b68731ecc2cb15f78e035b">strong_random_generator::entropy</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 8; }
+<a name="l00138"></a>00138 <span class="preprocessor">#endif</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span>
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afd7fd9d4b1f05c4ded47d72233651a74">strong_random_generator::has_fixed_range</a> = <span class="keyword">true</span>;
+<a name="l00143"></a>00143 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a487dc7bc2b00f9e692957fc7f7b2da25">strong_random_generator::min_value</a> =
+<a name="l00144"></a>00144 (std::numeric_limits&lt;impl_t::result_type&gt;::min)();
+<a name="l00145"></a>00145 <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ab1ae2657dfc2cbce1511d9991c21a68b">strong_random_generator::max_value</a> =
+<a name="l00146"></a>00146 (std::numeric_limits&lt;impl_t::result_type&gt;::max)();
+<a name="l00147"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">00147</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator::strong_random_generator</a>(): impl(new impl_t) { }
+<a name="l00148"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">00148</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">strong_random_generator::~strong_random_generator</a>() { <span class="keyword">delete</span> impl; }
+<a name="l00149"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">00149</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#ae2afe16256095db48543b859530990b8">strong_random_generator::operator()</a>() {
+<a name="l00150"></a>00150 <span class="keywordflow">return</span> (*impl)(); }
+<a name="l00151"></a>00151
+<a name="l00153"></a>00153 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a6a7fac4a372011d55494e3b5dc7f3471">strong_random_generator::min</a>
+<a name="l00154"></a>00154 BOOST_PREVENT_MACRO_SUBSTITUTION ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_value; }
+<a name="l00155"></a>00155 <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">strong_random_generator::result_type</a> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#a4fa01769bdeb04ec7c55a7e8cb297922">strong_random_generator::max</a>
+<a name="l00156"></a>00156 BOOST_PREVENT_MACRO_SUBSTITUTION ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_value; }
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace xint</span>
+<a name="l00160"></a>00160 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8dox.html
==============================================================================
--- sandbox/xint/doc/random_8dox.html (original)
+++ sandbox/xint/doc/random_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8hpp.html
==============================================================================
--- sandbox/xint/doc/random_8hpp.html (original)
+++ sandbox/xint/doc/random_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -32,6 +32,8 @@
 <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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for general-purpose (insecure) random numbers. More...<br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for cryptographically-secure random numbers. More...<br/></td></tr>
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
@@ -42,16 +44,22 @@
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">detail void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">boost::xint::set_random_generator</a> (T *gen)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the random generator that the library uses. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">boost::xint::random_prime</a> (T &amp;gen, size_t size_in_bits, callback_t callback)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">boost::xint::random_by_size</a> (T &amp;gen, size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares items relating to random numbers. </p>
 
 <p>Definition in file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/random_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/random_8hpp_source.html (original)
+++ sandbox/xint/doc/random_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -42,10 +42,11 @@
 <a name="l00021"></a>00021 <span class="preprocessor">#include &quot;<a class="code" href="internals_8hpp.html" title="Contains the internal definitions required for all XInt types.">internals.hpp</a>&quot;</span>
 <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;boost/random/uniform_int.hpp&gt;</span>
 <a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/random/variate_generator.hpp&gt;</span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>boost {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>xint {
-<a name="l00027"></a>00027
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/random/mersenne_twister.hpp&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>boost {
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>xint {
+<a name="l00028"></a>00028
 <a name="l00035"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html">00035</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">strong_random_generator</a> {
 <a name="l00036"></a>00036 <span class="keyword">public</span>:
 <a name="l00037"></a><a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">00037</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1strong__random__generator.html#afb7490db5d65e0998290663ab7f5e688">result_type</a>;
@@ -66,44 +67,59 @@
 <a name="l00052"></a>00052 impl_t *impl;
 <a name="l00053"></a>00053 };
 <a name="l00054"></a>00054
-<a name="l00056"></a>00056 <span class="keyword">namespace </span>detail {
-<a name="l00058"></a>00058 <span class="keyword">struct </span>base_random_generator {
-<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> result_type;
-<a name="l00060"></a>00060 <span class="keyword">virtual</span> result_type operator()()=0;
-<a name="l00061"></a>00061 <span class="keyword">virtual</span> ~base_random_generator() { }
-<a name="l00062"></a>00062 };
-<a name="l00063"></a>00063
-<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
-<a name="l00066"></a>00066 <span class="keyword">struct </span>random_generator: <span class="keyword">public</span> base_random_generator {
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; dist_t;
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; gen_t;
-<a name="l00069"></a>00069 random_generator(T *g): genobj(g), gen(*g,
-<a name="l00070"></a>00070 dist_t((std::numeric_limits&lt;result_type&gt;::min)(),
-<a name="l00071"></a>00071 (std::numeric_limits&lt;result_type&gt;::max)())) { }
-<a name="l00072"></a>00072 result_type operator()() { <span class="keywordflow">return</span> gen(); }
-<a name="l00073"></a>00073 std::auto_ptr&lt;T&gt; genobj;
-<a name="l00074"></a>00074 gen_t gen;
-<a name="l00075"></a>00075 };
-<a name="l00076"></a>00076
-<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(base_random_generator *obj);
-<a name="l00079"></a>00079
-<a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_random();
-<a name="l00085"></a>00085 } <span class="comment">// namespace detail</span>
-<a name="l00087"></a>00087 <span class="comment"></span>
-<a name="l00089"></a>00089 <span class="comment">// Template function definitions</span>
-<a name="l00090"></a>00090
-<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00105"></a><a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54">00105</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">set_random_generator</a>(T *gen) {
-<a name="l00106"></a>00106 detail::random_generator&lt;T&gt; *obj=<span class="keyword">new</span> detail::random_generator&lt;T&gt;(gen);
-<a name="l00107"></a>00107 <a class="code" href="namespaceboost_1_1xint.html#ae64e3e8c8da2f0a1cb7064d1775fbf54" title="Change the random generator that the library uses.">detail::set_random_generator</a>(obj);
-<a name="l00108"></a>00108 }
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 } <span class="comment">// namespace xint</span>
-<a name="l00111"></a>00111 } <span class="comment">// namespace boost</span>
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
+<a name="l00064"></a><a class="code" href="classboost_1_1xint_1_1default__random__generator.html">00064</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1default__random__generator.html" title="A convenience class for general-purpose (insecure) random numbers.">default_random_generator</a>: <span class="keyword">public</span> boost::mt19937 {
+<a name="l00065"></a>00065 <span class="keyword">public</span>:
+<a name="l00066"></a><a class="code" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">00066</a> <a class="code" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">default_random_generator</a>(): mt19937(time(0)+clock()) { }
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068
+<a name="l00070"></a>00070 <span class="keyword">namespace </span>detail {
+<a name="l00072"></a>00072 <span class="keyword">struct </span>base_random_generator {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> result_type;
+<a name="l00074"></a>00074 <span class="keyword">virtual</span> result_type operator()()=0;
+<a name="l00075"></a>00075 <span class="keyword">virtual</span> ~base_random_generator() { }
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>random_generator: <span class="keyword">public</span> base_random_generator {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> boost::uniform_int&lt;result_type&gt; dist_t;
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> boost::variate_generator&lt;T&amp;, dist_t&gt; gen_t;
+<a name="l00083"></a>00083 random_generator(T&amp; g): gen(g,
+<a name="l00084"></a>00084 dist_t((std::numeric_limits&lt;result_type&gt;::min)(),
+<a name="l00085"></a>00085 (std::numeric_limits&lt;result_type&gt;::max)())) { }
+<a name="l00086"></a>00086 result_type operator()() { <span class="keywordflow">return</span> gen(); }
+<a name="l00087"></a>00087 gen_t gen;
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 integer <a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(base_random_generator&amp; gen, <span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span>
+<a name="l00091"></a>00091 high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span> can_be_negative);
+<a name="l00092"></a>00092 integer <a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(base_random_generator&amp; gen, <span class="keywordtype">size_t</span> size_in_bits,
+<a name="l00093"></a>00093 <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback);
+<a name="l00094"></a>00094 } <span class="comment">// namespace detail</span>
+<a name="l00096"></a>00096 <span class="comment"></span>
+<a name="l00098"></a>00098 <span class="comment">// Template function definitions</span>
+<a name="l00099"></a>00099
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00123"></a><a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512">00123</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">random_by_size</a>(T&amp; gen, <span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on,
+<a name="l00124"></a>00124 <span class="keywordtype">bool</span> can_be_negative)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 detail::random_generator&lt;T&gt; generator(gen);
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(<a class="code" href="namespaceboost_1_1xint.html#af431075692c7b5b7bc01768856876512" title="Generates a random integer with specific attributes.">detail::random_by_size</a>(generator, bits, high_bit_on,
+<a name="l00128"></a>00128 low_bit_on, can_be_negative));
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
+<a name="l00159"></a><a class="code" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">00159</a> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">random_prime</a>(T&amp; gen, <span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00160"></a>00160 detail::random_generator&lt;T&gt; generator(gen);
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(<a class="code" href="namespaceboost_1_1xint.html#afec65ec6ec0b57c0483a703040d97107">detail::random_prime</a>(generator, size_in_bits,
+<a name="l00162"></a>00162 callback));
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 } <span class="comment">// namespace xint</span>
+<a name="l00166"></a>00166 } <span class="comment">// namespace boost</span>
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale.html
==============================================================================
--- sandbox/xint/doc/rationale.html (original)
+++ sandbox/xint/doc/rationale.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -47,11 +47,10 @@
 Random generator</a></h2>
 <ul>
 <li><a class="el" href="r__random.html">Why did you implement your own random number generator? You should use Boost.Random instead.</a></li>
-<li><a class="el" href="r__insecure__default.html">But why default to an insecure random number generator? Why not default to the secure one?</a></li>
-<li><a class="el" href="r__default__necessary.html">Okay, then why not make the developer provide one?</a> </li>
+<li><a class="el" href="r__insecure__default.html">But why have an insecure random number generator as the default? Why not default to the secure one?</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/rationale_8dox.html
==============================================================================
--- sandbox/xint/doc/rationale_8dox.html (original)
+++ sandbox/xint/doc/rationale_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/rationale.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/roots_8cpp.html
==============================================================================
--- sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/roots_8cpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="roots_8cpp_source.html">roots.cpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/roots_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/roots_8cpp_source.html (original)
+++ sandbox/xint/doc/roots_8cpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -84,7 +84,7 @@
 <a name="l00077"></a>00077 } <span class="comment">// namespace xint</span>
 <a name="l00078"></a>00078 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/securemode.html
==============================================================================
--- sandbox/xint/doc/securemode.html (original)
+++ sandbox/xint/doc/securemode.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -27,7 +27,7 @@
 <p>To enable it, define the preprocessor symbol <code>XINT_SECURE</code> when compiling the library. You don't need to define it when using the library, only when compiling it.</p>
 <p>To see whether your copy was compiled with secure-mode enabled, use the xint::opt_secure_mode function. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/securemode_8dox.html
==============================================================================
--- sandbox/xint/doc/securemode_8dox.html (original)
+++ sandbox/xint/doc/securemode_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/securemode.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/testing.html
==============================================================================
--- sandbox/xint/doc/testing.html (original)
+++ sandbox/xint/doc/testing.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="testing">The Self-Testing Program </a></h1><p>The library has a self-testing program that you can build and run to confirm that it is working properly. You can find the source code for it in the <code>test</code> subdirectory under the main <code>xint</code> directory. All of the major functions are thoroughly exercised, and many of the minor ones as well.</p>
 <p>The source code for the testing program also demonstrates how to use many of the library's functions. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/testing_8dox.html
==============================================================================
--- sandbox/xint/doc/testing_8dox.html (original)
+++ sandbox/xint/doc/testing_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/testing.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe.html
==============================================================================
--- sandbox/xint/doc/threadsafe.html (original)
+++ sandbox/xint/doc/threadsafe.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -25,10 +25,10 @@
 
 <h1><a class="anchor" id="threadsafe">Thread-Safe Operation </a></h1><p>This library, by default, can only safely be used in one thread at a time. If you need thread-safe operation, you must compile it with the thread-safe option enabled (see below), and you must ensure that only one thread ever accesses a particular integer at a time. The library cannot automatically provide this protection without an unacceptably severe speed penalty.</p>
 <p>To enable thread-safe operations, define the preprocessor symbol <code>XINT_THREADSAFE</code> when compiling the library. You don't need to define it when using the library, only when compiling it.</p>
-<dl class="note"><dt><b>Note:</b></dt><dd>When the library is compiled with the thread-safe option, all programs that link to it must also link to the Boost.Thread library.</dd></dl>
-<p>To programatically check whether your copy was compiled with thread-safe operation enabled, use the xint::opt_thread_safe function. </p>
+<p>To programatically check whether your copy was compiled with thread-safe operation enabled, use the xint::opt_thread_safe function.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>You can safely use the non-thread-safe version of the library in multiple threads, if you call the undocumented <code>_make_unique</code> member function on each integer when it crosses thread boundaries. </dd></dl>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/threadsafe_8dox.html
==============================================================================
--- sandbox/xint/doc/threadsafe_8dox.html (original)
+++ sandbox/xint/doc/threadsafe_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/threadsafe.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/xint_8hpp.html
==============================================================================
--- sandbox/xint/doc/xint_8hpp.html (original)
+++ sandbox/xint/doc/xint_8hpp.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -37,7 +37,7 @@
 
 <p>Definition in file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/xint_8hpp_source.html
==============================================================================
--- sandbox/xint/doc/xint_8hpp_source.html (original)
+++ sandbox/xint/doc/xint_8hpp_source.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -48,7 +48,7 @@
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/zero.html
==============================================================================
--- sandbox/xint/doc/zero.html (original)
+++ sandbox/xint/doc/zero.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 </pre></div><p>A negative zero will act exactly like a "normal" zero in all respects. The only way to detect a sign on it is by calling <a class="el" href="classboost_1_1xint_1_1integer.html#a6821767d0ec6c762a4c1002944550aae">the sign function</a> with the <code>signed_zero</code> parameter <code>true</code>. With that parameter, it will return -1 on any negative number, including zero.</p>
 <p>Note that the unary minus operator and the <a class="el" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a> function are the only functions that will ever return a negative zero. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/doc/zero_8dox.html
==============================================================================
--- sandbox/xint/doc/zero_8dox.html (original)
+++ sandbox/xint/doc/zero_8dox.html 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/doc/dox/zero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun May 2 18:42:51 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/example/genprime.cpp
==============================================================================
--- sandbox/xint/example/genprime.cpp (original)
+++ sandbox/xint/example/genprime.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -17,12 +17,12 @@
     try {
         // Use the system's strong random number generator, via the XInt-
         // provided convenience class.
- set_random_generator(new strong_random_generator);
+ strong_random_generator gen;
 
         // Generate the prime number, keeping the user informed of the
         // progress.
         cout << "Generating...";
- integer p=random_prime(bits, callback);
+ integer p = random_prime(gen, bits, callback);
 
         // Success!
         cout << "\nA random " << bits << "-bit prime is: " << p << endl;

Modified: sandbox/xint/src/nothrow_primes.cpp
==============================================================================
--- sandbox/xint/src/nothrow_primes.cpp (original)
+++ sandbox/xint/src/nothrow_primes.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -33,15 +33,5 @@
     }
 }
 
-//! \copydoc xint::random_prime
-nothrow_integer nothrow_random_prime(size_t size_in_bits, callback_t callback) {
- try {
- nothrow_integer r(xint::random_prime(size_in_bits, callback));
- return BOOST_XINT_MOVE(r);
- } catch (std::exception&) {
- return nothrow_integer::nan();
- }
-}
-
 } // namespace xint
 } // namespace boost

Deleted: sandbox/xint/src/nothrow_random.cpp
==============================================================================
--- sandbox/xint/src/nothrow_random.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-
-/*
- The Extended Integer (XInt) Library
- A fast, portable C++ library for multi-precision integer math
- Copyright 2010 by Chad Nelson
-
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt
-
- See http://www.boost.org/libs/xint for library home page.
-*/
-
-/*! \file
- \brief Contains the definitions for the random number functions for the \c
- nothrow_integer type.
-*/
-
-#include "../boost/xint/nothrow_integer.hpp"
-
-namespace boost {
-namespace xint {
-
-//! \copydoc xint::random_by_size
-nothrow_integer nothrow_random_by_size(size_t bits, bool high_bit_on, bool
- low_bit_on, bool can_be_negative)
-{
- try {
- return nothrow_integer(xint::random_by_size(bits, high_bit_on,
- low_bit_on, can_be_negative));
- } catch (std::exception&) {
- return nothrow_integer::nan();
- }
-}
-
-} // namespace xint
-} // namespace boost

Modified: sandbox/xint/src/primes.cpp
==============================================================================
--- sandbox/xint/src/primes.cpp (original)
+++ sandbox/xint/src/primes.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -17,6 +17,7 @@
 
 #include "../boost/xint/integer.hpp"
 #include "../boost/xint/random.hpp"
+#include <boost/random/mersenne_twister.hpp>
 
 #include <vector>
 
@@ -78,6 +79,27 @@
     return 0;
 }
 
+integer random_prime(base_random_generator& gen, size_t size_in_bits, callback_t
+ callback)
+{
+ if (size_in_bits < 2) throw exceptions::invalid_argument("cannot create "
+ "prime numbers smaller than two bits");
+
+ // Call the callback for the first time
+ if (callback && !callback()) return integer::zero();
+
+ integer pe=pow2(size_in_bits+1);
+ while (1) {
+ integer p(random_by_size(gen, size_in_bits, true, true, false));
+ while (p < pe) {
+ int r=is_prime(p, callback);
+ if (r < 0) return integer::zero();
+ if (r == 1) return BOOST_XINT_MOVE(p);
+ p+=2;
+ }
+ }
+}
+
 } // namespace detail
 //! @endcond detail
 
@@ -104,6 +126,8 @@
 \see \ref primes
 */
 int is_prime(const integer& n, callback_t callback) {
+ static std::auto_ptr<boost::mt19937> gen;
+
     if (n < 2) throw exceptions::invalid_argument("xint::is_prime cannot test "
         "numbers below 2");
 
@@ -112,10 +136,14 @@
     std::vector<int>::const_iterator i=cLowPrimes.begin(), ie=cLowPrimes.end();
     for (; i!=ie; ++i) if ((n % *i)==0) return (n==*i);
 
+ // Ensure that we've got a random generator.
+ if (gen.get() == 0) gen.reset(new boost::mt19937(time(0)+clock()));
+ detail::random_generator<boost::mt19937> random(*gen.get());
+
     // Run the number through the Miller-Rabin Probabilistic Test of Primality
     // a few times to see if it's actually (probably) prime.
     for (int count=0; count<5; ++count) {
- unsigned int k=detail::get_random();
+ unsigned int k = random();
         int isP=isProbablePrimeBaseB(n, k, callback);
         if (isP <= 0) return isP;
     }
@@ -127,48 +155,5 @@
     return is_prime(integer(n), callback);
 }
 
-/*! \brief Generate a randomly-generated prime number of a particular bit-size.
-
-- Complexity: Varies
-
-\param[in] size_in_bits The number of bits that you want the returned value to
-have.
-\param[in] callback An optional function that will be called regularly during
-the operation. If it returns \c false, the function will immediately return.
-
-\returns A randomly-generated prime integer with the specified number of bits,
-or zero if the provided callback function cancelled the operation.
-
-\exception exceptions::invalid_argument if \c size_in_bits is less than two.
-
-\note This function uses xint::is_prime. See the description of it for details
-of its limitations.
-
-\par
-It also uses the library's currently-set random number generator. See the \link
-random Random Number Functions page\endlink for details on its limitations and
-requirements, and how to get cryptographically-secure random numbers.
-
-\see \ref primes
-*/
-integer random_prime(size_t size_in_bits, callback_t callback) {
- if (size_in_bits < 2) throw exceptions::invalid_argument("cannot create "
- "prime numbers smaller than two bits");
-
- // Call the callback for the first time
- if (callback && !callback()) return integer::zero();
-
- integer pe=pow2(size_in_bits+1);
- while (1) {
- integer p(random_by_size(size_in_bits, true, true));
- while (p < pe) {
- int r=is_prime(p, callback);
- if (r < 0) return integer::zero();
- if (r == 1) return BOOST_XINT_MOVE(p);
- p+=2;
- }
- }
-}
-
 } // namespace xint
 } // namespace boost

Modified: sandbox/xint/src/random.cpp
==============================================================================
--- sandbox/xint/src/random.cpp (original)
+++ sandbox/xint/src/random.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -29,73 +29,44 @@
 #include <fstream>
 #include <ctime>
 #include <memory> // for auto_ptr
-#include <boost/random/mersenne_twister.hpp>
 #include <boost/static_assert.hpp>
 
-#ifdef XINT_THREADSAFE
- #include <boost/thread.hpp>
-#endif
-
 namespace boost {
 namespace xint {
 
 //! @cond detail
 namespace detail {
 
-class generator_t {
- public:
- typedef base_random_generator::result_type result_type;
- typedef boost::mt19937 default_random_t;
-
- #ifdef XINT_THREADSAFE
- generator_t() { mLock.lock(); init(); }
- ~generator_t() { mLock.unlock(); }
- #else
- generator_t() { init(); }
- #endif
-
- result_type operator()() { return mGeneratorObj->operator()(); }
-
- static void set_generator(base_random_generator *p) {
- #ifdef XINT_THREADSAFE
- mLock.lock();
- mGeneratorObj.reset(p);
- mLock.unlock();
- #else
- mGeneratorObj.reset(p);
- #endif
- }
-
- private:
- void init() {
- if (mGeneratorObj.get() == 0) {
- typedef default_random_t T;
- T *genobj(new T(boost::uint32_t(time(0)+clock())));
- random_generator<T> *obj=new random_generator<T>(genobj);
- set_generator(obj);
- }
- }
-
- static std::auto_ptr<base_random_generator> mGeneratorObj;
+integer random_by_size(base_random_generator& gen, size_t bits, bool high_bit_on, bool
+ low_bit_on, bool can_be_negative)
+{
+ if (bits<=0) return integer::zero();
 
- #ifdef XINT_THREADSAFE
- static boost::mutex mLock;
- #endif
-};
+ // Grab a bunch of bits
+ bitqueue_t bitqueue;
+ while (bitqueue.size() < bits) bitqueue.push(gen(),
+ std::numeric_limits<base_random_generator::result_type>::digits);
 
-std::auto_ptr<base_random_generator> generator_t::mGeneratorObj;
+ // Stick them into an integer
+ integer p;
+ p._realloc((bits + bits_per_digit - 1) / bits_per_digit);
+ digit_t *pp = p._get_writable_digits(), *ppe = pp + p._get_length();
+ while (pp < ppe) *pp++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 
-#ifdef XINT_THREADSAFE
- boost::mutex generator_t::mLock;
-#endif
+ // Trim it to the proper length
+ size_t index=(bits/bits_per_digit);
+ digit_t mask=(digit_t(1) << (bits % bits_per_digit))-1;
+ if (mask==0) { mask=digit_mask; --index; }
+ p._get_writable_digits()[index] &= mask;
+ for (digit_t *i=p._get_writable_digits()+index+1,
+ *ie=p._get_writable_digits()+p._get_length(); i<ie; ++i) *i=0;
+ p._cleanup();
 
-void set_random_generator(base_random_generator *obj) {
- generator_t::set_generator(obj);
-}
+ if (high_bit_on) setbit(p, bits-1);
+ if (low_bit_on) setbit(p, 0);
+ if (can_be_negative) p._set_negative(gen() & 0x01);
 
-unsigned int get_random() {
- generator_t gen;
- return gen();
+ return BOOST_XINT_MOVE(p);
 }
 
 } // namespace detail
@@ -185,66 +156,5 @@
     BOOST_PREVENT_MACRO_SUBSTITUTION () const { return max_value; }
 //! @endcond
 
-////////////////////////////////////////////////////////////////////////////////
-// Returns a positive (unless told otherwise) integer between zero and
-// (1<<bits)-1, inclusive
-
-/*! \brief Generates a random integer with specific attributes.
-
-- Complexity: O(n)
-
-\param[in] bits The maximum number of bits that you want the returned number to
-have.
-\param[in] high_bit_on If \c true, the returned number will have exactly the
-requested size. If \c false, the upper bits may be zero, resulting in a number
-that is slightly smaller than requested.
-\param[in] low_bit_on If \c true, the returned number will always be odd. If
-\c false, it has an equal chance of being odd or even.
-\param[in] can_be_negative If \c true, the returned value has an equal chance
-of being positive or negative. If \c false, it will always be positive.
-
-\returns A random integer with the requested attributes.
-
-\remarks
-This function uses the currently-defined random generator.
-
-\see \ref random
-\see xint::set_random_generator
-*/
-integer random_by_size(size_t bits, bool high_bit_on, bool low_bit_on, bool
- can_be_negative)
-{
- if (bits<=0) return integer::zero();
-
- using namespace detail;
-
- // Grab a bunch of bits
- generator_t randomGenerator;
- bitqueue_t bitqueue;
- while (bitqueue.size() < bits) bitqueue.push(randomGenerator(),
- std::numeric_limits<generator_t::result_type>::digits);
-
- // Stick them into an integer
- integer p;
- p._realloc((bits + bits_per_digit - 1) / bits_per_digit);
- digit_t *pp = p._get_writable_digits(), *ppe = pp + p._get_length();
- while (pp < ppe) *pp++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
-
- // Trim it to the proper length
- size_t index=(bits/bits_per_digit);
- digit_t mask=(digit_t(1) << (bits % bits_per_digit))-1;
- if (mask==0) { mask=digit_mask; --index; }
- p._get_writable_digits()[index] &= mask;
- for (digit_t *i=p._get_writable_digits()+index+1,
- *ie=p._get_writable_digits()+p._get_length(); i<ie; ++i) *i=0;
- p._cleanup();
-
- if (high_bit_on) setbit(p, bits-1);
- if (low_bit_on) setbit(p, 0);
- if (can_be_negative) p._set_negative(randomGenerator() & 0x01);
-
- return BOOST_XINT_MOVE(p);
-}
-
 } // namespace xint
 } // namespace boost

Added: sandbox/xint/test/Jamfile
==============================================================================
--- (empty file)
+++ sandbox/xint/test/Jamfile 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -0,0 +1,27 @@
+project xint/test
+ : requirements
+ <toolset>gcc:<cflags>-fno-strict-aliasing
+
+ <library>../build//boost_xint
+ <library>/boost/test//boost_unit_test_framework
+ ;
+
+import testing ;
+
+
+alias dummy
+ :
+[ run test_streams.cpp ]
+[ run test_add.cpp ]
+[ run test_bit_manipulations.cpp ]
+[ run test_convert.cpp ]
+[ run test_divide.cpp ]
+[ run test_multiply.cpp ]
+[ run test_monty.cpp ]
+[ run test_compare.cpp ]
+[ run test_fixed.cpp ]
+[ run test_powers.cpp ]
+[ run test_modular.cpp ]
+[ run test_misc.cpp ]
+ ;
+

Deleted: sandbox/xint/test/Jamroot
==============================================================================
--- sandbox/xint/test/Jamroot 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
+++ (empty file)
@@ -1,22 +0,0 @@
-
-lib boost_xint : : <name>boost_xint ;
-lib boost_test : : <name>boost_unit_test_framework ;
-
-exe test
- :
- # Source code files
- test_main.cpp test_streams.cpp test_add.cpp test_bit_manipulations.cpp
- test_convert.cpp test_divide.cpp test_multiply.cpp test_monty.cpp
- test_compare.cpp test_fixed.cpp test_powers.cpp test_modular.cpp
- test_misc.cpp
-
- # Boost libraries
- boost_xint
- boost_test
- :
- <include>../
-
- # For GCC only
- <cflags>-fno-strict-aliasing
- ;
-

Modified: sandbox/xint/test/test_add.cpp
==============================================================================
--- sandbox/xint/test/test_add.cpp (original)
+++ sandbox/xint/test/test_add.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -13,8 +13,13 @@
 
 #include <boost/xint/integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
+#include <boost/xint/random.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
@@ -59,6 +64,8 @@
 } // namespace
 
 BOOST_AUTO_TEST_CASE(testAddSubtract) {
+ boost::mt19937 random(42u);
+
     {
         integer n("-3000000080000000600000000", 16),
             m("8000000090000000600000000", 16);
@@ -66,26 +73,32 @@
     }
 
     for (int i=0; i<10000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4)),
- m(random_by_size(detail::bits_per_digit*4));
+ integer n(random_by_size(random, detail::bits_per_digit*4)),
+ m(random_by_size(random, detail::bits_per_digit*4));
         _test(1, i, n, m);
     }
 
     for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
+ integer n(random_by_size(random, detail::bits_per_digit*4, false, false,
+ true)),
+ m(random_by_size(random, detail::bits_per_digit*4, false, false,
+ true));
         _test(2, i, n, m);
     }
 
     for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*4, false, false, true)),
- m(random_by_size(detail::bits_per_digit*3, false, false, true));
+ integer n(random_by_size(random, detail::bits_per_digit*4, false, false,
+ true)),
+ m(random_by_size(random, detail::bits_per_digit*3, false, false,
+ true));
         _test(3, i, n, m);
     }
 
     for (int i=0; i<1000; ++i) {
- integer n(random_by_size(detail::bits_per_digit*3, false, false, true)),
- m(random_by_size(detail::bits_per_digit*4, false, false, true));
+ integer n(random_by_size(random, detail::bits_per_digit*3, false, false,
+ true)),
+ m(random_by_size(random, detail::bits_per_digit*4, false, false,
+ true));
         _test(4, i, n, m);
     }
 }

Modified: sandbox/xint/test/test_bit_manipulations.cpp
==============================================================================
--- sandbox/xint/test/test_bit_manipulations.cpp (original)
+++ sandbox/xint/test/test_bit_manipulations.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -14,7 +14,11 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>

Modified: sandbox/xint/test/test_compare.cpp
==============================================================================
--- sandbox/xint/test/test_compare.cpp (original)
+++ sandbox/xint/test/test_compare.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -18,7 +18,11 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 namespace boost {

Modified: sandbox/xint/test/test_convert.cpp
==============================================================================
--- sandbox/xint/test/test_convert.cpp (original)
+++ sandbox/xint/test/test_convert.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -15,7 +15,11 @@
 #include <boost/xint/nothrow_integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
@@ -85,13 +89,13 @@
     BOOST_CHECK_EQUAL(nTgt, nSrc);
 
     BOOST_CHECK_NO_THROW(nothrow_integer badConversion("abcdefg", 16));
-
+
     {
                 nothrow_integer test1 = nothrow_integer::nan();
                 std::ostringstream outstream;
                 outstream << test1;
                 BOOST_CHECK_EQUAL(outstream.str(), detail::nan_text);
-
+
                 std::istringstream instream;
                 instream.str(outstream.str());
                 nothrow_integer test2;

Modified: sandbox/xint/test/test_divide.cpp
==============================================================================
--- sandbox/xint/test/test_divide.cpp (original)
+++ sandbox/xint/test/test_divide.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -16,11 +16,14 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/random.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
-#include <boost/random.hpp>
 
 namespace boost {
 namespace xint {
@@ -70,7 +73,7 @@
 } // namespace
 
 BOOST_AUTO_TEST_CASE(testDivide) {
- set_random_generator(new boost::mt19937(42u));
+ boost::mt19937 random(42u);
 
     for (size_t nsize = detail::bits_per_digit * 3; nsize <
         detail::bits_per_digit * 5; nsize += 4)
@@ -78,8 +81,8 @@
         for (size_t msize = detail::bits_per_digit * 3; msize <
             detail::bits_per_digit * 5; msize += 4)
         {
- integer n(random_by_size(nsize, false, false, true)),
- m(random_by_size(msize, false, false, true));
+ integer n(random_by_size(random, nsize, false, false, true)),
+ m(random_by_size(random, msize, false, false, true));
             _test(nsize, msize, n, m);
         }
     }

Modified: sandbox/xint/test/test_fixed.cpp
==============================================================================
--- sandbox/xint/test/test_fixed.cpp (original)
+++ sandbox/xint/test/test_fixed.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -21,7 +21,11 @@
 
 #include <iomanip>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 #include <boost/test/output_test_stream.hpp>
 

Modified: sandbox/xint/test/test_main.cpp
==============================================================================
--- sandbox/xint/test/test_main.cpp (original)
+++ sandbox/xint/test/test_main.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -37,12 +37,13 @@
         using namespace boost::xint;
 
         cout << "Generating numbers..." << endl;
+ default_random_generator gen;
         std::vector<integer> n1, n2;
         for (size_t x = 0; x < raw_number_pairs; ++x) {
- n1.push_back(random_by_size(bits, true, true));
- n2.push_back(random_by_size(bits, true, true));
+ n1.push_back(random_by_size(gen, bits, true, true));
+ n2.push_back(random_by_size(gen, bits, true, true));
         }
- const integer nmod = random_by_size(bits, true, true);
+ const integer nmod = random_by_size(gen, bits, true, true);
 
         cout << "Running addition test" << flush;
         for (size_t x = 0; x < 10; ++x) {
@@ -90,7 +91,11 @@
         using namespace boost::xint;
     }
 #else
- #define BOOST_TEST_MAIN
- #define BOOST_TEST_DYN_LINK
+ #ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+ #define BOOST_TEST_MAIN
+ #else
+ #define BOOST_TEST_MAIN
+ #endif
     #include <boost/test/unit_test.hpp>
 #endif

Modified: sandbox/xint/test/test_misc.cpp
==============================================================================
--- sandbox/xint/test/test_misc.cpp (original)
+++ sandbox/xint/test/test_misc.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -18,7 +18,11 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 namespace boost {

Modified: sandbox/xint/test/test_modular.cpp
==============================================================================
--- sandbox/xint/test/test_modular.cpp (original)
+++ sandbox/xint/test/test_modular.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -13,7 +13,11 @@
 
 #include <boost/xint/integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 namespace boost {

Modified: sandbox/xint/test/test_monty.cpp
==============================================================================
--- sandbox/xint/test/test_monty.cpp (original)
+++ sandbox/xint/test/test_monty.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -15,12 +15,15 @@
 #include <boost/xint/random.hpp>
 #include <boost/xint/monty.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
 #include <iomanip>
-#include <boost/random/mersenne_twister.hpp>
 
 namespace boost {
 namespace xint {
@@ -62,22 +65,12 @@
     }
 }
 
-size_t random(size_t low, size_t high) {
- unsigned long r=detail::get_random();
- size_t range=high-low+1;
- return size_t(low + (r % range));
-}
-
-size_t random1ToDigitLength() {
- return random(1, detail::bits_per_digit);
-}
-
 } // namespace
 
 BOOST_AUTO_TEST_CASE(testMontyMultiply) {
     // We always want these to run on the same data, so we can reproduce it if
     // there are problems.
- set_random_generator(new boost::mt19937(42u));
+ boost::mt19937 random(42u);
 
     {
         integer n("ffffffffaec73757", 16);
@@ -95,9 +88,9 @@
             for (size_t modsize = detail::bits_per_digit * 4; msize <
                 detail::bits_per_digit * 5; msize += 4)
             {
- integer n(random_by_size(nsize, false, false, true)),
- m(random_by_size(msize, false, false, true)),
- modulus(random_by_size(modsize, true, true, false));
+ integer n(random_by_size(random, nsize, false, false, true)),
+ m(random_by_size(random, msize, false, false, true)),
+ modulus(random_by_size(random, modsize, true, true, false));
                 _test1(nsize, msize, n, m, modulus);
             }
         }
@@ -107,10 +100,10 @@
 BOOST_AUTO_TEST_CASE(testMontyPowerMod) {
     // We always want these to run on the same data, so we can reproduce it if
     // there are problems.
- set_random_generator(new boost::mt19937(42u));
+ boost::mt19937 random(42u);
 
     {
- integer modulus(random_by_size(detail::bits_per_digit * 5 +
+ integer modulus(random_by_size(random, detail::bits_per_digit * 5 +
             (detail::bits_per_digit / 2), true, true));
         for (int i=2; i<100; ++i)
             _test2(0, i, integer("abcd1234", 16), i, modulus);
@@ -125,9 +118,9 @@
             for (size_t modsize = detail::bits_per_digit * 2; msize <
                 detail::bits_per_digit * 5; msize += 8)
             {
- integer n(random_by_size(nsize, false, false)),
- m(random_by_size(msize, false, false)),
- modulus(random_by_size(modsize, true, true));
+ integer n(random_by_size(random, nsize, false, false)),
+ m(random_by_size(random, msize, false, false)),
+ modulus(random_by_size(random, modsize, true, true));
                 _test2(nsize, msize, n, m, modulus);
             }
         }

Modified: sandbox/xint/test/test_multiply.cpp
==============================================================================
--- sandbox/xint/test/test_multiply.cpp (original)
+++ sandbox/xint/test/test_multiply.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -16,11 +16,14 @@
 #include <boost/xint/random.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
-#include <boost/random/mersenne_twister.hpp>
 
 namespace boost {
 namespace xint {
@@ -71,7 +74,7 @@
                 _test(0, 1, n, m);
     }
 
- set_random_generator(new boost::mt19937(42u));
+ boost::mt19937 random(42u);
 
     for (size_t nsize = detail::bits_per_digit * 3; nsize <
         detail::bits_per_digit * 5; nsize += 4)
@@ -79,8 +82,8 @@
         for (size_t msize = detail::bits_per_digit * 3; msize <
             detail::bits_per_digit * 5; msize += 4)
         {
- integer n(random_by_size(nsize, false, false, true)),
- m(random_by_size(msize, false, false, true));
+ integer n(random_by_size(random, nsize, false, false, true)),
+ m(random_by_size(random, msize, false, false, true));
             _test(nsize, msize, n, m);
         }
     }

Modified: sandbox/xint/test/test_powers.cpp
==============================================================================
--- sandbox/xint/test/test_powers.cpp (original)
+++ sandbox/xint/test/test_powers.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -14,7 +14,11 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/fixed_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 namespace boost {

Modified: sandbox/xint/test/test_streams.cpp
==============================================================================
--- sandbox/xint/test/test_streams.cpp (original)
+++ sandbox/xint/test/test_streams.cpp 2010-05-04 01:32:31 EDT (Tue, 04 May 2010)
@@ -14,7 +14,11 @@
 #include <boost/xint/integer.hpp>
 #include <boost/xint/nothrow_integer.hpp>
 
-#define BOOST_TEST_DYN_LINK
+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>


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