$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r61756 - in sandbox/xint: boost/xint doc doc/dox src
From: chad.thecomfychair_at_[hidden]
Date: 2010-05-04 10:23:36
Author: chadnelson
Date: 2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
New Revision: 61756
URL: http://svn.boost.org/trac/boost/changeset/61756
Log:
Fixed a problem causing baseline and move results to be worse than expected. Copy-on-write is still faster by over 20% though.
Text files modified: 
   sandbox/xint/boost/xint/fixed_integer.hpp                                                                         |     6                                         
   sandbox/xint/boost/xint/internals.hpp                                                                             |    13                                         
   sandbox/xint/boost/xint/random.hpp                                                                                |     5                                         
   sandbox/xint/doc/acknowledgements.html                                                                            |    16                                         
   sandbox/xint/doc/acknowledgements_8dox.html                                                                       |     2                                         
   sandbox/xint/doc/annotated.html                                                                                   |     2                                         
   sandbox/xint/doc/base__integer_8cpp.html                                                                          |     2                                         
   sandbox/xint/doc/base__integer_8cpp_source.html                                                                   |   324 ++++++++++----------                    
   sandbox/xint/doc/bit__manipulations_8cpp.html                                                                     |     2                                         
   sandbox/xint/doc/bit__manipulations_8cpp_source.html                                                              |    10                                         
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html                                               |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1base__divide__t.html                                                       |    20                                         
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html                                    |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html                                            |     2                                         
   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                                                   |    14                                         
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html                                                       |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html                                                               |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer-members.html                                              |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1nothrow__integer.html                                                      |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html                                     |     2                                         
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html                                             |     2                                         
   sandbox/xint/doc/classdisable__boost__rv__ref.html                                                                |     2                                         
   sandbox/xint/doc/classes.html                                                                                     |     2                                         
   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         |     2                                         
   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                               |     2                                         
   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                      |     2                                         
   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                                                                         |     8                                         
   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                                                                                |     2                                         
   sandbox/xint/doc/dependencies_8dox.html                                                                           |     2                                         
   sandbox/xint/doc/dox/acknowledgements.dox                                                                         |    20                                         
   sandbox/xint/doc/ex__fibonacci.html                                                                               |     2                                         
   sandbox/xint/doc/ex__fibonacci_8dox.html                                                                          |     2                                         
   sandbox/xint/doc/exceptions.html                                                                                  |     2                                         
   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                                                                                       |     2                                         
   sandbox/xint/doc/fixed__and__variable.html                                                                        |     2                                         
   sandbox/xint/doc/fixed__and__variable_8dox.html                                                                   |     2                                         
   sandbox/xint/doc/fixed__integer_8hpp.html                                                                         |     2                                         
   sandbox/xint/doc/fixed__integer_8hpp_source.html                                                                  |     8                                         
   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                                                                              |     2                                         
   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                                                                              |     2                                         
   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                                                                             |    18                                         
   sandbox/xint/doc/globals.html                                                                                     |     2                                         
   sandbox/xint/doc/globals_defs.html                                                                                |     2                                         
   sandbox/xint/doc/hierarchy.html                                                                                   |     2                                         
   sandbox/xint/doc/history.html                                                                                     |     2                                         
   sandbox/xint/doc/history_8dox.html                                                                                |     2                                         
   sandbox/xint/doc/index.html                                                                                       |     2                                         
   sandbox/xint/doc/index_8dox.html                                                                                  |     2                                         
   sandbox/xint/doc/integer_8cpp.html                                                                                |     2                                         
   sandbox/xint/doc/integer_8cpp_source.html                                                                         |    10                                         
   sandbox/xint/doc/integer_8hpp.html                                                                                |     2                                         
   sandbox/xint/doc/integer_8hpp_source.html                                                                         |     2                                         
   sandbox/xint/doc/internals_8hpp.html                                                                              |     2                                         
   sandbox/xint/doc/internals_8hpp_source.html                                                                       |   619 ++++++++++++++++++++------------------- 
   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                                                                         |     8                                         
   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                                                                      |     4                                         
   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                                                                            |     2                                         
   sandbox/xint/doc/namespacemembers_func.html                                                                       |     2                                         
   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                                                                |    12                                         
   sandbox/xint/doc/nothrow__integer_8hpp.html                                                                       |     2                                         
   sandbox/xint/doc/nothrow__integer_8hpp_source.html                                                                |     2                                         
   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                                                                        |     2                                         
   sandbox/xint/doc/nothrow__primes_8cpp_source.html                                                                 |     2                                         
   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                                                                          |     8                                         
   sandbox/xint/doc/primes.html                                                                                      |     2                                         
   sandbox/xint/doc/primes_8cpp.html                                                                                 |     2                                         
   sandbox/xint/doc/primes_8cpp_source.html                                                                          |     2                                         
   sandbox/xint/doc/primes_8dox.html                                                                                 |     2                                         
   sandbox/xint/doc/primitives_8cpp.html                                                                             |     2                                         
   sandbox/xint/doc/primitives_8cpp_source.html                                                                      |   591 ++++++++++++++++++-------------------   
   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                                                                        |     2                                         
   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                                                                                      |     2                                         
   sandbox/xint/doc/random_8cpp.html                                                                                 |     2                                         
   sandbox/xint/doc/random_8cpp_source.html                                                                          |     2                                         
   sandbox/xint/doc/random_8dox.html                                                                                 |     2                                         
   sandbox/xint/doc/random_8hpp.html                                                                                 |     2                                         
   sandbox/xint/doc/random_8hpp_source.html                                                                          |    33 +-                                      
   sandbox/xint/doc/rationale.html                                                                                   |     2                                         
   sandbox/xint/doc/rationale_8dox.html                                                                              |     2                                         
   sandbox/xint/doc/roots_8cpp.html                                                                                  |     2                                         
   sandbox/xint/doc/roots_8cpp_source.html                                                                           |     8                                         
   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                                                                                  |     2                                         
   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/src/base_integer.cpp                                                                                 |    24 +                                       
   sandbox/xint/src/bit_manipulations.cpp                                                                            |     8                                         
   sandbox/xint/src/convert.cpp                                                                                      |     6                                         
   sandbox/xint/src/gcd.cpp                                                                                          |    16                                         
   sandbox/xint/src/integer.cpp                                                                                      |     8                                         
   sandbox/xint/src/modular.cpp                                                                                      |     6                                         
   sandbox/xint/src/nothrow_integer.cpp                                                                              |    10                                         
   sandbox/xint/src/powers.cpp                                                                                       |     6                                         
   sandbox/xint/src/primitives.cpp                                                                                   |    41 +-                                      
   sandbox/xint/src/roots.cpp                                                                                        |     6                                         
   217 files changed, 1143 insertions(+), 1115 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 10:23:08 EDT (Tue, 04 May 2010)
@@ -79,8 +79,8 @@
                %integer types.
     */
     //!@{
-    fixed_integer<Bits>& operator=(const fixed_integer<Bits>& c) { _attach(c);
-		return *this; }
+    fixed_integer<Bits>& operator=(const fixed_integer<Bits>& c) { _attach(c,
+        false); return *this; }
 
     bool operator!() const { return _is_zero(); }
     fixed_integer<Bits> operator-() const { return negate(*this); }
@@ -333,7 +333,7 @@
     fixed_integer_any(preallocated_zero.get())
 {
     if (b._is_nan()) throw exceptions::not_a_number();
-    _attach(b);
+    _attach(b, false);
 }
 
 /*! \copydoc integer::integer(const std::string&, size_t)
Modified: sandbox/xint/boost/xint/internals.hpp
==============================================================================
--- sandbox/xint/boost/xint/internals.hpp	(original)
+++ sandbox/xint/boost/xint/internals.hpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -185,20 +185,20 @@
     size_t _fixed_bits() const;
 
     bool _get_readonly() const;
+    void _mark_movable();
+    bool _is_movable() const;
     bool _get_negative() const;
     void _set_negative(bool neg);
     void _toggle_negative();
 
     void _realloc(size_t new_digit_count);
     void _cleanup();
-    void _attach(const base_integer& copy);
+    void _attach(const base_integer& copy, bool treat_as_movable);
 
     void _increment(bool absolute_value=false);
     void _decrement(bool absolute_value=false);
-    void _add(const base_integer& n);
-    void _subtract(const base_integer& n);
 
-    integer _to_integer() const;
+    integer _to_integer(bool treat_as_movable) const;
     void _set_signed(boost::intmax_t n);
     void _set_unsigned(boost::uintmax_t n, bool negative=false);
 
@@ -213,8 +213,8 @@
     base_integer(const base_integer& c, bool fixed);
     explicit base_integer(data_t *adopt, bool neg=false);
     base_integer(size_t count, digit_t mask);
-    void _base_attach(data_t *new_data, flag_t flags=0, size_t
-        extra_allocation=0);
+    void _base_attach(data_t *new_data, flag_t flags = 0, size_t
+        extra_allocation = 0, bool is_movable = false);
 
     void _set_readonly();
 
@@ -222,6 +222,7 @@
     static const flag_t flag_negative = 0x01;
     static const flag_t flag_readonly = 0x02;
     static const flag_t flag_fixedlength = 0x04;
+    static const flag_t flag_movable = 0x08;
 
     private:
     flag_t flags;
Modified: sandbox/xint/boost/xint/random.hpp
==============================================================================
--- sandbox/xint/boost/xint/random.hpp	(original)
+++ sandbox/xint/boost/xint/random.hpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -124,8 +124,9 @@
     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));
+    integer r(detail::random_by_size(generator, bits, high_bit_on, low_bit_on,
+        can_be_negative));
+    return BOOST_XINT_MOVE(r);
 }
 
 /*! \brief Generate a randomly-generated prime number of a particular bit-size.
Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html	(original)
+++ sandbox/xint/doc/acknowledgements.html	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -30,13 +30,20 @@
 <li>Providing test cases and documentation tweaks;</li>
 <li>General advice and moral support.</li>
 </ul>
-<p>The library wouldn't be nearly as good without his work, and I hope I didn't irritate him too much. :-)</p>
+<p>...and to Jeffrey Lee Hellrung, Jr., for...</p>
+<ul>
+<li>advice on implementing move-aware objects;</li>
+<li>an invigorating discussion on the differing needs of an integer library versus a floating-point one;</li>
+<li>politely pointing out a logic bug that I was blind to;</li>
+<li>and several other things that I'm sure I missed.</li>
+</ul>
+<p>The library wouldn't be nearly as good without their work.</p>
 <p>Other contributors from the Boost development list, roughly in the order that they contributed:</p>
 <ul>
 <li>Steven Watanabe, for an improvement to the template constructor, and for comments on the random number code.</li>
 <li>Scott McMurray, for comments on the random number code, the Not-a-Number value, and the blockable exceptions design, and for accidentally pointing out an error in the square-root function, among other things.</li>
-<li>"Pavel" for suggesting adding the algorithmic complexity of each function to the documentation, and for understanding what I was trying to explain when no one else seemed to.</li>
-<li>Jeffrey Lee Hellrung, Jr., for advice on implementing move-aware objects, and for an invigorating discussion on the differing needs of an integer library versus a floating-point one, among other things.</li>
+<li>"Pavel" for suggesting adding the algorithmic complexity of each function to the documentation, and for more than once understanding what I was trying to explain when no one else seemed to.</li>
+<li>Vincente Juan Botet Escribá, for doubting everything I wrote... irritating, but sometimes useful.</li>
 <li>Peter Dimov, for suggesting a separate <code>overflow_error</code> exception class.</li>
 <li>"Fred," a.k.a. "Gottlob Frege", for information on infinities.</li>
 <li>Joachim Faulhaber, for a discussion of intervals and interval containers.</li>
@@ -46,7 +53,6 @@
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
 <li>Anders Dalvander</li>
-<li>Vincente Juan Botet Escribá</li>
 <li>Arash Partow</li>
 <li>Robert Stewart</li>
 <li>Frank Mori Hess</li>
@@ -58,7 +64,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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -50,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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -61,7 +61,7 @@
 <a name="l00042"></a>00042 base_integer::base_integer(<span class="keyword">const</span> base_integer& c, <span class="keywordtype">bool</span> fixed): flags(0), data(0)
 <a name="l00043"></a>00043 {
 <a name="l00044"></a>00044     <span class="keywordflow">if</span> (fixed) flags |= flag_fixedlength;
-<a name="l00045"></a>00045     _attach(c);
+<a name="l00045"></a>00045     _attach(c, <span class="keyword">false</span>);
 <a name="l00046"></a>00046 }
 <a name="l00047"></a>00047 
 <a name="l00048"></a>00048 base_integer::base_integer(<span class="keywordtype">size_t</span> count, digit_t mask): flags(flag_fixedlength),
@@ -214,166 +214,176 @@
 <a name="l00195"></a>00195     }
 <a name="l00196"></a>00196 }
 <a name="l00197"></a>00197 
-<a name="l00198"></a>00198 <span class="keywordtype">void</span> base_integer::_swap(base_integer& other) {
-<a name="l00199"></a>00199     flag_t tempflags = flags;
-<a name="l00200"></a>00200     flags = other.flags;
-<a name="l00201"></a>00201     other.flags = tempflags;
-<a name="l00202"></a>00202 
-<a name="l00203"></a>00203     data_t *tempdata = data;
-<a name="l00204"></a>00204     data = other.data;
-<a name="l00205"></a>00205     other.data = tempdata;
-<a name="l00206"></a>00206 }
-<a name="l00207"></a>00207 
-<a name="l00208"></a>00208 <span class="keywordtype">void</span> base_integer::_base_attach(data_t *new_data, flag_t setflags, <span class="keywordtype">size_t</span>
-<a name="l00209"></a>00209     extra_allocation)
-<a name="l00210"></a>00210 {
-<a name="l00211"></a>00211 <span class="preprocessor">    #ifdef BOOST_XINT_USE_COPY_ON_WRITE</span>
-<a name="l00212"></a>00212 <span class="preprocessor"></span>        <span class="keywordtype">bool</span> adopt=<span class="keyword">true</span>;
-<a name="l00213"></a>00213 <span class="preprocessor">    #else</span>
-<a name="l00214"></a>00214 <span class="preprocessor"></span>        <span class="keywordtype">bool</span> adopt=(new_data && new_data->copies == 0);
-<a name="l00215"></a>00215 <span class="preprocessor">    #endif</span>
-<a name="l00216"></a>00216 <span class="preprocessor"></span>
-<a name="l00217"></a>00217     <span class="keywordflow">if</span> (data != new_data || extra_allocation != 0) {
-<a name="l00218"></a>00218         <span class="comment">// If only one of them is fixed-length, the data can't be adopted.</span>
-<a name="l00219"></a>00219         <span class="keywordflow">if</span> (adopt && new_data && _is_fixed() != (new_data->fixed_mask != 0))
-<a name="l00220"></a>00220             adopt=<span class="keyword">false</span>;
-<a name="l00221"></a>00221 
-<a name="l00222"></a>00222         <span class="comment">// If either of them are fixed-length, and they're not the same fixed-</span>
-<a name="l00223"></a>00223         <span class="comment">// length, then the data can't be adopted.</span>
-<a name="l00224"></a>00224         <span class="keywordflow">if</span> (adopt && data && new_data && (data->fixed_mask ||
-<a name="l00225"></a>00225             new_data->fixed_mask) && (data->fixed_mask != new_data->fixed_mask
-<a name="l00226"></a>00226             || data->max_length != new_data->max_length)) adopt=<span class="keyword">false</span>;
-<a name="l00227"></a>00227 
-<a name="l00228"></a>00228         <span class="comment">// If we don't have a data item, but we're supposed to allocate extra</span>
-<a name="l00229"></a>00229         <span class="comment">// data, we can't adopt the existing data item.</span>
-<a name="l00230"></a>00230         <span class="keywordflow">if</span> (adopt && extra_allocation != 0 && !data) adopt=<span class="keyword">false</span>;
-<a name="l00231"></a>00231 
-<a name="l00232"></a>00232         <span class="comment">// If extra_allocation is requested, and it's a variable-length integer,</span>
-<a name="l00233"></a>00233         <span class="comment">// check the max_size. If there isn't enough to fit in the</span>
-<a name="l00234"></a>00234         <span class="comment">// extra_allocation, don't allow adoption.</span>
-<a name="l00235"></a>00235         <span class="keywordflow">if</span> (adopt && extra_allocation != 0 && data->fixed_mask == 0)
-<a name="l00236"></a>00236             <span class="keywordflow">if</span> (data->length + extra_allocation > data->max_length) adopt=<span class="keyword">false</span>;
-<a name="l00237"></a>00237 
-<a name="l00238"></a>00238         <span class="keywordflow">if</span> (adopt) {
-<a name="l00239"></a>00239             <span class="keywordflow">if</span> (data && --data->copies == 0) deallocate(data);
-<a name="l00240"></a>00240             data=new_data;
-<a name="l00241"></a>00241             <span class="keywordflow">if</span> (data) ++data->copies;
-<a name="l00242"></a>00242         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (new_data != 0) {
-<a name="l00243"></a>00243             <span class="comment">// Duplicate the data in a unique data_t item</span>
-<a name="l00244"></a>00244             <span class="keywordflow">if</span> (data == 0) {
-<a name="l00245"></a>00245                 data = (_is_fixed() ?
-<a name="l00246"></a>00246                     allocate_fixed(new_data->fixed_mask, new_data->max_length,
-<a name="l00247"></a>00247                         0) :
-<a name="l00248"></a>00248                     allocate(new_data->length + extra_allocation, 0));
-<a name="l00249"></a>00249                 ++data->copies;
-<a name="l00250"></a>00250             } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((data->copies > 1 || data->max_length < new_data->length
-<a name="l00251"></a>00251                 + extra_allocation) || _get_readonly())
-<a name="l00252"></a>00252             {
-<a name="l00253"></a>00253                 data_t *olddata = data;
-<a name="l00254"></a>00254                 data = (_is_fixed() ?
-<a name="l00255"></a>00255                     allocate_fixed(data->fixed_mask, data->max_length, 0) :
+<a name="l00198"></a>00198 <span class="keywordtype">void</span> base_integer::_mark_movable() {
+<a name="l00199"></a>00199     <span class="keywordflow">if</span> (_is_unique()) flags |= flag_movable;
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 
+<a name="l00202"></a>00202 <span class="keywordtype">bool</span> base_integer::_is_movable()<span class="keyword"> const </span>{
+<a name="l00203"></a>00203     <span class="keywordflow">return</span> ((flags & flag_movable) ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205 
+<a name="l00206"></a>00206 <span class="keywordtype">void</span> base_integer::_swap(base_integer& other) {
+<a name="l00207"></a>00207     flag_t tempflags = flags;
+<a name="l00208"></a>00208     flags = other.flags;
+<a name="l00209"></a>00209     other.flags = tempflags;
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211     data_t *tempdata = data;
+<a name="l00212"></a>00212     data = other.data;
+<a name="l00213"></a>00213     other.data = tempdata;
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 
+<a name="l00216"></a>00216 <span class="keywordtype">void</span> base_integer::_base_attach(data_t *new_data, flag_t setflags, <span class="keywordtype">size_t</span>
+<a name="l00217"></a>00217     extra_allocation, <span class="keywordtype">bool</span> is_movable)
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="preprocessor">    #ifdef BOOST_XINT_USE_COPY_ON_WRITE</span>
+<a name="l00220"></a>00220 <span class="preprocessor"></span>        <span class="keywordtype">bool</span> adopt=<span class="keyword">true</span>;
+<a name="l00221"></a>00221 <span class="preprocessor">    #else</span>
+<a name="l00222"></a>00222 <span class="preprocessor"></span>        <span class="keywordtype">bool</span> adopt=(new_data && is_movable);
+<a name="l00223"></a>00223 <span class="preprocessor">    #endif</span>
+<a name="l00224"></a>00224 <span class="preprocessor"></span>
+<a name="l00225"></a>00225     <span class="keywordflow">if</span> (data != new_data || extra_allocation != 0) {
+<a name="l00226"></a>00226         <span class="comment">// If only one of them is fixed-length, the data can't be adopted.</span>
+<a name="l00227"></a>00227         <span class="keywordflow">if</span> (adopt && new_data && _is_fixed() != (new_data->fixed_mask != 0))
+<a name="l00228"></a>00228             adopt=<span class="keyword">false</span>;
+<a name="l00229"></a>00229 
+<a name="l00230"></a>00230         <span class="comment">// If either of them are fixed-length, and they're not the same fixed-</span>
+<a name="l00231"></a>00231         <span class="comment">// length, then the data can't be adopted.</span>
+<a name="l00232"></a>00232         <span class="keywordflow">if</span> (adopt && data && new_data && (data->fixed_mask ||
+<a name="l00233"></a>00233             new_data->fixed_mask) && (data->fixed_mask != new_data->fixed_mask
+<a name="l00234"></a>00234             || data->max_length != new_data->max_length)) adopt=<span class="keyword">false</span>;
+<a name="l00235"></a>00235 
+<a name="l00236"></a>00236         <span class="comment">// If we don't have a data item, but we're supposed to allocate extra</span>
+<a name="l00237"></a>00237         <span class="comment">// data, we can't adopt the existing data item.</span>
+<a name="l00238"></a>00238         <span class="keywordflow">if</span> (adopt && extra_allocation != 0 && !data) adopt=<span class="keyword">false</span>;
+<a name="l00239"></a>00239 
+<a name="l00240"></a>00240         <span class="comment">// If extra_allocation is requested, and it's a variable-length integer,</span>
+<a name="l00241"></a>00241         <span class="comment">// check the max_size. If there isn't enough to fit in the</span>
+<a name="l00242"></a>00242         <span class="comment">// extra_allocation, don't allow adoption.</span>
+<a name="l00243"></a>00243         <span class="keywordflow">if</span> (adopt && extra_allocation != 0 && data->fixed_mask == 0)
+<a name="l00244"></a>00244             <span class="keywordflow">if</span> (data->length + extra_allocation > data->max_length) adopt=<span class="keyword">false</span>;
+<a name="l00245"></a>00245 
+<a name="l00246"></a>00246         <span class="keywordflow">if</span> (adopt) {
+<a name="l00247"></a>00247             <span class="keywordflow">if</span> (data && --data->copies == 0) deallocate(data);
+<a name="l00248"></a>00248             data=new_data;
+<a name="l00249"></a>00249             <span class="keywordflow">if</span> (data) ++data->copies;
+<a name="l00250"></a>00250         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (new_data != 0) {
+<a name="l00251"></a>00251             <span class="comment">// Duplicate the data in a unique data_t item</span>
+<a name="l00252"></a>00252             <span class="keywordflow">if</span> (data == 0) {
+<a name="l00253"></a>00253                 data = (_is_fixed() ?
+<a name="l00254"></a>00254                     allocate_fixed(new_data->fixed_mask, new_data->max_length,
+<a name="l00255"></a>00255                         0) :
 <a name="l00256"></a>00256                     allocate(new_data->length + extra_allocation, 0));
 <a name="l00257"></a>00257                 ++data->copies;
-<a name="l00258"></a>00258                 <span class="keywordflow">if</span> (--olddata->copies == 0) deallocate(olddata);
-<a name="l00259"></a>00259             }
-<a name="l00260"></a>00260             data->length = (std::min)(new_data->length + extra_allocation,
-<a name="l00261"></a>00261                 data->max_length);
-<a name="l00262"></a>00262 
-<a name="l00263"></a>00263             digit_t *s = new_data->magnitude, *se = s + new_data->length;
-<a name="l00264"></a>00264             digit_t *t = data->magnitude, *te = t + data->length;
-<a name="l00265"></a>00265             <span class="keywordflow">while</span> (t != te && s != se) *t++ = *s++;
-<a name="l00266"></a>00266             zero(t, te);
-<a name="l00267"></a>00267         } <span class="keywordflow">else</span> {
-<a name="l00268"></a>00268             <span class="keywordflow">if</span> (--data->copies == 0) deallocate(data);
-<a name="l00269"></a>00269             data=0;
-<a name="l00270"></a>00270         }
-<a name="l00271"></a>00271     }
-<a name="l00272"></a>00272     flags = setflags;
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 
-<a name="l00275"></a>00275 <span class="keywordtype">void</span> base_integer::_attach(<span class="keyword">const</span> base_integer& copy) {
-<a name="l00276"></a>00276     _base_attach(copy.data, copy.flags);
-<a name="l00277"></a>00277     <span class="keywordflow">if</span> (data) _cleanup();
-<a name="l00278"></a>00278 }
-<a name="l00279"></a>00279 
-<a name="l00280"></a>00280 <span class="keywordtype">void</span> base_integer::_cleanup() {
-<a name="l00281"></a>00281     digit_t *p = data->magnitude + data->length - 1;
-<a name="l00282"></a>00282     <span class="keywordflow">if</span> (data->fixed_mask != 0 && p == data->magnitude + data->max_length - 1)
-<a name="l00283"></a>00283         *p &= data->fixed_mask;
-<a name="l00284"></a>00284     <span class="keywordflow">if</span> (*p == 0) {
-<a name="l00285"></a>00285         <span class="keywordflow">if</span> (p != data->magnitude) {
-<a name="l00286"></a>00286             <span class="keywordflow">while</span> (--p != data->magnitude && *p == 0); <span class="comment">// Null loop</span>
-<a name="l00287"></a>00287             <span class="keywordflow">if</span> (*p == 0) _set_negative(<span class="keyword">false</span>); <span class="comment">// It's zero.</span>
-<a name="l00288"></a>00288             data->length = p - data->magnitude + 1;
-<a name="l00289"></a>00289         } <span class="comment">// It's zero, but it may legitimately be a "negative zero", leave it.</span>
-<a name="l00290"></a>00290     }
-<a name="l00291"></a>00291 }
-<a name="l00292"></a>00292 
-<a name="l00293"></a>00293 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> base_integer::_to_integer()<span class="keyword"> const </span>{
-<a name="l00294"></a>00294     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00295"></a>00295     r._attach(*<span class="keyword">this</span>);
-<a name="l00296"></a>00296     <span class="keywordflow">return</span> r;
-<a name="l00297"></a>00297 }
-<a name="l00298"></a>00298 
-<a name="l00299"></a>00299 <span class="keywordtype">void</span> base_integer::_increment(<span class="keywordtype">bool</span> absolute_value) {
-<a name="l00300"></a>00300     _make_unique();
-<a name="l00301"></a>00301     <span class="keywordflow">if</span> (_is_zero()) {
-<a name="l00302"></a>00302         data->magnitude[0] = 1;
-<a name="l00303"></a>00303         _set_negative(<span class="keyword">false</span>);
-<a name="l00304"></a>00304     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value && _get_negative()) {
-<a name="l00305"></a>00305         _decrement(<span class="keyword">true</span>);
-<a name="l00306"></a>00306     } <span class="keywordflow">else</span> {
-<a name="l00307"></a>00307         _realloc(_get_length() + 1);
-<a name="l00308"></a>00308         digit_t *p = _get_writable_digits(), *pe = p + _get_length();
-<a name="l00309"></a>00309 
-<a name="l00310"></a>00310         <span class="keywordflow">while</span> (p < pe) {
-<a name="l00311"></a>00311             <span class="keywordflow">if</span> (*p == digit_mask) *p++ = 0;
-<a name="l00312"></a>00312             <span class="keywordflow">else</span> { *p++ += 1; <span class="keywordflow">break</span>; }
-<a name="l00313"></a>00313         }
-<a name="l00314"></a>00314         _cleanup();
-<a name="l00315"></a>00315     }
-<a name="l00316"></a>00316 }
-<a name="l00317"></a>00317 
-<a name="l00318"></a>00318 <span class="keywordtype">void</span> base_integer::_decrement(<span class="keywordtype">bool</span> absolute_value) {
-<a name="l00319"></a>00319     _make_unique();
-<a name="l00320"></a>00320     <span class="keywordflow">if</span> (_is_zero()) {
-<a name="l00321"></a>00321         data->magnitude[0]=1;
-<a name="l00322"></a>00322         _set_negative(<span class="keyword">true</span>);
-<a name="l00323"></a>00323     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value && _get_negative()) {
-<a name="l00324"></a>00324         _increment(<span class="keyword">true</span>);
-<a name="l00325"></a>00325     } <span class="keywordflow">else</span> {
-<a name="l00326"></a>00326         digit_t *p = _get_writable_digits(), *pe = p + _get_length();
-<a name="l00327"></a>00327         <span class="keywordflow">while</span> (p != pe) {
-<a name="l00328"></a>00328             <span class="keywordflow">if</span> (*p == 0) *p++ = digit_mask;
-<a name="l00329"></a>00329             <span class="keywordflow">else</span> { *p++ -= 1; <span class="keywordflow">break</span>; }
-<a name="l00330"></a>00330         }
-<a name="l00331"></a>00331         _cleanup();
-<a name="l00332"></a>00332     }
-<a name="l00333"></a>00333 }
-<a name="l00334"></a>00334 
-<a name="l00336"></a>00336 
-<a name="l00337"></a>00337 <span class="keywordtype">void</span> base_variable_length_integer::_attach_0() {
-<a name="l00338"></a>00338     _base_attach(variable_zerodata());
-<a name="l00339"></a>00339 }
-<a name="l00340"></a>00340 
-<a name="l00341"></a>00341 <span class="keywordtype">size_t</span> log10_bits(<span class="keywordtype">size_t</span> bits) {
-<a name="l00342"></a>00342     assert(std::numeric_limits<boost::intmax_t>::digits >= 32);
-<a name="l00343"></a>00343     <span class="keyword">const</span> boost::intmax_t large_step(1000000000), small_step(10);
-<a name="l00344"></a>00344     <span class="keyword">const</span> <span class="keywordtype">size_t</span> count_per_large_step = 9, count_per_small_step = 1;
-<a name="l00345"></a>00345     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> n(<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(bits)-1);
+<a name="l00258"></a>00258             } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((data->copies > 1 || data->max_length < new_data->length
+<a name="l00259"></a>00259                 + extra_allocation) || _get_readonly())
+<a name="l00260"></a>00260             {
+<a name="l00261"></a>00261                 data_t *olddata = data;
+<a name="l00262"></a>00262                 data = (_is_fixed() ?
+<a name="l00263"></a>00263                     allocate_fixed(data->fixed_mask, data->max_length, 0) :
+<a name="l00264"></a>00264                     allocate(new_data->length + extra_allocation, 0));
+<a name="l00265"></a>00265                 ++data->copies;
+<a name="l00266"></a>00266                 <span class="keywordflow">if</span> (--olddata->copies == 0) deallocate(olddata);
+<a name="l00267"></a>00267             }
+<a name="l00268"></a>00268             data->length = (std::min)(new_data->length + extra_allocation,
+<a name="l00269"></a>00269                 data->max_length);
+<a name="l00270"></a>00270 
+<a name="l00271"></a>00271             digit_t *s = new_data->magnitude, *se = s + new_data->length;
+<a name="l00272"></a>00272             digit_t *t = data->magnitude, *te = t + data->length;
+<a name="l00273"></a>00273             <span class="keywordflow">while</span> (t != te && s != se) *t++ = *s++;
+<a name="l00274"></a>00274             zero(t, te);
+<a name="l00275"></a>00275         } <span class="keywordflow">else</span> {
+<a name="l00276"></a>00276             <span class="keywordflow">if</span> (--data->copies == 0) deallocate(data);
+<a name="l00277"></a>00277             data=0;
+<a name="l00278"></a>00278         }
+<a name="l00279"></a>00279     }
+<a name="l00280"></a>00280     flags = setflags;
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282 
+<a name="l00283"></a>00283 <span class="keywordtype">void</span> base_integer::_attach(<span class="keyword">const</span> base_integer& copy, <span class="keywordtype">bool</span> movable) {
+<a name="l00284"></a>00284     <span class="keywordtype">bool</span> move = (copy._is_movable() || (movable && copy.data &&
+<a name="l00285"></a>00285         copy.data->copies <= 1));
+<a name="l00286"></a>00286     _base_attach(copy.data, copy.flags, 0, move);
+<a name="l00287"></a>00287     <span class="keywordflow">if</span> (data) _cleanup();
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289 
+<a name="l00290"></a>00290 <span class="keywordtype">void</span> base_integer::_cleanup() {
+<a name="l00291"></a>00291     digit_t *p = data->magnitude + data->length - 1;
+<a name="l00292"></a>00292     <span class="keywordflow">if</span> (data->fixed_mask != 0 && p == data->magnitude + data->max_length - 1)
+<a name="l00293"></a>00293         *p &= data->fixed_mask;
+<a name="l00294"></a>00294     <span class="keywordflow">if</span> (*p == 0) {
+<a name="l00295"></a>00295         <span class="keywordflow">if</span> (p != data->magnitude) {
+<a name="l00296"></a>00296             <span class="keywordflow">while</span> (--p != data->magnitude && *p == 0); <span class="comment">// Null loop</span>
+<a name="l00297"></a>00297             <span class="keywordflow">if</span> (*p == 0) _set_negative(<span class="keyword">false</span>); <span class="comment">// It's zero.</span>
+<a name="l00298"></a>00298             data->length = p - data->magnitude + 1;
+<a name="l00299"></a>00299         } <span class="comment">// It's zero, but it may legitimately be a "negative zero", leave it.</span>
+<a name="l00300"></a>00300     }
+<a name="l00301"></a>00301 }
+<a name="l00302"></a>00302 
+<a name="l00303"></a>00303 <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> base_integer::_to_integer(<span class="keywordtype">bool</span> treat_as_movable)<span class="keyword"> const </span>{
+<a name="l00304"></a>00304     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> r;
+<a name="l00305"></a>00305     r._attach(*<span class="keyword">this</span>, treat_as_movable);
+<a name="l00306"></a>00306     <span class="keywordflow">return</span> r;
+<a name="l00307"></a>00307 }
+<a name="l00308"></a>00308 
+<a name="l00309"></a>00309 <span class="keywordtype">void</span> base_integer::_increment(<span class="keywordtype">bool</span> absolute_value) {
+<a name="l00310"></a>00310     _make_unique();
+<a name="l00311"></a>00311     <span class="keywordflow">if</span> (_is_zero()) {
+<a name="l00312"></a>00312         data->magnitude[0] = 1;
+<a name="l00313"></a>00313         _set_negative(<span class="keyword">false</span>);
+<a name="l00314"></a>00314     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value && _get_negative()) {
+<a name="l00315"></a>00315         _decrement(<span class="keyword">true</span>);
+<a name="l00316"></a>00316     } <span class="keywordflow">else</span> {
+<a name="l00317"></a>00317         _realloc(_get_length() + 1);
+<a name="l00318"></a>00318         digit_t *p = _get_writable_digits(), *pe = p + _get_length();
+<a name="l00319"></a>00319 
+<a name="l00320"></a>00320         <span class="keywordflow">while</span> (p < pe) {
+<a name="l00321"></a>00321             <span class="keywordflow">if</span> (*p == digit_mask) *p++ = 0;
+<a name="l00322"></a>00322             <span class="keywordflow">else</span> { *p++ += 1; <span class="keywordflow">break</span>; }
+<a name="l00323"></a>00323         }
+<a name="l00324"></a>00324         _cleanup();
+<a name="l00325"></a>00325     }
+<a name="l00326"></a>00326 }
+<a name="l00327"></a>00327 
+<a name="l00328"></a>00328 <span class="keywordtype">void</span> base_integer::_decrement(<span class="keywordtype">bool</span> absolute_value) {
+<a name="l00329"></a>00329     _make_unique();
+<a name="l00330"></a>00330     <span class="keywordflow">if</span> (_is_zero()) {
+<a name="l00331"></a>00331         data->magnitude[0]=1;
+<a name="l00332"></a>00332         _set_negative(<span class="keyword">true</span>);
+<a name="l00333"></a>00333     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value && _get_negative()) {
+<a name="l00334"></a>00334         _increment(<span class="keyword">true</span>);
+<a name="l00335"></a>00335     } <span class="keywordflow">else</span> {
+<a name="l00336"></a>00336         digit_t *p = _get_writable_digits(), *pe = p + _get_length();
+<a name="l00337"></a>00337         <span class="keywordflow">while</span> (p != pe) {
+<a name="l00338"></a>00338             <span class="keywordflow">if</span> (*p == 0) *p++ = digit_mask;
+<a name="l00339"></a>00339             <span class="keywordflow">else</span> { *p++ -= 1; <span class="keywordflow">break</span>; }
+<a name="l00340"></a>00340         }
+<a name="l00341"></a>00341         _cleanup();
+<a name="l00342"></a>00342     }
+<a name="l00343"></a>00343 }
+<a name="l00344"></a>00344 
 <a name="l00346"></a>00346 
-<a name="l00347"></a>00347     <span class="keywordtype">size_t</span> r = 0;
-<a name="l00348"></a>00348     <span class="keywordflow">while</span> (n >= large_step) { n /= large_step; r += count_per_large_step; }
-<a name="l00349"></a>00349     <span class="keywordflow">while</span> (n >= small_step) { n /= small_step; r += count_per_small_step; }
-<a name="l00350"></a>00350     <span class="keywordflow">return</span> r;
-<a name="l00351"></a>00351 }
-<a name="l00352"></a>00352 
-<a name="l00353"></a>00353 } <span class="comment">// namespace detail</span>
-<a name="l00355"></a>00355 <span class="comment"></span>
-<a name="l00356"></a>00356 } <span class="comment">// namespace xint</span>
-<a name="l00357"></a>00357 } <span class="comment">// namespace boost</span>
+<a name="l00347"></a>00347 <span class="keywordtype">void</span> base_variable_length_integer::_attach_0() {
+<a name="l00348"></a>00348     _base_attach(variable_zerodata());
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350 
+<a name="l00351"></a>00351 <span class="keywordtype">size_t</span> log10_bits(<span class="keywordtype">size_t</span> bits) {
+<a name="l00352"></a>00352     assert(std::numeric_limits<boost::intmax_t>::digits >= 32);
+<a name="l00353"></a>00353     <span class="keyword">const</span> boost::intmax_t large_step(1000000000), small_step(10);
+<a name="l00354"></a>00354     <span class="keyword">const</span> <span class="keywordtype">size_t</span> count_per_large_step = 9, count_per_small_step = 1;
+<a name="l00355"></a>00355     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> n(<a class="code" href="namespaceboost_1_1xint.html#af710e4b39cfa66096c202f17d12cc7b7" title="Calculate the value of 2e">pow2</a>(bits)-1);
+<a name="l00356"></a>00356 
+<a name="l00357"></a>00357     <span class="keywordtype">size_t</span> r = 0;
+<a name="l00358"></a>00358     <span class="keywordflow">while</span> (n >= large_step) { n /= large_step; r += count_per_large_step; }
+<a name="l00359"></a>00359     <span class="keywordflow">while</span> (n >= small_step) { n /= small_step; r += count_per_small_step; }
+<a name="l00360"></a>00360     <span class="keywordflow">return</span> r;
+<a name="l00361"></a>00361 }
+<a name="l00362"></a>00362 
+<a name="l00363"></a>00363 } <span class="comment">// namespace detail</span>
+<a name="l00365"></a>00365 <span class="comment"></span>
+<a name="l00366"></a>00366 } <span class="comment">// namespace xint</span>
+<a name="l00367"></a>00367 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -165,7 +165,7 @@
 <a name="l00145"></a>00145 
 <a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00147"></a>00147     <span class="keywordflow">if</span> (byBits==0) {
-<a name="l00148"></a>00148         target._attach(n);
+<a name="l00148"></a>00148         target._attach(n, <span class="keyword">false</span>);
 <a name="l00149"></a>00149         <span class="keywordflow">return</span>;
 <a name="l00150"></a>00150     }
 <a name="l00151"></a>00151 
@@ -198,12 +198,12 @@
 <a name="l00178"></a>00178     }
 <a name="l00179"></a>00179     answer._cleanup();
 <a name="l00180"></a>00180     answer._set_negative(n._get_negative());
-<a name="l00181"></a>00181     target._attach(answer);
+<a name="l00181"></a>00181     target._attach(answer, <span class="keyword">true</span>);
 <a name="l00182"></a>00182 }
 <a name="l00183"></a>00183 
 <a name="l00184"></a>00184 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits) {
 <a name="l00185"></a>00185     <span class="keywordflow">if</span> (byBits==0) {
-<a name="l00186"></a>00186         target._attach(n);
+<a name="l00186"></a>00186         target._attach(n, <span class="keyword">false</span>);
 <a name="l00187"></a>00187         <span class="keywordflow">return</span>;
 <a name="l00188"></a>00188     }
 <a name="l00189"></a>00189 
@@ -231,7 +231,7 @@
 <a name="l00211"></a>00211     }
 <a name="l00212"></a>00212     answer._cleanup();
 <a name="l00213"></a>00213     answer._set_negative(n._get_negative());
-<a name="l00214"></a>00214     target._attach(answer);
+<a name="l00214"></a>00214     target._attach(answer, <span class="keyword">true</span>);
 <a name="l00215"></a>00215 }
 <a name="l00216"></a>00216 
 <a name="l00217"></a>00217 } <span class="comment">// namespace detail</span>
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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< T ></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< T ></a></td><td></td></tr>
 </table></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -52,7 +52,7 @@
 <p>Holds the results from a division-with-remainder call. </p>
 <p>This class serves essentially the same purpose as an <code>std::pair</code>. The only reason it exists is that <code>std::pair</code> doesn't work well with Boost.Move on some compilers. </p>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00375">375</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00376">376</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/><h2>Constructor & Destructor Documentation</h2>
 <a class="anchor" id="a78e4dd66f424388d1db839ef53e25997"></a><!-- doxytag: member="boost::xint::base_divide_t::base_divide_t" ref="a78e4dd66f424388d1db839ef53e25997" args="()" -->
 <div class="memitem">
@@ -71,7 +71,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00377">377</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00378">378</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -102,7 +102,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00378">378</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00379">379</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -124,7 +124,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00379">379</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00380">380</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -146,7 +146,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00381">381</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00382">382</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -169,7 +169,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00387">387</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00388">388</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -191,7 +191,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00384">384</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00385">385</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -209,7 +209,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00391">391</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00392">392</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -226,7 +226,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00391">391</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00392">392</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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_1default__random__generator-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html	(original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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_1default__random__generator.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html	(original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1default__random__generator.html	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -71,7 +71,7 @@
 <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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="cannot represent the requested value")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="divide by zero error")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="invalid argument")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="invalid base")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="invalid digit")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="invalid modulus")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="system does not have a strong random generator")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="attempted to use a Not-a-Number")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="overflow error: can't obtain enough memory to represent the requested number")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &what="value out of range for requested conversion")</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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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< Bits ></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< Bits ></a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 &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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -59,7 +59,7 @@
 <p>The base class for all <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. </p>
 <p>This class eases operations on different-sized <a class="el" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer</a> types. </p>
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00333">333</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00334">334</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 <hr/><h2>Constructor & Destructor Documentation</h2>
 <a class="anchor" id="af6e682f145aaa5ceea6f8d81bf533442"></a><!-- doxytag: member="boost::xint::fixed_integer_any::fixed_integer_any" ref="af6e682f145aaa5ceea6f8d81bf533442" args="(const T &n, typename boost::enable_if< boost::is_integral< T > >::type *=0, typename boost::enable_if< boost::is_signed< T > >::type *=0)" -->
 <div class="memitem">
@@ -94,7 +94,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00341">341</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00342">342</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -131,7 +131,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00347">347</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00348">348</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -160,7 +160,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00354">354</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00355">355</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -189,7 +189,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00356">356</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00357">357</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -209,7 +209,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00358">358</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
+<p>Definition at line <a class="el" href="internals_8hpp_source.html#l00359">359</a> of file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 
 </div>
 </div>
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -238,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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -39,7 +39,7 @@
 </td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  N  </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< boost::xint::nothrow_integer ></a> (<a class="el" href="namespacestd.html">std</a>)   </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>)   </td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a></div>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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< boost::xint::fixed_integer< Bits > ></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< boost::xint::fixed_integer< Bits > ></a></td><td><code> [static]</code></td></tr>
 </table></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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< boost::xint::integer ></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< boost::xint::integer ></a></td><td><code> [static]</code></td></tr>
 </table></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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< boost::xint::nothrow_integer ></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< 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -97,7 +97,7 @@
 <a name="l00080"></a>00080         <span class="comment">// this function, I'll add it later.</span>
 <a name="l00081"></a>00081 
 <a name="l00082"></a>00082         <span class="keyword">const</span> integer <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(base);
-<a name="l00083"></a>00083         <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a> a(n._to_integer(), <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
+<a name="l00083"></a>00083         <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a> a(n._to_integer(<span class="keyword">false</span>), <a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
 <a name="l00084"></a>00084         a.quotient._set_negative(<span class="keyword">false</span>);
 <a name="l00085"></a>00085 
 <a name="l00086"></a>00086         integer r;
@@ -158,7 +158,7 @@
 <a name="l00141"></a>00141     }
 <a name="l00142"></a>00142     r._set_negative(negate);
 <a name="l00143"></a>00143 
-<a name="l00144"></a>00144     target._attach(r);
+<a name="l00144"></a>00144     target._attach(r, <span class="keyword">true</span>);
 <a name="l00145"></a>00145 }
 <a name="l00146"></a>00146 
 <a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> bits) {
@@ -193,7 +193,7 @@
 <a name="l00176"></a>00176                 *t++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 <a name="l00177"></a>00177 
 <a name="l00178"></a>00178     r._cleanup();
-<a name="l00179"></a>00179     target._attach(r);
+<a name="l00179"></a>00179     target._attach(r, <span class="keyword">true</span>);
 <a name="l00180"></a>00180 }
 <a name="l00181"></a>00181 
 <a name="l00182"></a>00182 } <span class="comment">// namespace detail</span>
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -62,7 +62,7 @@
 </div>
 </div>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -38,7 +38,7 @@
 </ul>
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -9,8 +9,14 @@
 - Providing test cases and documentation tweaks;
 - General advice and moral support.
 
-The library wouldn't be nearly as good without his work, and I hope I didn't
-irritate him too much. :-)
+...and to Jeffrey Lee Hellrung, Jr., for...
+- advice on implementing move-aware objects;
+- an invigorating discussion on the differing needs of an integer library versus
+a floating-point one;
+- politely pointing out a logic bug that I was blind to;
+- and several other things that I'm sure I missed.
+
+The library wouldn't be nearly as good without their work.
 
 Other contributors from the Boost development list, roughly in the order that
 they contributed:
@@ -21,11 +27,10 @@
 value, and the blockable exceptions design, and for accidentally pointing out an
 error in the square-root function, among other things.
 - "Pavel" for suggesting adding the algorithmic complexity of each function to
-the documentation, and for understanding what I was trying to explain when no
-one else seemed to.
-- Jeffrey Lee Hellrung, Jr., for advice on implementing move-aware objects, and
-for an invigorating discussion on the differing needs of an integer library
-versus a floating-point one, among other things.
+the documentation, and for more than once understanding what I was trying to
+explain when no one else seemed to.
+- Vincente Juan Botet Escribá, for doubting everything I wrote... irritating,
+but sometimes useful.
 - Peter Dimov, for suggesting a separate \c overflow_error exception class.
 - "Fred," a.k.a. "Gottlob Frege", for information on infinities.
 - Joachim Faulhaber, for a discussion of intervals and interval containers.
@@ -36,7 +41,6 @@
 And the other Boost development list members who joined the discussion:
 
 - Anders Dalvander
-- Vincente Juan Botet Escribá
 - Arash Partow
 - Robert Stewart
 - Frank Mori Hess
Modified: sandbox/xint/doc/ex__fibonacci.html
==============================================================================
--- sandbox/xint/doc/ex__fibonacci.html	(original)
+++ sandbox/xint/doc/ex__fibonacci.html	2010-05-04 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -62,7 +62,7 @@
     }
 }
 </pre></div> </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -64,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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -270,7 +270,7 @@
 </div>
 </div>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -66,8 +66,8 @@
 <a name="l00074"></a>00074     <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a7234a3a5bea21f0045cee62e5427f3bf">hex_digits</a>() <span class="keyword">const</span>;
 <a name="l00076"></a>00076 
 <a name="l00081"></a>00081 
-<a name="l00082"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">00082</a>     <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer<Bits></a>& <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer<Bits></a>& c) { _attach(c);
-<a name="l00083"></a>00083                 <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00082"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a5488c21218c4590496962b5fee817e8e">00082</a>     <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer<Bits></a>& <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#a8cd90bde9fd2284d2260986b9f23b3c7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html" title="A fixed-size integer type.">fixed_integer<Bits></a>& c) { _attach(c,
+<a name="l00083"></a>00083         <span class="keyword">false</span>); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00084"></a>00084 
 <a name="l00085"></a>00085     <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#ae2f227bfbdf7f7f4b69a968ae491f8df">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _is_zero(); }
 <a name="l00086"></a>00086     fixed_integer<Bits> <a class="code" href="classboost_1_1xint_1_1fixed__integer.html#aac0ac16865a09e299593891ae0399139">operator-</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(*<span class="keyword">this</span>); }
@@ -269,7 +269,7 @@
 <a name="l00333"></a>00333     fixed_integer_any(preallocated_zero.get())
 <a name="l00334"></a>00334 {
 <a name="l00335"></a>00335     <span class="keywordflow">if</span> (b._is_nan()) <span class="keywordflow">throw</span> exceptions::not_a_number();
-<a name="l00336"></a>00336     _attach(b);
+<a name="l00336"></a>00336     _attach(b, <span class="keyword">false</span>);
 <a name="l00337"></a>00337 }
 <a name="l00338"></a>00338 
 <a name="l00344"></a>00344 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Bits>
@@ -752,7 +752,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -86,7 +86,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -66,7 +66,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -93,7 +93,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -118,7 +118,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -98,7 +98,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -72,7 +72,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -171,7 +171,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -68,7 +68,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -81,7 +81,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -73,7 +73,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -63,7 +63,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -359,7 +359,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -45,7 +45,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -199,7 +199,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -82,9 +82,9 @@
 <a name="l00064"></a>00064     <span class="keywordflow">if</span> (num1._is_zero() && num2._is_zero()) {
 <a name="l00065"></a>00065         target._set_unsigned(0);
 <a name="l00066"></a>00066     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num1._is_zero()) {
-<a name="l00067"></a>00067         target._attach(num2);
+<a name="l00067"></a>00067         target._attach(num2, <span class="keyword">false</span>);
 <a name="l00068"></a>00068     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num2._is_zero()) {
-<a name="l00069"></a>00069         target._attach(num1);
+<a name="l00069"></a>00069         target._attach(num1, <span class="keyword">false</span>);
 <a name="l00070"></a>00070     } <span class="keywordflow">else</span> {
 <a name="l00071"></a>00071         temp_t n(num1), m(num2);
 <a name="l00072"></a>00072         n._set_negative(<span class="keyword">false</span>);
@@ -97,7 +97,7 @@
 <a name="l00079"></a>00079             <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(m, m, k);
 <a name="l00080"></a>00080         }
 <a name="l00081"></a>00081 
-<a name="l00082"></a>00082         gcd_core core(n._to_integer(), m._to_integer());
+<a name="l00082"></a>00082         gcd_core core(n._to_integer(<span class="keyword">false</span>), m._to_integer(<span class="keyword">false</span>));
 <a name="l00083"></a>00083 
 <a name="l00084"></a>00084         <span class="keywordflow">if</span> (core.u3._is_zero()) {
 <a name="l00085"></a>00085             <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(target, fixed_integer_any(1), k);
@@ -121,7 +121,7 @@
 <a name="l00103"></a>00103         answer._set_negative(<span class="keyword">false</span>);
 <a name="l00104"></a>00104         <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(answer, remainder, answer, common);
 <a name="l00105"></a>00105 
-<a name="l00106"></a>00106         target._attach(answer);
+<a name="l00106"></a>00106         target._attach(answer, <span class="keyword">true</span>);
 <a name="l00107"></a>00107     }
 <a name="l00108"></a>00108 }
 <a name="l00109"></a>00109 
@@ -134,19 +134,19 @@
 <a name="l00116"></a>00116     <span class="keywordflow">if</span> (n._is_zero()) {
 <a name="l00117"></a>00117         target._set_unsigned(0);
 <a name="l00118"></a>00118     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n._get_negative()) {
-<a name="l00119"></a>00119         integer _n(n._to_integer());
+<a name="l00119"></a>00119         integer _n(n._to_integer(<span class="keyword">false</span>));
 <a name="l00120"></a>00120         _n._set_negative(<span class="keyword">false</span>);
 <a name="l00121"></a>00121 
 <a name="l00122"></a>00122         integer nn;
 <a name="l00123"></a>00123         <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>(nn, _n, m);
 <a name="l00124"></a>00124         <span class="keywordflow">if</span> (nn._is_zero()) {
-<a name="l00125"></a>00125             target._attach(nn);
+<a name="l00125"></a>00125             target._attach(nn, <span class="keyword">true</span>);
 <a name="l00126"></a>00126         } <span class="keywordflow">else</span> {
 <a name="l00127"></a>00127             nn._set_negative(<span class="keyword">true</span>);
 <a name="l00128"></a>00128             <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(target, nn, m);
 <a name="l00129"></a>00129         }
 <a name="l00130"></a>00130     } <span class="keywordflow">else</span> {
-<a name="l00131"></a>00131         integer nn(n._to_integer()), mm(m._to_integer());
+<a name="l00131"></a>00131         integer nn(n._to_integer(<span class="keyword">false</span>)), mm(m._to_integer(<span class="keyword">false</span>));
 <a name="l00132"></a>00132         <span class="keywordflow">if</span> (nn.even() && mm.even()) {
 <a name="l00133"></a>00133             <span class="comment">// GCD != 1, no inverse possible.</span>
 <a name="l00134"></a>00134             target._set_unsigned(0);
@@ -161,7 +161,7 @@
 <a name="l00143"></a>00143             <span class="keywordflow">return</span>;
 <a name="l00144"></a>00144         }
 <a name="l00145"></a>00145 
-<a name="l00146"></a>00146         target._attach(core.u1);
+<a name="l00146"></a>00146         target._attach(core.u1, <span class="keyword">true</span>);
 <a name="l00147"></a>00147     }
 <a name="l00148"></a>00148 }
 <a name="l00149"></a>00149 
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -64,7 +64,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -52,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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -50,16 +50,16 @@
 <a name="l00030"></a>00030 }
 <a name="l00031"></a>00031 
 <a name="l00042"></a>00042 <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> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>& b) {
-<a name="l00043"></a>00043     _attach(b);
+<a name="l00043"></a>00043     _attach(b, <span class="keyword">false</span>);
 <a name="l00044"></a>00044 }
 <a name="l00045"></a>00045 
 <a name="l00056"></a>00056 <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> nothrow_integer& b) {
 <a name="l00057"></a>00057     <span class="keywordflow">if</span> (b.is_nan()) <span class="keywordflow">throw</span> exceptions::not_a_number();
-<a name="l00058"></a>00058     _attach(b);
+<a name="l00058"></a>00058     _attach(b, <span class="keyword">false</span>);
 <a name="l00059"></a>00059 }
 <a name="l00060"></a>00060 
 <a name="l00067"></a>00067 <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> fixed_integer_any& b) {
-<a name="l00068"></a>00068     _attach(b);
+<a name="l00068"></a>00068     _attach(b, <span class="keyword">false</span>);
 <a name="l00069"></a>00069 }
 <a name="l00070"></a>00070 
 <a name="l00094"></a>00094 <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> std::string& str, <span class="keywordtype">size_t</span> base) {
@@ -95,7 +95,7 @@
 <a name="l00154"></a>00154 }
 <a name="l00155"></a>00155 
 <a name="l00156"></a>00156 <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#a81ff5a94d6895e1714e992fde407e7fa">integer::operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>) c) {
-<a name="l00157"></a>00157     _attach(c);
+<a name="l00157"></a>00157     _attach(c, <span class="keyword">false</span>);
 <a name="l00158"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a974cdabaf176323354cf491820b2d22d">00158</a>     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00159"></a>00159 }
 <a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">00160</a> 
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -182,7 +182,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -263,7 +263,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -199,7 +199,7 @@
 </div>
 </div>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -169,20 +169,20 @@
 <a name="l00185"></a>00185     <span class="keywordtype">size_t</span> _fixed_bits() <span class="keyword">const</span>;
 <a name="l00186"></a>00186 
 <a name="l00187"></a>00187     <span class="keywordtype">bool</span> _get_readonly() <span class="keyword">const</span>;
-<a name="l00188"></a>00188     <span class="keywordtype">bool</span> _get_negative() <span class="keyword">const</span>;
-<a name="l00189"></a>00189     <span class="keywordtype">void</span> _set_negative(<span class="keywordtype">bool</span> neg);
-<a name="l00190"></a>00190     <span class="keywordtype">void</span> _toggle_negative();
-<a name="l00191"></a>00191 
-<a name="l00192"></a>00192     <span class="keywordtype">void</span> _realloc(<span class="keywordtype">size_t</span> new_digit_count);
-<a name="l00193"></a>00193     <span class="keywordtype">void</span> _cleanup();
-<a name="l00194"></a>00194     <span class="keywordtype">void</span> _attach(<span class="keyword">const</span> base_integer& copy);
-<a name="l00195"></a>00195 
-<a name="l00196"></a>00196     <span class="keywordtype">void</span> _increment(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
-<a name="l00197"></a>00197     <span class="keywordtype">void</span> _decrement(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
-<a name="l00198"></a>00198     <span class="keywordtype">void</span> _add(<span class="keyword">const</span> base_integer& n);
-<a name="l00199"></a>00199     <span class="keywordtype">void</span> _subtract(<span class="keyword">const</span> base_integer& n);
+<a name="l00188"></a>00188     <span class="keywordtype">void</span> _mark_movable();
+<a name="l00189"></a>00189     <span class="keywordtype">bool</span> _is_movable() <span class="keyword">const</span>;
+<a name="l00190"></a>00190     <span class="keywordtype">bool</span> _get_negative() <span class="keyword">const</span>;
+<a name="l00191"></a>00191     <span class="keywordtype">void</span> _set_negative(<span class="keywordtype">bool</span> neg);
+<a name="l00192"></a>00192     <span class="keywordtype">void</span> _toggle_negative();
+<a name="l00193"></a>00193 
+<a name="l00194"></a>00194     <span class="keywordtype">void</span> _realloc(<span class="keywordtype">size_t</span> new_digit_count);
+<a name="l00195"></a>00195     <span class="keywordtype">void</span> _cleanup();
+<a name="l00196"></a>00196     <span class="keywordtype">void</span> _attach(<span class="keyword">const</span> base_integer& copy, <span class="keywordtype">bool</span> treat_as_movable);
+<a name="l00197"></a>00197 
+<a name="l00198"></a>00198     <span class="keywordtype">void</span> _increment(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
+<a name="l00199"></a>00199     <span class="keywordtype">void</span> _decrement(<span class="keywordtype">bool</span> absolute_value=<span class="keyword">false</span>);
 <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> _to_integer() <span class="keyword">const</span>;
+<a name="l00201"></a>00201     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> _to_integer(<span class="keywordtype">bool</span> treat_as_movable) <span class="keyword">const</span>;
 <a name="l00202"></a>00202     <span class="keywordtype">void</span> _set_signed(boost::intmax_t n);
 <a name="l00203"></a>00203     <span class="keywordtype">void</span> _set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> negative=<span class="keyword">false</span>);
 <a name="l00204"></a>00204 
@@ -196,8 +196,8 @@
 <a name="l00213"></a>00213     base_integer(<span class="keyword">const</span> base_integer& c, <span class="keywordtype">bool</span> fixed);
 <a name="l00214"></a>00214     <span class="keyword">explicit</span> base_integer(data_t *adopt, <span class="keywordtype">bool</span> neg=<span class="keyword">false</span>);
 <a name="l00215"></a>00215     base_integer(<span class="keywordtype">size_t</span> count, digit_t mask);
-<a name="l00216"></a>00216     <span class="keywordtype">void</span> _base_attach(data_t *new_data, flag_t flags=0, <span class="keywordtype">size_t</span>
-<a name="l00217"></a>00217         extra_allocation=0);
+<a name="l00216"></a>00216     <span class="keywordtype">void</span> _base_attach(data_t *new_data, flag_t flags = 0, <span class="keywordtype">size_t</span>
+<a name="l00217"></a>00217         extra_allocation = 0, <span class="keywordtype">bool</span> is_movable = <span class="keyword">false</span>);
 <a name="l00218"></a>00218 
 <a name="l00219"></a>00219     <span class="keywordtype">void</span> _set_readonly();
 <a name="l00220"></a>00220 
@@ -205,301 +205,302 @@
 <a name="l00222"></a>00222     <span class="keyword">static</span> <span class="keyword">const</span> flag_t flag_negative = 0x01;
 <a name="l00223"></a>00223     <span class="keyword">static</span> <span class="keyword">const</span> flag_t flag_readonly = 0x02;
 <a name="l00224"></a>00224     <span class="keyword">static</span> <span class="keyword">const</span> flag_t flag_fixedlength = 0x04;
-<a name="l00225"></a>00225 
-<a name="l00226"></a>00226     <span class="keyword">private</span>:
-<a name="l00227"></a>00227     flag_t flags;
-<a name="l00228"></a>00228     data_t *data;
-<a name="l00229"></a>00229 
-<a name="l00230"></a>00230     <span class="keyword">friend</span> <span class="keyword">class </span>temp_t;
-<a name="l00231"></a>00231     <span class="keyword">friend</span> <span class="keyword">class </span>base_variable_length_integer;
-<a name="l00232"></a>00232 };
-<a name="l00233"></a>00233 
-<a name="l00235"></a>00235 <span class="keyword">class </span>temp_t: <span class="keyword">public</span> base_integer {
-<a name="l00236"></a>00236     <span class="keyword">public</span>:
-<a name="l00237"></a>00237     <span class="keyword">explicit</span> temp_t(<span class="keyword">const</span> base_integer& b) {
-<a name="l00238"></a>00238         flags = b.flags;
-<a name="l00239"></a>00239         data = b.data;
-<a name="l00240"></a>00240         ++data->copies;
-<a name="l00241"></a>00241     }
-<a name="l00242"></a>00242 
-<a name="l00244"></a>00244     temp_t(<span class="keyword">const</span> base_integer& b, <span class="keywordtype">size_t</span> realloc_size):
-<a name="l00245"></a>00245         base_integer(b._is_fixed()
-<a name="l00246"></a>00246             ? allocate_fixed(b.data->fixed_mask, b._fixed_digits(), realloc_size)
-<a name="l00247"></a>00247             : allocate(realloc_size)) { }
-<a name="l00248"></a>00248 };
-<a name="l00249"></a>00249 
-<a name="l00251"></a>00251 <span class="keyword">class </span>neg_t: <span class="keyword">public</span> temp_t {
-<a name="l00252"></a>00252     <span class="keyword">public</span>:
-<a name="l00253"></a>00253     <span class="keyword">explicit</span> neg_t(<span class="keyword">const</span> base_integer& b): temp_t(b) {
-<a name="l00254"></a>00254         _toggle_negative();
-<a name="l00255"></a>00255     }
-<a name="l00256"></a>00256 };
-<a name="l00257"></a>00257 
-<a name="l00259"></a>00259 <span class="keyword">class </span>base_variable_length_integer: <span class="keyword">public</span> base_integer {
-<a name="l00260"></a>00260     <span class="keyword">protected</span>:
-<a name="l00261"></a>00261     <span class="keywordtype">void</span> _attach_0();
-<a name="l00262"></a>00262 };
-<a name="l00263"></a>00263 
-<a name="l00265"></a>00265 <span class="keyword">class </span>bitqueue_t {
-<a name="l00266"></a>00266     <span class="keyword">public</span>:
-<a name="l00267"></a>00267     bitqueue_t(): bits_pending(0) { }
-<a name="l00268"></a>00268     <span class="keywordtype">void</span> push(doubledigit_t bits, <span class="keywordtype">size_t</span> count);
-<a name="l00269"></a>00269     doubledigit_t pop(<span class="keywordtype">size_t</span> requestedbits);
-<a name="l00270"></a>00270     <span class="keywordtype">bool</span> empty()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pending.empty(); }
-<a name="l00271"></a>00271     <span class="keywordtype">size_t</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits_pending; }
-<a name="l00272"></a>00272 
-<a name="l00273"></a>00273     <span class="keyword">private</span>:
-<a name="l00274"></a>00274     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> ddbits = std::numeric_limits<doubledigit_t>::digits;
-<a name="l00275"></a>00275     <span class="keyword">typedef</span> std::pair<doubledigit_t, size_t> indata_t;
-<a name="l00276"></a>00276     <span class="keyword">typedef</span> std::queue<indata_t> inqueue_t;
-<a name="l00277"></a>00277 
-<a name="l00278"></a>00278     <span class="keywordtype">size_t</span> bits_pending;
-<a name="l00279"></a>00279     inqueue_t pending;
-<a name="l00280"></a>00280 };
-<a name="l00281"></a>00281 
-<a name="l00282"></a>00282 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> base_integer &b1, <span class="keyword">const</span> base_integer &b2, <span class="keywordtype">bool</span>
-<a name="l00283"></a>00283     ignoresign=<span class="keyword">false</span>);
-<a name="l00284"></a>00284 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase);
-<a name="l00285"></a>00285 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(base_integer& target, <span class="keyword">const</span> std::string& str, <span class="keywordtype">size_t</span> base);
-<a name="l00286"></a>00286 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer& n2);
-<a name="l00287"></a>00287 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00288"></a>00288     n2);
-<a name="l00289"></a>00289 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00290"></a>00290     n2);
-<a name="l00291"></a>00291 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span> base_integer&
-<a name="l00292"></a>00292     n1, <span class="keyword">const</span> base_integer& n2);
-<a name="l00293"></a>00293 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00294"></a>00294     n2);
-<a name="l00295"></a>00295 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(base_integer& target, <span class="keyword">const</span> base_integer& n);
-<a name="l00296"></a>00296 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& e);
-<a name="l00297"></a>00297 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(base_integer& target, <span class="keywordtype">size_t</span> n);
-<a name="l00298"></a>00298 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(base_integer& target, <span class="keyword">const</span> base_integer& n);
-<a name="l00299"></a>00299 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> bit);
-<a name="l00300"></a>00300 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(base_integer& n, <span class="keywordtype">size_t</span> bit);
-<a name="l00301"></a>00301 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(base_integer& n, <span class="keywordtype">size_t</span> bit);
-<a name="l00302"></a>00302 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> valueIfZero);
-<a name="l00303"></a>00303 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> valueIfZero);
-<a name="l00304"></a>00304 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
-<a name="l00305"></a>00305     base_integer& n2);
-<a name="l00306"></a>00306 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
-<a name="l00307"></a>00307     base_integer& n2);
-<a name="l00308"></a>00308 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
-<a name="l00309"></a>00309     base_integer& n2);
-<a name="l00310"></a>00310 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00311"></a>00311 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits);
-<a name="l00312"></a>00312 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> bits);
-<a name="l00313"></a>00313 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(base_integer& target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>& s, <span class="keywordtype">size_t</span> bits);
-<a name="l00314"></a>00314 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(base_integer& target, <span class="keyword">const</span> base_integer& num1, <span class="keyword">const</span> base_integer&
-<a name="l00315"></a>00315     num2);
-<a name="l00316"></a>00316 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(base_integer& target, <span class="keyword">const</span> base_integer& num1, <span class="keyword">const</span> base_integer&
-<a name="l00317"></a>00317     num2);
-<a name="l00318"></a>00318 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00319"></a>00319     n2);
-<a name="l00320"></a>00320 <span class="keywordtype">void</span> <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>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& m);
-<a name="l00321"></a>00321 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& e,
-<a name="l00322"></a>00322     <span class="keyword">const</span> base_integer& m, <span class="keywordtype">bool</span> noMontgomery);
-<a name="l00323"></a>00323 
-<a name="l00324"></a>00324 <span class="keywordtype">size_t</span> log10_bits(<span class="keywordtype">size_t</span> bits);
-<a name="l00325"></a>00325 
-<a name="l00327"></a>00327 } <span class="comment">// namespace detail</span>
-<a name="l00328"></a>00328 
-<a name="l00333"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html">00333</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>: <span class="keyword">public</span> detail::base_integer {
-<a name="l00334"></a>00334     <span class="keyword">public</span>:
-<a name="l00341"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">00341</a>     <span class="keyword">template</span> <<span class="keyword">typename</span> T> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T& n,
-<a name="l00342"></a>00342         <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
-<a name="l00343"></a>00343         <span class="keyword">typename</span> boost::enable_if<boost::is_signed<T> >::type* = 0):
-<a name="l00344"></a>00344         base_integer(detail::digits_in_uintmax, detail::digit_mask)
-<a name="l00345"></a>00345         { _set_signed(n); }
-<a name="l00346"></a>00346 
-<a name="l00347"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">00347</a>     <span class="keyword">template</span> <<span class="keyword">typename</span> T> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T& n,
-<a name="l00348"></a>00348         <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
-<a name="l00349"></a>00349         <span class="keyword">typename</span> boost::enable_if<boost::is_unsigned<T> >::type* = 0):
-<a name="l00350"></a>00350         base_integer(detail::digits_in_uintmax, detail::digit_mask)
-<a name="l00351"></a>00351         { _set_unsigned(n); }
-<a name="l00352"></a>00352 
-<a name="l00353"></a>00353     <span class="keyword">protected</span>:
-<a name="l00354"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">00354</a>     <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keywordtype">size_t</span> count, detail::digit_t mask):
-<a name="l00355"></a>00355         base_integer(count, mask) { }
-<a name="l00356"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">00356</a>     <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(detail::data_t *adopt, <span class="keywordtype">bool</span> neg=<span class="keyword">false</span>):
-<a name="l00357"></a>00357         base_integer(adopt, neg) { }
-<a name="l00358"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">00358</a>     <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>& c):
-<a name="l00359"></a>00359         base_integer(c, true) { }
-<a name="l00360"></a>00360 };
-<a name="l00361"></a>00361 
-<a name="l00364"></a>00364 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd" title="Tells whether the library was compiled with Secure Mode  enabled.">opt_secure_mode</a>();
-<a name="l00365"></a>00365 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379" title="Tells whether the library was compiled with the Thread Safe Operation option  enabled...">opt_thread_safe</a>();
-<a name="l00367"></a>00367 
-<a name="l00374"></a>00374 <span class="keyword">template</span> <<span class="keyword">class</span> T>
-<a name="l00375"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html">00375</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a> {
-<a name="l00376"></a>00376     <span class="keyword">public</span>:
-<a name="l00377"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">00377</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>() { }
-<a name="l00378"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">00378</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">base_divide_t</a>(<span class="keyword">const</span> T& q, <span class="keyword">const</span> T& r): <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>(q), <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>(r) { }
-<a name="l00379"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa9f43e464f328b0cc618f67e6e4d1d6f">00379</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t<T></a>& copy):
-<a name="l00380"></a>00380         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>(copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>), <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>(copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>) { }
-<a name="l00381"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">00381</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">base_divide_t</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) move) {
-<a name="l00382"></a>00382         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>); <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>); }
-<a name="l00383"></a>00383 
-<a name="l00384"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">00384</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>& <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) copy)
-<a name="l00385"></a>00385         { <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a> = copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>; <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a> = copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>; <span class="keywordflow">return</span>
-<a name="l00386"></a>00386         *<span class="keyword">this</span>; }
-<a name="l00387"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">00387</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>& <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) move) {
-<a name="l00388"></a>00388         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>); <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>); <span class="keywordflow">return</span>
-<a name="l00389"></a>00389         *<span class="keyword">this</span>; }
-<a name="l00390"></a>00390 
-<a name="l00391"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">00391</a>     T <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>, <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>;
-<a name="l00392"></a>00392 
-<a name="l00393"></a>00393     <span class="keyword">private</span>:
-<a name="l00394"></a>00394     <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>)
-<a name="l00395"></a>00395 };
-<a name="l00396"></a>00396 
-<a name="l00397"></a>00397 } <span class="comment">// namespace xint</span>
-<a name="l00398"></a>00398 } <span class="comment">// namespace boost</span>
-<a name="l00399"></a>00399 
-<a name="l00401"></a>00401 <span class="comment">// Template functions</span>
-<a name="l00402"></a>00402 
-<a name="l00403"></a>00403 <span class="preprocessor">#include "<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>"</span>
-<a name="l00404"></a>00404 
-<a name="l00405"></a>00405 <span class="keyword">namespace </span>boost {
-<a name="l00406"></a>00406 <span class="keyword">namespace </span>xint {
-<a name="l00407"></a>00407 
-<a name="l00409"></a>00409 <span class="keyword">namespace </span>detail {
-<a name="l00410"></a>00410 
-<a name="l00411"></a>00411 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00412"></a>00412 <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>(<span class="keyword">const</span> T& n,
-<a name="l00413"></a>00413     <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
-<a name="l00414"></a>00414     <span class="keyword">typename</span> boost::enable_if<boost::is_unsigned<T> >::type* = 0)
-<a name="l00415"></a>00415 {
-<a name="l00416"></a>00416     <span class="keywordtype">size_t</span> lo=0, hi=std::numeric_limits<T>::digits;
-<a name="l00417"></a>00417     <span class="keywordflow">while</span> (lo < hi) {
-<a name="l00418"></a>00418         <span class="keywordtype">size_t</span> s = lo + ((hi - lo) >> 1);
-<a name="l00419"></a>00419         <span class="keywordflow">if</span> (n >= (T(1) << s)) lo = s + 1;
-<a name="l00420"></a>00420         <span class="keywordflow">else</span> hi = s;
-<a name="l00421"></a>00421     }
-<a name="l00422"></a>00422     <span class="keywordflow">return</span> lo;
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424 
-<a name="l00425"></a>00425 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00426"></a>00426 <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>(<span class="keyword">const</span> T& nn,
-<a name="l00427"></a>00427     <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
-<a name="l00428"></a>00428     <span class="keyword">typename</span> boost::enable_if<boost::is_signed<T> >::type* = 0)
-<a name="l00429"></a>00429 {
-<a name="l00430"></a>00430     <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::make_unsigned<T>::type uT;
-<a name="l00431"></a>00431     <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(static_cast<uT>(nn < 0 ? -nn : nn));
-<a name="l00432"></a>00432 }
-<a name="l00433"></a>00433 
-<a name="l00434"></a>00434 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00435"></a>00435 T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> base_integer& n) {
-<a name="l00436"></a>00436     <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(n, fixed_integer_any((std::numeric_limits<T>::min)())) < 0
-<a name="l00437"></a>00437         || <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(n, fixed_integer_any((std::numeric_limits<T>::max)())) > 0)
-<a name="l00438"></a>00438             <span class="keywordflow">throw</span> exceptions::too_big(<span class="stringliteral">"value out of range for requested "</span>
-<a name="l00439"></a>00439                 <span class="stringliteral">"conversion"</span>);
-<a name="l00440"></a>00440 
-<a name="l00441"></a>00441     T rval = 0;
-<a name="l00442"></a>00442     <span class="keywordtype">size_t</span> len=n._get_length();
-<a name="l00443"></a>00443     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x<len; ++x) {
-<a name="l00444"></a>00444         <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) > <span class="keyword">sizeof</span>(detail::digit_t)) rval <<= detail::bits_per_digit;
-<a name="l00445"></a>00445         rval += <span class="keyword">static_cast<</span>T<span class="keyword">></span>(n._get_digit(len - x - 1));
-<a name="l00446"></a>00446     }
-<a name="l00447"></a>00447     <span class="keywordflow">if</span> (n._get_negative()) rval = -rval; <span class="comment">// Bogus MSVC warning C4146</span>
-<a name="l00448"></a>00448     <span class="keywordflow">return</span> rval;
-<a name="l00449"></a>00449 }
-<a name="l00450"></a>00450 
-<a name="l00451"></a>00451 <span class="keyword">template</span> <<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits>
-<a name="l00452"></a>00452 <span class="keyword">inline</span> std::basic_ostream<charT,traits>& <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator<<</a>(std::basic_ostream<charT,
-<a name="l00453"></a>00453     traits>& out, <span class="keyword">const</span> base_integer& n)
-<a name="l00454"></a>00454 {
-<a name="l00455"></a>00455     <span class="keywordtype">int</span> base=((out.flags() & std::ios::hex) ? 16
-<a name="l00456"></a>00456         : (out.flags() & std::ios::oct) ? 8
-<a name="l00457"></a>00457         : 10);
-<a name="l00458"></a>00458     <span class="keywordtype">bool</span> upperCase=(out.flags() & std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l00459"></a>00459 
-<a name="l00460"></a>00460     <span class="keywordtype">int</span> nsign = (n._is_zero() ? 0 : n._get_negative() ? -1 : 1);
-<a name="l00461"></a>00461     <span class="keywordflow">if</span> ((out.flags() & std::ios::showpos) && nsign >= 0) out << <span class="stringliteral">"+"</span>;
-<a name="l00462"></a>00462 
-<a name="l00463"></a>00463     <span class="keywordflow">if</span> (out.flags() & std::ios::showbase) {
-<a name="l00464"></a>00464         <span class="keywordflow">if</span> (nsign < 0) out << <span class="stringliteral">"-"</span>;
-<a name="l00465"></a>00465 
-<a name="l00466"></a>00466         <span class="keywordflow">if</span> (base==16 && upperCase) out << <span class="stringliteral">"0X"</span>;
-<a name="l00467"></a>00467         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out << <span class="stringliteral">"0x"</span>;
-<a name="l00468"></a>00468         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out << <span class="stringliteral">"0"</span>;
-<a name="l00469"></a>00469 
-<a name="l00470"></a>00470         <span class="keywordflow">if</span> (n._get_negative()) {
-<a name="l00471"></a>00471             out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(neg_t(n), base, upperCase);
-<a name="l00472"></a>00472         } <span class="keywordflow">else</span> {
-<a name="l00473"></a>00473             out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(n, base, upperCase);
-<a name="l00474"></a>00474         }
-<a name="l00475"></a>00475     } <span class="keywordflow">else</span> {
-<a name="l00476"></a>00476         out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(n, base, upperCase);
-<a name="l00477"></a>00477     }
-<a name="l00478"></a>00478     <span class="keywordflow">return</span> out;
-<a name="l00479"></a>00479 }
-<a name="l00480"></a>00480 
-<a name="l00481"></a>00481 <span class="keyword">template</span> <<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits>
-<a name="l00482"></a>00482 <span class="keyword">inline</span> std::basic_istream<charT,traits>& <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator>></a>(std::basic_istream<charT,
-<a name="l00483"></a>00483     traits>& in, base_integer& n)
-<a name="l00484"></a>00484 {
-<a name="l00485"></a>00485     <span class="keywordtype">int</span> hex=(in.flags() & std::ios::hex) ? 1 : 0;
-<a name="l00486"></a>00486     <span class="keywordtype">int</span> dec=(in.flags() & std::ios::dec) ? 1 : 0;
-<a name="l00487"></a>00487     <span class="keywordtype">int</span> oct=(in.flags() & std::ios::oct) ? 1 : 0;
-<a name="l00488"></a>00488     <span class="keywordtype">int</span> count=hex+dec+oct;
-<a name="l00489"></a>00489 
-<a name="l00490"></a>00490     <span class="keywordtype">size_t</span> base=<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>;
-<a name="l00491"></a>00491     <span class="keywordflow">if</span> (count==1) {
-<a name="l00492"></a>00492         <span class="keywordflow">if</span> (hex) base=16;
-<a name="l00493"></a>00493         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
-<a name="l00494"></a>00494         <span class="keywordflow">else</span> base=10;
-<a name="l00495"></a>00495     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count>1) base=10;
-<a name="l00496"></a>00496     <span class="comment">// else auto-base</span>
-<a name="l00497"></a>00497 
-<a name="l00498"></a>00498     std::string s;
-<a name="l00499"></a>00499     <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'+'</span>) {
-<a name="l00500"></a>00500         in.ignore();
-<a name="l00501"></a>00501     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'-'</span>) {
-<a name="l00502"></a>00502         in.ignore();
-<a name="l00503"></a>00503         s.push_back(<span class="charliteral">'-'</span>);
-<a name="l00504"></a>00504     }
-<a name="l00505"></a>00505 
-<a name="l00506"></a>00506     <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
-<a name="l00507"></a>00507         <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'0'</span>) {
-<a name="l00508"></a>00508             in.ignore();
-<a name="l00509"></a>00509             <span class="keywordtype">int</span> c=in.peek();
-<a name="l00510"></a>00510             <span class="keywordflow">if</span> (c==<span class="charliteral">'x'</span> || c==<span class="charliteral">'X'</span>) {
-<a name="l00511"></a>00511                 in.ignore();
-<a name="l00512"></a>00512                 base=16;
-<a name="l00513"></a>00513             } <span class="keywordflow">else</span> base=8;
-<a name="l00514"></a>00514         } <span class="keywordflow">else</span> base=10;
-<a name="l00515"></a>00515     }
-<a name="l00516"></a>00516 
-<a name="l00517"></a>00517     <span class="keywordflow">while</span> (in) {
-<a name="l00518"></a>00518         <span class="keywordtype">int</span> c=in.peek();
-<a name="l00519"></a>00519         <span class="keywordflow">if</span> ((base==8 && (c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'7'</span>)) ||
-<a name="l00520"></a>00520             (base==10 && (c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'9'</span>)) ||
-<a name="l00521"></a>00521             (base==16 && ((c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'9'</span>) || (c>=<span class="charliteral">'a'</span> && c<=<span class="charliteral">'f'</span>) ||
-<a name="l00522"></a>00522                 (c>=<span class="charliteral">'A'</span> && c<=<span class="charliteral">'F'</span>))))
-<a name="l00523"></a>00523         {
-<a name="l00524"></a>00524             in.ignore();
-<a name="l00525"></a>00525             s.push_back(<span class="keywordtype">char</span>(c));
-<a name="l00526"></a>00526         } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
-<a name="l00527"></a>00527     }
-<a name="l00528"></a>00528 
-<a name="l00529"></a>00529     <span class="keywordflow">try</span> {
-<a name="l00530"></a>00530         <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(n, s, base);
-<a name="l00531"></a>00531     } <span class="keywordflow">catch</span> (std::exception&) {
-<a name="l00532"></a>00532         <span class="comment">// Catch invalid strings</span>
-<a name="l00533"></a>00533         in.setstate(std::ios::failbit);
-<a name="l00534"></a>00534     }
-<a name="l00535"></a>00535 
-<a name="l00536"></a>00536     <span class="keywordflow">return</span> in;
-<a name="l00537"></a>00537 }
-<a name="l00538"></a>00538 
-<a name="l00539"></a>00539 } <span class="comment">// namespace detail</span>
-<a name="l00541"></a>00541 <span class="comment"></span>
-<a name="l00542"></a>00542 } <span class="comment">// namespace xint</span>
-<a name="l00543"></a>00543 } <span class="comment">// namespace boost</span>
-<a name="l00544"></a>00544 
-<a name="l00545"></a>00545 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
+<a name="l00225"></a>00225     <span class="keyword">static</span> <span class="keyword">const</span> flag_t flag_movable = 0x08;
+<a name="l00226"></a>00226 
+<a name="l00227"></a>00227     <span class="keyword">private</span>:
+<a name="l00228"></a>00228     flag_t flags;
+<a name="l00229"></a>00229     data_t *data;
+<a name="l00230"></a>00230 
+<a name="l00231"></a>00231     <span class="keyword">friend</span> <span class="keyword">class </span>temp_t;
+<a name="l00232"></a>00232     <span class="keyword">friend</span> <span class="keyword">class </span>base_variable_length_integer;
+<a name="l00233"></a>00233 };
+<a name="l00234"></a>00234 
+<a name="l00236"></a>00236 <span class="keyword">class </span>temp_t: <span class="keyword">public</span> base_integer {
+<a name="l00237"></a>00237     <span class="keyword">public</span>:
+<a name="l00238"></a>00238     <span class="keyword">explicit</span> temp_t(<span class="keyword">const</span> base_integer& b) {
+<a name="l00239"></a>00239         flags = b.flags;
+<a name="l00240"></a>00240         data = b.data;
+<a name="l00241"></a>00241         ++data->copies;
+<a name="l00242"></a>00242     }
+<a name="l00243"></a>00243 
+<a name="l00245"></a>00245     temp_t(<span class="keyword">const</span> base_integer& b, <span class="keywordtype">size_t</span> realloc_size):
+<a name="l00246"></a>00246         base_integer(b._is_fixed()
+<a name="l00247"></a>00247             ? allocate_fixed(b.data->fixed_mask, b._fixed_digits(), realloc_size)
+<a name="l00248"></a>00248             : allocate(realloc_size)) { }
+<a name="l00249"></a>00249 };
+<a name="l00250"></a>00250 
+<a name="l00252"></a>00252 <span class="keyword">class </span>neg_t: <span class="keyword">public</span> temp_t {
+<a name="l00253"></a>00253     <span class="keyword">public</span>:
+<a name="l00254"></a>00254     <span class="keyword">explicit</span> neg_t(<span class="keyword">const</span> base_integer& b): temp_t(b) {
+<a name="l00255"></a>00255         _toggle_negative();
+<a name="l00256"></a>00256     }
+<a name="l00257"></a>00257 };
+<a name="l00258"></a>00258 
+<a name="l00260"></a>00260 <span class="keyword">class </span>base_variable_length_integer: <span class="keyword">public</span> base_integer {
+<a name="l00261"></a>00261     <span class="keyword">protected</span>:
+<a name="l00262"></a>00262     <span class="keywordtype">void</span> _attach_0();
+<a name="l00263"></a>00263 };
+<a name="l00264"></a>00264 
+<a name="l00266"></a>00266 <span class="keyword">class </span>bitqueue_t {
+<a name="l00267"></a>00267     <span class="keyword">public</span>:
+<a name="l00268"></a>00268     bitqueue_t(): bits_pending(0) { }
+<a name="l00269"></a>00269     <span class="keywordtype">void</span> push(doubledigit_t bits, <span class="keywordtype">size_t</span> count);
+<a name="l00270"></a>00270     doubledigit_t pop(<span class="keywordtype">size_t</span> requestedbits);
+<a name="l00271"></a>00271     <span class="keywordtype">bool</span> empty()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pending.empty(); }
+<a name="l00272"></a>00272     <span class="keywordtype">size_t</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits_pending; }
+<a name="l00273"></a>00273 
+<a name="l00274"></a>00274     <span class="keyword">private</span>:
+<a name="l00275"></a>00275     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> ddbits = std::numeric_limits<doubledigit_t>::digits;
+<a name="l00276"></a>00276     <span class="keyword">typedef</span> std::pair<doubledigit_t, size_t> indata_t;
+<a name="l00277"></a>00277     <span class="keyword">typedef</span> std::queue<indata_t> inqueue_t;
+<a name="l00278"></a>00278 
+<a name="l00279"></a>00279     <span class="keywordtype">size_t</span> bits_pending;
+<a name="l00280"></a>00280     inqueue_t pending;
+<a name="l00281"></a>00281 };
+<a name="l00282"></a>00282 
+<a name="l00283"></a>00283 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> base_integer &b1, <span class="keyword">const</span> base_integer &b2, <span class="keywordtype">bool</span>
+<a name="l00284"></a>00284     ignoresign=<span class="keyword">false</span>);
+<a name="l00285"></a>00285 std::string <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase);
+<a name="l00286"></a>00286 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(base_integer& target, <span class="keyword">const</span> std::string& str, <span class="keywordtype">size_t</span> base);
+<a name="l00287"></a>00287 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer& n2);
+<a name="l00288"></a>00288 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00289"></a>00289     n2);
+<a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00291"></a>00291     n2);
+<a name="l00292"></a>00292 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span> base_integer&
+<a name="l00293"></a>00293     n1, <span class="keyword">const</span> base_integer& n2);
+<a name="l00294"></a>00294 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00295"></a>00295     n2);
+<a name="l00296"></a>00296 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(base_integer& target, <span class="keyword">const</span> base_integer& n);
+<a name="l00297"></a>00297 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& e);
+<a name="l00298"></a>00298 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(base_integer& target, <span class="keywordtype">size_t</span> n);
+<a name="l00299"></a>00299 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(base_integer& target, <span class="keyword">const</span> base_integer& n);
+<a name="l00300"></a>00300 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> bit);
+<a name="l00301"></a>00301 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(base_integer& n, <span class="keywordtype">size_t</span> bit);
+<a name="l00302"></a>00302 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(base_integer& n, <span class="keywordtype">size_t</span> bit);
+<a name="l00303"></a>00303 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> valueIfZero);
+<a name="l00304"></a>00304 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> valueIfZero);
+<a name="l00305"></a>00305 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
+<a name="l00306"></a>00306     base_integer& n2);
+<a name="l00307"></a>00307 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
+<a name="l00308"></a>00308     base_integer& n2);
+<a name="l00309"></a>00309 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
+<a name="l00310"></a>00310     base_integer& n2);
+<a name="l00311"></a>00311 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00312"></a>00312 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> byBits);
+<a name="l00313"></a>00313 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a61303b2b007d23cc8c9b7450c848c14d" title="Creates a binary representation of an integer.">to_binary</a>(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>& target, <span class="keyword">const</span> base_integer& n, <span class="keywordtype">size_t</span> bits);
+<a name="l00314"></a>00314 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a4ac395fda0e4553da82a8e967e188280" title="Converts a portable binary representation of a number into an integer.">from_binary</a>(base_integer& target, <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>& s, <span class="keywordtype">size_t</span> bits);
+<a name="l00315"></a>00315 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ab551ac5968fdbcc639318b6f294da2cd" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(base_integer& target, <span class="keyword">const</span> base_integer& num1, <span class="keyword">const</span> base_integer&
+<a name="l00316"></a>00316     num2);
+<a name="l00317"></a>00317 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a0096ae57d50e4fe8b5413ea7a4e60495" title="Calculate the Least Common Multiple of two integers.">lcm</a>(base_integer& target, <span class="keyword">const</span> base_integer& num1, <span class="keyword">const</span> base_integer&
+<a name="l00318"></a>00318     num2);
+<a name="l00319"></a>00319 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9b8c31b64eb9700beea8b95edec31a73" title="Get the remainder after dividing a number by another.">mod</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00320"></a>00320     n2);
+<a name="l00321"></a>00321 <span class="keywordtype">void</span> <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>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& m);
+<a name="l00322"></a>00322 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a35e7556e9f2d8fb944dbf732ed3f96cd" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& e,
+<a name="l00323"></a>00323     <span class="keyword">const</span> base_integer& m, <span class="keywordtype">bool</span> noMontgomery);
+<a name="l00324"></a>00324 
+<a name="l00325"></a>00325 <span class="keywordtype">size_t</span> log10_bits(<span class="keywordtype">size_t</span> bits);
+<a name="l00326"></a>00326 
+<a name="l00328"></a>00328 } <span class="comment">// namespace detail</span>
+<a name="l00329"></a>00329 
+<a name="l00334"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html">00334</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>: <span class="keyword">public</span> detail::base_integer {
+<a name="l00335"></a>00335     <span class="keyword">public</span>:
+<a name="l00342"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">00342</a>     <span class="keyword">template</span> <<span class="keyword">typename</span> T> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T& n,
+<a name="l00343"></a>00343         <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
+<a name="l00344"></a>00344         <span class="keyword">typename</span> boost::enable_if<boost::is_signed<T> >::type* = 0):
+<a name="l00345"></a>00345         base_integer(detail::digits_in_uintmax, detail::digit_mask)
+<a name="l00346"></a>00346         { _set_signed(n); }
+<a name="l00347"></a>00347 
+<a name="l00348"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a3ad49f5095f367b7e19aa3becb3464b3">00348</a>     <span class="keyword">template</span> <<span class="keyword">typename</span> T> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> T& n,
+<a name="l00349"></a>00349         <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
+<a name="l00350"></a>00350         <span class="keyword">typename</span> boost::enable_if<boost::is_unsigned<T> >::type* = 0):
+<a name="l00351"></a>00351         base_integer(detail::digits_in_uintmax, detail::digit_mask)
+<a name="l00352"></a>00352         { _set_unsigned(n); }
+<a name="l00353"></a>00353 
+<a name="l00354"></a>00354     <span class="keyword">protected</span>:
+<a name="l00355"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#aa1c3b00ad3be70fb2d42dd86fcfe3a00">00355</a>     <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keywordtype">size_t</span> count, detail::digit_t mask):
+<a name="l00356"></a>00356         base_integer(count, mask) { }
+<a name="l00357"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#a9f0620259b6e2cdf3ea6e2bad2a21d22">00357</a>     <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(detail::data_t *adopt, <span class="keywordtype">bool</span> neg=<span class="keyword">false</span>):
+<a name="l00358"></a>00358         base_integer(adopt, neg) { }
+<a name="l00359"></a><a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#abdd088ce22d3afd4a8c3dcc402401ace">00359</a>     <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html#af6e682f145aaa5ceea6f8d81bf533442">fixed_integer_any</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>& c):
+<a name="l00360"></a>00360         base_integer(c, true) { }
+<a name="l00361"></a>00361 };
+<a name="l00362"></a>00362 
+<a name="l00365"></a>00365 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a0492c49fda91b5f498074d3f812906dd" title="Tells whether the library was compiled with Secure Mode  enabled.">opt_secure_mode</a>();
+<a name="l00366"></a>00366 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac80750e62d5ffa2484332aae4b23d379" title="Tells whether the library was compiled with the Thread Safe Operation option  enabled...">opt_thread_safe</a>();
+<a name="l00368"></a>00368 
+<a name="l00375"></a>00375 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00376"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html">00376</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a> {
+<a name="l00377"></a>00377     <span class="keyword">public</span>:
+<a name="l00378"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">00378</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>() { }
+<a name="l00379"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">00379</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a1b7962768058ad19d8d3e848b1fc019e">base_divide_t</a>(<span class="keyword">const</span> T& q, <span class="keyword">const</span> T& r): <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>(q), <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>(r) { }
+<a name="l00380"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa9f43e464f328b0cc618f67e6e4d1d6f">00380</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a78e4dd66f424388d1db839ef53e25997">base_divide_t</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t<T></a>& copy):
+<a name="l00381"></a>00381         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>(copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>), <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>(copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>) { }
+<a name="l00382"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">00382</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aaa2df86aa70e8ac849cd6289a1f459b1">base_divide_t</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) move) {
+<a name="l00383"></a>00383         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>); <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>); }
+<a name="l00384"></a>00384 
+<a name="l00385"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">00385</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>& <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#ac74a636871dd2988a4f654fc745426c7">operator=</a>(<a class="code" href="internals_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) copy)
+<a name="l00386"></a>00386         { <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a> = copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>; <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a> = copy.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>; <span class="keywordflow">return</span>
+<a name="l00387"></a>00387         *<span class="keyword">this</span>; }
+<a name="l00388"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">00388</a>     <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>& <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a5f66ee628dc58d181b8c2886354909fb">operator=</a>(<a class="code" href="internals_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>) move) {
+<a name="l00389"></a>00389         <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>); <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>._swap(move.<a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>); <span class="keywordflow">return</span>
+<a name="l00390"></a>00390         *<span class="keyword">this</span>; }
+<a name="l00391"></a>00391 
+<a name="l00392"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">00392</a>     T <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a>, <a class="code" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a>;
+<a name="l00393"></a>00393 
+<a name="l00394"></a>00394     <span class="keyword">private</span>:
+<a name="l00395"></a>00395     <a class="code" href="internals_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(<a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a>)
+<a name="l00396"></a>00396 };
+<a name="l00397"></a>00397 
+<a name="l00398"></a>00398 } <span class="comment">// namespace xint</span>
+<a name="l00399"></a>00399 } <span class="comment">// namespace boost</span>
+<a name="l00400"></a>00400 
+<a name="l00402"></a>00402 <span class="comment">// Template functions</span>
+<a name="l00403"></a>00403 
+<a name="l00404"></a>00404 <span class="preprocessor">#include "<a class="code" href="exceptions_8hpp.html" title="The exception namespace.">exceptions.hpp</a>"</span>
+<a name="l00405"></a>00405 
+<a name="l00406"></a>00406 <span class="keyword">namespace </span>boost {
+<a name="l00407"></a>00407 <span class="keyword">namespace </span>xint {
+<a name="l00408"></a>00408 
+<a name="l00410"></a>00410 <span class="keyword">namespace </span>detail {
+<a name="l00411"></a>00411 
+<a name="l00412"></a>00412 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00413"></a>00413 <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>(<span class="keyword">const</span> T& n,
+<a name="l00414"></a>00414     <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
+<a name="l00415"></a>00415     <span class="keyword">typename</span> boost::enable_if<boost::is_unsigned<T> >::type* = 0)
+<a name="l00416"></a>00416 {
+<a name="l00417"></a>00417     <span class="keywordtype">size_t</span> lo=0, hi=std::numeric_limits<T>::digits;
+<a name="l00418"></a>00418     <span class="keywordflow">while</span> (lo < hi) {
+<a name="l00419"></a>00419         <span class="keywordtype">size_t</span> s = lo + ((hi - lo) >> 1);
+<a name="l00420"></a>00420         <span class="keywordflow">if</span> (n >= (T(1) << s)) lo = s + 1;
+<a name="l00421"></a>00421         <span class="keywordflow">else</span> hi = s;
+<a name="l00422"></a>00422     }
+<a name="l00423"></a>00423     <span class="keywordflow">return</span> lo;
+<a name="l00424"></a>00424 }
+<a name="l00425"></a>00425 
+<a name="l00426"></a>00426 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00427"></a>00427 <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>(<span class="keyword">const</span> T& nn,
+<a name="l00428"></a>00428     <span class="keyword">typename</span> boost::enable_if<boost::is_integral<T> >::type* = 0,
+<a name="l00429"></a>00429     <span class="keyword">typename</span> boost::enable_if<boost::is_signed<T> >::type* = 0)
+<a name="l00430"></a>00430 {
+<a name="l00431"></a>00431     <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::make_unsigned<T>::type uT;
+<a name="l00432"></a>00432     <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0cd277cd7a80cda764f889781f0140cd" title="Get the log2 value of an integer.">log2</a>(static_cast<uT>(nn < 0 ? -nn : nn));
+<a name="l00433"></a>00433 }
+<a name="l00434"></a>00434 
+<a name="l00435"></a>00435 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00436"></a>00436 T <a class="code" href="namespaceboost_1_1xint.html#a2078ed71644ee71a1ce2e616d28e5baa">to</a>(<span class="keyword">const</span> base_integer& n) {
+<a name="l00437"></a>00437     <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(n, fixed_integer_any((std::numeric_limits<T>::min)())) < 0
+<a name="l00438"></a>00438         || <a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(n, fixed_integer_any((std::numeric_limits<T>::max)())) > 0)
+<a name="l00439"></a>00439             <span class="keywordflow">throw</span> exceptions::too_big(<span class="stringliteral">"value out of range for requested "</span>
+<a name="l00440"></a>00440                 <span class="stringliteral">"conversion"</span>);
+<a name="l00441"></a>00441 
+<a name="l00442"></a>00442     T rval = 0;
+<a name="l00443"></a>00443     <span class="keywordtype">size_t</span> len=n._get_length();
+<a name="l00444"></a>00444     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x<len; ++x) {
+<a name="l00445"></a>00445         <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) > <span class="keyword">sizeof</span>(detail::digit_t)) rval <<= detail::bits_per_digit;
+<a name="l00446"></a>00446         rval += <span class="keyword">static_cast<</span>T<span class="keyword">></span>(n._get_digit(len - x - 1));
+<a name="l00447"></a>00447     }
+<a name="l00448"></a>00448     <span class="keywordflow">if</span> (n._get_negative()) rval = -rval; <span class="comment">// Bogus MSVC warning C4146</span>
+<a name="l00449"></a>00449     <span class="keywordflow">return</span> rval;
+<a name="l00450"></a>00450 }
+<a name="l00451"></a>00451 
+<a name="l00452"></a>00452 <span class="keyword">template</span> <<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits>
+<a name="l00453"></a>00453 <span class="keyword">inline</span> std::basic_ostream<charT,traits>& <a class="code" href="namespaceboost_1_1xint.html#a7188dd65026fde2ae4a690d55ef7b648">operator<<</a>(std::basic_ostream<charT,
+<a name="l00454"></a>00454     traits>& out, <span class="keyword">const</span> base_integer& n)
+<a name="l00455"></a>00455 {
+<a name="l00456"></a>00456     <span class="keywordtype">int</span> base=((out.flags() & std::ios::hex) ? 16
+<a name="l00457"></a>00457         : (out.flags() & std::ios::oct) ? 8
+<a name="l00458"></a>00458         : 10);
+<a name="l00459"></a>00459     <span class="keywordtype">bool</span> upperCase=(out.flags() & std::ios::uppercase ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l00460"></a>00460 
+<a name="l00461"></a>00461     <span class="keywordtype">int</span> nsign = (n._is_zero() ? 0 : n._get_negative() ? -1 : 1);
+<a name="l00462"></a>00462     <span class="keywordflow">if</span> ((out.flags() & std::ios::showpos) && nsign >= 0) out << <span class="stringliteral">"+"</span>;
+<a name="l00463"></a>00463 
+<a name="l00464"></a>00464     <span class="keywordflow">if</span> (out.flags() & std::ios::showbase) {
+<a name="l00465"></a>00465         <span class="keywordflow">if</span> (nsign < 0) out << <span class="stringliteral">"-"</span>;
+<a name="l00466"></a>00466 
+<a name="l00467"></a>00467         <span class="keywordflow">if</span> (base==16 && upperCase) out << <span class="stringliteral">"0X"</span>;
+<a name="l00468"></a>00468         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==16) out << <span class="stringliteral">"0x"</span>;
+<a name="l00469"></a>00469         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base==8) out << <span class="stringliteral">"0"</span>;
+<a name="l00470"></a>00470 
+<a name="l00471"></a>00471         <span class="keywordflow">if</span> (n._get_negative()) {
+<a name="l00472"></a>00472             out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(neg_t(n), base, upperCase);
+<a name="l00473"></a>00473         } <span class="keywordflow">else</span> {
+<a name="l00474"></a>00474             out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(n, base, upperCase);
+<a name="l00475"></a>00475         }
+<a name="l00476"></a>00476     } <span class="keywordflow">else</span> {
+<a name="l00477"></a>00477         out << <a class="code" href="namespaceboost_1_1xint.html#ac0454fdc47e70a493c7bf5d92dda33d4" title="Creates a string representation of the specified integer.">to_string</a>(n, base, upperCase);
+<a name="l00478"></a>00478     }
+<a name="l00479"></a>00479     <span class="keywordflow">return</span> out;
+<a name="l00480"></a>00480 }
+<a name="l00481"></a>00481 
+<a name="l00482"></a>00482 <span class="keyword">template</span> <<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traits>
+<a name="l00483"></a>00483 <span class="keyword">inline</span> std::basic_istream<charT,traits>& <a class="code" href="namespaceboost_1_1xint.html#ab027908e04b71c8be33172768c6a2f67">operator>></a>(std::basic_istream<charT,
+<a name="l00484"></a>00484     traits>& in, base_integer& n)
+<a name="l00485"></a>00485 {
+<a name="l00486"></a>00486     <span class="keywordtype">int</span> hex=(in.flags() & std::ios::hex) ? 1 : 0;
+<a name="l00487"></a>00487     <span class="keywordtype">int</span> dec=(in.flags() & std::ios::dec) ? 1 : 0;
+<a name="l00488"></a>00488     <span class="keywordtype">int</span> oct=(in.flags() & std::ios::oct) ? 1 : 0;
+<a name="l00489"></a>00489     <span class="keywordtype">int</span> count=hex+dec+oct;
+<a name="l00490"></a>00490 
+<a name="l00491"></a>00491     <span class="keywordtype">size_t</span> base=<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>;
+<a name="l00492"></a>00492     <span class="keywordflow">if</span> (count==1) {
+<a name="l00493"></a>00493         <span class="keywordflow">if</span> (hex) base=16;
+<a name="l00494"></a>00494         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base=8;
+<a name="l00495"></a>00495         <span class="keywordflow">else</span> base=10;
+<a name="l00496"></a>00496     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count>1) base=10;
+<a name="l00497"></a>00497     <span class="comment">// else auto-base</span>
+<a name="l00498"></a>00498 
+<a name="l00499"></a>00499     std::string s;
+<a name="l00500"></a>00500     <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'+'</span>) {
+<a name="l00501"></a>00501         in.ignore();
+<a name="l00502"></a>00502     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'-'</span>) {
+<a name="l00503"></a>00503         in.ignore();
+<a name="l00504"></a>00504         s.push_back(<span class="charliteral">'-'</span>);
+<a name="l00505"></a>00505     }
+<a name="l00506"></a>00506 
+<a name="l00507"></a>00507     <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a>) {
+<a name="l00508"></a>00508         <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">'0'</span>) {
+<a name="l00509"></a>00509             in.ignore();
+<a name="l00510"></a>00510             <span class="keywordtype">int</span> c=in.peek();
+<a name="l00511"></a>00511             <span class="keywordflow">if</span> (c==<span class="charliteral">'x'</span> || c==<span class="charliteral">'X'</span>) {
+<a name="l00512"></a>00512                 in.ignore();
+<a name="l00513"></a>00513                 base=16;
+<a name="l00514"></a>00514             } <span class="keywordflow">else</span> base=8;
+<a name="l00515"></a>00515         } <span class="keywordflow">else</span> base=10;
+<a name="l00516"></a>00516     }
+<a name="l00517"></a>00517 
+<a name="l00518"></a>00518     <span class="keywordflow">while</span> (in) {
+<a name="l00519"></a>00519         <span class="keywordtype">int</span> c=in.peek();
+<a name="l00520"></a>00520         <span class="keywordflow">if</span> ((base==8 && (c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'7'</span>)) ||
+<a name="l00521"></a>00521             (base==10 && (c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'9'</span>)) ||
+<a name="l00522"></a>00522             (base==16 && ((c>=<span class="charliteral">'0'</span> && c<=<span class="charliteral">'9'</span>) || (c>=<span class="charliteral">'a'</span> && c<=<span class="charliteral">'f'</span>) ||
+<a name="l00523"></a>00523                 (c>=<span class="charliteral">'A'</span> && c<=<span class="charliteral">'F'</span>))))
+<a name="l00524"></a>00524         {
+<a name="l00525"></a>00525             in.ignore();
+<a name="l00526"></a>00526             s.push_back(<span class="keywordtype">char</span>(c));
+<a name="l00527"></a>00527         } <span class="keywordflow">else</span> <span class="keywordflow">break</span>;
+<a name="l00528"></a>00528     }
+<a name="l00529"></a>00529 
+<a name="l00530"></a>00530     <span class="keywordflow">try</span> {
+<a name="l00531"></a>00531         <a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">detail::from_string</a>(n, s, base);
+<a name="l00532"></a>00532     } <span class="keywordflow">catch</span> (std::exception&) {
+<a name="l00533"></a>00533         <span class="comment">// Catch invalid strings</span>
+<a name="l00534"></a>00534         in.setstate(std::ios::failbit);
+<a name="l00535"></a>00535     }
+<a name="l00536"></a>00536 
+<a name="l00537"></a>00537     <span class="keywordflow">return</span> in;
+<a name="l00538"></a>00538 }
+<a name="l00539"></a>00539 
+<a name="l00540"></a>00540 } <span class="comment">// namespace detail</span>
+<a name="l00542"></a>00542 <span class="comment"></span>
+<a name="l00543"></a>00543 } <span class="comment">// namespace xint</span>
+<a name="l00544"></a>00544 } <span class="comment">// namespace boost</span>
+<a name="l00545"></a>00545 
+<a name="l00546"></a>00546 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
 </pre></div></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -63,8 +63,8 @@
 <a name="l00046"></a>00046         <span class="keywordflow">return</span>;
 <a name="l00047"></a>00047     }
 <a name="l00048"></a>00048 
-<a name="l00049"></a>00049     integer n(_n._to_integer()), e(_e._to_integer()), m(_m._to_integer()),
-<a name="l00050"></a>00050         answer(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
+<a name="l00049"></a>00049     integer n(_n._to_integer(<span class="keyword">false</span>)), e(_e._to_integer(<span class="keyword">false</span>)),
+<a name="l00050"></a>00050         m(_m._to_integer(<span class="keyword">false</span>)), answer(<a class="code" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">integer::one</a>());
 <a name="l00051"></a>00051     <span class="keywordtype">bool</span> neg=(n.sign() < 0 && e.odd());
 <a name="l00052"></a>00052 
 <a name="l00053"></a>00053     <span class="comment">// Montgomery's method is often noticeably faster, but only works if the</span>
@@ -92,7 +92,7 @@
 <a name="l00075"></a>00075     }
 <a name="l00076"></a>00076 
 <a name="l00077"></a>00077     answer._set_negative(neg);
-<a name="l00078"></a>00078     target._attach(answer);
+<a name="l00078"></a>00078     target._attach(answer, <span class="keyword">true</span>);
 <a name="l00079"></a>00079 }
 <a name="l00080"></a>00080 
 <a name="l00081"></a>00081 } <span class="comment">// namespace detail</span>
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -34,7 +34,7 @@
 </p>
 </table>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -5243,7 +5243,7 @@
 <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>
+<p>Definition at line <a class="el" href="random_8hpp_source.html#l00160">160</a> of file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 
 </div>
 </div>
@@ -6785,7 +6785,7 @@
 </div>
 </div>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:22 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -343,7 +343,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -331,7 +331,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -42,7 +42,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -42,7 +42,7 @@
 </li>
 </ul>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -32,7 +32,7 @@
 <tr><td class="memItemLeft" align="right" valign="top">class  </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< boost::xint::nothrow_integer ></a></td></tr>
 </table>
 </div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:17 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -55,7 +55,7 @@
 <a name="l00038"></a>00038 
 <a name="l00050"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a9a9c9e622a764a004d256c18b7929081">00050</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</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>& b) {
 <a name="l00051"></a>00051     <span class="keywordflow">try</span> {
-<a name="l00052"></a>00052         <span class="keywordflow">if</span> (!b.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) _attach(b);
+<a name="l00052"></a>00052         <span class="keywordflow">if</span> (!b.<a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a1dd4d6157a77e2e1e13d2915661dce7d" title="Tests *this for Not-a-Number.">is_nan</a>()) _attach(b, <span class="keyword">false</span>);
 <a name="l00053"></a>00053     } <span class="keywordflow">catch</span> (std::exception&) {
 <a name="l00054"></a>00054         <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
 <a name="l00055"></a>00055     }
@@ -63,7 +63,7 @@
 <a name="l00057"></a>00057 
 <a name="l00068"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a195e4062a0f980e1bc9df47f8645854a">00068</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a>& b) {
 <a name="l00069"></a>00069     <span class="keywordflow">try</span> {
-<a name="l00070"></a>00070         _attach(b);
+<a name="l00070"></a>00070         _attach(b, <span class="keyword">false</span>);
 <a name="l00071"></a>00071     } <span class="keywordflow">catch</span> (std::exception&) {
 <a name="l00072"></a>00072         <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
 <a name="l00073"></a>00073     }
@@ -71,7 +71,7 @@
 <a name="l00075"></a>00075 
 <a name="l00082"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#aa6314aa9f8ff03ce52152febc6444a58">00082</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1fixed__integer__any.html" title="The base class for all fixed_integer types.">fixed_integer_any</a>& b) {
 <a name="l00083"></a>00083     <span class="keywordflow">try</span> {
-<a name="l00084"></a>00084         _attach(b);
+<a name="l00084"></a>00084         _attach(b, <span class="keyword">false</span>);
 <a name="l00085"></a>00085     } <span class="keywordflow">catch</span> (std::exception&) {
 <a name="l00086"></a>00086         <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
 <a name="l00087"></a>00087     }
@@ -79,7 +79,7 @@
 <a name="l00089"></a>00089 
 <a name="l00091"></a><a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#a70c7b596f17102c6e292b8994dda76cc">00091</a> <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html#add8423c7b0d729fe93a8aabf49d333ae">nothrow_integer::nothrow_integer</a>(<span class="keyword">const</span> std::string& str, <span class="keywordtype">size_t</span> base) {
 <a name="l00092"></a>00092     <span class="keywordflow">try</span> {
-<a name="l00093"></a>00093         _attach(<a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(str, base));
+<a name="l00093"></a>00093         _attach(<a class="code" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string to an integer.">from_string</a>(str, base), <span class="keyword">true</span>);
 <a name="l00094"></a>00094     } <span class="keywordflow">catch</span> (std::exception&) {
 <a name="l00095"></a>00095         <span class="comment">// Do nothing, automatically sets to Not-a-Number</span>
 <a name="l00096"></a>00096     }
@@ -136,7 +136,7 @@
 <a name="l00169"></a>00169     <a class="code" href="classboost_1_1xint_1_1nothrow__integer.html" title="The nothrow_integer class.">nothrow_integer</a>) c)
 <a name="l00170"></a>00170 {
 <a name="l00171"></a>00171     <span class="keywordflow">try</span> {
-<a name="l00172"></a>00172         _attach(c);
+<a name="l00172"></a>00172         _attach(c, <span class="keyword">false</span>);
 <a name="l00173"></a>00173     } <span class="keywordflow">catch</span> (std::exception&) {
 <a name="l00174"></a>00174         _base_attach(0);
 <a name="l00175"></a>00175     }
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -144,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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -352,7 +352,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -49,7 +49,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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.html
==============================================================================
--- sandbox/xint/doc/nothrow__roots_8cpp.html	(original)
+++ sandbox/xint/doc/nothrow__roots_8cpp.html	2010-05-04 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -97,7 +97,7 @@
 <a name="l00077"></a>00077     *rp += <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(c);
 <a name="l00078"></a>00078 
 <a name="l00079"></a>00079     r._cleanup();
-<a name="l00080"></a>00080     target._attach(r);
+<a name="l00080"></a>00080     target._attach(r, <span class="keyword">true</span>);
 <a name="l00081"></a>00081 }
 <a name="l00082"></a>00082 
 <a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7f73207284ff1f32b20fb8a6a7a82649">pow</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer& e) {
@@ -137,7 +137,7 @@
 <a name="l00117"></a>00117     }
 <a name="l00118"></a>00118 
 <a name="l00119"></a>00119     answer._set_negative(neg);
-<a name="l00120"></a>00120     target._attach(answer);
+<a name="l00120"></a>00120     target._attach(answer, <span class="keyword">true</span>);
 <a name="l00121"></a>00121 }
 <a name="l00122"></a>00122 
 <a name="l00123"></a>00123 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a942e346f6e6d069dc19c28e7e56634ab" title="Calculate the value of n! ">factorial</a>(base_integer& target, <span class="keywordtype">size_t</span> n) {
@@ -152,7 +152,7 @@
 <a name="l00132"></a>00132         nn._decrement();
 <a name="l00133"></a>00133     }
 <a name="l00134"></a>00134 
-<a name="l00135"></a>00135     target._attach(answer);
+<a name="l00135"></a>00135     target._attach(answer, <span class="keyword">true</span>);
 <a name="l00136"></a>00136 }
 <a name="l00137"></a>00137 
 <a name="l00138"></a>00138 } <span class="comment">// namespace detail</span>
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -51,7 +51,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -154,7 +154,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -85,7 +85,7 @@
 <a name="l00065"></a>00065 
 <a name="l00066"></a>00066     <span class="keywordflow">if</span> (n1._get_negative()) a._set_negative(<span class="keyword">true</span>);
 <a name="l00067"></a>00067     a._cleanup();
-<a name="l00068"></a>00068     target._attach(a);
+<a name="l00068"></a>00068     target._attach(a, <span class="keyword">true</span>);
 <a name="l00069"></a>00069 }
 <a name="l00070"></a>00070 
 <a name="l00071"></a>00071 <span class="keywordtype">void</span> sub_subtract(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span>
@@ -129,306 +129,303 @@
 <a name="l00109"></a>00109     <span class="keywordflow">if</span> (neg1) a._set_negative(<span class="keyword">true</span>);
 <a name="l00110"></a>00110     a._cleanup();
 <a name="l00111"></a>00111 
-<a name="l00112"></a>00112     <span class="keywordflow">if</span> (swap) {
-<a name="l00113"></a>00113         target._attach(neg_t(a));
-<a name="l00114"></a>00114     } <span class="keywordflow">else</span> {
-<a name="l00115"></a>00115         target._attach(a);
-<a name="l00116"></a>00116     }
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118 
-<a name="l00119"></a>00119 <span class="keywordtype">void</span> divide_by_single_digit(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
-<a name="l00120"></a>00120     base_integer& d1, digit_t d2)
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122     <span class="keywordtype">size_t</span> d1len=d1._get_length();
-<a name="l00123"></a>00123     <span class="keyword">const</span> digit_t *d1digits=d1._get_digits();
-<a name="l00124"></a>00124 
-<a name="l00125"></a>00125     integer quotient, remainder;
-<a name="l00126"></a>00126     quotient._realloc(d1len);
-<a name="l00127"></a>00127     remainder._realloc(1);
-<a name="l00128"></a>00128 
-<a name="l00129"></a>00129     doubledigit_t a=0;
-<a name="l00130"></a>00130     <span class="keyword">const</span> doubledigit_t lomask(digit_mask);
-<a name="l00131"></a>00131     <span class="keyword">const</span> doubledigit_t himask(doubledigit_t(digit_mask) << bits_per_digit);
-<a name="l00132"></a>00132 
-<a name="l00133"></a>00133     <span class="keywordtype">int</span> m = int(d1len) - 1;
-<a name="l00134"></a>00134     <span class="keyword">const</span> digit_t *d1p=d1digits+m;
-<a name="l00135"></a>00135     digit_t *qp=quotient._get_writable_digits()+m;
-<a name="l00136"></a>00136     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i >= 0; --i, --d1p, --qp) {
-<a name="l00137"></a>00137         a = (a & ~lomask) | *d1p;
-<a name="l00138"></a>00138         *qp = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(a / d2);
-<a name="l00139"></a>00139         a = (a & ~himask) | ((a % d2) << bits_per_digit);
-<a name="l00140"></a>00140     }
-<a name="l00141"></a>00141     remainder._get_writable_digits()[0] = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>((a & himask) >>
-<a name="l00142"></a>00142         bits_per_digit);
-<a name="l00143"></a>00143 
-<a name="l00144"></a>00144     quotient._cleanup();
-<a name="l00145"></a>00145     remainder._cleanup();
-<a name="l00146"></a>00146     qtarget._attach(quotient);
-<a name="l00147"></a>00147     rtarget._attach(remainder);
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149 
-<a name="l00150"></a>00150 <span class="keywordtype">void</span> sub_divide2(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
-<a name="l00151"></a>00151     base_integer& d1, <span class="keyword">const</span> base_integer& d2)
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153     assert(d2._get_digit(d2._get_length()-1) >= digit_overflowbit / 2);
-<a name="l00154"></a>00154 
-<a name="l00155"></a>00155     <span class="keyword">const</span> digit_t *byDigits = d2._get_digits();
-<a name="l00156"></a>00156 
-<a name="l00157"></a>00157     integer quotient, r(d1._to_integer());
-<a name="l00158"></a>00158 
-<a name="l00159"></a>00159     <span class="keywordtype">size_t</span> n=d2._get_length(), m=d1._get_length() - n;
-<a name="l00160"></a>00160     <span class="keywordtype">size_t</span> i=m+n, j=m;
-<a name="l00161"></a>00161     quotient._realloc(j+1);
-<a name="l00162"></a>00162     digit_t *qdigits=quotient._get_writable_digits();
-<a name="l00163"></a>00163 
-<a name="l00164"></a>00164     r._make_unique();
-<a name="l00165"></a>00165     <span class="keywordflow">do</span> {
-<a name="l00166"></a>00166         doubledigit_t ri=(doubledigit_t(r._get_digit(i, <span class="keyword">true</span>))
-<a name="l00167"></a>00167             << bits_per_digit) + r._get_digit(i-1, <span class="keyword">true</span>);
-<a name="l00168"></a>00168         doubledigit_t q=(std::min<doubledigit_t>)(ri / byDigits[n-1],
-<a name="l00169"></a>00169             digit_mask);
-<a name="l00170"></a>00170 
-<a name="l00171"></a>00171         <span class="keywordflow">while</span> (1) {
-<a name="l00172"></a>00172             <span class="comment">// We need three digits here, a doubledigit_t won't suffice.</span>
-<a name="l00173"></a>00173             doubledigit_t r2a=ri - (q * byDigits[n-1]);
-<a name="l00174"></a>00174             integer r2=(integer(r2a) << bits_per_digit) + r._get_digit(i-2);
-<a name="l00175"></a>00175             <span class="keywordflow">if</span> (byDigits[n-2] * q <= r2) <span class="keywordflow">break</span>;
-<a name="l00176"></a>00176             --q;
-<a name="l00177"></a>00177         }
-<a name="l00178"></a>00178 
-<a name="l00179"></a>00179         integer bq;
-<a name="l00180"></a>00180         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(bq, d2, fixed_integer_any(q));
-<a name="l00181"></a>00181         <span class="keywordflow">if</span> (r < bq) {
-<a name="l00182"></a>00182             --q;
-<a name="l00183"></a>00183             <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(bq, temp_t(bq), d2);
-<a name="l00184"></a>00184         }
-<a name="l00185"></a>00185 
-<a name="l00186"></a>00186         integer rtemp((r >> (bits_per_digit * (i-n))) - bq);
-<a name="l00187"></a>00187 
-<a name="l00188"></a>00188         digit_t *rdigits=r._get_writable_digits();
-<a name="l00189"></a>00189 
-<a name="l00190"></a>00190         <span class="keywordtype">size_t</span> rlen=r._get_length();
-<a name="l00191"></a>00191         <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x<=n && i-n+x < rlen; ++x)
-<a name="l00192"></a>00192             rdigits[i-n+x]=rtemp._get_digit(x, <span class="keyword">true</span>);
-<a name="l00193"></a>00193         r._cleanup();
+<a name="l00112"></a>00112     <span class="keywordflow">if</span> (swap) a._toggle_negative();
+<a name="l00113"></a>00113     target._attach(a, <span class="keyword">true</span>);
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 
+<a name="l00116"></a>00116 <span class="keywordtype">void</span> divide_by_single_digit(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
+<a name="l00117"></a>00117     base_integer& d1, digit_t d2)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119     <span class="keywordtype">size_t</span> d1len=d1._get_length();
+<a name="l00120"></a>00120     <span class="keyword">const</span> digit_t *d1digits=d1._get_digits();
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122     integer quotient, remainder;
+<a name="l00123"></a>00123     quotient._realloc(d1len);
+<a name="l00124"></a>00124     remainder._realloc(1);
+<a name="l00125"></a>00125 
+<a name="l00126"></a>00126     doubledigit_t a=0;
+<a name="l00127"></a>00127     <span class="keyword">const</span> doubledigit_t lomask(digit_mask);
+<a name="l00128"></a>00128     <span class="keyword">const</span> doubledigit_t himask(doubledigit_t(digit_mask) << bits_per_digit);
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130     <span class="keywordtype">int</span> m = int(d1len) - 1;
+<a name="l00131"></a>00131     <span class="keyword">const</span> digit_t *d1p=d1digits+m;
+<a name="l00132"></a>00132     digit_t *qp=quotient._get_writable_digits()+m;
+<a name="l00133"></a>00133     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = m; i >= 0; --i, --d1p, --qp) {
+<a name="l00134"></a>00134         a = (a & ~lomask) | *d1p;
+<a name="l00135"></a>00135         *qp = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(a / d2);
+<a name="l00136"></a>00136         a = (a & ~himask) | ((a % d2) << bits_per_digit);
+<a name="l00137"></a>00137     }
+<a name="l00138"></a>00138     remainder._get_writable_digits()[0] = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>((a & himask) >>
+<a name="l00139"></a>00139         bits_per_digit);
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141     quotient._cleanup();
+<a name="l00142"></a>00142     remainder._cleanup();
+<a name="l00143"></a>00143     qtarget._attach(quotient, <span class="keyword">true</span>);
+<a name="l00144"></a>00144     rtarget._attach(remainder, <span class="keyword">true</span>);
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146 
+<a name="l00147"></a>00147 <span class="keywordtype">void</span> sub_divide2(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
+<a name="l00148"></a>00148     base_integer& d1, <span class="keyword">const</span> base_integer& d2)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150     assert(d2._get_digit(d2._get_length()-1) >= digit_overflowbit / 2);
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152     <span class="keyword">const</span> digit_t *byDigits = d2._get_digits();
+<a name="l00153"></a>00153 
+<a name="l00154"></a>00154     integer quotient, r(d1._to_integer(<span class="keyword">false</span>));
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156     <span class="keywordtype">size_t</span> n=d2._get_length(), m=d1._get_length() - n;
+<a name="l00157"></a>00157     <span class="keywordtype">size_t</span> i=m+n, j=m;
+<a name="l00158"></a>00158     quotient._realloc(j+1);
+<a name="l00159"></a>00159     digit_t *qdigits=quotient._get_writable_digits();
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161     r._make_unique();
+<a name="l00162"></a>00162     <span class="keywordflow">do</span> {
+<a name="l00163"></a>00163         doubledigit_t ri=(doubledigit_t(r._get_digit(i, <span class="keyword">true</span>))
+<a name="l00164"></a>00164             << bits_per_digit) + r._get_digit(i-1, <span class="keyword">true</span>);
+<a name="l00165"></a>00165         doubledigit_t q=(std::min<doubledigit_t>)(ri / byDigits[n-1],
+<a name="l00166"></a>00166             digit_mask);
+<a name="l00167"></a>00167 
+<a name="l00168"></a>00168         <span class="keywordflow">while</span> (1) {
+<a name="l00169"></a>00169             <span class="comment">// We need three digits here, a doubledigit_t won't suffice.</span>
+<a name="l00170"></a>00170             doubledigit_t r2a=ri - (q * byDigits[n-1]);
+<a name="l00171"></a>00171             integer r2=(integer(r2a) << bits_per_digit) + r._get_digit(i-2);
+<a name="l00172"></a>00172             <span class="keywordflow">if</span> (byDigits[n-2] * q <= r2) <span class="keywordflow">break</span>;
+<a name="l00173"></a>00173             --q;
+<a name="l00174"></a>00174         }
+<a name="l00175"></a>00175 
+<a name="l00176"></a>00176         integer bq;
+<a name="l00177"></a>00177         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(bq, d2, fixed_integer_any(q));
+<a name="l00178"></a>00178         <span class="keywordflow">if</span> (r < bq) {
+<a name="l00179"></a>00179             --q;
+<a name="l00180"></a>00180             <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(bq, temp_t(bq), d2);
+<a name="l00181"></a>00181         }
+<a name="l00182"></a>00182 
+<a name="l00183"></a>00183         integer rtemp((r >> (bits_per_digit * (i-n))) - bq);
+<a name="l00184"></a>00184 
+<a name="l00185"></a>00185         digit_t *rdigits=r._get_writable_digits();
+<a name="l00186"></a>00186 
+<a name="l00187"></a>00187         <span class="keywordtype">size_t</span> rlen=r._get_length();
+<a name="l00188"></a>00188         <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x=0; x<=n && i-n+x < rlen; ++x)
+<a name="l00189"></a>00189             rdigits[i-n+x]=rtemp._get_digit(x, <span class="keyword">true</span>);
+<a name="l00190"></a>00190         r._cleanup();
+<a name="l00191"></a>00191 
+<a name="l00192"></a>00192         qdigits[j--]=digit_t(q);
+<a name="l00193"></a>00193     } <span class="keywordflow">while</span> (--i >= n);
 <a name="l00194"></a>00194 
-<a name="l00195"></a>00195         qdigits[j--]=digit_t(q);
-<a name="l00196"></a>00196     } <span class="keywordflow">while</span> (--i >= n);
-<a name="l00197"></a>00197 
-<a name="l00198"></a>00198     quotient._cleanup();
-<a name="l00199"></a>00199 
-<a name="l00200"></a>00200     qtarget._attach(quotient);
-<a name="l00201"></a>00201     rtarget._attach(r);
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203 
-<a name="l00204"></a>00204 <span class="keywordtype">void</span> sub_divide(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
-<a name="l00205"></a>00205     base_integer& d1, <span class="keyword">const</span> base_integer& d2)
-<a name="l00206"></a>00206 {
-<a name="l00207"></a>00207     <span class="keywordflow">if</span> (d2._get_length()==1) {
-<a name="l00208"></a>00208         divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
-<a name="l00209"></a>00209         <span class="keywordflow">return</span>;
-<a name="l00210"></a>00210     }
-<a name="l00211"></a>00211 
-<a name="l00212"></a>00212     <span class="comment">// The normalization step</span>
-<a name="l00213"></a>00213     digit_t _d = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(digit_overflowbit /
-<a name="l00214"></a>00214         (doubledigit_t(d2._get_digit(d2._get_length()-1))+1));
-<a name="l00215"></a>00215     <span class="keywordflow">if</span> (_d > 1) {
-<a name="l00216"></a>00216         fixed_integer_any d(_d);
-<a name="l00217"></a>00217 
-<a name="l00218"></a>00218         integer dd1, dd2;
-<a name="l00219"></a>00219         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(dd1, d1, d);
-<a name="l00220"></a>00220         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(dd2, d2, d);
+<a name="l00195"></a>00195     quotient._cleanup();
+<a name="l00196"></a>00196 
+<a name="l00197"></a>00197     qtarget._attach(quotient, <span class="keyword">true</span>);
+<a name="l00198"></a>00198     rtarget._attach(r, <span class="keyword">true</span>);
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200 
+<a name="l00201"></a>00201 <span class="keywordtype">void</span> sub_divide(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span>
+<a name="l00202"></a>00202     base_integer& d1, <span class="keyword">const</span> base_integer& d2)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204     <span class="keywordflow">if</span> (d2._get_length()==1) {
+<a name="l00205"></a>00205         divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
+<a name="l00206"></a>00206         <span class="keywordflow">return</span>;
+<a name="l00207"></a>00207     }
+<a name="l00208"></a>00208 
+<a name="l00209"></a>00209     <span class="comment">// The normalization step</span>
+<a name="l00210"></a>00210     digit_t _d = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(digit_overflowbit /
+<a name="l00211"></a>00211         (doubledigit_t(d2._get_digit(d2._get_length()-1))+1));
+<a name="l00212"></a>00212     <span class="keywordflow">if</span> (_d > 1) {
+<a name="l00213"></a>00213         fixed_integer_any d(_d);
+<a name="l00214"></a>00214 
+<a name="l00215"></a>00215         integer dd1, dd2;
+<a name="l00216"></a>00216         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(dd1, d1, d);
+<a name="l00217"></a>00217         <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(dd2, d2, d);
+<a name="l00218"></a>00218 
+<a name="l00219"></a>00219         integer q, r;
+<a name="l00220"></a>00220         sub_divide2(q, r, dd1, dd2);
 <a name="l00221"></a>00221 
-<a name="l00222"></a>00222         integer q, r;
-<a name="l00223"></a>00223         sub_divide2(q, r, dd1, dd2);
-<a name="l00224"></a>00224 
-<a name="l00225"></a>00225         <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
-<a name="l00226"></a>00226         integer qq, rr;
-<a name="l00227"></a>00227         divide_by_single_digit(qq, rr, r, _d);
-<a name="l00228"></a>00228         qtarget._attach(q);
-<a name="l00229"></a>00229         rtarget._attach(qq);
-<a name="l00230"></a>00230     } <span class="keywordflow">else</span> {
-<a name="l00231"></a>00231         sub_divide2(qtarget, rtarget, d1, d2);
-<a name="l00232"></a>00232     }
-<a name="l00233"></a>00233 }
-<a name="l00234"></a>00234 
-<a name="l00235"></a>00235 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer& n2) {
-<a name="l00236"></a>00236     <span class="keywordflow">if</span> (n1._is_zero()) {
-<a name="l00237"></a>00237         target._attach(n2);
+<a name="l00222"></a>00222         <span class="comment">// Denormalization step. This requires a division by a single digit_t.</span>
+<a name="l00223"></a>00223         integer qq, rr;
+<a name="l00224"></a>00224         divide_by_single_digit(qq, rr, r, _d);
+<a name="l00225"></a>00225         qtarget._attach(q, <span class="keyword">true</span>);
+<a name="l00226"></a>00226         rtarget._attach(qq, <span class="keyword">true</span>);
+<a name="l00227"></a>00227     } <span class="keywordflow">else</span> {
+<a name="l00228"></a>00228         sub_divide2(qtarget, rtarget, d1, d2);
+<a name="l00229"></a>00229     }
+<a name="l00230"></a>00230 }
+<a name="l00231"></a>00231 
+<a name="l00232"></a>00232 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer& n2) {
+<a name="l00233"></a>00233     <span class="keywordflow">if</span> (n1._is_zero()) {
+<a name="l00234"></a>00234         target._attach(n2, <span class="keyword">false</span>);
+<a name="l00235"></a>00235         <span class="keywordflow">return</span>;
+<a name="l00236"></a>00236     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
+<a name="l00237"></a>00237         target._attach(n1, <span class="keyword">false</span>);
 <a name="l00238"></a>00238         <span class="keywordflow">return</span>;
-<a name="l00239"></a>00239     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
-<a name="l00240"></a>00240         target._attach(n1);
-<a name="l00241"></a>00241         <span class="keywordflow">return</span>;
-<a name="l00242"></a>00242     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
-<a name="l00243"></a>00243         sub_subtract(target, n1, neg_t(n2));
-<a name="l00244"></a>00244     } <span class="keywordflow">else</span> {
-<a name="l00245"></a>00245         sub_add(target, n1, n2);
-<a name="l00246"></a>00246     }
-<a name="l00247"></a>00247 }
-<a name="l00248"></a>00248 
-<a name="l00249"></a>00249 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00250"></a>00250     n2)
-<a name="l00251"></a>00251 {
-<a name="l00252"></a>00252     <span class="keywordflow">if</span> (n1._is_zero()) {
-<a name="l00253"></a>00253         target._attach(neg_t(n2));
-<a name="l00254"></a>00254     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
-<a name="l00255"></a>00255         target._attach(n1);
-<a name="l00256"></a>00256     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
-<a name="l00257"></a>00257         sub_add(target, n1, neg_t(n2));
-<a name="l00258"></a>00258     } <span class="keywordflow">else</span> {
-<a name="l00259"></a>00259         sub_subtract(target, n1, n2);
-<a name="l00260"></a>00260     }
-<a name="l00261"></a>00261 }
-<a name="l00262"></a>00262 
-<a name="l00263"></a>00263 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer&
-<a name="l00264"></a>00264     by)
-<a name="l00265"></a>00265 {
-<a name="l00266"></a>00266     <span class="keywordflow">if</span> (n._is_zero() || by._is_zero()) {
-<a name="l00267"></a>00267         target._set_unsigned(0);
-<a name="l00268"></a>00268         <span class="keywordflow">return</span>;
-<a name="l00269"></a>00269     }
-<a name="l00270"></a>00270 
-<a name="l00271"></a>00271     <span class="keyword">const</span> digit_t *ndigits=n._get_digits(), *bydigits=by._get_digits();
-<a name="l00272"></a>00272     <span class="keywordflow">if</span> (ndigits==bydigits) {
-<a name="l00273"></a>00273         <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(target, n);
-<a name="l00274"></a>00274         <span class="keywordflow">if</span> (n._get_negative() != by._get_negative()) target._set_negative(<span class="keyword">true</span>);
-<a name="l00275"></a>00275         <span class="keywordflow">return</span>;
-<a name="l00276"></a>00276     }
-<a name="l00277"></a>00277 
-<a name="l00278"></a>00278     <span class="keywordtype">size_t</span> maxdigit = target._is_fixed()
-<a name="l00279"></a>00279         ? target._fixed_digits()
-<a name="l00280"></a>00280         : (std::numeric_limits<size_t>::max)();
-<a name="l00281"></a>00281     <span class="keywordtype">size_t</span> nlen=n._get_length(), bylen=by._get_length();
-<a name="l00282"></a>00282 
-<a name="l00283"></a>00283     <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
-<a name="l00284"></a>00284     <span class="comment">// the sum of the lengths of the operands.</span>
-<a name="l00285"></a>00285     integer answer;
-<a name="l00286"></a>00286     answer._realloc(nlen + bylen);
-<a name="l00287"></a>00287     digit_t *adigits=answer._get_writable_digits(), *ae = adigits +
-<a name="l00288"></a>00288         (std::min)(nlen + bylen, maxdigit);
-<a name="l00289"></a>00289 
-<a name="l00290"></a>00290     <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
-<a name="l00291"></a>00291     <span class="keyword">const</span> digit_t *d1 = ndigits, *d1e = d1 + (std::min)(nlen, maxdigit);
-<a name="l00292"></a>00292     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1 = 0; d1 < d1e; ++digit1, ++d1) {
-<a name="l00293"></a>00293         <span class="keyword">const</span> digit_t *d2 = bydigits;
-<a name="l00294"></a>00294         <span class="keyword">const</span> digit_t *d2e = d2 + (std::min)(bylen, maxdigit - digit1);
-<a name="l00295"></a>00295         <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2 = 0; d2 < d2e; ++digit2, ++d2) {
-<a name="l00296"></a>00296             <span class="comment">// First multiply the two digits</span>
-<a name="l00297"></a>00297             doubledigit_t t=doubledigit_t(*d1) * *d2;
-<a name="l00298"></a>00298 
-<a name="l00299"></a>00299             <span class="comment">// Now add the result to the answer.</span>
-<a name="l00300"></a>00300             <span class="keywordtype">int</span> carry=0;
-<a name="l00301"></a>00301             digit_t *a = adigits + digit1 + digit2;
-<a name="l00302"></a>00302             doubledigit_t addt=doubledigit_t(*a) + (t & digit_mask);
-<a name="l00303"></a>00303             <span class="keywordflow">if</span> (addt >= digit_overflowbit) carry=1;
-<a name="l00304"></a>00304             *a++=<span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
-<a name="l00305"></a>00305 
-<a name="l00306"></a>00306             addt=*a + ((t >> bits_per_digit) & digit_mask) + carry;
-<a name="l00307"></a>00307             <span class="keywordflow">if</span> (addt >= digit_overflowbit) carry=1; <span class="keywordflow">else</span> carry=0;
-<a name="l00308"></a>00308             *a++=<span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
-<a name="l00309"></a>00309 
-<a name="l00310"></a>00310             <span class="keywordflow">while</span> (carry && a < ae) {
-<a name="l00311"></a>00311                 addt=*a+1;
-<a name="l00312"></a>00312                 *a++ = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
-<a name="l00313"></a>00313                 <span class="keywordflow">if</span> (addt < digit_overflowbit) <span class="keywordflow">break</span>;
-<a name="l00314"></a>00314             }
-<a name="l00315"></a>00315         }
-<a name="l00316"></a>00316     }
-<a name="l00317"></a>00317 
-<a name="l00318"></a>00318     answer._set_negative(n._get_negative() != by._get_negative());
-<a name="l00319"></a>00319     answer._cleanup();
-<a name="l00320"></a>00320     target._attach(answer);
-<a name="l00321"></a>00321 }
-<a name="l00322"></a>00322 
-<a name="l00323"></a>00323 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span> base_integer&
-<a name="l00324"></a>00324     d1, <span class="keyword">const</span> base_integer& d2)
-<a name="l00325"></a>00325 {
-<a name="l00326"></a>00326     <span class="keywordtype">int</span> sign1 = (d1._is_zero() ? 0 : d1._get_negative() ? -1 : 1);
-<a name="l00327"></a>00327     <span class="keywordtype">int</span> sign2 = (d2._is_zero() ? 0 : d2._get_negative() ? -1 : 1);
-<a name="l00328"></a>00328     <span class="keywordflow">if</span> (sign2 == 0) <span class="keywordflow">throw</span> exceptions::divide_by_zero();
-<a name="l00329"></a>00329 
-<a name="l00330"></a>00330     <span class="keywordtype">int</span> comp=<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(d1, d2, <span class="keyword">true</span>);
-<a name="l00331"></a>00331     <span class="keywordflow">if</span> (comp < 0) {
-<a name="l00332"></a>00332         qtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
-<a name="l00333"></a>00333         rtarget._attach(d1);
-<a name="l00334"></a>00334     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp == 0) {
-<a name="l00335"></a>00335         qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1));
-<a name="l00336"></a>00336         rtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>());
-<a name="l00337"></a>00337     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 < 0 && sign2 < 0) {
-<a name="l00338"></a>00338         sub_divide(qtarget, rtarget, neg_t(d1), neg_t(d2));
-<a name="l00339"></a>00339         rtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00340"></a>00340     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 < 0) {
-<a name="l00341"></a>00341         sub_divide(qtarget, rtarget, neg_t(d1), d2);
-<a name="l00342"></a>00342         qtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00343"></a>00343         rtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00344"></a>00344     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 < 0) {
-<a name="l00345"></a>00345         sub_divide(qtarget, rtarget, d1, neg_t(d2));
-<a name="l00346"></a>00346         qtarget._set_negative(<span class="keyword">true</span>);
-<a name="l00347"></a>00347     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (d2._get_length() == 1) {
-<a name="l00348"></a>00348         divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
-<a name="l00349"></a>00349     } <span class="keywordflow">else</span> {
-<a name="l00350"></a>00350         sub_divide(qtarget, rtarget, d1, d2);
-<a name="l00351"></a>00351     }
-<a name="l00352"></a>00352 }
-<a name="l00353"></a>00353 
-<a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
-<a name="l00355"></a>00355     n2)
-<a name="l00356"></a>00356 {
-<a name="l00357"></a>00357     integer remainder;
-<a name="l00358"></a>00358     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(target, remainder, n1, n2);
-<a name="l00359"></a>00359 }
-<a name="l00360"></a>00360 
-<a name="l00361"></a>00361 } <span class="comment">// namespace detail</span>
-<a name="l00363"></a>00363 <span class="comment"></span>
-<a name="l00372"></a>00372 integer <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> integer& n) {
-<a name="l00373"></a>00373     <span class="keywordflow">if</span> (n._get_negative()) {
-<a name="l00374"></a>00374         <span class="keywordflow">return</span> -n;
-<a name="l00375"></a>00375     } <span class="keywordflow">else</span> {
-<a name="l00376"></a>00376         <span class="keywordflow">return</span> n;
-<a name="l00377"></a>00377     }
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379 
-<a name="l00388"></a>00388 integer <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> integer& n) {
-<a name="l00389"></a>00389     integer nn(n);
-<a name="l00390"></a>00390     nn._toggle_negative();
-<a name="l00391"></a>00391     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(nn);
-<a name="l00392"></a>00392 }
-<a name="l00393"></a>00393 
-<a name="l00402"></a>00402 integer <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> integer& n1, <span class="keyword">const</span> integer& n2) {
-<a name="l00403"></a>00403     integer r;
-<a name="l00404"></a>00404     <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(r, n1, n2);
-<a name="l00405"></a>00405     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407 
-<a name="l00416"></a>00416 integer <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> integer& n1, <span class="keyword">const</span> integer& n2) {
-<a name="l00417"></a>00417     integer r;
-<a name="l00418"></a>00418     <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(r, n1, n2);
-<a name="l00419"></a>00419     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00420"></a>00420 }
-<a name="l00421"></a>00421 
-<a name="l00434"></a>00434 integer <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> integer& n, <span class="keyword">const</span> integer& by) {
-<a name="l00435"></a>00435     integer r;
-<a name="l00436"></a>00436     <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(r, n, by);
-<a name="l00437"></a>00437     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00438"></a>00438 }
-<a name="l00439"></a>00439 
-<a name="l00450"></a>00450 integer <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> integer& dividend, <span class="keyword">const</span> integer& divisor) {
-<a name="l00451"></a>00451     integer q, r;
-<a name="l00452"></a>00452     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, dividend, divisor);
-<a name="l00453"></a>00453     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q);
-<a name="l00454"></a>00454 }
-<a name="l00455"></a>00455 
-<a name="l00469"></a>00469 <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> integer& d1, <span class="keyword">const</span> integer& d2) {
-<a name="l00470"></a>00470     integer q, r;
-<a name="l00471"></a>00471     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, d1, d2);
-<a name="l00472"></a>00472     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a>, <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a>(
-<a name="l00473"></a>00473         <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q), <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r)));
-<a name="l00474"></a>00474 }
-<a name="l00475"></a>00475 
-<a name="l00476"></a>00476 } <span class="comment">// namespace xint</span>
-<a name="l00477"></a>00477 } <span class="comment">// namespace boost</span>
+<a name="l00239"></a>00239     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
+<a name="l00240"></a>00240         sub_subtract(target, n1, neg_t(n2));
+<a name="l00241"></a>00241     } <span class="keywordflow">else</span> {
+<a name="l00242"></a>00242         sub_add(target, n1, n2);
+<a name="l00243"></a>00243     }
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 
+<a name="l00246"></a>00246 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00247"></a>00247     n2)
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249     <span class="keywordflow">if</span> (n1._is_zero()) {
+<a name="l00250"></a>00250         target._attach(neg_t(n2), <span class="keyword">false</span>);
+<a name="l00251"></a>00251     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n2._is_zero()) {
+<a name="l00252"></a>00252         target._attach(n1, <span class="keyword">false</span>);
+<a name="l00253"></a>00253     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n1._get_negative() != n2._get_negative()) {
+<a name="l00254"></a>00254         sub_add(target, n1, neg_t(n2));
+<a name="l00255"></a>00255     } <span class="keywordflow">else</span> {
+<a name="l00256"></a>00256         sub_subtract(target, n1, n2);
+<a name="l00257"></a>00257     }
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 
+<a name="l00260"></a>00260 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(base_integer& target, <span class="keyword">const</span> base_integer& n, <span class="keyword">const</span> base_integer&
+<a name="l00261"></a>00261     by)
+<a name="l00262"></a>00262 {
+<a name="l00263"></a>00263     <span class="keywordflow">if</span> (n._is_zero() || by._is_zero()) {
+<a name="l00264"></a>00264         target._set_unsigned(0);
+<a name="l00265"></a>00265         <span class="keywordflow">return</span>;
+<a name="l00266"></a>00266     }
+<a name="l00267"></a>00267 
+<a name="l00268"></a>00268     <span class="keyword">const</span> digit_t *ndigits=n._get_digits(), *bydigits=by._get_digits();
+<a name="l00269"></a>00269     <span class="keywordflow">if</span> (ndigits==bydigits) {
+<a name="l00270"></a>00270         <a class="code" href="namespaceboost_1_1xint.html#a83ce32006b45117f9b3dc6c673fc9f01">sqr</a>(target, n);
+<a name="l00271"></a>00271         <span class="keywordflow">if</span> (n._get_negative() != by._get_negative()) target._set_negative(<span class="keyword">true</span>);
+<a name="l00272"></a>00272         <span class="keywordflow">return</span>;
+<a name="l00273"></a>00273     }
+<a name="l00274"></a>00274 
+<a name="l00275"></a>00275     <span class="keywordtype">size_t</span> maxdigit = target._is_fixed()
+<a name="l00276"></a>00276         ? target._fixed_digits()
+<a name="l00277"></a>00277         : (std::numeric_limits<size_t>::max)();
+<a name="l00278"></a>00278     <span class="keywordtype">size_t</span> nlen=n._get_length(), bylen=by._get_length();
+<a name="l00279"></a>00279 
+<a name="l00280"></a>00280     <span class="comment">// In multiplication, we know that the answer will be less than or equal to</span>
+<a name="l00281"></a>00281     <span class="comment">// the sum of the lengths of the operands.</span>
+<a name="l00282"></a>00282     integer answer;
+<a name="l00283"></a>00283     answer._realloc(nlen + bylen);
+<a name="l00284"></a>00284     digit_t *adigits=answer._get_writable_digits(), *ae = adigits +
+<a name="l00285"></a>00285         (std::min)(nlen + bylen, maxdigit);
+<a name="l00286"></a>00286 
+<a name="l00287"></a>00287     <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
+<a name="l00288"></a>00288     <span class="keyword">const</span> digit_t *d1 = ndigits, *d1e = d1 + (std::min)(nlen, maxdigit);
+<a name="l00289"></a>00289     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1 = 0; d1 < d1e; ++digit1, ++d1) {
+<a name="l00290"></a>00290         <span class="keyword">const</span> digit_t *d2 = bydigits;
+<a name="l00291"></a>00291         <span class="keyword">const</span> digit_t *d2e = d2 + (std::min)(bylen, maxdigit - digit1);
+<a name="l00292"></a>00292         <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2 = 0; d2 < d2e; ++digit2, ++d2) {
+<a name="l00293"></a>00293             <span class="comment">// First multiply the two digits</span>
+<a name="l00294"></a>00294             doubledigit_t t=doubledigit_t(*d1) * *d2;
+<a name="l00295"></a>00295 
+<a name="l00296"></a>00296             <span class="comment">// Now add the result to the answer.</span>
+<a name="l00297"></a>00297             <span class="keywordtype">int</span> carry=0;
+<a name="l00298"></a>00298             digit_t *a = adigits + digit1 + digit2;
+<a name="l00299"></a>00299             doubledigit_t addt=doubledigit_t(*a) + (t & digit_mask);
+<a name="l00300"></a>00300             <span class="keywordflow">if</span> (addt >= digit_overflowbit) carry=1;
+<a name="l00301"></a>00301             *a++=<span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
+<a name="l00302"></a>00302 
+<a name="l00303"></a>00303             addt=*a + ((t >> bits_per_digit) & digit_mask) + carry;
+<a name="l00304"></a>00304             <span class="keywordflow">if</span> (addt >= digit_overflowbit) carry=1; <span class="keywordflow">else</span> carry=0;
+<a name="l00305"></a>00305             *a++=<span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
+<a name="l00306"></a>00306 
+<a name="l00307"></a>00307             <span class="keywordflow">while</span> (carry && a < ae) {
+<a name="l00308"></a>00308                 addt=*a+1;
+<a name="l00309"></a>00309                 *a++ = <span class="keyword">static_cast<</span>digit_t<span class="keyword">></span>(addt);
+<a name="l00310"></a>00310                 <span class="keywordflow">if</span> (addt < digit_overflowbit) <span class="keywordflow">break</span>;
+<a name="l00311"></a>00311             }
+<a name="l00312"></a>00312         }
+<a name="l00313"></a>00313     }
+<a name="l00314"></a>00314 
+<a name="l00315"></a>00315     answer._set_negative(n._get_negative() != by._get_negative());
+<a name="l00316"></a>00316     answer._cleanup();
+<a name="l00317"></a>00317     target._attach(answer, <span class="keyword">true</span>);
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319 
+<a name="l00320"></a>00320 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& qtarget, base_integer& rtarget, <span class="keyword">const</span> base_integer&
+<a name="l00321"></a>00321     d1, <span class="keyword">const</span> base_integer& d2)
+<a name="l00322"></a>00322 {
+<a name="l00323"></a>00323     <span class="keywordtype">int</span> sign1 = (d1._is_zero() ? 0 : d1._get_negative() ? -1 : 1);
+<a name="l00324"></a>00324     <span class="keywordtype">int</span> sign2 = (d2._is_zero() ? 0 : d2._get_negative() ? -1 : 1);
+<a name="l00325"></a>00325     <span class="keywordflow">if</span> (sign2 == 0) <span class="keywordflow">throw</span> exceptions::divide_by_zero();
+<a name="l00326"></a>00326 
+<a name="l00327"></a>00327     <span class="keywordtype">int</span> comp=<a class="code" href="namespaceboost_1_1xint.html#a23f712f01d6589687d2984b1c5efea8b" title="Compare two integer objects.">compare</a>(d1, d2, <span class="keyword">true</span>);
+<a name="l00328"></a>00328     <span class="keywordflow">if</span> (comp < 0) {
+<a name="l00329"></a>00329         qtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>(), <span class="keyword">false</span>);
+<a name="l00330"></a>00330         rtarget._attach(d1, <span class="keyword">false</span>);
+<a name="l00331"></a>00331     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (comp == 0) {
+<a name="l00332"></a>00332         qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1), <span class="keyword">true</span>);
+<a name="l00333"></a>00333         rtarget._attach(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">integer::zero</a>(), <span class="keyword">false</span>);
+<a name="l00334"></a>00334     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 < 0 && sign2 < 0) {
+<a name="l00335"></a>00335         sub_divide(qtarget, rtarget, neg_t(d1), neg_t(d2));
+<a name="l00336"></a>00336         rtarget._set_negative(<span class="keyword">true</span>);
+<a name="l00337"></a>00337     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign1 < 0) {
+<a name="l00338"></a>00338         sub_divide(qtarget, rtarget, neg_t(d1), d2);
+<a name="l00339"></a>00339         qtarget._set_negative(<span class="keyword">true</span>);
+<a name="l00340"></a>00340         rtarget._set_negative(<span class="keyword">true</span>);
+<a name="l00341"></a>00341     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sign2 < 0) {
+<a name="l00342"></a>00342         sub_divide(qtarget, rtarget, d1, neg_t(d2));
+<a name="l00343"></a>00343         qtarget._set_negative(<span class="keyword">true</span>);
+<a name="l00344"></a>00344     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (d2._get_length() == 1) {
+<a name="l00345"></a>00345         divide_by_single_digit(qtarget, rtarget, d1, d2._get_digit(0));
+<a name="l00346"></a>00346     } <span class="keywordflow">else</span> {
+<a name="l00347"></a>00347         sub_divide(qtarget, rtarget, d1, d2);
+<a name="l00348"></a>00348     }
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350 
+<a name="l00351"></a>00351 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(base_integer& target, <span class="keyword">const</span> base_integer& n1, <span class="keyword">const</span> base_integer&
+<a name="l00352"></a>00352     n2)
+<a name="l00353"></a>00353 {
+<a name="l00354"></a>00354     integer remainder;
+<a name="l00355"></a>00355     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(target, remainder, n1, n2);
+<a name="l00356"></a>00356 }
+<a name="l00357"></a>00357 
+<a name="l00358"></a>00358 } <span class="comment">// namespace detail</span>
+<a name="l00360"></a>00360 <span class="comment"></span>
+<a name="l00369"></a>00369 integer <a class="code" href="namespaceboost_1_1xint.html#a0e114c276fc9affcc068dd5f0fbd9ff9">abs</a>(<span class="keyword">const</span> integer& n) {
+<a name="l00370"></a>00370     <span class="keywordflow">if</span> (n._get_negative()) {
+<a name="l00371"></a>00371         <span class="keywordflow">return</span> -n;
+<a name="l00372"></a>00372     } <span class="keywordflow">else</span> {
+<a name="l00373"></a>00373         <span class="keywordflow">return</span> n;
+<a name="l00374"></a>00374     }
+<a name="l00375"></a>00375 }
+<a name="l00376"></a>00376 
+<a name="l00385"></a>00385 integer <a class="code" href="namespaceboost_1_1xint.html#aedc1654de47ce6d6635e5339b236f94d">negate</a>(<span class="keyword">const</span> integer& n) {
+<a name="l00386"></a>00386     integer nn(n);
+<a name="l00387"></a>00387     nn._toggle_negative();
+<a name="l00388"></a>00388     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(nn);
+<a name="l00389"></a>00389 }
+<a name="l00390"></a>00390 
+<a name="l00399"></a>00399 integer <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">add</a>(<span class="keyword">const</span> integer& n1, <span class="keyword">const</span> integer& n2) {
+<a name="l00400"></a>00400     integer r;
+<a name="l00401"></a>00401     <a class="code" href="namespaceboost_1_1xint.html#a7b7903cb879b60d0d5e3403b3c6a1cdd">detail::add</a>(r, n1, n2);
+<a name="l00402"></a>00402     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00403"></a>00403 }
+<a name="l00404"></a>00404 
+<a name="l00413"></a>00413 integer <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">subtract</a>(<span class="keyword">const</span> integer& n1, <span class="keyword">const</span> integer& n2) {
+<a name="l00414"></a>00414     integer r;
+<a name="l00415"></a>00415     <a class="code" href="namespaceboost_1_1xint.html#a385b3869d8dcceab2ffb68ff33c95062">detail::subtract</a>(r, n1, n2);
+<a name="l00416"></a>00416     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00417"></a>00417 }
+<a name="l00418"></a>00418 
+<a name="l00431"></a>00431 integer <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">multiply</a>(<span class="keyword">const</span> integer& n, <span class="keyword">const</span> integer& by) {
+<a name="l00432"></a>00432     integer r;
+<a name="l00433"></a>00433     <a class="code" href="namespaceboost_1_1xint.html#af844548a421cfc751133081b334dbe4b">detail::multiply</a>(r, n, by);
+<a name="l00434"></a>00434     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00435"></a>00435 }
+<a name="l00436"></a>00436 
+<a name="l00447"></a>00447 integer <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">divide</a>(<span class="keyword">const</span> integer& dividend, <span class="keyword">const</span> integer& divisor) {
+<a name="l00448"></a>00448     integer q, r;
+<a name="l00449"></a>00449     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, dividend, divisor);
+<a name="l00450"></a>00450     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q);
+<a name="l00451"></a>00451 }
+<a name="l00452"></a>00452 
+<a name="l00466"></a>00466 <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a> <a class="code" href="namespaceboost_1_1xint.html#a620fde117268b303531129d00247e24f">divide_r</a>(<span class="keyword">const</span> integer& d1, <span class="keyword">const</span> integer& d2) {
+<a name="l00467"></a>00467     integer q, r;
+<a name="l00468"></a>00468     <a class="code" href="namespaceboost_1_1xint.html#a5b884361c54aa64a1974879cb3464c9a">detail::divide</a>(q, r, d1, d2);
+<a name="l00469"></a>00469     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#ad30e9ec163d1981dfee69c97d09ffd28">BOOST_XINT_FORWARD</a>(<a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a>, <a class="code" href="classboost_1_1xint_1_1integer.html#a5c47ab8e93d541e298dcfa3d73845d5a">integer::divide_t</a>(
+<a name="l00470"></a>00470         <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(q), <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r)));
+<a name="l00471"></a>00471 }
+<a name="l00472"></a>00472 
+<a name="l00473"></a>00473 } <span class="comment">// namespace xint</span>
+<a name="l00474"></a>00474 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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.html
==============================================================================
--- sandbox/xint/doc/r__exception__blocking.html	(original)
+++ sandbox/xint/doc/r__exception__blocking.html	2010-05-04 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -25,7 +25,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -29,7 +29,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -44,7 +44,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -173,7 +173,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -59,7 +59,7 @@
 
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -103,23 +103,24 @@
 <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<T> 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> <<span class="keyword">class</span> T>
-<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& 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<T> 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>
+<a name="l00127"></a>00127     <a class="code" href="classboost_1_1xint_1_1integer.html" title="The core integer class.">integer</a> r(<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, low_bit_on,
+<a name="l00128"></a>00128         can_be_negative));
+<a name="l00129"></a>00129     <span class="keywordflow">return</span> <a class="code" href="internals_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 
+<a name="l00159"></a>00159 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00160"></a><a class="code" href="namespaceboost_1_1xint.html#ad9c43d1fa76d7c19288c841aa1cbaf63">00160</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& 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="l00161"></a>00161     detail::random_generator<T> generator(gen);
+<a name="l00162"></a>00162     <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="l00163"></a>00163         callback));
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 
+<a name="l00166"></a>00166 } <span class="comment">// namespace xint</span>
+<a name="l00167"></a>00167 } <span class="comment">// namespace boost</span>
+<a name="l00168"></a>00168 
+<a name="l00169"></a>00169 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
 </pre></div></div>
-<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 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -50,7 +50,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -44,7 +44,7 @@
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>detail {
 <a name="l00025"></a>00025 
 <a name="l00026"></a>00026 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a0825d8d9d4644df8d9b6922f5b0d7064">sqrt</a>(base_integer& target, <span class="keyword">const</span> base_integer& nn) {
-<a name="l00027"></a>00027     <span class="keywordflow">if</span> (nn._is_zero()) { target._attach(nn); <span class="keywordflow">return</span>; }
+<a name="l00027"></a>00027     <span class="keywordflow">if</span> (nn._is_zero()) { target._attach(nn, <span class="keyword">false</span>); <span class="keywordflow">return</span>; }
 <a name="l00028"></a>00028     <span class="keywordflow">if</span> (nn._get_negative()) <span class="keywordflow">throw</span> exceptions::cannot_represent(<span class="stringliteral">"library cannot "</span>
 <a name="l00029"></a>00029         <span class="stringliteral">"represent imaginary values (tried to take sqrt of negative number)"</span>);
 <a name="l00030"></a>00030 
@@ -54,7 +54,7 @@
 <a name="l00034"></a>00034     <span class="comment">// two.</span>
 <a name="l00035"></a>00035     <span class="keyword">const</span> <span class="keywordtype">size_t</span> extra_bits = 1;
 <a name="l00036"></a>00036 
-<a name="l00037"></a>00037     integer n(nn._to_integer());
+<a name="l00037"></a>00037     integer n(nn._to_integer(<span class="keyword">false</span>));
 <a name="l00038"></a>00038     n <<= (extra_bits * 2);
 <a name="l00039"></a>00039 
 <a name="l00040"></a>00040     <span class="comment">// Initial guess is half the length of n, in bits</span>
@@ -70,7 +70,7 @@
 <a name="l00050"></a>00050 
 <a name="l00051"></a>00051     <span class="comment">// Remove half of the added bits.</span>
 <a name="l00052"></a>00052     guess >>= extra_bits;
-<a name="l00053"></a>00053     target._attach(guess);
+<a name="l00053"></a>00053     target._attach(guess, <span class="keyword">true</span>);
 <a name="l00054"></a>00054 }
 <a name="l00055"></a>00055 
 <a name="l00056"></a>00056 } <span class="comment">// namespace detail</span>
@@ -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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 EDT (Tue, 04 May 2010)
@@ -28,7 +28,7 @@
 <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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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 10:23:08 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 Tue May 4 01:25:21 2010 for The Extended Integer (XInt) Library by 
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue May 4 10:20:16 2010 for The Extended Integer (XInt) Library by 
 <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/src/base_integer.cpp
==============================================================================
--- sandbox/xint/src/base_integer.cpp	(original)
+++ sandbox/xint/src/base_integer.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -42,7 +42,7 @@
 base_integer::base_integer(const base_integer& c, bool fixed): flags(0), data(0)
 {
     if (fixed) flags |= flag_fixedlength;
-    _attach(c);
+    _attach(c, false);
 }
 
 base_integer::base_integer(size_t count, digit_t mask): flags(flag_fixedlength),
@@ -195,6 +195,14 @@
     }
 }
 
+void base_integer::_mark_movable() {
+    if (_is_unique()) flags |= flag_movable;
+}
+
+bool base_integer::_is_movable() const {
+    return ((flags & flag_movable) ? true : false);
+}
+
 void base_integer::_swap(base_integer& other) {
     flag_t tempflags = flags;
     flags = other.flags;
@@ -206,12 +214,12 @@
 }
 
 void base_integer::_base_attach(data_t *new_data, flag_t setflags, size_t
-    extra_allocation)
+    extra_allocation, bool is_movable)
 {
     #ifdef BOOST_XINT_USE_COPY_ON_WRITE
         bool adopt=true;
     #else
-        bool adopt=(new_data && new_data->copies == 0);
+        bool adopt=(new_data && is_movable);
     #endif
 
     if (data != new_data || extra_allocation != 0) {
@@ -272,8 +280,10 @@
     flags = setflags;
 }
 
-void base_integer::_attach(const base_integer& copy) {
-    _base_attach(copy.data, copy.flags);
+void base_integer::_attach(const base_integer& copy, bool movable) {
+    bool move = (copy._is_movable() || (movable && copy.data &&
+        copy.data->copies <= 1));
+    _base_attach(copy.data, copy.flags, 0, move);
     if (data) _cleanup();
 }
 
@@ -290,9 +300,9 @@
     }
 }
 
-integer base_integer::_to_integer() const {
+integer base_integer::_to_integer(bool treat_as_movable) const {
     integer r;
-    r._attach(*this);
+    r._attach(*this, treat_as_movable);
     return r;
 }
 
Modified: sandbox/xint/src/bit_manipulations.cpp
==============================================================================
--- sandbox/xint/src/bit_manipulations.cpp	(original)
+++ sandbox/xint/src/bit_manipulations.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -145,7 +145,7 @@
 
 void shift_left(base_integer& target, const base_integer& n, size_t byBits) {
     if (byBits==0) {
-        target._attach(n);
+        target._attach(n, false);
         return;
     }
 
@@ -178,12 +178,12 @@
     }
     answer._cleanup();
     answer._set_negative(n._get_negative());
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 void shift_right(base_integer& target, const base_integer& n, size_t byBits) {
     if (byBits==0) {
-        target._attach(n);
+        target._attach(n, false);
         return;
     }
 
@@ -211,7 +211,7 @@
     }
     answer._cleanup();
     answer._set_negative(n._get_negative());
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 } // namespace detail
Modified: sandbox/xint/src/convert.cpp
==============================================================================
--- sandbox/xint/src/convert.cpp	(original)
+++ sandbox/xint/src/convert.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -80,7 +80,7 @@
         // this function, I'll add it later.
 
         const integer shift(base);
-        integer::divide_t a(n._to_integer(), integer::zero());
+        integer::divide_t a(n._to_integer(false), integer::zero());
         a.quotient._set_negative(false);
 
         integer r;
@@ -141,7 +141,7 @@
     }
     r._set_negative(negate);
 
-    target._attach(r);
+    target._attach(r, true);
 }
 
 void to_binary(xint::binary_t& target, const base_integer& n, size_t bits) {
@@ -176,7 +176,7 @@
                 *t++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 
     r._cleanup();
-    target._attach(r);
+    target._attach(r, true);
 }
 
 } // namespace detail
Modified: sandbox/xint/src/gcd.cpp
==============================================================================
--- sandbox/xint/src/gcd.cpp	(original)
+++ sandbox/xint/src/gcd.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -64,9 +64,9 @@
     if (num1._is_zero() && num2._is_zero()) {
         target._set_unsigned(0);
     } else if (num1._is_zero()) {
-        target._attach(num2);
+        target._attach(num2, false);
     } else if (num2._is_zero()) {
-        target._attach(num1);
+        target._attach(num1, false);
     } else {
         temp_t n(num1), m(num2);
         n._set_negative(false);
@@ -79,7 +79,7 @@
             shift_right(m, m, k);
         }
 
-        gcd_core core(n._to_integer(), m._to_integer());
+        gcd_core core(n._to_integer(false), m._to_integer(false));
 
         if (core.u3._is_zero()) {
             shift_left(target, fixed_integer_any(1), k);
@@ -103,7 +103,7 @@
         answer._set_negative(false);
         divide(answer, remainder, answer, common);
 
-        target._attach(answer);
+        target._attach(answer, true);
     }
 }
 
@@ -116,19 +116,19 @@
     if (n._is_zero()) {
         target._set_unsigned(0);
     } else if (n._get_negative()) {
-        integer _n(n._to_integer());
+        integer _n(n._to_integer(false));
         _n._set_negative(false);
 
         integer nn;
         invmod(nn, _n, m);
         if (nn._is_zero()) {
-            target._attach(nn);
+            target._attach(nn, true);
         } else {
             nn._set_negative(true);
             add(target, nn, m);
         }
     } else {
-        integer nn(n._to_integer()), mm(m._to_integer());
+        integer nn(n._to_integer(false)), mm(m._to_integer(false));
         if (nn.even() && mm.even()) {
             // GCD != 1, no inverse possible.
             target._set_unsigned(0);
@@ -143,7 +143,7 @@
             return;
         }
 
-        target._attach(core.u1);
+        target._attach(core.u1, true);
     }
 }
 
Modified: sandbox/xint/src/integer.cpp
==============================================================================
--- sandbox/xint/src/integer.cpp	(original)
+++ sandbox/xint/src/integer.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -40,7 +40,7 @@
 \overload
 */
 integer::integer(const integer& b) {
-    _attach(b);
+    _attach(b, false);
 }
 
 /*! \brief Creates an integer from a nothrow_integer.
@@ -55,7 +55,7 @@
 */
 integer::integer(const nothrow_integer& b) {
     if (b.is_nan()) throw exceptions::not_a_number();
-    _attach(b);
+    _attach(b, false);
 }
 
 /*! \brief Creates an integer from any fixed_integer type.
@@ -65,7 +65,7 @@
 \overload
 */
 integer::integer(const fixed_integer_any& b) {
-    _attach(b);
+    _attach(b, false);
 }
 
 /*! \brief Create an integer from a string representation.
@@ -154,7 +154,7 @@
 }
 
 integer& integer::operator=(BOOST_XINT_COPY_ASSIGN_REF(integer) c) {
-    _attach(c);
+    _attach(c, false);
     return *this;
 }
 
Modified: sandbox/xint/src/modular.cpp
==============================================================================
--- sandbox/xint/src/modular.cpp	(original)
+++ sandbox/xint/src/modular.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -46,8 +46,8 @@
         return;
     }
 
-    integer n(_n._to_integer()), e(_e._to_integer()), m(_m._to_integer()),
-        answer(integer::one());
+    integer n(_n._to_integer(false)), e(_e._to_integer(false)),
+        m(_m._to_integer(false)), answer(integer::one());
     bool neg=(n.sign() < 0 && e.odd());
 
     // Montgomery's method is often noticeably faster, but only works if the
@@ -75,7 +75,7 @@
     }
 
     answer._set_negative(neg);
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 } // namespace detail
Modified: sandbox/xint/src/nothrow_integer.cpp
==============================================================================
--- sandbox/xint/src/nothrow_integer.cpp	(original)
+++ sandbox/xint/src/nothrow_integer.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -49,7 +49,7 @@
 */
 nothrow_integer::nothrow_integer(const nothrow_integer& b) {
     try {
-        if (!b.is_nan()) _attach(b);
+        if (!b.is_nan()) _attach(b, false);
     } catch (std::exception&) {
         // Do nothing, automatically sets to Not-a-Number
     }
@@ -67,7 +67,7 @@
 */
 nothrow_integer::nothrow_integer(const integer& b) {
     try {
-        _attach(b);
+        _attach(b, false);
     } catch (std::exception&) {
         // Do nothing, automatically sets to Not-a-Number
     }
@@ -81,7 +81,7 @@
 */
 nothrow_integer::nothrow_integer(const fixed_integer_any& b) {
     try {
-        _attach(b);
+        _attach(b, false);
     } catch (std::exception&) {
         // Do nothing, automatically sets to Not-a-Number
     }
@@ -90,7 +90,7 @@
 //! \copydoc xint::integer::integer(const std::string&, size_t)
 nothrow_integer::nothrow_integer(const std::string& str, size_t base) {
     try {
-        _attach(from_string(str, base));
+        _attach(from_string(str, base), true);
     } catch (std::exception&) {
         // Do nothing, automatically sets to Not-a-Number
     }
@@ -169,7 +169,7 @@
     nothrow_integer) c)
 {
     try {
-        _attach(c);
+        _attach(c, false);
     } catch (std::exception&) {
         _base_attach(0);
     }
Modified: sandbox/xint/src/powers.cpp
==============================================================================
--- sandbox/xint/src/powers.cpp	(original)
+++ sandbox/xint/src/powers.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -77,7 +77,7 @@
     *rp += static_cast<digit_t>(c);
 
     r._cleanup();
-    target._attach(r);
+    target._attach(r, true);
 }
 
 void pow(base_integer& target, const base_integer& n, const base_integer& e) {
@@ -117,7 +117,7 @@
     }
 
     answer._set_negative(neg);
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 void factorial(base_integer& target, size_t n) {
@@ -132,7 +132,7 @@
         nn._decrement();
     }
 
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 } // namespace detail
Modified: sandbox/xint/src/primitives.cpp
==============================================================================
--- sandbox/xint/src/primitives.cpp	(original)
+++ sandbox/xint/src/primitives.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -65,7 +65,7 @@
 
     if (n1._get_negative()) a._set_negative(true);
     a._cleanup();
-    target._attach(a);
+    target._attach(a, true);
 }
 
 void sub_subtract(base_integer& target, const base_integer& n1, const
@@ -109,11 +109,8 @@
     if (neg1) a._set_negative(true);
     a._cleanup();
 
-    if (swap) {
-        target._attach(neg_t(a));
-    } else {
-        target._attach(a);
-    }
+    if (swap) a._toggle_negative();
+    target._attach(a, true);
 }
 
 void divide_by_single_digit(base_integer& qtarget, base_integer& rtarget, const
@@ -143,8 +140,8 @@
 
     quotient._cleanup();
     remainder._cleanup();
-    qtarget._attach(quotient);
-    rtarget._attach(remainder);
+    qtarget._attach(quotient, true);
+    rtarget._attach(remainder, true);
 }
 
 void sub_divide2(base_integer& qtarget, base_integer& rtarget, const
@@ -154,7 +151,7 @@
 
     const digit_t *byDigits = d2._get_digits();
 
-    integer quotient, r(d1._to_integer());
+    integer quotient, r(d1._to_integer(false));
 
     size_t n=d2._get_length(), m=d1._get_length() - n;
     size_t i=m+n, j=m;
@@ -197,8 +194,8 @@
 
     quotient._cleanup();
 
-    qtarget._attach(quotient);
-    rtarget._attach(r);
+    qtarget._attach(quotient, true);
+    rtarget._attach(r, true);
 }
 
 void sub_divide(base_integer& qtarget, base_integer& rtarget, const
@@ -225,8 +222,8 @@
         // Denormalization step. This requires a division by a single digit_t.
         integer qq, rr;
         divide_by_single_digit(qq, rr, r, _d);
-        qtarget._attach(q);
-        rtarget._attach(qq);
+        qtarget._attach(q, true);
+        rtarget._attach(qq, true);
     } else {
         sub_divide2(qtarget, rtarget, d1, d2);
     }
@@ -234,10 +231,10 @@
 
 void add(base_integer& target, const base_integer& n1, const base_integer& n2) {
     if (n1._is_zero()) {
-        target._attach(n2);
+        target._attach(n2, false);
         return;
     } else if (n2._is_zero()) {
-        target._attach(n1);
+        target._attach(n1, false);
         return;
     } else if (n1._get_negative() != n2._get_negative()) {
         sub_subtract(target, n1, neg_t(n2));
@@ -250,9 +247,9 @@
     n2)
 {
     if (n1._is_zero()) {
-        target._attach(neg_t(n2));
+        target._attach(neg_t(n2), false);
     } else if (n2._is_zero()) {
-        target._attach(n1);
+        target._attach(n1, false);
     } else if (n1._get_negative() != n2._get_negative()) {
         sub_add(target, n1, neg_t(n2));
     } else {
@@ -317,7 +314,7 @@
 
     answer._set_negative(n._get_negative() != by._get_negative());
     answer._cleanup();
-    target._attach(answer);
+    target._attach(answer, true);
 }
 
 void divide(base_integer& qtarget, base_integer& rtarget, const base_integer&
@@ -329,11 +326,11 @@
 
     int comp=compare(d1, d2, true);
     if (comp < 0) {
-        qtarget._attach(integer::zero());
-        rtarget._attach(d1);
+        qtarget._attach(integer::zero(), false);
+        rtarget._attach(d1, false);
     } else if (comp == 0) {
-        qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1));
-        rtarget._attach(integer::zero());
+        qtarget._attach(fixed_integer_any(sign1 != sign2 ? 1 : -1), true);
+        rtarget._attach(integer::zero(), false);
     } else if (sign1 < 0 && sign2 < 0) {
         sub_divide(qtarget, rtarget, neg_t(d1), neg_t(d2));
         rtarget._set_negative(true);
Modified: sandbox/xint/src/roots.cpp
==============================================================================
--- sandbox/xint/src/roots.cpp	(original)
+++ sandbox/xint/src/roots.cpp	2010-05-04 10:23:08 EDT (Tue, 04 May 2010)
@@ -24,7 +24,7 @@
 namespace detail {
 
 void sqrt(base_integer& target, const base_integer& nn) {
-    if (nn._is_zero()) { target._attach(nn); return; }
+    if (nn._is_zero()) { target._attach(nn, false); return; }
     if (nn._get_negative()) throw exceptions::cannot_represent("library cannot "
         "represent imaginary values (tried to take sqrt of negative number)");
 
@@ -34,7 +34,7 @@
     // two.
     const size_t extra_bits = 1;
 
-    integer n(nn._to_integer());
+    integer n(nn._to_integer(false));
     n <<= (extra_bits * 2);
 
     // Initial guess is half the length of n, in bits
@@ -50,7 +50,7 @@
 
     // Remove half of the added bits.
     guess >>= extra_bits;
-    target._attach(guess);
+    target._attach(guess, true);
 }
 
 } // namespace detail